분류 전체보기

· TIL/2023
💋 오늘 한 일 DB Connection Pool에 대해 공부하다가 완전 재미난 글을 읽었다. 우아한 기술블로그에 올라온 HikariCP Dead lock에서 벗어나기라는 글인데, 뒷부분은 이해가 잘 안되긴 했지만 읽으면서 커넥션 풀에 대해서 머릿속에서 이해하는 해상도가 좀 높아진 것 같다. 그래서 우리 팀은 DB Connection Pool의 사이즈를 몇으로 잡아야 할지는.. 💋 감정회고 개발 외에 다른 취미가 없으면, 남는 시간에 개발 공부를 더 열심히 할 줄 알았다. 근디 그건 나의 착각이라는걸 레벨4 들어서 진짜 뼈저리게 느끼고 있다. 취미가 없는대로 또 시간을 그냥 어영부영 써버리고, 그래서 뭔가 아쉬운 마음이 남아서 잠에 잘 못듦. 그렇다고 개발 공부를 하는건 아닌데, 그냥 어영부영 시간을 쓰..
💋 인트로 안녕하세요. 우아한테크코스 5기 깃짱이라고 합니다. 이번 포스팅에서는 DB Connection Pool Size를 줄일 수록 오히려 성능이 개선될 수 있는 이유에 대해서 작성했습니다. 아래 내용은 HikariCP에서 작성한 깃허브 Wiki의 내용을 토대로 작성했습니다. 💋 커넥션 풀의 크기를 결정할 때, 얼마나 작게 하는지가 더 중요하다? 커넥션 풀을 설정하는 것은 개발자들이 자주 실수하는 부분입니다. 커넥션 풀을 구성할 때 이해해야 할 몇 가지 원칙이 있습니다. 동시에 10,000명의 사용자가 있는 서비스를 상상해보세요. 아마도 페이스북처럼 대규모는 아니더라도 10,000명의 사용자가 동시에 데이터베이스 요청을 하는 경우입니다. 이는 초당 약 20,000개의 트랜잭션을 의미합니다. 이때 커넥..
· Git
💋 인트로 깃허브의 upstream은 다른 개발자의 원격 저장소에 있는 변경사항을 가져오는 기능입니다. 이를 통해 협업하고 있는 프로젝트의 최신 업데이트를 받아올 수 있습니다. 💋 개념 깃허브의 upstream은 다른 개발자가 생성한 원격 저장소에 있는 변경사항을 로컬 저장소로 가져오는 역할을 합니다. 이를 통해 협업하고 있는 프로젝트의 최신 업데이트를 받아올 수 있습니다. 💋 사용 방법 upstream 설정 방법 로컬 저장소의 터미널에서 git remote add upstream [원격 저장소 URL] 명령어를 실행합니다. 이제 upstream 원격 저장소를 추가했으며, 변경사항을 가져오기 위해 git fetch upstream 명령어를 실행할 수 있습니다. upstream 설정 후 사용 방법 git ..
· JAVA
💋 인트로 안녕하세요. 우아한테크코스 5기 깃짱이라고 합니다. 이번 포스팅에서는, JAVA Reflectoin API에 대해서 알아보려고 한다. 개인적으로 공부하기 전에는 한없이 어렵게 느껴졌고, 개념이 뭔지 찾아봐도 잘 모르겠었지만, 스스로 Spring MVC 프레임워크를 구현하기 위해서 공부하고 사용한 이후로는 굉장히 개념이 명확하게 다가왔다. 이 개념이 많이 어렵게 느껴진다면, 아래 예시 코드부터 살펴보는 것을 추천한다! 💋 Reflection API ✔️ Reflection이란? 구체적인 클래스 타입을 알지 못해도 그 클래스의 정보(메서드, 타입, 변수 등등)에 접근할 수 있게 해주는 자바 API 컴파일한 클래스를 동적으로 프로그램이 가능하도록 자바에서 지원하는 기능 Java 클래스의 필드, 메서..
· TIL/2023
💋 오늘 한 일 제나랑 같이 Refresh Token 재발급 및 로그아웃을 만들었다. 아직 개발 서버에 반영을 못했는데, 잘 동작할지 기대가 된다 후후 💋 감정회고 갑자기 깃짱코딩이 대박났다. 이건 10시 반 기준 오늘 방문수가 266명이나 되었다....! 그리고 어제 작성했던 스탬프크러쉬에 실제 사용자(카페 사장)가 생겼어요! 라는 글에 지금 하루 아침만에 좋아요가 34개로 갑자기 폭발적 반응을 보이고 있다. 무슨 일이지?!?!?! 💋 오늘의 포스팅 https://engineerinsight.tistory.com/232
안녕! 우아한테크코스 5기 [스탬프크러쉬]팀 깃짱이라고 합니다. 스탬프크러쉬 서비스의 소스 코드 바로가기 사장모드: stampcrush.site/admin 고객모드: stampcrush.site 💋 인트로 스탬프크러쉬는 사용자의 인증(로그인)을 구현하기 위한 방식으로 JWT(Json Web Token)를 사용한 방식을 택했다. 이번 포스팅에서는 JWT 방식을 사용한 로그아웃, Refresh Token을 통한 Access Token 재발급 방식에 대해 포스팅해보려고 한다. 💋 JWT 방식 ✔️ JWT 방식은 원래 Stateless 하다. JWT는 세션을 사용한 방식과 달리, Stateless한 특징을 최대한 살린 형태로 동작한다. 여기서 순정 JWT라고 설명한 이유는, 이후에 소개할 방식들은 JWT의 방식..
💋 인트로 안녕하세요. 우아한테크코스 5기 깃짱이라고 합니다. 이번 포스팅에서는, 애플리케이션에서 인증을 구현하기 위해 사용되는 쿠키, 세션, 토큰에 대해서 설명하려고 합니다. 인증을 통해서 서버는 유저가 누구인지 알 수 있다. 쿠키, 세션, 토큰은 모두 인증을 위해서 사용하는 개념이다. 어떤 개념인지 하나씩 보면서, 알아가보자! 💋 쿠키(Cookie) ✔️ 개념 서버가 사용자의 웹 브라우저에 전송하는 데이터 서버에서 사용자를 기억하기 위해서 브라우저에 저장할 데이터를 응답과 함께 브라우저에 전송 브라우저는 그 데이터를 저장해 놓았다가, 동일한 서버에 요청 시 함께 자동으로 전송함. ✔️ 특징 쿠키는 도메인에 따라 제한이 된다. 브라우저는, 유튜브한테 받은 쿠키는 유튜브로만 보낸다. 쿠키는 유효 기간이 ..
· TIL/2023
💋 오늘 한 일 프로젝트) 회원 탈퇴 API에 하디가 좋은 의견을 내서, 갑자기 만장일치로 DELETE /api/customers 로 확정되어버렸다. 미션) 하마드 코드에 Request Changes를 보냈고, 지금은 기2리는 중 공부) 요즘 젤 큰 관심사는 데이터베이스 동작 방식이당! Real MySQL 8.0에서 옵티마이저 부분 읽고 있다. 기타) 서울시에서 하는 해커톤에 신청서 냈다. 300마넌 냠냠해야징 😝 미션) 매튜한테 리뷰를 받았다. 매튜의 어그로 ㅠ..ㅠ 하지만 매튜 또 아주 따수운 코멘트를 남겨줘서 기분이 좋았다. 💋 감정회고 오늘 아침에 엄마랑 할머니랑 말싸움하는 전화 듣고 깨버렸다. 할머니가 지금 대퇴골이 뿌러지셔서 요양병원에서 재활하고 있는데, 자꾸 상태가 어떤지 모르겠다고 나오겠다..
· MySQL
안녕하세요. 우아한테크코스 5기 깃짱이라고 합니다. 💋 인트로 DBMS를 사용하는 이유는, 데이터를 안전하게 저장, 관리하고, 빠르게 조회하기 위해서이다. 옵티마이저가 쿼리를 최적으로 처리될 수 있도록 실행 계획을 수립하지만, 항상 좋은 실행 계획을 만드는 것은 아니기 때문에, 사용자가 실행 계획을 보완할 수 있도록 EXPLAIN 명령어로 실행 계획을 확인할 수 있도록 해준다. 백엔드 개발자라면, 이 실행 계획을 이해하고, 최적화할 수 있어야 한다. 먼저, 대략적인 쿼리의 실행 절차에 대해 살펴보자. 💋 쿼리 실행 ✔️ 쿼리 실행 절차 SQL 파싱 사용자로부터 온 SQL문을 잘게 쪼개서 MySQL 서버가 이해할 수 있는 수준으로 분리함. (파스트리) 최적화 및 실행 계획 수립 파스트리를 확인하면서, 어떤..
깃짱
'분류 전체보기' 카테고리의 글 목록 (16 Page)