좋아요!
정답률 70%
문제별 결과
PHP에서 preg_replace_callback()은 정적 문자열 치환에만 사용할 수 있다.
콜백 함수를 사용하므로 동적 치환이 가능합니다. 매칭된 값에 따라 다른 결과를 반환할 수 있습니다.
JavaScript에서 var와 let은 동일하게 동작한다.
var는 함수 스코프, let은 블록 스코프입니다. var는 호이스팅 시 undefined로 초기화되지만 let은 TDZ에 놓입니다.
JavaScript에서 깊은 복사(deep copy)를 하려면 structuredClone()을 사용할 수 있다.
structuredClone(obj)는 중첩 객체까지 깊은 복사합니다. JSON.parse(JSON.stringify(obj))보다 더 많은 타입을 지원합니다.
PHP에서 변수 선언 시 타입을 반드시 지정해야 한다.
PHP는 동적 타입 언어로 변수 선언 시 타입 지정이 필요 없습니다.
IPv6 주소는 128비트이다.
IPv4는 32비트(약 43억), IPv6는 128비트(사실상 무한)입니다.
PHP에서 catch 블록에서 예외 변수를 생략할 수 있다.
PHP 8.0부터 catch (Exception) { ... }처럼 변수명을 생략할 수 있습니다.
PHP에서 password_hash()는 비밀번호를 안전하게 해싱하는 함수이다.
password_hash($pw, PASSWORD_DEFAULT)는 bcrypt 등 안전한 알고리즘으로 해싱합니다. password_verify()로 검증합니다.
PHP에서 문자열을 배열처럼 접근할 때 음수 인덱스는 사용할 수 없다.
PHP 7.1부터 음수 인덱스로 문자열 끝에서 접근 가능합니다. $str[-1]은 마지막 문자입니다.
PHP에서 trait는 인터페이스를 구현(implements)할 수 있다.
trait는 인터페이스를 구현할 수 없습니다. trait를 사용하는 클래스가 인터페이스를 구현해야 합니다.
PHP에서 CSRF 방지를 위해 Referer 헤더만 확인하면 충분하다.
Referer 헤더는 조작 가능합니다. CSRF 토큰을 사용하는 것이 안전합니다.