서론 PHP에서 매직 메소드는 특정 상황에서 자동으로 호출되는 메소드로, 이름은 항상 두 개의 밑줄로 시작된다(__). 이들은 객체 지향 프로그래밍에서 다양한 상황에 대응하거나, 코드를 보다 유연하고 읽기 쉽게 만드는 데 도움을 준다. 본 포스팅에서는 PHP에서 제공되는 매직 메소드를 예시를 들며 소개한다. __construct() 객체가 생성될 때 자동으로 호출되는 생성자 메소드로 주로 초기화 작업에 주로 사용된다. class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person = new Person("John", 30)..
서론 예전 스타일의 Toolbar 디자인에는 새로고침 버튼이 존재했지만, 'Pull Down To Reload' 라 불리는 스크롤을 내려서 페이지를 새로고침하는 이 기능은 사용자에게 매우 직관적이다. 대부분의 스마트폰 사용자들은 이제 이 동작에 익숙하며, 콘텐츠를 새로 고침하고 싶을 때 자연스럽게 화면을 아래로 당기는 경향이 있다. 때문에 최근 UI/UX 측면에서 Toolbar에 존재하는 새로고침 버튼을 없애고 Pull Down To Reload를 도입하는 Application이 많아졌기에 한번 구현해보자. 'pull down to refresh' 기능을 사용하는 주된 이유와 장점 첫 번째 - 직관적인 사용자 경험: 위에서 설명한 것과 같이 이 기능은 사용자에게 매우 직관적이다. 대부분의 스마트폰 사용자..
서론 웹 개발 분야에서 서버 사이드 렌더링(SSR)은 요즘 화두가 되고 있는 중요한 주제다. 흔히들 SSR은 웹 페이지의 초기 로딩 성능을 개선하고, 검색 엔진 최적화(SEO)를 향상하는 데에 큰 도움을 준다고만 알고 있지만 세세히 알아보지 않는다. 때문에 본 포스팅에서는 SSR이 무엇인지, 어떻게 작동하는지, 그리고 어떤 장점이 있는지 알아보자. SSR의 기본 개념 SSR(서버 사이드 렌더링, 이하 SSR)은 서버에서 웹 페이지의 전체 HTML을 생성하여 브라우저로 보내는 방식이다. 이 과정에서 서버는 데이터를 가져오고, HTML을 완성하며, 필요한 모든 자바스크립트와 CSS를 포함한 완전한 페이지를 클라이언트에게 전달한다. 더 간략하게 말하면, SSR은 클라이언트(브라우저)에 전달되기 전에 서버에서 ..
서론 여태껏 당연하게 사용해 왔던 '비동기' 혹은 '비동기 통신'. 문득 스스로 '비동기가 뭐야?'라고 질문했다. 명쾌히 대답이 나오지 않았다. 부끄러움은 뒤로 한 채, 그 의미를 다시 한번 알아보고 여태껏 사용해 왔던 비동기 방식에 대해 학습해 보기로 한다. 비동기(Asynchronous) vs 동기(Synchronous) 비동기(asynchronous)는 컴퓨터 프로그래밍에서 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 실행하는 방식이다. 즉, 작업의 완료와 상관없이 프로그램의 흐름이 계속 진행되는 것을 뜻한다. 이는 동기(synchronous) 방식과 대비되는 개념이다. 동기(Synchronous) : 동기 방식에서는 한 작업이 완료될 때까지 기다렸다가 그 다음 작업을 실행한다. 즉..
서론 WebView로 구성된 IOS App의 처음 진입 및 페이지 이동간 속도 개선 작업을 진행하게 되었다. Native App 이라면 이런 저런 속도 개선 작업을 코드 단위에서 진행할 수 있겠지만, WebView로 구성된 IOS App의 경우 사실상 할 수 있는게 별로 없다. Web Source의 무거운 외부 종속 라이브러리 등을 첨삭하여 개선하는 방법이 가장 빠른 길이지만 그럼에도 불구하고 App에서도 개선할 수 있는 작업이 있을까 고민하게 되었다. 현재 앱 구성 파악 현재 본인의 앱 상태가 어떤지 파악해야 하는데, 나의 경우 App을 실행할 때 LaunchScreen 표시 이후 WebView 로딩까지 매끄럽지 않고 특히 Custom Loading Indicate (개발자가 임의로 만들어낸 로딩 지연..
패키지를 다운받아 설치하는것은 우리의 패키지 매니저가 다 알아서 해준다. PHP의 전용 패키지 매니저인 Composer를 사용해서 내가 만들어 올려놓은 패키지를 packagist.org에서부터 다운받아서 사용할 수 있다. 신규 프로젝트 생성하기 composer create-project laravel/laravel example-app 위 명령어처럼 우리는 composer 패키지 매니저를 통해서 손 쉽게 라라벨 프로젝트를 설치할 수 있다. composer가 설치되어 있지 않더라도 각각의 os에서 쉽게 라라벨 프로젝트를 생성하는 방법은 라라벨 공식 홈페이지에서 쉽게 찾을 수 있다. 패키지 설치하기 packagist.org의 우측 상단 자신의 닉네임을 클릭하여 My Packages를 클릭하면, 앞에서 배포하..