-
Swift 3 접근 한정자
Swift 3 메서드에 대한 접근 한정자(엑세스 레벨)가 5가지(open, public, private, fileprivate, internal) 존재한다. 다른 언어들에 비해 많은 편이고 익숙하지 않은 개념으로 조금 복잡해 보일 수 있다. 다만, 프레임워크(모듈)를 만드는 경우가 아니라면 사용하지 않아도 되는 것들도 있다. 각각의 접근 한정자에 대해 간략히 알아보자(가장 개방된 것부터 가장 제한적인 순서로). open 가장 개방된 접근 한정자로써 소속 모듈 또는 소속 모듈을 import하는 모든 모듈에서 class와 class 멤
-
PHP(PCRE) 정규표현식 패턴에 존재하는 변경자
PHP에서 PCRE(Perl Compatible Regular Expressions) 정규식을 사용하다 보면 패턴 변경자를 자주 이용하게 되는데 이 부분이 항상 헛갈려서 관련 내용을 남겨 둔다. 그리고 유사하지만 서브 패턴 내에서 사용할 수 있는 Internal option setting도 있으니 참고하면 도움이 된다. 주로 사용하게 되는 변경자 몇가지를 간단히 소개하자면 다음과 같다. i : 대소문자 구분을 하지 않음 m : 검사 대상이 여러줄로 이루어져 있을 경우 "\n" 문자를 기준으로 분리하여 각각의 줄로 패턴을 검사한다(^
-
CocoaPods Subspecs를 이용한 선택적 의존성 설정
Xcode에서 CocoaPods를 이용해 sub module 만들기에서 모듈을 생성하는 것을 간단히 설명한 적이 있다. 모듈을 만들면서 여러 가지 기능을 하나의 모듈에 추가하다 보면 다른 프로젝트에서는 불필요한 코드들이 추가되는 상황이 발생한다. 이런 경우 Subspecs를 활용하면 선택적 의존성을 설정할 수 있다. 우선 Optional CocoaPod dependencies using Subspecs에 소개된 예시를 보자. # Kite-Print-SDK.podspec Pod::Spec.new do |spec| spec.name =
-
MariaDB 10.0에서 10.1로 업그레이드(yum)
MariaDB 최신 버전 설치(yum) - CentOS 7 이라는 글에서 MariaDB를 설치하는 방법에 대해 소개 했었다. 그 글에서는 처음부터 10.1을 설치하기를 권장했었는데 회사에서 사용하는 서버 중에 10.0을 사용하는 서버가 있어 이번에 업그레이드했던 내용을 간단히 남긴다. 본론에 들어가기에 앞서 10.1에서의 변경 사항이 궁금하다면 What is MariaDB 10.1?를 참고하자. MariaDB의 메뉴얼에 보면 Upgrading from MariaDB 10.0 to 10.1에서 업그레이드 과정 및 변경 사항을 자세히
-
블로그에 AMP를 적용하다.
블로그를 리뉴얼 하다.에서 언급했던 AMP(Accelerated Mobile Pages)를 이 블로그에 적용했다. AMP를 적용한 이유는 다분히 SEO를 테스트하기 위함이다. AMP를 적용한다고 구글에서 무조건 상위에 노출시켜주는 것은 아니다. 하지만 빠른 페이지 로딩은 SEO에 도움을 주기 때문에 간접적으로 SEO에 도움이 된다. 실제로 AMP를 적용한 것은 좀 됐는데 구글에서 해당 페이지를 재색인해서 반영되는 시간을 기다리느라고 이제서야 글을 쓴다. 사실 AMP를 적용하는 것은 그리 간단하지는 않았다. AMP의 요구사항을 충족시