본문 바로가기

분류 전체보기226

OAuth, 안전한 인증 및 권한 부여를 위한 필수 기술 OAuth, 안전한 인증 및 권한 부여를 위한 필수 기술웹 및 모바일 애플리케이션에서 널리 사용되는 인증 및 권한 부여 프로토콜인 OAuth에 대해 이야기 나누고자 합니다. 이 글에서는 OAuth의 기본 개념, 작동 원리, 그리고 이 기술이 왜 중요한지에 대해 자세히 설명하겠습니다.  OAuth 기본 개념 OAuth는 'Open Authorization'의 약자로, 사용자가 비밀번호를 제공하지 않고도 다른 애플리케이션이나 웹사이트에서 자신의 정보를 안전하게 공유할 수 있도록 도와주는 인증 프로토콜입니다. 이를 통해 사용자 데이터의 안전성과 프라이버시를 보장하면서도 다양한 서비스 간의 통합을 쉽게 할 수 있습니다.  OAuth는 특히 소셜 미디어 로그인, 제3자 애플리케이션 통합, 그리고 API 액세스 제.. 2024. 5. 17.
OSI 7계층 모델 쉽게 이해하기 OSI 7계층 모델 쉽게 이해하기 네트워크 통신의 복잡성을 누구나 이해할 수 있도록, 국제 표준화 기구(ISO)는 OSI 7계층 모델을 개발했습니다. 이 모델은 통신 과정을 7개의 독립된 계층으로 나누어 각각의 역할을 명확히 합니다. 이를 통해 네트워크 문제를 쉽게 진단하고 해결할 수 있는 기반을 마련합니다. 각 계층을 최대한 쉽게 설명해보겠습니다. OSI 7계층 모델 정리 1. 물리 계층 (Physical Layer) 역할: 데이터를 전기 신호로 변환하여 전송합니다. 예시: 랜케이블, 리피터, 허브 등 설명: 이 계층은 실제로 데이터가 전선을 타고 흐르게 만드는 일을 합니다. 예를 들어, 랜케이블이나 와이파이 신호와 같이 눈에 보이지 않는 데이터를 전송하는 역할을 합니다. 2. 데이터 링크 계층 (Da.. 2024. 4. 19.
대규모 트래픽 처리 경험, 신입 개발자가 준비해야 할 전략 대규모 트래픽 처리 경험, 신입 개발자가 준비해야 할 전략 오늘날 기술 집약적인 시대에, 소프트웨어 업계는 지속적으로 변화하고 발전하고 있습니다. 특히 백엔드 개발자를 위한 채용 공고에서 자주 등장하는 '대규모 트래픽 처리 경험'은 많은 신입 개발자들에게 큰 도전이자 기회로 다가옵니다. 본 글에서는 대규모 트래픽 처리의 의미와 신입 개발자가 준비해야 할 방법에 대해 심층적으로 탐구해 보겠습니다. 대규모 트래픽 처리 경험 의미와 전략 대규모 트래픽 처리란 무엇인가? 대규모 트래픽 처리 경험은 주로 서버가 많은 데이터와 요청을 효율적으로 처리할 수 있는 능력을 말합니다. 특히 대규모의 사용자가 동시에 접근하는 서비스에서 서버의 성능이 중요하게 평가됩니다. 신입 개발자가 이러한 경험을 갖추기 위해서는, 실제 .. 2024. 4. 14.
서울 신규 가게 조회 (서울신상) - 제과영업점 데이터 insert 완료 서울 신규 가게 조회 (서울신상) - 제과영업점 데이터 insert 완료 일주일간 여러 일정으로 인해 프로젝트 진행이 다소 더뎠습니다. 다양한 이슈도 발생했었습니다. 그 속에서 현재까지 진행한 사항에 대해 기록하였습니다. 1인 프로젝트로 변경 서울 신규 가게 조회 사이트 기획 완료 서울 신규 가게 조회 사이트 기획 완료 지인과 함께 홈페이지 제작하기 시작했습니다. 주제는 서울시 내에 새로 생긴 가게들을 지도에서 목록이 조회되게 하는 사이트 입니다. 아이디어 도출 과 lemonlog.tistory.com 가장 큰 이슈는 둘이서 작업하려던 프로젝트를 혼자서 하게된 점입니다. 원래 같이하려던 팀원이 개인사정으로 빠지게 되면서 혼자서 프로젝트를 진행하게 되었습니다. 처음에는 프로젝트 자체를 중단하려다가 원래 기.. 2024. 4. 11.
JadenCase 문자열 변환하기, 문제점 해결과 학습 JadenCase 문자열 변환하기, 문제점 해결과 학습 프로그래밍을 하다 보면, 때로는 예상치 못한 문제에 부딪히곤 합니다. 오늘은 문자열을 JadenCase로 변환하는 과제를 해결하면서 겪었던 문제와 그 해결 과정에 대해 이야기해보려 합니다. JadenCase 문자열 변환하기 문제 정의 JadenCase란 모든 단어의 첫 글자만 대문자로, 나머지 알파벳은 소문자로 쓰는 문자열 형태를 말합니다. 예를 들어, "hello world"는 JadenCase로 변환하면 "Hello World"가 됩니다. 여기에는 몇 가지 조건이 있습니다. 문자열은 알파벳, 숫자, 공백 문자로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나올 수 있습니다. 공백 문자는 연속해서 나올 수 있습니다. 이러한 조건을 만족하며 주어진.. 2024. 4. 6.
서울 신규 가게 조회 사이트 기획 완료 서울 신규 가게 조회 사이트 기획 완료 지인과 함께 홈페이지 제작하기 시작했습니다. 주제는 서울시 내에 새로 생긴 가게들을 지도에서 목록이 조회되게 하는 사이트 입니다. 아이디어 도출 과정부터 현재까지 진행사항에 대해 소개하겠습니다. 사이드 프로젝트 제안 제가 지인에게 사이드 프로젝트를 먼저 제안했습니다. 취업 준비하면서 프로젝트도 겸하면 좋겠다는 생각으로 제안했고, 흔쾌히 같이 하겠다고 했습니다. 그렇게 하루 이틀정도 기획에 관한 다양한 이야기를 하였습니다. 기획에서 가장 중요하게 생각한건 '빠르게 구현', '많은 양의 데이터 다뤄보기'. 둘 다 백엔드에 특화되었기에 화면은 최대한 심플하게 가져가기로 했고, 대신 빠르게 구현하고 대량의 데이터를 조작하는 경험을 하고 싶었습니다. 그러다가 공공데이터를 발.. 2024. 4. 4.
배열과 리스트, 자바의 두 자료구조 비교 배열과 리스트, 자바의 두 자료구조 비교 자바를 사용하는 많은 개발자들은 데이터를 저장하고 관리할 때 배열(Array)과 리스트(List) 중에서 선택해야 하는 경우가 자주 있습니다. 각각의 자료구조는 독특한 특징과 사용 시의 이점이 있기 때문에 상황에 맞게 적절히 선택하는 것이 중요합니다. 이 글에서는 배열과 리스트의 차이점을 자세히 살펴보고, 각각의 특징을 비교하여 여러분의 선택에 도움을 주고자 합니다. Java 배열과 리스트 차이점 배열(Array)이란? 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 자료구조입니다. 자바에서 배열은 고정된 크기를 가지며, 한 번 생성되면 그 크기를 변경할 수 없습니다. 인덱스를 통해 배열의 각 요소에 접근할 수 있으며, 배열은 선언된 타입의 데이터만 저장할.. 2024. 3. 30.
로그인 & 회원가입 & 결재 프로젝트 KPT 로그인 & 회원가입 & 결재 프로젝트 KPT 계획한 2주간 프로젝트 진행사항에 대해 회고를 진행하였습니다. 이후에도 추가 수정은 계속 진행하겠지만 짧은 기간 프로젝트를 진행하며 느낀 생각들을 작성해보았습니다. 프로젝트 회고 KPT에 대해 KPT(Know, Problem, Try)는 회의나 프로젝트를 회고할 때 사용하는 방법론입니다. 각각의 약자는 다음과 같은 의미를 가지고 있습니다. Know (알게 된 것): 프로젝트를 진행하면서 새롭게 배우거나 알게 된 점, 긍정적인 발견이나 성공 경험을 공유하는 부분입니다. Problem (문제점): 프로젝트 수행 중 마주친 문제나 개선이 필요한 부분에 대해 논의하는 과정입니다. Try (시도할 것): 앞으로 개선하거나 해결하기 위해 시도해볼 방안들을 제시하는 단계입.. 2024. 3. 29.
온라인 쇼핑몰에서의 할인 전략, 쿠폰과 포인트의 최적 적용 순서 온라인 쇼핑몰에서의 할인 전략, 쿠폰과 포인트의 최적 적용 순서 온라인 쇼핑몰에서 고객에게 제공되는 다양한 할인 혜택은 구매 결정에 큰 영향을 미칩니다. 특히, n% 할인 쿠폰과 m포인트 차감이 동시에 적용될 때, 어떤 할인을 먼저 적용하는지는 고객에게 제공되는 가치, 비즈니스 전략, 그리고 고객 경험 측면에서 중요한 고려 사항입니다. 이번 프로젝트에서 결제 기능을 작업하면서 위와 같은 고려사항을 기반으로 코드를 반영해보았습니다. 본 글에서는 이러한 할인의 적용 순서를 결정하는 기준과 그 근거에 대해 설명하고자 합니다. 결제할 때 할인 쿠폰 먼저인가 포인트 차감이 먼저인가 할인 적용의 기본 원칙 할인 적용 순서를 결정하기 위한 필자가 생각한 기본적인 원칙은 다음과 같습니다. 1. 할인 금액의 극대화 정률.. 2024. 3. 27.