상현에 하루하루

개발자의 하루

VSCode 확장자 별 탭 사이즈 설정하기

코드의 가독성과 일관성 유지를 위해 표준화된 Code Style, Code Rule이 중요하다. 그중에 들여쓰기 규칙(Indentation Rule)을 VSCode에서 파일 확장자 별로 설정하는 방법을 알아보자. Google HTML/CSS Style Guide와 JavaScript Standard Style에 따라 .html .css .js의 경우 하나의 tab 을 2 spaces로 설정하고, 나머지 파일에 대해서는 기본값인 4 spaces로 유지한다. VSCode 편집기 설정 기본 설정 Preferences ➡️ Settings … Continued

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

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

Laravel Sail을 사용하여 Laravel 8.x 프로젝트

Laravel Sail이란? 8.x이전 버전에서는 Laravel을 개발하기 위해서 로컬 컴퓨터에 소프트웨어를 설치해야 했습니다. Laravel 8.x 부터는 Laravel Sail이 함께 제공됩니다. 이 패키지는 docker를 사용하여 Laravel 프로젝트를 실행하기 위한 빌드 솔루션입니다. 새로운 라라벨 프로젝트 생성 이 명령으로 폴더에 새로운 Laravel 애플리케이션을 생성합니다. 이 URL의 example-app은 원하는대로 변경할 수 있습니다. 프로젝트가 생성되면 애플리케이션 폴더로 이동하여 Laravel Sail을 시작할 … Continued

퍼사드 패턴

퍼사드 패턴(외관 패턴)은 객체지향 프로그래밍 분야에서 자주 쓰인다. 퍼사드는 클래스 라이브러리 같은 어떤 소프트웨어의 다른 커다란 코드 부분에 대한 간략화된 인터페이스를 제공하는 객체이다. 퍼사드는 소프트웨어 라이브러리를 쉽게 사용할 수 있게 해준다. 또한 퍼사드는 소프트웨어 라이브러리를 쉽게 이해할 수 있게 해준다. 퍼사드는 공통적인 작업에 대해 코드를 좀 더 읽기 쉽게 해준다. 퍼사드는 라이브러리를 사용하는 코드들을 좀 … Continued

베어메탈 서버(Bare Metal Server)란?

베어메탈 서버란? ‘베어메탈’이란 용어는 원래 하드웨어 상에 어떤 소프트웨어도 설치되어 있지 않은 상태를 뜻합니다. 즉, 베어메탈 서버는 가상화를 위한 하이퍼바이저 OS 없이 물리서버를 그대로 제공하는 것을 말합니다. 따라서 하드웨어에 대한 직접 제어 및 OS 설정까지 가능합니다. 특히 가상화로 인한 불필요한 성능 저하가 없어 고성능을 발휘하는 데에 유리합니다. 이런 특징들을 보면 베어메탈 서비스는 결국 서버호스팅과 같지만, … Continued

워드프레스 작성자 페이지에 작성한 모든 게시물 표시하기

워드프레스 작성자 템플릿을 사용하여 사용자 게시물을 표시하는 방법중 제가 생각한 제일 최고의 솔루션은 pre_get_posts 필터를 통해 기본 쿼리를 변경하는 것입니다.

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

Expo 물리 iPhone 연결

앱 개발을 위해 Mac에서 Expo를 실행합니다. 개발 중인 내 앱을 실행하는 iPhone은 USB 테더링만 사용하여 Expo 서버에 연결하고 싶습니다. SIM 카드가 없고 WiFi도 활성화 할 수 없는 환경이다. iPhone을 mac에 케이블로 연결하면 USB 네트워크에 연결됩니다. 네트워크 연결은 iPhone과 mac 사이에서만 이루어집니다. 기본적으로 전화에 대한 인터넷 연결은 아니지만 Expo 개발에는 필요하지 않습니다. mac의 시스템환경/네트워크 에서 “iPhone … Continued

react-native에서 styled-components 사용하기

react-native expo를 통해 typescript 프로젝트에서 styled-components사용하는 방법을 정리합니다. styled-components 라이브러리 설치 styled-components 라이브러리와 TypeScript 연동을 위한 라이브러리를 설치합니다. styled-components styled-components 라이브러리 @types/styled-components styled-components 타입 babel-plugin-styled-components 디버깅시 class명을 확인하기 쉽게 만든다. 사용법 ThemeProvider 기본 테마의 props 인터페이스를 확장 적용