IT

· IT/라라벨
https://github.com/junholee14/laravel-unicode-normalizer GitHub - junholee14/laravel-unicode-normalizerContribute to junholee14/laravel-unicode-normalizer development by creating an account on GitHub.github.com 한글을 처리하다보면 유니코드 정규화가 필요한데 라라벨에서 이를 간편하게 처리할수 있는 패키지를 만들어보았다. 유니코드 정규화가 필요한 이유 [유니코드 정규화] 같은 글자가 중복으로 저장되거나 검색에서 누락 된다면 유니코드를 의심해DB 스키마에 unique 키가 걸려있는 컬럼에 중복된 값이 저장되거나 검색 결과에 나와야 할 값이 누락된..
DB 스키마에 unique 키가 걸려있는 컬럼에 중복된 값이 저장되거나 검색 결과에 나와야 할 값이 누락된 경험이 있다면 유니코드를 의심해보자. 한글과 유니코드 이 문제에대해 알아보기에 앞서 한글과 유니코드의 관계를 알아야 하는데 정리가 잘 되어있는 아래 링크를 참고하자. https://gist.github.com/Pusnow/aa865fa21f9557fa58d691a8b79f8a6d 한글과 유니코드 한글과 유니코드. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 전세계 문자들을 컴퓨터에 표현하기 위해 아스키코드, 유니코드라는 코드표를 만들어 이렇게 쓰기로 약속을 하였다. 그리고 이 코드표를 참고하여 여러가지 방식으로 값을..
· 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..
구글링을 잘하기 위해선 키워드와 문장을 잘 조합하여 질문을 잘 해야한다. 마찬가지로 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
기존 pdf 파일에 이미지, 텍스트를 추가 할 일이 있어 pdf-lib 라이브러리를 사용중 에러 발생.. 한글 텍스트를 추가 하려고 하니 Error: WinAnsi cannot encode 에러가 발생하며 한글 텍스트 추가가 되지 않았다. 알아보니 폰트에서 한글을 지원해주지 않을시 발생하는 에러이다. 그래서 한글을 지원해주는 폰트를 추가하여 설정해줘야 한다. 해결 방법 1. Google 에서 무료로 제공해주는 Fonts 중에 한글 지원 폰트 다운로드 - https://fonts.google.com/specimen/Nanum+Gothic?query=Nanum 한글 지원 확인. 2. pdf-lib 에 폰트 설정 import fontkit from '@pdf-lib/fontkit' import fs from ..
_이준호_
'IT' 카테고리의 글 목록 (3 Page)