GPT4를 사용하고 싶은데, 월 20달러를 내고 사용할정도로 자주 사용하지는 않아 API를 통해 사용하기 위해 찾아보던 중, LibreChat이라는 프로젝트를 찾았습니다. https://github.com/danny-avila/LibreChat GitHub - danny-avila/LibreChat: Enhanced ChatGPT Clone: Features OpenAI, Assistants API, Azure, Groq, GPT-4 Vision, Mistral, BinEnhanced ChatGPT Clone: Features OpenAI, Assistants API, Azure, Groq, GPT-4 Vision, Mistral, Bing, Anthropic, OpenRouter, Vertex AI, ..
유닉스에서부터 내려오는 파일 경로는 뒤에 *를 붙인다. Applications 설치한 앱 저장소 Library System Users bin* 흔히 셸에서 사용하는 실행파일이 이곳에 위치한다. 예를 들어 car, mkdir, rm이 이곳에 위치한다. cores* 오류발생시에 그당시 메모리덤프등이 이곳에 저장된다. etc* -> private/etc 사용자 환경설정 파일이 이곳에 위치한다. 예를 들어 zprofile이 이곳에 위치한다. opt private 맥OS의 역사적인 이유로 생기게된 디렉토리. sbin* 시스템 실행파일이 이곳에 위치한다. 예를 들어 ping, ifconfig가 이곳에 위치한다. tmp* -> private/tmp 임시 파일이 이곳에 위치한다. usr* usr/bin bin과 달리 ..
카카오 소셜 로그인을 백엔드 서버와 프론트엔드(앱, 웹) 둘을 사용하는 서비스에서 구현하다보면, 카카오 로그인을 어떻게 구현하고 이들을 어떻게 서버와 잘 교환할지 고민이 생길 수 있다. 카카오 로그인 카카오 소셜 로그인은 타 OAuth와 같은 방식으로 이루어진다. REST API를 기준으로는 적절히 client_id와 redirect_uri를 포함하여 링크로 요청을 하고, 사용자가 여기서 로그인을 하면 code를 포함하여 redirect_uri로 리다이렉트 된다. 이때 이 code를 적절히 개발자가 받아서 카카오 소셜 서버와의 적절한 통신을 하고 최종적으로 access_token을 받는 방식이다. 앱의 SDK등의 기준으로는 그냥 위의 과정이 SDK에서 적당히 자동으로 처리되고 바로 access token..
요 며칠간 소셜 로그인을 구현하는 방식에 대해 찾아보고 고민해 본 결과를 정리합니다. 소셜 로그인 소셜 로그인이란 저희가 서비스에 가입할 때 흔히 보는 애플 로그인, 네이버 로그인, 카카오 로그인등을 의미합니다. 이러한 소셜 로그인들은 많은 수는 OAuth2.0이라 하는 프로토콜에 따라서 로그인을 방식을 제공하고 있습니다. 대략적인 OAuth 과정은, 유저가 소셜 서비스 제공 사이트에서 로그인을 하고 하면 유저의 소셜 서비스에서의 정보를 가져올 수 있게 되고, 이를 통해 자체적으로 로그인/유저 서비스를 만들고 제공하는 느낌입니다. 여기서 말할 점은 결국 소셜 서비스에서 모든 것을 제공해주지 않고, 실제 유저 기능은 자체적으로 구현을 해야 한다는 점입니다. 이를 도와주는 많은 라이브러리도 제공되고 있어 이..
LF와 CRLF 중 어떤 것을 사용해야 할까요? 결론부터 말하자면, LF를 사용해야 합니다. LF, CRLF LF와 CRLF에 대해 알아보게 된 계기는 이전에 git을 사용하여 협업을 진행할 때 CRLF와 LF로 인해 코드 충돌이 일어났었을때 찾아보게 되었습니다. CR은 캐리지 리턴(Carriage Return)을 의미하며, LF는 라인 피드(Line Feed)를 의미합니다. 보통 우리가 '\n'으로 표시하여 문자열 출력 시 줄바꿈을 표현하는 것이 바로 LF입니다. 또한, CR은 '\r'로 커서를 맨 앞으로 이동시키는 역할을 합니다. 그렇다면 LF와 CRLF의 차이는 무엇일까요? 두 개는 모두 줄바꿈을 표현하는 것을 의미합니다. 그러나 운영 체제에 따라 줄바꿈을 나타내는 표준이 다릅니다. LF: Linu..
최근에 Github Copilot 무료 사용이 만료되었습니다. 다시 Github Edu로 어찌어찌 연장해보려 하다가 귀찮아져서, 이전에 AWS의 코드 도우미가 개인용으로 무료로 제공된다는 소식을 들어본적이 있어서 사용해보기로 결심했습니다. AWS CodeWhisperer https://docs.aws.amazon.com/codewhisperer/latest/userguide/whisper-setup-indv-devs.html Setting up CodeWhisperer for individual developers - CodeWhisperer In order to use CodeWhisperer, all individual developers must sign up through the procedure..
npm을 사용하거나 패키지들을 관리할 때 2.9.9, 0.4.1 이런 식의 세 부분으로 나뉜 버전을 보신 적이 있을 겁니다. 사실 이런 버전들은 임의로 정해진 것이 아니라, 규칙에 따라 정해진 것입니다. 이 규칙을 시맨틱 버저닝(Semantic Versioning)이라 합니다. 시맨틱 버저닝의 구성 시맨틱 버저닝은 Major, Minor, Patch의 3 부분으로 나뉘어 있습니다. Major.Minor.Patch 각각의 버전이 올라가는 기준은 다음과 같습니다. Major version: 하위 버전과 호환되지 않는 API 변경 시 Minor version: 하위 호환이 가능한 기능 추가 Patch version: 하위 호환이 가능한 버그 수정 그리고 다음과 같은 규칙이 있습니다. Major version이..