Introduction
잘하는 법을 아는 개발자 김정도입니다.
README.md2023.12.12 17:34잘하는 법을 아는 개발자 김정도입니다.

안녕하세요, 웹 백엔드 개발자 김정도입니다. 제 장점은 무슨 일이든 잘하는 법을 알아내는 것입니다. 오랫동안 함께 운동했던 동료가 제게 전해준 이야기이기도 합니다. 공부를 하거나, 일을 하거나, 운동을 할 때 늘 더 잘할 수 있는 방법을 찾아내곤 합니다. 뭔가 남다른 능력이 있다거나 혁신적인 아이디어가 제게 있다고 생각하지 않습니다. 그냥 하는 것이 아니라 잘하려고 하는 것이 제 비법입니다. 잘하고 싶다는 강한 마음가짐과 잘하고 있는 사람들은 어떻게 하는지 궁금해하는 것이 무엇보다 중요하다고 생각합니다. 같은 시간을 들여 더 멀리갈 수 있는 제 비결입니다. "끝까지 가면 내가 다 이겨!" 어릴 적에 즐겨보았던 웹툰에서 자주 나오는 대사가 있습니다. 당장의 실력은 부족하지만 끈질기게 물고 늘어져 비웃던 ..

인기 글
최신 글
[CS] 암호화 알고리즘
카테고리 없음2024.05.11 21:31[CS] 암호화 알고리즘

1. 암호란? 중요한 정보를 읽기 어려운 값으로 변환하여 제3자가 볼 수 없도록 하는 기술 2. 암호의 구성요소 3. 암호가 제공하는 기능 기밀성: 허가되지 않은 사용자는 데이터를 볼 수 없다. 노출 위험으로부터 데이터를 보호하는 기능.무결성: 데이터를 변조하는 것이 불가능하거나 변조된 데이터를 검증할 수 있다. 변조 위험으로부터 데이터를 보호하는 기능.인증: 객체의 정체성을 식별할 수 있다. 안전한 사용자인지 확인하는 기능.부인 방지: 객체가 메시지를 송신 혹은 수신했다는 사실을 부인할 수 없도록 하는 기능.4. 암호화 알고리즘4-1) 커크호프의 원리 (Kerkhoff’s Principle)키를 제외한 모든 정보가 알려지더라도 안전해야 한다 - Auguste Kerckhoff, 1883 암호문이나 암호..

[알고리즘] 오늘만 사는 놈에게 죽는다, 그리디 Greedy
알고리즘 Algorithm2024.04.27 19:00[알고리즘] 오늘만 사는 놈에게 죽는다, 그리디 Greedy

1. 개요대망의 알고리즘 포스팅의 그 장대한 서막을 알리며 가장 먼저 알아볼 알고리즘은 그리디 Greedy 알고리즘이다. 자주 언급되는 여러가지 알고리즘들이 있지만 그 중에서도 첫 번째로 그리디를 선택한 이유는 솔루션에 대한 접근 방식이 아주 단순하기 때문이다. 우리말로 탐욕법이라고도 하는 그리디 알고리즘은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미한다. 지금 당장 좋은 것만 고르는 알고리즘이라니 정말 욕심 가득한 생각이 따로 없다. 실제로 욕심쟁이 알고리즘이라고도 불린다고 한다. 눈앞의 달콤한 이익에 취한다니 철학도로서 도저히 용납할 수 없다. 아니면 영화 '아저씨(2010)'처럼 "내일만 사는 놈은, 오늘만 사는 놈한테 죽는다", 뭐 그런건가. 아무튼 이번 포스팅에서는 욕심쟁이 그리디 알..

[CS 발표] 인증과 인가
면접 대비 Coding Interview2024.04.18 13:25[CS 발표] 인증과 인가

1. 개요 먼저, 인증과 인가의 사전적 정의에 대해서 살펴보자. 인증 (Authentication) : 어떠한 문서나 행위가 정당한 절차로 이루어졌다는 것을 공적 기관이 증명함. 인가 (Authorization) : 인정하여 허가함. 다음과 같으며 개발에서 인증은 내가 누구인지 확인하는 행위, 인가는 내가 권한이 있는지 확인하는 행위라고 할 수 있다. 사실 말장난에 가깝다보니 헷갈리면 인가 대신 승인이라고 생각해도 좋다. 요즘 승인이라는 용어도 많이 사용한다고 함. 2. 인증과 인가 네이버 카페를 예시로 구체적인 상황으로 살펴보자 게시물을 읽으려고 포스팅 목록을 눌렀을때 '로그인이 필요합니다' 경고창과 함께 로그인 인증이 요구된다면 서버 입장에서는 현재 요청자가 카페 회원인지 누군지 몰라서 일어나는 상황..

[CS 발표] 어노테이션 Annotation
카테고리 없음2024.04.16 02:17[CS 발표] 어노테이션 Annotation

1. 개요 어노테이션(Annotation)은 Java 5부터 새로 추가된 문법이다. 어노테이션을 직역하면 '주석'이라는 뜻이지만 자바에서는 @ 기호를 이용해 자바 코드에 특수한 의미를 부여하는 것을 의미한다. 주석은 사람에게 정보를 제공하지만 어노테이션은 특정 코드를 사용하는 프로그램에게 추가 정보를 전달하는 것이다. 위키백과에서는 다음과 같이 말하고 있다. 🌐 자바 애너테이션(Java Annotation) 자바 애너테이션(Java Annotation)은 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종이다. 보통 @ 기호를 앞에 붙여서 사용한다. JDK 1.5 버전 이상에서 사용 가능하다. 자바 애너테이션은 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동한..

[CS 발표] List, ArrayList, LinkedList
면접 대비 Coding Interview2024.04.04 08:51[CS 발표] List, ArrayList, LinkedList

1. 개요 리스트(List)는 모든 프로그래밍 언어에서 가장 유용한 자료구조 중의 하나이다. 자료구조에서 리스트는 일반적으로 연결 리스트(LinkedList, 링크드리스트)를 의미한다. 자료구조에서 리스트와 양대산맥이라고 할 수 있는 배열과 자주 비교가 되곤하는데, 기능적인 측면에서 이 둘의 가장 큰 차이점은 배열은 고정된 크기를 갖지만 리스트는 크기가 얼마든 변할 수 있다는 점이다. 배열은 할당받는 물리적인 주소값에서부터 선형으로 이어져있지만 리스트는 논리적으로 연결되어있기 때문에 삽입과 삭제가 비교적 자유롭기 때문이다. 2. List Java에서 제공하는 컬렉션 프레임워크란 객체나 데이터들을 효율적으로 관리(추가, 삭제, 검색, 저장)하기 위해서 사용하는라이브러리를 의미한다. `java.util` 패..

image