Spring Security을 적용하지 않고 JWT 인증 방식을 간단하게 구현한 과정을 설명한 글입니다. 1. JWT란 무엇인가? JWT(JSON Web Token)이란 JSON 형식으로 인증에 필요한 정보들을 담고 비밀키로 암호화한 서명을 포함한 토큰으로 사용자에 대한 인증을 수행하기 위해 사용됩니다. 여기서 주목해야할 특징은 다음 두 가지입니다. ...
Spring과 첫 만남...🫠 IoC에 대해 공부해보자! 1. IoC란? 객체 생성과 의존성 주입과 같은 과정을 개발자가 직접 하지 않고, 그 제어를 외부(프레임워크, 컨테이너)에 위임하는 것을 의미합니다. 개발자는 객체의 제어를 직접 할 필요가 없으므로 복잡한 요소들을 신경쓰지 않고 비지니스 로직에만 집중할 수 있게 됩니다. 과거에는 개발자들이 ...
브라우저에 도메인 주소를 입력했을 때의 내부 동작 과정을 정리해보았습니다. 틀린 부분에 대한 지적과 조언은 언제든 환영입니다! 🙇🏻♀️ 브라우저에 www.kakao.com을 입력하면 어떤 과정을 거쳐 접속할 수 있을까? URL 입력 및 처리 브라우저 주소창에 www.kakao.com 입력 리다이렉트 확인 초기 요청을 받은 서버가 URL을...
Java와의 첫 만남 👋 ☕️ Java Java는 썬 마이크로시스템즈에서 1995년에 개발된 언어로, 플랫폼 독립성을 가지고 있고 강력한 라이브러리 생태계를 갖춘 객체지향 프로그래밍 언어이다. ✅ Java의 대표적인 특징 두가지 플랫폼 독립성 Write Once, Run Anywhere ↔ Write Once, Compile Anywhere 객체지...
✍ 문제 문제는 프로그래머스에서 확인해주세요! 프로그래머스 2024 KAKAO WINTER INTERNSHIP 도넛과 막대 그래프 ✍ 제한 사항 1 ≤ edges의 길이 ≤ 1,000,000 edges의 원소는 [a,b] 형태이며, a번 정점에서 b번 정점으로 향하는 간선이 있다는 것을 나타냅니다. 1 ≤ a, b ≤ 1,000,000 문제의 조건에 맞...
OFS 프로젝트 중 캘린더 페이지를 구현하고 있었는데, moment 패키지를 삭제하고 dayjs 패키지를 새롭게 설치하고 적용하는 과정에서 아래와 같은 에러가 발생하였다. 🔽 504 Outdated Optimize Dep 🤔 오류 원인 Vite 서버가 오래된 번들(새로 업데이트되지 않은)을 로드했기 때문에 발생한 문제이다. 💼 번들링? 번들링이란...
React 컴포넌트의 상태관리를 위해 정말 자주 사용하는 useState ⭐️ 하지만 반드시 주의해야 할 점은 "useState는 비동기적으로 동작" 한다는 것이다. 🔥 비동기란? 비동기적으로 동작한다는 것의 의미는 특정 코드의 동작이 끝날 때까지 기다리지 않고 다음 코드의 동작을 바로 실행시키는 방식을 말한다. 이를 useState의 동작에 적용시켜...
여느 때와 다름없이 개발 중이었는데 너무 지저분한 className에 놀라서 작성해보는 글이다 😓 🗣️ Component 각 컴포넌트의 역할을 명확하게 보여줄 수 있도록 이름을 짓고 PascalCase 를 사용한다. PascalCase: 각 단어의 첫 글자를 대문자로 하며 가장 첫 글자도 대문자로 시작하는 규칙 📂 File 해당 파일 내의 컴포넌...
프론트엔드 개발자에게 가장 사랑받는 라이브러리 중 하나인 React! 어떤 매력이 있길래 많은 개발자들의 Pick!을 받을 수 있었던 것일까?
백준 2748번 피보나치 수2 ✍ 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5...
백준 2143번 두 배열의 합 ✍ 문제 한 배열 A[1], A[2], …, A[n]에 대해서, 부 배열은 A[i], A[i+1], …, A[j-1], A[j] (단, 1 ≤ i ≤ j ≤ n)을 말한다. 이러한 부 배열의 합은 A[i]+…+A[j]를 의미한다. 각 원소가 정수인 두 배열 A[1], …, A[n]과 B[1], …, B[m]이 주어졌을 때, A...
백준 5800번 성적 통계 ✍ 문제 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치훈이의 전공평점을 계산해주는 프로그램을 작성해보자. 전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다. 인하...
%d : int 타입 정수형 %c : char 타입 문자형 %s : char* 타입 문자열 %lf : double 타입 실수 %f : float 타입 실수
⬇️ 아래 tech blog를 읽고 흥미로워 정리해본 글 입니다 ⬇️ 원문: https://tech.kakao.com/posts/627 💡 광고 템플릿 프로젝트 광고주가 광고 이미지와 문구만 입력하면 카카오에서 미리 정의한 다양한 템플릿으로 조합하여 광고를 노출 광고주는 완성된 형태의 광고를 등록할 필요 X, 광고에 필요한 최소 정보만 제공 ...
🚫 오류 내용 unrecognized selector sent to class ~ 이 오류는 'timeButtonTapped' 라는 메서드를 호출하려고 했는데, 해당 메서드를 'TapAndAlarm.SubjectTimePicker'라는 클래스에서 찾을 수 없다는 뜻이다. 오류가 발생한 코드를 통해 원인을 알아보자! 🤔 오류 원인 swift에서 a...
얼마 전 깃허브에서 날아온 메일 한 통... 내용인 즉슨, access token 곧 만료 되니까 처리하쇼~ 라는 건데 난 대충 보고 나중에 하지 뭐 하고 무시했다. 그.런.데 아무 생각 없이 github에 push 하려고 하니까 바로 fatal: Authentication failed가 떠버리는 것이다 ㅜ.ㅜ 이는 기존 token의 유효기간이 만료...
백준 3020번 개똥벌레 ✍ 문제 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 번갈아가면서 등장한다. (중략) 이 개똥벌레는 장애물을 피하지 않는다. 자신이 지나갈 구간을 정한 다음 일직선으로 지나가면서 ...
👋 순열과 조합의 구현을 시간복잡도의 관점에서 생각해보자! ✏️ 순열 permutation nPk : n개의 수 중에서 k개를 골라 순서를 고려하여 나열하는 경우의 수 순열과 조합을 구분하는 기준은 "순서를 고려할 것인가" 이다. 예를 들어, 회장-부회장-차장 각 1명씩 총 3명을 뽑는 경우와 대표 3명 뽑는 경우가 각각 순열과 조합의 예시가 될 ...
🍎 IBOutlet / IBAction 삭제 코드 상에서만 없앤다고 되는 것이 아니다! 연결한 객체에서 우클릭 후 아래 사진에서 동그라미 친 부분을 눌러 완전히 삭제해야 오류가 발생하지 않는다. 🍎 특정 모서리만 둥글게 만들기