본문 바로가기

안드로이드 - 프래그먼트에 대한 간단한 정리 타겟 디바이스가 폰과 태블릿이라면 서로 다른 화면 구성이 필요함큰 화면에서 쓸 액티비티가 작은 화면에서 쓸 액티비티와 중복되는 코드가 발생하면?프래그먼트여러 액티비티에서 재활용할 수 있는 모듈화 코드 컴포넌트레이아웃을 같는다윈도 프로그램에서의 커스텀 컨트롤 느낌태블릿을 위해서 쓰기보다는 코드 재활용을 위한 커스텀 컨트롤로 보는게 좋을 듯안드로이드 공식 문서 : https://developer.android.com/guide/component..
Xcode8 의 누락된 커맨드 라인 도구로 인한 이슈 회피 새롭게 지급받은 회사 PC 에서 dig 명령을 Client Subnet 정보 없이 사용하고 있던 찰나, 고객님의 확인 요청으로 Client Subnet 정보를 활용한 DNS 조회가 필요해졌습니다. 늘 그랬던 것처럼 bind-9.9.3 버전을 다운로드 받아 패키지에 포함되어 있는 dig 을 추출해 사용하려고 했습니다만 Xcode8 이 설치된 환경에서 발생할 수 있는 컴파일 이슈를 만났습니다.여기저기 수소문을 해보니 누락된 커맨드 라인 도구가 있고 이로..
JSON 포맷의 단점을 보완한 JSON5 를 Node.js 에서 사용해보자 이유는 알 수 없습니다만 여러곳에서 지속적으로 사용자 유입이 되고 있는 포스팅이 "JSON 포맷에서 주석을 사용할 수 있을까?" 라는 글입니다. 유입이 많은 이유로 생각되는 것은 많은 분들이 JSON 포맷을 사용하면서 주석 사용에 대한 욕망(?)이 있고, 이에 대한 방법을 찾으려다 검색 유입이 되는 것이라는 생각이 듭니다. 저 역시 글을 쓴 이유가 JSON 포맷에서 주석을 왜 쓸 수 없을까 였기 때문에 결국 같은 갈망을 가지고 검색후 실망-_-이라는..
OS X 운영체제 환경에서 스크린 캡쳐 파일 포맷을 바꿔보자 세상에는 굉장히 다양한 이미지 포맷이 존재합니다. 압축 포맷의 대명사인 JPG 부터 비트맵으로 이미지를 표현하는 BMP, 투명한 이미지가 필요할 때 많이 찾게되는 PNG 와 간단한 애니메이션 용도로 널리 사용되는 GIF 등이 대표적입니다. 사람들은 각자의 목적에 따라 이런 이미지들을 활용하게 되는데요, 서로 다른 여러가지 포맷을 바꾸어 가면서 사용해야 하는 경우가 간혹 생기곤 합니다. 예를 들어 프론트엔드 디자이너라고 하면 PNG 포맷을 많..
터미널에서 awk 명령을 이용하여 특정한 컬럼만 제외하는 방법은? 터미널에서 로그파일을 핸들링하면서 자주쓰이는 명령들이 있습니다. 전체 파일을 출력하기 위해서 cat 명령을 사용하고 특정한 컬럼의 값만 출력하기 위해서 파이프로 연결된 awk 명령을 쓸 때가 많습니다. 그런데, 컬럼이 아주 많은 경우에 특정한 컬럼만 제외하고 나머지를 출력할 수 있는 방법이 있을까요? 컬럼이 적은 경우에는 필요한 필드를 나열하는 것도 괜찮지만, 수십개, 수백개의 컬럼이 있다면 그다지 좋은 방법이 될 수가 없습니다.예를 들어 temp...
터미널에서 sort 명령을 이용하여 특정 컬럼 기준으로 로그파일 정렬하기 다량의 데이터를 추출하면 필연적으로 정렬에 대한 필요성이 생깁니다. 정렬이 필요한 순간은 정말 다양하겠지만 대표적인 경우들을 들어보자면, 1) 특정한 조건에 만족하는 로그 라인의 갯수를 오름/내림 차순으로 정렬, 2) 시계열 순으로 로그가 추출되지 않은 경우, 시간 컬럼을 기준으로 로그 라인을 정렬과 같은 것이 있습니다. 1의 경우는 카운트를 위한 명령을 파이프로 연결후 쉽게 정렬할 수 있습니다.$ cat domain.log | awk '{print..
TCP Fast Open - 보다 빠르게 웹 컨텐츠를 전송하기 위한 기술 HTTP/2 시대가 시작되면서 다양한 성능 개선을 위한 사례들을 요즘 찾아보고 있습니다. QUIC 도 그중 하나이고 TCP Fast Open 이라는 표준 역시 살펴봐야 할 사례인 것 같습니다. 공부할 건 많고 시간은 없고 머리는 안돌아가고... 그래도 일단 필요한 링크들을 모아봅니다. 먼저 공부하시는 분들이 계시다면 정리해서 공유를... 굽신...# TCP Fast Open - TCP 의 3 way handshake 로 발생하는 RTT 및 Laten..
맥(Mac)에서 curl 을 통해 http2 테스트를 할 수 있도록 변경하기 웹 컨텐츠 전송을 위한 프로토콜의 대세가 h2 혹은 http/2 로 자리잡아 가면서 맥(Mac)의 쉘에서도 http/2를 테스트 해야하시는 분들이 많이 늘었을 것으로 생각됩니다. 알려진 내용에 따르면 curl 의 7.34.1 버전 이후에는 --http2 옵션을 통해 http2 로 서버와 통신을 하도록 강제할 수 있지만 환경에 따라서 안되는 경우가 많습니다. curl 은 http/2 를 지원하기 위해 nghttp2 라이브러리를 이용하고 있기 ..
IPv6 에 대응하는 우리의 자세 - NAT64 를 통한 네트워크 트랜지션 IPv4 의 주소 체계가 더이상 새로운 주소를 사용자들에게 주지 못할거라는 이야기가 나온지 참 오래된 것 같습니다. 마르지 않는 샘처럼 끊임없이 나오는 IPv4 주소 덕분에(?) 생명연장의 꿈을 꾸고 있습니다만 근래 애플(Apple)의 앱 검수 기준 변화는 IPv6 로의 트랜지션이 본격적으로 시작된 것이라는 느낌을 주기에 충분합니다.IPv4 네트워크가 워낙에 광범위하게 사용되고 있기 때문에 어느날 갑자기 "오늘부터 IPv6 를 써야해!" 하기는 쉽지..
보다 빠르고 안전한 https 통신을 위한 트릭 - OCSP 와 OCSP Stapling 대세는 https 입니다. 새로운 http 표준인 http/2 (aka h2) 는 Clear Text 에 관한 규약을 가지고 있긴 하지만 시장에 있는 대부분의 브라우저들은 TLS 기반의 통신을 http/2 를 이용하기 위한 기본 조건으로 내걸고 있습니다. 프로토콜의 변화 뿐만 아니라 렛츠인크립트(Let's Encrypt)와 같은 무료 인증서 배포가 대중화되기 시작하면서 스트리밍(Streaming)과 같이 레이턴시(Latency)에 민감한 부문을 제외..