Developer

· Developer
최근에 github에서 유명한 레포지토리가 가끔씩 뜨는데, openai에서 제공하는 codex가 떠있는 것을 보았다. 뭔가 하고 살펴보았는데, 터미널에서 사용할 수 있는 LLM이었다. 찾아보니, 터미널에서 사용할 수 있는 경량화된 LLM이었다. 개인적으로 터미널 환경에서 가끔씩 자주 쓰는 명령어지만 파라미터나 순서 등이 헷갈려서 명령어를 사용하기 어려웠던 경우가 있었는데, 사용해보니 명령어 설명이 꽤 친절해서 마음에 들었다. 사실 LLM이 발달하면서 정보를 개발자가 인터넷에서 수동적으로 습득하는 것이 아닌, LLM이 인터넷에서 개발자에게 찾아주는 능동적인 형태로 바뀌며 생산성이 크게 늘었는데, ChatGPT부터 시작해서, Cursor 그리고 나올 것 같다 싶은 terminal에서 쓸 수 있는 툴도 나왔다..
· Developer
최근에 커서에서 대학생에게 1년동안 커서를 무료로 제공한다고 한다. ( ㄷㄷ ) 개인적으로 최근에는 커서 없이는 개발을 할 수 없을 정도로 덕을 많이 보고 있다. 커서 자체만으로도 굉장히 혁명적인 기술이지만 최근에는 MCP라는 새로운 프로토콜이 나오게 되면서, AI를 사용하는 개발자와 그렇지 않는 개발자의 차이는 어마어마하게 커지고 있다. 마치 계산기가 발명된 시절에 주판으로 경쟁하는 느낌이랄까.. 최근에 AI와 개발자가 경쟁할 수 있을까?에 대한 이야기가 어디서든 들려오는데, 개인적인 의견은 AI랑 경쟁은 절대 안되고... 아마 AI를 사용하는 개발자들과 경쟁을 해야하지 않을까 싶다. 어떻게 하면 AI를 더 잘 활용해서 뛰어난 생산성을 가져올 수 있는지 말이다. 이번 포스팅에서는 Cursor를 사용하면..
· Developer
예전에 인증과 인가에 관련된 포스팅을 작성한 적이 있었다. 그 과정에서 세션 방식과 토큰 방식이 쓰인다고 하였고, 토큰 방식에서는 JWT(JSON Web Token)을 일반적으로 사용한다고 이야기를 했었다. 그 이후로 스프링 시큐리티로 직접 인증과 인가를 구현해야 할 일이 생긴 적이 있었다. Access Token과 Refresh Token을 통해서 구현한 적이 있었는데, 처음에 이를 도대체 어떻게 구현해야 할지 상당한 난제였다. 로직 자체를 구현하는 것 자체는 크게 어렵지 않으나, 스프링 시큐리티와 맞물려서 구현하는 과정에서 상당히 오랜 시간이 걸렸다. 여담으로, username과 password로 로그인하는 스프링 시큐리티의 userDetails의 구현체를 변경하여, 전화번호를 통해서 로그인이 되게끔..
· Developer
git이란 무엇일까? git의 역사부터 github란 뭔지에 대해서까지 포스팅할 예정이다. 이번 포스팅은 개발을 입문하는 사람에게 초점이 맞춰줘 있다.  본론git의 역사git의 역사를 이야기하면 리눅스의 이야기도 빼놓을 수 없다. 깃이라고 하는 VSC(버전 관리 시스템)은 리눅스와 함께 개발되었다. Linux 커널은 굉장히 규모가 큰 오픈소스 프로젝트다. 이 커널 프로젝트는 당연히 오랫동안 진행되었는데, 1991-2002년 사이에는 Patch와 단순 압축 파일로만 관리했다. 2002년에 드디어 Linux 커널은 BitKeeper라고 불리는 상용 DVCS(분산 버전 관리 시스템)를 사용하기 시작했다. 하지만 2005년에 커뮤니티가 만드는 Linux 커널과 이익을 추구하는 회사가 개발한 BitKeeper..
· Developer
이번 포스팅에서 다룰 내용은 리눅스 계열 운영체제의 기본 텍스트 에디터인 vi이다. vi는 1970년대 UNIX 계열 운영체제에서 쓰이는 문서 편집기이다. vi를 모르는 사람이라면 터미널에서 작업하다가 vi를 사용해 모든 키보드 입력이 안 먹혀서 당황한 적이 있을 것이다. 편집기를 CLI으로 사용할 수 있게 해주는 vi에 대해서 알아보자. 미리 보기 사진으로 Vim의 이미지를 가져왔는데, 현재는 대부분 vi와 vim을 같이 사용한다. 대부분의 유닉스와 리눅스 배포판에서 vi 명령어를 쓰게 되면 자동으로 vim을 사용하도록 연결해 주게 된다. 따라서 이번 포스팅에서는 vi라고 부를 것이지만 내부적으로는 vim을 쓰고 있는 것이 된다. vim을 쓰고 있는 것인 지 키보드 화살표 키를 통해서 확인할 수 있다..
· Developer
인증과 인가는 백엔드 개발자라면 당연히 알아야 하는 개념 중 하나이다. 인증가 인가에 대한 개념 자체는 크게 복잡한 내용을 다루고 있지 않지만, 문제는 쉽지 않은 구현 과정이다. HTTP 통신이 지닌 한계점을 웹 브라우저의 저장소 ( 로컬 스토리지, 쿠키 등 )과 어플리케이션 레벨에서 관리해야 하는데, 이런 식으로 인증/인가를 구현하는 데 다양한 바리에이션이 존재한다. 이번 포스팅에서는 인증과 인가의 개념과 어떻게 구현할 수 있는 지 레벨까지 다뤄보도록 한다. Authentication vs. Authorization인증(Authentication)인증은 사용자의 신원을 검증하는 과정을 말한다. 우리가 흔히 웹사이트에 로그인하기 위해 아이디와 비밀번호를 입력하는데, 이러한 계정 정보가 일치하는 경우, 서..
· Developer
API는 인터넷 세계에서 세상을 연결하는 기반이 됐다. 가장 일반적으로 접하는 Rest API 외에도 다양한 방법으로 데이터를 송수신하는 방법이 있는데 ( webhook, websocket.. ) 이번 포스팅에서는 webhook에 대해서 알아보려고 한다. 본론APIAPI는 Application Programming Interface의 약자로 다양한 소프트웨어 간의 상호 작용을 의미한다. 예를 들어 날씨 앱을 만든다고 하자. 날씨 앱을 켜는 순간 기상청으로부터 날씨에 대한 데이터를 제공받고 이를 표시하도록 구현할 텐데, 이때 날씨 앱과 기상청 서버와의 데이터 통신하는 과정을 API를 통해 데이터를 주고받는다고 표현할 수 있다. 이런 식으로 날씨 앱(Client)에서 기상청(Server)에 API 요청을 보..
marsboy
'Developer' 카테고리의 글 목록