주니어 개발자가 반응형 레이아웃 리팩토링한 썰.txt : 360 파노라마 뷰어를 반응형 웹사이트로 개편한 과정을 설명한 글이다. 기존에 제대로 관리되지 않던 페이지의 분기점을 정해서 모바일과 구분한 반응형으로 만들었지만 태블릿 형태의 디바이스를 고려하지 않아서 모든 디바이스를 지원할 수 있도록 하면서 분기점을 최소화해서 반응형 레이아웃을 설계했다고 한다.(한국어)
WCAG 2.1 새로운 성공 기준 : 웹 콘텐츠 접근성 가이드라인인 WCAG 2.1 권고안이 6월 5일 공개되었는데 여기서 새로 추가된 성공 기준을 번역하고 그 의미를 추가 설명하고 있다. 웹 접근성을 지키려고 한다면 2019년에 새로 염두에 두어야 할 부분을 이해할 수 있다.(한국어)
그 밖의 프로그래밍 관련
SwiftUI : Apple에 WWDC에서 애플 플랫폼의 UI를 선언적으로 만들 수 있는 SwiftUI를 발표했다. SwiftUI를 이용하면 이전보다 훨씬 편하고 빠르게 UI를 구성할 수 있어서 많은 개발자들이 기대하고 있고 Xcode11에는 SwiftUI로 UI를 만들 수 있는 새 디자인 도구가 포함되었다.(영어)
Docker Best Practices : 뱅크샐러드를 운영하는 레이니스트에서 Kubernetes, AWS ECS로 서버를 운영하면서 그동안 Docker에서 염두에 두어야 할 팁을 정리한 글이다. WORKDIR 사용의 장점, CMD 명령어에서 exec 형식으로 사용했을 때의 좋은 점, 패키지의 의존성 관리와 불필요한 파일을 넣지 않기 위한 .dockerignore 파일의 사용 등을 추천하고 있다.(한국어)
Building Sentry: Symbolicator : iOS나 Android 같은 환경에서는 빌드할 때 코드가 최적화되기 때문에 예외가 발생해도 Sentry에서 스택트레이스를 제대로 분석하기 어려운 부분을 해결하기 위해서 Sentry가 노력한 과정이 나와 있다. 디버그 정보로 이용하는 디버그 파일을 이용하는데 이 파일은 너무 크므로 필요한 내용만 서브 셋으로 만들어서 이를 Sentry가 이용할 수 있도록 Symbol Server를 제공하고 이를 Symbolicator라는 서비스로 발전시켜서 Sentry가 스택트레이스를 제대로 분석해서 보여줄 수 있게 했다.(영어)
(번역) 리플렉션의 규칙들 : Go 언어를 만든 Rob Pike가 쓴 The Laws of Reflection의 번역 글로 Go 언어에서 Type과 Interface가 어떻게 구성되어 있는지 설명하고 리플렉션의 세 가지 규칙 "리플렉션은 인터페이스값에서 출발하여 리플렉션 객체로 갑니다", "리플렉션은 리플렉션 객체에서 출발하여 인터페이스값으로 갑니다", "리플렉션 객체를 수정하려면, 값이 설정 가능해야 합니다"를 설명해서 리플렉션의 이해를 돕는 글이다.(한국어)
Spring Boot에서 Repository로 DynamoDB 조작하기 (1) - 설정부터 실행까지 : MongoDB에서 DynamoDB로 갈아타면서 공부한 DynamoDB의 사용방법을 설명한 글이다. 쿼리 메서드로 이용하기 위해 spring-data-dynamodb를 사용하기까지 AWS CLI, CURL, AmazonDynamoDB 클래스, DynamoDBMapper 클래스 순서로 DynamoDB에서 항목을 조회, 추가, 삭제하는 방법을 자세히 설명하고 있어서 꼭 Java를 이용하지 않더라도 DynamoDB의 사용방법을 이해할 수 있다.(한국어)
볼만한 링크
Password expiration is dead, long live your passwords : Microsoft가 Windows 10에서 일정 기간마다 비밀번호를 바꾸도록 하는 정책을 없애기로 했다고 한다. Microsoft에 따르면 2FA, 패스워드 추측 공격, 비정상 로그인 시도 감지 등 보호 장치가 있으면 주기적으로 비밀번호를 바꾸게 할 필요가 없고 비밀번호가 유출되었다는 증거가 있으면 즉시 변경을 해야 하므로 주기적으로 바꾸도록 할 필요가 없다고 한다. 그리고 위의 보안 보호장치가 없으면 주기적으로 비밀번호를 바꾸더라도 어차피 의미가 없다고 한다. 국내에도 빨리 보편화하였으면 하는 정책이다.(영어)
20 Patterns to Watch for in Your Engineering Team : 기업용 Git 저장소를 운영하는 GitPrime에서 "효과적인 매니저는 효과적인 디버거"라는 생각으로 엔지니어링 팀의 성과를 측정하고 문제를 파악해서 개발 프로세스를 개선할 수 있는 패턴을 정리해서 50페이지짜리 PDF로 공개했다. 이메일을 입력하면 다운로드 받을 수 있고 아직 읽어보지는 않았지만, 사일로팀이나 PR 전략, 버스 팩터 문제 등 흥미로운 주제가 많다.(영어)
Abstract를 이용한 Sketch 파일 버전 관리 : 마이리얼트립에서 협업하면서 관리가 어려운 Skectch 파일을 Abstract라는 도구로 버전 관리한 내용이 나와 있다. 내가 디자이너는 아니지만, 디자이너들이 디자인 파일로 협업하면서 최신 파일을 찾기도 어렵고 각자 다른 버전을 가진 때도 있고 해서 Abstract를 도입해서 Git으로 코드를 관리하듯이 각자 협업을 할 수 있었다고 한다. 도입 이후 히스토리 확인도 편해졌고 달라진 부분을 비교하기도 쉬워졌다고 한다.(한국어)
메리 미커 인터넷 트렌드 2019 요약 : 메리 미커 인터넷 트렌드 2019의 내용을 요약한 글이다. 크게 보면 스마트폰 출고 대수가 처음 감소세로 접어들었지만 커머스와 광고는 여전히 성장 중이고 잘나가는 서비스와 분야들이 잘 정리되어 있다. 그리고 SNS를 너무 오래 사용하는 것을 사람들이 걱정하기 시작했기 때문에 사용 시간의 증가는 더는 기대하기 어렵다고 한다.(한국어)
Sign In with Apple : Apple이 WWDC에서 애플 계정으로 타 서비스에 로그인할 수 있는 "Sign In with Apple"를 공개했다. 이때 서드파티 서비스에 사용자 이메일은 애플이 임시로 만든 비공개 이메일 주소만 전달한다.(영어)
λ Serverless Benchmark : AWS Lambda, Google Cloud Functions, Azure Functions, IBM Cloud Functionsl, Cloudflare Workers 등 다양한 서버리스 플랫폼의 평균 응답시간과 콜드스타트 시간을 벤치마킹한 사이트.
Firefox Monitor : 개인 정보가 유출된 사이트를 기준으로 이메일을 입력하면 어떤 사이트에서 어떤 정보가 유출되었는지 알려준다.
Comments