각 언어에는 이상한 구문, 특이한 기능, 비표준 실행 방법 등 고유한 기능이 있습니다. 따라서 초보자이건 숙련된 플레이어이건 간에 특정 기능을 보면 갑자기 술에 취하게 됩니다. 이 기사에는 자주 언급되는 10가지 "이상한" 기능이 요약되어 있습니다.
1. Javascript: +는 연결자입니다
문제 설명: JS에서 + 기호는 숫자 사이에 사용되며 일반 추가에 사용할 수 있지만 문자가 나타나면 사용할 수도 있습니다. 문자 커넥터로 사용됩니다. 예를 들어 '1' + 1의 결과는 11입니다.
원인 분석 :
근본적인 이유는 JS가 약한 유형의 언어이기 때문입니다. 예를 들어, Python은 + 기호를 문자 연결자로 사용하지만 강력한 형식의 언어이기 때문에 문자가 정수에 추가된 것을 발견하면 이것이 오류 작업이라는 메시지가 표시됩니다.
네티즌들의 의견:
“문제는 예측할 수 없는 강제 무음 전환이고, 익명으로 무시하기 쉽다는 점이다.”
“JS가 이 상황을 처리해야 한다.” 예외.” crgwbr
“문자 연결에 +를 사용하는 것은 악몽입니다” Matteo Riva
2. Perl: 모듈은 TRUE 값을 반환해야 합니다
문제 설명: 대부분의 경우. , Perl 모듈은 1; 문으로 끝나야 합니다. 그렇지 않으면 마지막 문의 반환 값이 TRUE가 아닌 경우 시스템이 오류를 보고합니다.
원인 분석:
Perl 모듈에는 초기 코드와 서브루틴이 포함되어 있습니다. 모듈 파일이 로드되면 Perl은 TRUE가 반환되는지 여부에 따라 코드가 성공적으로 실행되었는지 여부를 결정합니다. 초기 코드가 없더라도 Perl은 마지막 명령문이 TRUE를 반환할 것으로 예상합니다. 그렇지 않으면 오류가 보고됩니다.
네티즌들의 의견:
“이건 보통 불안해요.” 드류 홀
“이건 실용성이 가장 낮습니다.” 슈베른
3 . C/C++: 세 글자 단어 사용법
문제 설명:
예를 들어 시스템이 ??!를 보면 자동으로 |로 변환합니다. [. 로 변환하면 예상치 못한 결과가 발생할 가능성이 높으며 코드의 가독성이 크게 저하됩니다.
원인 분석:
초기 프로그래밍에서는 키보드와 같은 일부 특수 문자가 나타납니다. 중괄호로 직접 입력할 수 없어 이런 간접적인 방법을 사용한다
네티즌들의 의견:
“구글만큼 지식이 있어도 이해하지 못할 것이다. .??!??!” 아이작
“1977년 세 글자 단어가 도입된 이후로 C는 모호해졌습니다.” 마틴 베켓
4. PHP: 대문자와 소문자. 민감한 처리
문제 설명:
PHP는 대소문자 처리에 대해 상당히 혼란스럽습니다. 예를 들어 변수 이름, 상수 이름, 클래스 등이 있습니다. .
원인 분석:
아마도 CGI 스크립트를 성숙한 프로그래밍 언어로 설정하여 PHP를 개발하면서 등장한 인공 제품일 것입니다.
네티즌의 의견:
"이것이 PHP 프로그래머들이 카멜 케이스 이름 대신 밑줄을 사용하는 데 익숙한 이유입니다." paperstreet7
"PHP에서는 모든 것이 가능합니다!" . Ruby: 실제 값인 0
문제 설명:
Ruby에서 0 값은 C 및 Python 배경을 가진 프로그래머에게 유용합니다.
원인 분석:
불리언 값인 FALSE와 nil만 FALSE와 동일하며 나머지는 모두 동일하게 취급됩니다. >
네티즌들의 의견: “의도는 좋은데 이건 정말 미친짓이다.” 크리스 루츠 “0== 내 C 언어 두뇌는 곧 맞다! Collapse! "Kenny 6. Python: 공백 수로 수준 나누기 문제 설명: 키워드를 사용하는 것과 다릅니다. 또는 구두점을 사용하여 PY는 들여쓰기 수준을 사용하여 명확하게 합니다. 각 코드 줄의 위치가 잘못되면(또는 공백 및 전치 문자 수가 일치하지 않음) 프로그램에서 오류가 보고될 수 있습니다. PY 작성자의 의도는 다음과 같습니다. 코드의 가독성을 높이고, 불필요한 입력을 줄이고, 프로그래머 자신이 코드 명확성을 유지하는 데 책임을 지기를 바랍니다. 네티즌들의 의견: “솔직히 말해서 이것이 제가 PY를 멀리하는 근본적인 이유입니다.” wazoox “우리에게 꼭 비슷한 강제 메커니즘이 필요하다면, 우리는 정말 게으르다!"Joris Meys 7. C: 배열 인덱스 작업 모드는 포인터와 동일합니다문제 설명:C에서는 a[i] 및 i[a]는 서로 바꿔 사용할 수 있으며 두 가지 작성 방법 모두 동일한 결과를 생성합니다. 원인 분석: C에서 메모리 블록의 경우 배열과 포인터 사이에 차이가 없습니다. 즉, a[i] = *(a + i) = *(i + a) = i[a]. 네티즌들의 의견: “C 언어 혼동 코드 경쟁에서 이건 무용지물이다.” 혼란 “이건 C 언어의 핵심을 노출시키는 것 뿐이라고 생각한다. 포인터와 메모리를 더 직접적으로 다루는 "Michael Neale 8. Perl의: 사전 정의된 변수 문제 설명:Perl에는 매우 긴 특수 변수 목록이 있으며 그 안에 있는 이름은 매우 복잡합니다(해당되는 긴 영어 단어가 있음에도 불구하고). 그러므로 당신이 수석 Perl 개발자가 아닌 이상 Perl 문서를 반복해서 읽는 것이 일반적입니다.
원인 분석:
이러한 변수는 프로세스 ID($$), 오류 메시지($@), 정규식 일치($^R) 등 다양한 의미를 갖습니다.
네티즌들의 의견:
“매우 짜증나네요!” MatrixFrog
“간단한 개발자들에게는 희소식일지도 모릅니다.” niXar
“ 이 변수는 Google을 통해 찾을 수 없습니다!” Malvim
9. JavaScript: 자동 세미콜론 삽입
문제 설명:
JS는 세미콜론을 명령문 종료 플래그로 사용하며 코드가 깨져도 자동으로 삽입됩니다. 이로 인해 종종 오류가 발생합니다.
원인 분석:
자동화의 원래 의도는 특히 초보자에게 편의성을 제공하는 것입니다.
네티즌들의 의견:
“언어 기능을 디자인할 때 항상 사용자를 바보 취급한다면 문제가 생길 것입니다.” Rob Van Dam
"자동 세미콜론 삽입은 하나입니다. JS의 가장 골치 아픈 측면 중 하나입니다." fennec
10. Java: 오토박싱 및 정수 캐싱
문제 설명:
Java는 자동으로 기본 유형 데이터를 객체로 변환합니다(자동 int를 Integer 객체로 변환하는 것과 같은 것입니다. 동시에 기본적으로 캐시된 Integer 객체의 값은 -128 ~ 127입니다. 이 경우 ==를 사용하여 동일한 값을 가진 두 Integer 객체를 비교할 때 문제가 발생합니다(-128과 127 내에서는 TRUE, 나머지는 FALSE)
원인 분석:
자동 박싱 메커니즘은 코드 입력량을 줄이고 정수 캐시는 처리 속도를 향상시킵니다.
네티즌들의 의견:
“다행히 저는 C# 프로그래머일 뿐입니다.” Will
“이것은 실수가 아니지만 우리에게 사용할 수 있는 방법을 제공합니다. 유형의 수치 처리에 대한 원래 이유(예: 부울) ”RaviWallau

이 기사는 산 및 기본 데이터베이스 모델을 비교하여 특성과 적절한 사용 사례를 자세히 설명합니다. 산은 금융 및 전자 상거래 애플리케이션에 적합한 데이터 무결성 및 일관성을 우선시하는 반면 Base는 가용성 및

이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

기사는 내장 함수 사용, 화이트리스트 접근 방식 및 서버 측 유효성 검사와 같은 기술에 중점을 둔 보안을 향상시키기 위해 PHP 입력 유효성 검증에 대한 모범 사례를 논의합니다.

이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

이 기사에서는 PHP에서 암호를 보호하기 위해 PHP에서 Password_hash 및 Password_Verify 사용의 이점에 대해 설명합니다. 주요 주장은 이러한 기능이 자동 소금 생성, 강한 해싱 알고리즘 및 Secur를 통해 암호 보호를 향상 시킨다는 것입니다.

이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

이 기사는 PHP의 XSS 공격을 방지하기위한 전략, 입력 소독, 출력 인코딩 및 보안 향상 라이브러리 및 프레임 워크 사용에 중점을 둔 전략에 대해 설명합니다.

이 기사는 각각의 사용시기에 중점을 둔 PHP의 인터페이스 및 추상 클래스 사용에 대해 설명합니다. 인터페이스는 관련없는 클래스 및 다중 상속에 적합한 구현없이 계약을 정의합니다. 초록 클래스는 일반적인 기능을 제공합니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
