방성범 블로그

글 목록

  • AF_INET vs PF_INET

    리눅스 소켓 프로그래밍에서, IP(인터넷 프로토콜)을 지정하기 위해 AF_INETPF_INET 중 어느 것을 사용해도 상관이 없습니다. 왜 소켓 프로그래밍 설계자들은 이처럼 아무런 차이도 없는 상수를 두 개나 만들었을까요? 둘 사이에 숨겨진 의미라도 있는 걸까요?

  • 플라스크 시그널

    파이썬 플라스크(Flask)에서 프레임워크 내부 동작을 감지하는 방법인 시그널(Signals)에 대해 살펴봅니다.

  • MQTT 소개

    MQTT의 필요성과 특징에 대해 소개합니다.

  • MQTT 연결 방식

    MQTT의 TLS 보안 연결이나 웹소켓을 통한 연결 방식에 대해 소개합니다.

  • IoT 플랫폼 업체 비교

    홈 오토메이션이나 IoT 제품 개발을 위해 어떤 IoT 플랫폼을 사용해야 할까요? Adafruit IO, Blynk, ThingSpeak, AWS IoT 등 여러 업체를 비교해보았습니다.

  • 바닐라 웹 컴포넌트 만드는 법

    제이쿼리(jQuery), 리액트(React), 뷰.js(Vue.js)같은 프레임워크 없이 웹 컴포넌트를 만드는 방법에 대해 알아봅니다.

  • 자바스크립트 클로저

    자바스크립트에서 클로저(closure)란 무엇인지, 그리고 클로저를 사용하는 이유에 대해 알아봅니다.

  • 자바스크립트 var, let 차이점

    자바스크립트에서 변수를 선언할 때 사용하는 var, let, const의 차이와 스코프, 호이스팅에 대해 알아봅시다.

  • Redux의 장점과 주의점

    Redux(리덕스)를 쓰는 이유와 사용 시 주의할 점에 대해 살펴봅니다.

  • GitFlow가 안 좋은 이유

    깃에서 가장 유명한 브랜칭 전략인 GitFlow(깃플로)의 단점을 분석합니다.

  • 다중 저장소 vs 단일 저장소

    언제 다중 저장소(Multirepo(멀티레포))를 쓰고 언제 단일 저장소(Monorepo(모노레포))를 써야 하는 지에 대해 설명합니다.

  • PostCSS가 Sass보다 좋은 이유

    Sass(사스)의 복잡한 문법이 필요 없다면, CSS의 표준 문법에 기반한 PostCSS(포스트CSS)를 사용하는 것이 더 편리합니다.

  • 리눅스 ACL 강좌

    사용자 하나와 그룹 하나에게만 권한을 줄 수 있는 파일 퍼미션을 확장하여, 여러 명의 사용자와 그룹에게 접근 권한을 줄 수 있는 ACL(Access Control List)에 대해 알아봅니다.

  • 파이썬에 switch/case 문이 없는 이유

    파이썬 역사 상 switch를 구현하려는 시도는 있었습니다. 다만 switch를 어떤 방식으로 구현하는 게 가장 효과적일지 결정하는 것이 까다롭고, 무엇보다 인기가 없어서 결국 구현되지 못했습니다. 대신 파이썬 공식 문서는 if...elif를 권장합니다.

  • GraphQL의 단점과 대안

    GraphQL(그래프QL)은 서버 수정 없이 클라이언트가 원하는 쿼리를 날릴 수 있어 API를 설계하거나 변경하는 비용을 획기적으로 낮출 수 있습니다. 그러나 HTTP에서 제공하는 기존 인프라를 그대로 사용하지 못하고 GraphQL 스타일로 다시 재구현해야만 하는 부담이 있습니다.

  • 파이썬 더블 샤프(##) 주석

    파이썬 내장 IDE인 IDLE(아이들)에서 ‘Comment Out Region’이라는 메뉴 항목을 누르면 사용자가 선택한 영역을 주석 처리하는데, 특이하게도 하나가 아니라 두 개의 샤프를 붙입니다. 샤프 두 개에 뭔가 특별한 의미라도 있는 걸까요?

  • 스프링의 단점과 대안

    스프링(Spring Framework, Spring Boot, …)은 강력하지만 그만큼 배워야 할 것이 많은 복잡한 프레임워크입니다. 자바를 써야 하지만 스프링은 부담된다면, 대안으로 드롭위자드(Dropwizard)를 사용해보세요.

  • 웹 사이트 너비 정하기

    웹 사이트의 너비에 대한 절대적인 기준은 없습니다. 그래도 마음대로 정하는 것보다는, 모바일에서 데스크톱 전용 웹 페이지를 렌더링할 때 사용되는 너비인 980px을 권장합니다.

  • 시맨틱 태그가 인기 없는 이유

    시맨틱 태그가 더 널리 사용되게 하기 위해서는 시맨틱 태그에도 기본적인 CSS 스타일이 있어야 합니다.

  • 이제서야 코틀린을 도입하게 된 이유

    코틀린의 좋은 문법, 그리고 안드로이드 스튜디오와 안드로이드 SDK의 훌륭한 코틀린 지원 기능으로 인해 코틀린을 선택하게 되었습니다. 이전에는 망설일 법한 부분도 있었지만, 이제는 아닙니다.

  • unittest vs pytest

    유명한 파이썬 테스팅 프레임워크인 unittest(유닛테스트)pytest(파이테스트)의 장단점을 비교합니다. pytest의 독특한 테스트 방식이 별로라면 unittest를, 간결하고 아름다운 테스트가 중요하다면 pytest를 사용하세요.