일상에서 배운 추상 들어가며 서세옥 작가의 이라는 작품을 보며, '추상이란 무엇인가' 고민한 흔적을 글로 적습니다. 간혹 의미와 형태를 알아볼 수 없는 작품을 볼 때면 이게 무슨 의미일까 싶어 자리를 이동하곤 했습니다. 이번에도 큰 의미를 깨닫지 못하고 자리를 이동하려 할 때 우연히 도슨트의 설명을 들을 수 있었습니다. "사람들이라는 제목에 집중해서 작품을 감상해 보시면 해당 작품이 다르게 보이실 겁니다." 라는 설명을 듣고 다시 작품을 바라보니 선을 통해 사람을 표현했다는 것을 알 수 있었습니다. 선과 선이 이어지며 어느 부분은 선명하게 그려져 있지만 어떤 부분은 흐릿하게 표현되어 있는 것을 보며, 어떤 사람과는 깊게 이어져있는 반면 누군가는 아주 잠시 이어졌을 뿐 연락 조차 하지 않는 어느 인간관계를 생각할 수 있었.. [회고] 2024년 하반기 - 무용(無用)을 사랑하는 마음 들어가며 오랜만에 집에 오는 자식을 위해 정성껏 식사를 준비하고, 자식의 가계에 조금이나마 보탬이 되고자 반찬을 투박하게 담으며, 눈 오는 날 안전히 돌아가길 바라는 마음으로 시야에서 보이지 않을 때까지 눈을 맞으며 배웅하는 당신의 모습이 유독 선명히 보였습니다. "조금이라도 챙겨줄 수 있을 때 챙겨주고 싶다"는 말을 반복하던 당신의 모습에서 자식들에게 쓸모없는 사람이 되면 어떻게 해야 할까 와 같은 두려움이 느껴지는 듯했습니다. 유용했던 당신의 젊음을 맞바꿔 타낸 졸업장을 당신 품에 안겨드리는 지금에서야 무용해지고 있다고 느낄지 모를 당신을 지켜야 할 차례가 되었음을 깨닫습니다. 이번 하반기는 유용한 존재로 남을 수 있도록 끊임없이 노력하는 당신을 닮은 형태로, 내가 속한 팀에서 나의 쓸모를 증명하기.. 프로젝트 삽질기33 (feat ECR tag 관리) 들어가며 AWS ECR에 빌드한 Docker Image를 업로드할 때 tag를 latest로 설정했습니다. 그 후 latest 태그가 붙은 이미지를 이용해서 배포하는 과정에서 문제가 생겼는데, 어떤 문제가 생겼고 문제를 어떻게 해결했는지 공유하고자 합니다. 문제 정리첫 번째, 롤백이 안 되는 문제가 있었습니다. 배포 과정에서 문제가 생기면 롤백해야 했는데, ECR에는 모두 latest 태그가 붙은 이미지만 존재했습니다. 그래서 문제가 발생하는 latest 버전이 아닌 이전 버전으로 롤백을 하려고 하더라도, 현재 문제가 발생하는 latest 태그의 Docker 이미지로 컨테이너를 만들어야 했습니다. 즉 latest 태그를 유지함으로써 서버를 롤백할 수 없는 문제가 있었습니다. 두 번째는 버전 관리.. 프로젝트 삽질기32 (feat DOO 단위 테스트) 들어가며 이 글에서 비즈니스 로직과 이벤트 전달 로직을 분리하는 과정을 공유했습니다. 이번 글에서는 테스트 코드를 활용해서 이벤트를 전달하는 코드가 호출되었는지, 그리고 이벤트를 전달하는 코드를 호출하기 위해 어떤 객체가 전달되었는지 확인한 방법을 공유하고자 합니다. 그 과정에서 테스트 코드를 어떻게 작성했는지 함께 공유하겠습니다. 테스트 코드 작성 준비기존 코드는 아래와 같이 구성되어 있었습니다. 만약 아래 코드로 단위 테스트를 작성한다면, 테스트 코드를 작성하기 어렵습니다. hackle, amplitude SDK를 직접 제어하기 어렵고, sdk를 활용해서 외부에 데이터를 전달하는 것이기 때문에 테스트를 하기 위해서는 외부의 환경에 의존해야 합니다. 문제를 해결하기 위해선, 직접.. 프로젝트 삽질기31 (feat DOO, Enum 클래스) 들어가며팀에서 데이터 드리븐한 의사결정을 할 수 있도록 핵클, 앰플리튜드에 데이터를 적재하는 환경을 구축하고 있습니다. 데이터를 전달하기 위해 비즈니스 로직에 이벤트 전달 코드를 함께 작성했습니다. 그러다 핵클, 앰플리튜드에 전달해야 하는 이벤트 전달 코드가 점진적으로 많아지면서 코드의 가독성을 해치게 되었고 하나의 클래스에서 여러 책임을 갖게 되는 문제가 발생했습니다. 이 글을 통해 제가 겪은 문제를 어떻게 해결했는지 공유하고자 이 글을 씁니다. 이벤트 전달하기먼저 유저의 회원가입을 처리하는 클래스가 있다고 가정하고 간단한 샘플 코드를 살펴보겠습니다. 만약 유저가 언제 회원가입을 했는지 알기 위해 핵클과 앰플리튜드에 이벤트를 전달하고 싶다면 다음과 같이 코드를 구성할 수 있을 것입니다.. [회고] 2024년 상반기 - 등대가 되었던 사람 들어가며 평생을 미련하게 살아온 당신을 생각합니다. 고등학교에 가지 못하고 벽돌을 날랐던 탓인지 당신의 왼쪽 어깨는 주저앉았고, 미화원으로서 거리를 청소하기 위해 긴 시간을 무릎 닳도록 걸은 탓인지 당신은 다리를 절뚝여야 했습니다. 방 안 가득 퍼져 있는 코를 찌르는 당신의 파스향을 맡을 때에도 당신의 고단했던 하루를 크게 신경 쓰지 않았던 것 같습니다. 어느 늦은 저녁 당신으로부터 걸려온 전화를 받았습니다. 집 근처 벤치에 앉아있다는 간단한 상황만을 공유한 채 당신은 전화를 끊었습니다. 설마 하는 생각에 벤치 앞에 갔을 땐, 길을 걷다가 무릎에 힘이 들어가지 않아서 걷지 못하고 주저앉아버린 당신의 모습을 볼 수 있었습니다. 도움 없이는 걷지 못하는 당신에게 도움이 되고자 손을 건넸습니다. 당신의 손을.. 프로젝트 삽질기30 (feat 나이스 인증 3) 들어가며 본인확인 기능을 개발하기 위해 팀에서는 나이스 본인확인 서비스를 도입했습니다. 나이스에서 제공하는 개발 가이드를 보면서 도입을 해야 했는데, 배경 지식이 전혀 없는 상황에서 도입을 하려고 하니 여러 삽질을 거쳐야만 했습니다. 나이스 인증을 도입하는 다른 분들이 저와 같은 어려움을 겪지 않았으면 하는 바람으로, 나이스 인증 기능을 어떻게 도입했는지를 상세하게 작성해 보려 이 글을 적습니다. 나이스 인증 결과 복호화저번 글에서는 NICE 표준창을 호출하기 위해 요청 정보를 반환하는 과정을 살펴봤습니다. 다음은 유저가 NICE 표준창을 활용해서 인증을 완료하면 인증 결과가 서버 쪽으로 전달되도록 8번부터 11번까지의 과정을 살펴보겠습니다. 이 과정을 코드를 보면서 따라가고 싶.. 프로젝트 삽질기29 (feat 나이스 인증 2) 들어가며 본인확인 기능을 개발하기 위해 팀에서는 나이스 본인확인 서비스를 도입했습니다. 나이스에서 제공하는 개발 가이드를 보면서 도입을 해야 했는데, 배경 지식이 전혀 없는 상황에서 도입을 하려고 하니 여러 삽질을 거쳐야만 했습니다. 나이스 인증을 도입하는 다른 분들이 저와 같은 어려움을 겪지 않았으면 하는 바람으로, 나이스 인증 기능을 어떻게 도입했는지를 상세하게 작성해 보려 이 글을 적습니다. 나이스 본인확인기관 토큰을 발급받는 과정을 저번 글에서 살펴봤습니다. 다음은 유저가 나이스 본인인증 요청 버튼을 클릭하면 NICE 표준창을 호출할 수 있도록 로직을 구현해 보겠습니다. 3번부터 7번까지의 과정을 살펴보겠습니다. 이 과정을 코드를 보면서 따라가고 싶으신 분들은 코드를 레.. 프로젝트 삽질기28 (feat 나이스 인증 1) 들어가며 본인확인 기능을 개발하기 위해 팀에서는 나이스 본인확인 서비스를 도입했습니다. 나이스에서 제공하는 개발 가이드를 보면서 도입을 해야 했는데, 배경 지식이 전혀 없는 상황에서 도입을 하려고 하니 여러 삽질을 거쳐야만 했습니다. 나이스 인증을 도입하는 다른 분들이 저와 같은 어려움을 겪지 않았으면 하는 바람으로, 나이스 인증 기능을 어떻게 도입했는지를 상세하게 작성해 보려 이 글을 적습니다. 나이스 본인확인나이스평가정보에서 제공하는 API는 여러 종류가 있는데, 본인인증(통합형)을 도입하는 방법에 대해 알아보겠습니다. 이 과정을 코드를 보면서 따라가고 싶으신 분들은 코드를 레포지토리에 올려두었으니 함께 확인해 주시면 됩니다. GitHub - epitone/nice-.. 새로운 공정함에 배려받지 못하는 그늘 해외에 나가게 되면 꼭 한 번은 맥도날드에 방문한다. 맥도날드에서는 나라별 시그니처 메뉴를 맛볼 수 있을 뿐만 아니라, 그 나라의 물가를 체감할 수 있어 공부 삼아 방문하곤 한다. 대만을 방문했을 때, 맥도날드에서는 키오스크를 통해 메뉴를 주문할 수 있었다. 한국에서의 키오스크 사용법과 크게 다르지 않아 주문하는데 큰 어려움은 없었다. 언어 설정에서 약간 헤매기는 했지만, 옆에 있던 직원이 친절하게 도와줬다. 주문한 햄버거를 받기 위해 자리에 앉아 기다리던 중, 한 어르신이 키오스크 사용에 어려움을 겪고 있는 모습을 봤다. 직원이 다가가 어르신을 대신해 메뉴를 주문했다. '시대예보: 핵개인의 시대' 책에서 봤던 문장이 머리에 맴돌았다. 편리의 반대편에는 온라인 예매로 인해 현금을 들고도 표를 구할 수.. 이전 1 2 3 4 ··· 7 다음 목록 더보기