목록분류 전체보기 (368)
잡동사니
안녕하세요. yeTi입니다. 오늘은 종종 헷갈리는 서비스 레이어의 테스트를 바라보는 관점에 대해 말해보고자 합니다. 발단 Spring 으로 서버 어플리케이션의 구조를 정의하면 많은 경우 Controller - Service - Repository(DAO) 형식의 layered architecture 를 보게 됩니다. 이러한 구조에서 테스트 환경을 구성하게 되면 테스트 효율성을 높이기 위해 slice test 를 하게 됩니다. 여기서 개발자들의 의문이 생깁니다. Service 테스트를 하려고 하는데요. 데이터가 잘 저장되는지는 어떻게 확인하면 될까요? 이 질문은 테스트를 위한 두 가지 관점이 혼재해서 만들어졌다고 생각합니다. 사용자 관점 우리가 흔하게 정의하는 API만 사용자라는 대상이 있는게 아니라 클래..
안녕하세요. yeTi입니다. 오늘은 객체지향의 사실과 오해 읽은 후기를 기록하려고 합니다. 책을 선택한 이유 OOP 에 대해 알고 싶은 마음에 개념의 창시자이신 Alen Kay 님의 The early history of SmaillTalk 을 읽고 깊은 감명을 받아 기록으로 남겼습니다. OOP의 기원 (feat. 객체와 메시지) 이 후 조용호 님의 오브젝트 를 읽어볼까 하다가. 뭔가 상세한 지식을 접하기 전에 객체와 메시지에 대한 시야를 넓히고 싶다는 생각에 객체지향의 사실과 오해 를 선택했습니다. 저는 책의 서문을 주의깊게 읽는 스타일인데요. 조용호 님이 이 책을 집필하신 동기나 목적이 제가 알고 싶어하는 부분과 일맥상통(一脈相通) 하다는 느낌을 받아 이 책을 잘 선택했다는 기쁨을 느낄 수 있었습니다...
안녕하세요. yeTi입니다. 오늘은 테스트 코드는 도입하고 싶은데 프로젝트 일정에 안 좋은 영향을 줄거같은 걱정을 해소해 드릴 수 있는 근거를 공유해보고자 합니다. 개요 현업에서 개발하시는 분들(개발자 혹은 리더) 과 대화를 하다보면 간혹 다음과 같은 질문을 받습니다. 테스트코드를 작성하면 개발일정을 맞추기가 힘든데 어떻게 도입할 수 있을까요? 그 동안 저도 프로젝트 일정을 늦추는 요인은 된다고 생각하고 있었는데요. 근래에 그렇지 않다 라는 생각이 들어 그 생각을 공유합니다. 프로젝트 일정과 개발 일정 테스트 코드는 개발 일정은 지연 요소가 될 수 있더라도 프로젝트 일정은 단축 요소라고 생각합니다. 왜에 대해서는 아래에 계속해서 얘기해 보겠습니다. 왜 지연요소라고 인식하는가? 코드를 타이핑(코딩) 하는 ..
안녕하세요. yeTi입니다. ChatGPT의 활용법 (feat. 정보수집 방식의 전환) 에서 ChatGPT의 쓰임새를 인식하고 ChatGPT를 활용하여 궁금증을 해소한 예시를 공유하고자 합니다. 더하여 Microsoft에서 개발한 Bing AI와 비교하여 답변의 차이를 확인하고자 합니다. 문답 SSD에서 말하는 TBW가 뭔지 알아? TBW는 'Terabytes Written'의 약자로, SSD(Solid State Drive)가 고장 나기 전에 얼마나 많은 데이터를 쓸 수 있는지를 나타내는 척도입니다. 구체적으로 TBW는 SSD의 수명 기간 동안 SSD에 기록할 수 있는 총 데이터 양을 의미하며, 일반적으로 수년 단위로 측정됩니다. 즉, TBW는 SSD의 내구성과 수명을 평가하는 데 유용한..
안녕하세요. yeTi입니다. ChatGPT의 활용법 (feat. 정보수집 방식의 전환) 에서 ChatGPT의 쓰임새를 인식하고 ChatGPT를 활용하여 궁금증을 해소한 예시를 공유하고자 합니다. 문답 안식년이 뭔지 알아? 안식년은 안식년 휴가 또는 안식년이라고도 하며, 일반적으로 개인적 또는 직업적 성장 기회를 추구하기 위해 정규 업무나 학업에서 벗어나 휴식을 취하는 기간입니다. 안식년 기간 동안 개인은 여행, 연구, 저술, 자원 봉사 또는 추가 교육 추구와 같은 활동에 참여할 수 있습니다. 안식년은 종종 고용주나 교육 기관에서 전문성 개발을 장려하고, 소진을 방지하거나, 장기 근속에 대한 보상을 위해 부여합니다. 안식년 기간은 다양할 수 있지만 일반적으로 몇 개월에서 1년 정도입니다. 안식년을 활용하는..
안녕하세요. yeTi입니다. 오늘은 OOP(Object-Oriented Programming) 라는 개념을 만든 Alan Kay 님의 ACM 프로그래밍관련 논문인 The Early History Of Smalltalk 를 읽고 후기를 공유해보고자 합니다. Introduction Smalltalk's design—and existence—is due to the insight that everything we can describe can be represented by the recursive composition of a single kind of behavioral building block that hides its combination of state and process inside it..
안녕하세요. yeTi입니다. 오늘은 카이스트 김대식 교수 | (1부) “인공지능 시대에 애플의 움직임이 없는 이유” 처음 듣는 챗GPT 이야기를 보고 ChatGPT의 공개에 따른 인류의 변화라는 측면에서 얘기를 해보고자 합니다. 검색의 시대는 끝났다. ChatGPT의 활용법 (feat. 정보수집 방식의 전환)에서 인식의 전환 이라는 주제로 다음과 같이 언급한 내용이 있습니다. 만일 ChatGPT를 검색 엔진이라고 생각하지 않고 맥락을 이해하는 비서라고 가정한다면? 덧붙여서 정보를 찾는 과정에 대한 변화에 대해 공유했습니다. 신기하게도 그날 저녁 검색의 시대는 끝났다.는 썸네일이 영상을 보게 만들었습니다. ChatGPT의 공개와 그에 따른 컴퓨터가 사람의 언어를 이해하고 대화할 수 있는 환경이 갖춰짐에 따..
안녕하세요. yeTi입니다. 오늘은 ChatGPT를 활용하는 방법을 나름대로 이해한 부분에 대해 말해보고자 합니다. 기존 정보수집 방식 링크드인 팔로워인 김진중님을 통해 ChatGPT의 의미 와 중요성에 대해 알고 있었습니다. 하지만 스스로 선뜻 사용하지 못했던 이유는 정보의 신뢰성을 판별할 수 있는 방법을 알지 못했기 때문입니다. 왜냐하면, 기존에 정보를 수집하는 방식은 웹을 통해서 정보를 탐색합니다. 그러면 먼저 검색하고자 하는 대상과 관련있는 단어나 문장을 정의하고 검색 결과를 기준으로 정보의 신뢰성을 파악하기 위해 출처에 대한 신뢰성을 확보한 후 정보를 습득하는 과정을 거쳤다. 결국 출처의 신뢰성을 기반으로 정보의 신뢰성을 연결하는 방식이었습니다. 그러다보니 ChatGPT가 알고 있는 정보가 신뢰..
안녕하세요. yeTi입니다. 오늘은 테스트 주도 개발을 읽은 후기를 기록하려고 합니다. 저자에게 테스트란? 최근 이력서를 정리하다가 잊혀졌던 기억이 상기되는 경험이 있었습니다. 4년전에 K-MOOC에 대해 소개하는 글을 남긴적이 있습니다. 그 당시에 해당 플랫폼으로 다양한 강의를 청강했는데요. 소프트웨어 공학 : 왜, 무엇을, 어떻게?라는 강의는 들은 기억이 있는데 소프트웨어 테스팅 강의는 들은 기억이 없었습니다. 기억에 없는것을 보니 스스로 얻은 것은 없었구나. 하는 회의적인 기분도 들면서 한편으로는 어떻게 테스트 하는 것이 의미가 있는 활동인지에 대해 고민했었구나. 하는 생각이 들기도 했습니다. 아무튼 이후에 저비용 고품질의 서비스를 만들자. 라는 생각으로 JUnit을 활용하여 테스트라는 것을 만들어..
안녕하세요. yeTi입니다. 오늘은 Eventual Consistency 에 대해 다뤄보고자 합니다. 유영모님의 가이드를 따라가다가 거대한 자료의 수집채로 해당글을 씁니다. 정의 Eventual consistency에 따르면 결과적 일관성은 분산 환경에서 고가용성을 보장하기 위한 일관성 모델이라고 설명하고 있습니다. Eventual consistency is a consistency model used in distributed computing to achieve high availability that informally guarantees that, if no new updates are made to a given data item, eventually all accesses to that ite..