상현에 하루하루

기준색상에 따른 white/black PHP

Luminosity Contrast Algorithm YIQ Algorithm (덜 정확함) RGB 색상 공간은 YIQ로 변환하기 때문에 가장 간단하고 덜 정확한 방법 php – Given a background color, black or white text? – Stack Overflow

Carbon 현재 날짜가 두 날짜사이 유무 확인

Carbon 에서 두 날짜 사이의 현재 날짜를 확인하는 방법을 보여 드리겠습니다. 두 날짜 사이의 현재 날짜는 Carbon을 사용하여 확인합니다. 시작날짜와 종료날짜를 비교하여 현재 날짜가 두 날짜 사이라면 true를 반환하고 그렇지 않으면 false를 반환합니다.

PHP로 이미지를 기준으로 텍스트 색상 정하기

웹사이트의 디자인에서 light 테마는 검은색 텍스트를 dark 테마는 흰색 텍스트를 정하고 텍스트 스타일을 정한다. 어느정도 규칙이 정해져있고 해당하는 규칙에 따라 텍스트 색상을 정한다면 코드로 가능하다. 이미지를 가져와 분석해서 어떤 텍스트 색상이다 정해주면 작성자가 하나하나 검토해서 직접 색상을 지정하지 않아도 된다. 참고 image – Formula to determine perceived brightness of RGB color – Stack Overflow

PHP 8.1: The End

PHP8.1과 함께 제공되는 몇 가지 작은 기능과 변경 사항을 특별한 순서없이 언급하고 싶습니다. 배열에 순서가 지정된 숫자 키만 포함되어 있는지 확인하는 새로운 array_is_list 함수가 있습니다. 클래스 상수 final로 만들 수 있습니다. 파일 변경 사항을 디스크에 강제로 동기화하는 새로운 fsync기능이 있습니다. 새로운 명시적 8진수 표기법이 있습니다. 0o및 0O를 사용하여 8진수를 접두사로 사용할 수 있습니다. 내부 함수에서 … Continued

PHP 8.1: The Never Type

함수가 절대 반환 되지 않을 것임을 나타내는 방법입니다. Never Type은 예외를 던지거나 스크립트를 종료한다는 의미입니다. void와 차이점은 전혀 반환하지 않는 것과 비교하여 함수가 아무 것도 반환하지 않음을 나타냅니다. 이러한 함수를 호출한다는 것은 그 뒤에 오는 코드가 무엇이든 실행되지 않는다는 것을 의미합니다. 여기서 void는 함수가 아무 것도 반환하지 않음을 나타냅니다. never를 추가하여 정적 분석기는 그 기반으로 … Continued

PHP8.1: Fibers

Fibers는 PHP의 훌륭한 추가 기능입니다. green threads로 가는 low-level 방법입니다. 반면에 프로젝트에서 사용할 가능성은 다소 희박합니다. low-level 구성 요소이며 비동기성을 처리하는 라이브러리에서만 사용됩니다. 그럼에도 불구하고 Fibers에 대해 이야기 할 가치가 있습니다. Fibers는 동일한 물리적 프로세스 내에서 병렬 처리하는 하는 방법입니다. Fibers를 사용할 때 실제 다중 스레드 또는 병렬 프로세스가 없습니다. 즉, 코드에서 동시에 실행되는 부분이 … Continued

PHP 8.1: Performance

성능을 이전 버전과 비교할 수 있는 적절한 벤치마크가 없습니다. 하지만 Dmitry는 Inheritance Cache를 추가했습니다. PHP 클래스는 (opcache에 의해) 별도로 컴파일 및 캐시되지만 각 요청에 대해 런타임에 “linking“이 수행됩니다. “linking” 프로세스에는 여러 호환성 검사 및 차용 메서드/속성/상수가 부모 및 특성을 구성하는 과정이 포함될 수 있습니다. 이것은 상당한 시간이 걸리지만 결과는 각 요청에서 동일합니다. Inheritance Cache는 모든 … Continued

PHP 8.1: New in initializers

initializer에서 new 키워드를 사용할 수 있게 되었습니다. 👏👏👏 그게 무엇이냐? 함수의 인수에 기본값을 할당하는 방법을 알고 있습니까? 예를 들어 $title에 대한 빈 문자열은 다음과 같습니다. 기본 객체에서 이제 지정할 수 있습니다. 이 속성은 public readonly 부분을 알아야 이해가 가능합니다.

PHP 8.1: Readonly Properties

PHP 8.0에서는 promoted properties속성이 도입 되었습니다 그리고 이제 readonly properties를 얻었습니다! Awesome! 읽기 전용 속성이 무엇인가? 값을 한 번만 설정하도록 허용하고 그 시점부터 속성 값에 대한 변경을 금지하는 속성입니다. 읽기 전용 속성을 사용하는 것은 값 객체와 데이터 전송 개체를 모델링하는 좋은 방법입니다 차이점 PHP 7.4 이전의 DTO는 다음과 같습니다. PHP 7.4에 유형 속성이 추가되어 문서 … Continued

PHP 8.1: Pure Intersection Types

Pure Intersection Types 한글말로 순수 교차 유형? 순수교차타입은 설명하기에는 쉽지만 정적 분석기와 함께 사용하지 않은 경우 약간 모호하게 보일 수 있습니다. 당신은 이미 union type에 대해 알 것이다. 이 것은 “$foo의 유현은 A또는 B 여야합니다”라고 말합니다. 이 것은 A와 B여야 한다고 말합니다. 교차타입의 위처럼 보이고 아마 추측이 가능했을 것입니다. 그렇다면 이것은 언제 유용할까요? 예를 들어보겠습니다. … Continued