Introduction
개발자 Ryan 입니다.
README.md2023.12.12 17:34개발자 Ryan 입니다.

안녕하세요, 웹 백엔드 개발자 Ryan 입니다. 항상 문제의 본질을 파고드는 점이 저만의 Strong Point라고 생각합니다.그래서 공부를 하거나, 일을 하거나, 운동을 할 때 언제든 더 잘할 수 있는 방법을 찾아내곤 합니다. 더 잘하는 개발자가 되기 위해서 저는 대학교에서 공학사 연계전공 학위를 취득했으며, '자료구조', '데이터베이스', '소프트웨어공학' 등의 CS 핵심 과목들을 우수한 성적으로 이수하는 등 컴퓨터공학의 학문적 기반을 다졌습니다. 대외적으로는 2022년부터 꾸준하게 S사의 '윈터데브캠프', K사의 '카카오 테크 캠퍼스' 등 대기업의 IT 교육 프로그램에 적극적으로 참여하고 다양한 프로젝트를 수행하며 협업 환경에 익숙해져 왔습니다. 주어진 상황이나 문제를 그대로 이해하기 보다 저만..

인기 글
최신 글
[JAVA] Stream API - 1. 개요
2025.07.21 00:16[JAVA] Stream API - 1. 개요

1. 서론 처음 Java 언어가 익숙하지 않은 상태로 코딩테스트를 준비할 때 굉장히 날 괴롭혔던 녀석이 있다. 그건 바로 Stream API다.뭔가 모양새도 일반적인 프로그래밍 스타일에서 상당히 벗어나있는 것이 아주 낯설고, 이리저리 외워야 할 것도 많아 굉장히 진입장벽이 높다고 느껴졌다. Java 언어 특성상 인터페이스에 명시된 파라미터 타입에서 조금만 어긋나도 바로 컴파일 에러가 떨어지니,컴파일 단계를 해결하는 과정부터 굉장한 피로감을 느꼈다. 그냥 for 문으로 직접 구현하는 게 나을 것 같아요.사람들은 왜 Stream을 사용하는걸까 하는 의문이 들었다.굳이 Stream을 써야하는 이유가 무엇일까? Stream API란 대체 무엇일까? 2. Stream APIStream은 누구를 위한 것일까. J..

[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)'처럼 "내일만 사는 놈은, 오늘만 사는 놈한테 죽는다", 뭐 그런걸까. 아무튼 이번 포스팅에서는 욕심쟁이 그리디 알고리즘에 대해서 알아보자. 2..

[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 버전 이상에서 사용 가능하다. 자바 애너테이션은 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동한..

image