전체 글

개발을 하며 겪었던 경험, 이슈를 토대로 자료를 조사하고 느낀점을 기록합니다. 저와 비슷한 고민을 하고 비슷한 문제를 겪고 계신분들에게 도움이 됐으면 합니다.
· IT/테스트
이제 테스트코드의 필요성은 굳이 여기서 말을 하지 않아도 될 정도로 다들 잘 알고있고 그만큼 널리알려져 있다고 생각한다. 그래도 개인적인 경험을 말해보자면 난 처음부터 테스트코드를 작성하진 않았다. 사실 그땐 테스트코드에 대한 존재 자체도 잘 몰랐다. 첫 회사에선 코드를 작성하고 서비스를 운영 했던 방식은 다음과 같았다. (프론트, 백엔드 모두 작업하던 환경) 1. 신나게 어플리케이션 코드 작업 2. 손수 한땀한땀 클릭 클릭, 오고가는 데이터까지 확인하며 기능 작동 확인 3. 버그 발견시 1. 로 회귀. Or 스테이지 서버에 배포후 다시 한번 기능 테스트 (QA) 4. 배포 이렇게 일을 하며 느꼈던 점은 테스트 과정이 지루하기도 하고 기존 기능에 무언가 추가 되었을때 똑같은 테스트를 또 해야했기에 ..
· IT/php
협업을 하며 코딩을 할땐 유지보수가 용이하게끔, 코드파악이 쉽게끔 그리고 작성한 코드가 작성자의 의도대로 사용되는 것이 중요하다. 이번 글에서 다룰 내용은 작성한 코드를 동료들이 사용할때 작성자의 의도대로 사용할수 있게끔 유도하는 방법 이다. 간단히 코드를 작성하기위해 아래와 같은 상황이 있다고 가정해보자. 여러 API 클라이언트를 관리해야 하는 상황에서 헤더의 host, access_token 을 제외한 나머지 값들은 모두 공통이다. 그래서 여러 API 클라이언트의 기반이 되는 BaseApiClient.php 추상 클래스를 상속 받아 각 API 클라이언트를 구현한 상황. BaseApiClient.php abstract class BaseApiClient { protected const HOST = se..
· IT/라라벨
종종 DB 테이블의 여러 row 에 대해 업데이트가 필요한 경우가 있는데 보통 다음과 같을 것이다. 1. 여러 post 의 value 를 하나의 값으로 업데이트 해야 하는 경우 2. 여러 post 의 value 를 각각의 값으로 업데이트 해야 하는 경우 업데이트시 row 의 갯수 만큼 n 번 트랜잭션을 발생시키지 않고 한번에 처리하는게 오버헤드도 줄일수 있고 성능상 유리하다. 1. 번 같은 경우, 아래와 같이 처리할수 있고 Eloquent 빌더, 쿼리빌더 모두 간편하게 구현가능하다. Post::where('code', 'A')->update([ 'category' => 'new category' ]); DB::table('posts')->where('code', 'A')->update([ 'categor..
· 영어
구어체에서 갑자기 What's he think all about this 라는 문장이 나와서 문법적으로 이게 맞나 싶었는데 informal way 이고 널리 쓰인다고 한다. It's raining, That's very big, Let's go home 등등.. ~'s 는 보통 is 또는 us 의 축약형으로 알고 있는데 사실 꼭 그렇지만 않다. 's 은 다음 4개의 축약형이 될수있다. is has us does 그래서 내가 듣고 의아해했던 문장 What'she think all about this 에서 's 는 does 를 의미한다. 참고로 Let's 는 Let us 의 축약형이지만 의미는 다르게 쓰인다 Let's 는 ~ 하자 라는 뜻이고 이를 풀어서 쓸 경우 ~하게 해줘 라는 의미로 쓰인다.
· 영어
영화에서 갑자기 Does the carpet match the drapes? 라고 하는데 직역하면 카페트(carpet)와 커튼(drapes)이 일치해? 라는 뜻이다. 문맥상 뜬금없어서 뭔가 숨은뜻이 있겠거니하고 찾아보니 이런뜻이다.. 여기서 뜻하는 Drapes 는 머리카락 색깔이고 Carpet 은 밑의 털(pubic hair) 색깔이다. 외국인들은 머리카락색이 워낙 다양해서 그런지 이런 표현도 있나보다. 출처 - https://www.reddit.com/r/EnglishLearning/comments/3vdmeq/does_the_curtain_match_the_drapes/ - https://m.blog.naver.com/revoluniv/100124697379
· 영어
영화를 보다가 뭔가 틀린거 같은 문장이 있어 궁금했는데 문맥은 다음과 같다. 제이미: 여자 주인공 딜런: 남자 주인공 제이미는 헤드헌터로 어떠한 회사에 딜런을 추천하고 이직하게 만들기 위해 그를 뉴욕으로 초대하고 딜런은 LA 에서 뉴욕으로 비행기를 타고 간다. 그리고 제이미는 공항에 딜런을 픽업하러 마중나온다. 이때 헤드헌터가 공항까지 마중나오고 복장이 뭔가 헤드헌터같지 않았는지 딜런이 제이미에게 아래와 같이 말한다. You're not exactly what comes to mind when you think headhunter. 내가 생각했던 정확한 문장은 You're not exactly what comes to mind when I think headhunter. 가 되야 하는게 아닌가 라고 생각..
구글링을 잘하기 위해선 키워드와 문장을 잘 조합하여 질문을 잘 해야한다. 마찬가지로 ChatGPT 를 잘 쓰기 위해선 ChatGPT 가 답변할 내용에 대해 범위를 좁혀주고 포커싱할수 있게 질문을 잘 해야 하는데 이러한것을 prompt 라고 부른다. 이 prompt 를 정형화하고 패턴화하여 ChatGPT 를 더 효율적으로 사용할수 있는 기법들이 몇가지 있는데 이에 대해 알아보자. Persona 패턴 ChatGPT 에게 Persona (역할, 모습)을 부여하여 이에 맞게 행동하도록 유도한다. ex) 당신은 xx 회사의 시니어 개발자 입니다. 다음의 코드에서 문제점이나 개선할 점이 있으면 알려주세요. 당신은 마케팅 전문가 입니다. 다음의 슬로건을 검토하고 다른 인기 있는 마케팅 캠페인이 기반하여 마케팅 전략을..
· IT/꿀팁
Word 문서를 Pdf 로 변환하는 라이브러리를 사용하는데 한글이 모두 깨져서 나오는 현상이 있었고 폰트를 추가하여 해결하였다. 해당 라이브러리 - https://github.com/elwerene/libreoffice-convert fc-list 명령어를 사용하여 설치되어 있는 폰트 확인이 가능하다. (fontconfig 설치 필요) 사용할 폰트 다운로드 (한글 지원 필수) https://fonts.google.com/ 디렉토리 위치 ~/.local/share/fonts OR /usr/share/fonts 참고자료 - https://medium.com/source-words/how-to-manually-install-update-and-uninstall-fonts-on-linux-a8d09a3853b0
_이준호_
Anti-삽질