김인환
저는 새로운 기술과 도구에 대한 열려있는 마음으로,
현업에서 요구되는 기술들을 습득하고 싶은 개발자입니다.
Java, Spring Boot와 JavaScript를 주 스택으로 사용하며, 백엔드 시스템 구축과 프론트엔드 개발에 깊은 관심을 가지고 있습니다.
다양한 사이드 프로젝트를 통해 서버 아키텍처 설계, 데이터베이스 최적화, API 개발 등을 수행하며 안정적이고 효율적인 시스템을 구현해왔습니다.
데이터베이스에 대한 심층적인 이해를 바탕으로, SQL 쿼리 작성 및 데이터 관리 방법을 지속적으로 학습하고 있습니다.
프론트엔드 개발 경험을 통해 전체 애플리케이션의 완성도를 높이며, 사용자 경험을 고려한 개발을 지향합니다.
React와 같은 프레임워크를 활용하여 직관적이고 반응성이 뛰어난 인터페이스를 구현하는 데 주력하고 있습니다.
항상 최신 기술 동향을 파악하고, 프로젝트 요구사항에 맞는 최적의 솔루션을 제공하는 것을 목표로 하고 있습니다.
코드를 작성할 때, 단순히 기계에게 명령을 내리는 것이 아니라, 아이디어와 개념을 현실로 만들고 있는 것입니다.
즉, 프로그래밍은 창의력을 표현할 수 있는 가장 아름다운 수단 중 하나라고 생각합니다.
어떤 분야든 배움에는 끝이 없습니다.
겸손한 자세를 잃지 않고 지속적인 학습을 추구하여 트렌드에 맞춰 빠르게 발전하는 개발자가 되겠습니다.
Java
Spring
Boot
Spring
MVC
Spring
Security
Spring
Webflux
Data JPA
Data JDBC
REST
Docs
Node.js
Html
CSS
Js
Ts
React
JQuery
MySQL
H2
AWS
AWS RDS
AWS EC2
AWS S3
Mongo
DB
Git
Docker
Ubuntu
Postman
IntelliJ
VScode
레이라 주식회사
스타트업복덕빵 / 안심 부동산 직거래 플랫폼
2024.04.01 - 2024.06.28
- 프론트엔드 기술 환경 구성, 설계 및 기능 구현
- React 기반 컴포넌트 계층 구조 설계
- CS 처리와 서비스 앱 관리를 위한 관리자 사이트 개발
- 관리자 사이트용 Node.js API 서버 개발 지원
- 보안을 위한 IP 차단 기능 설계 및 구현
- 실시간 채팅(고객 문의) 및 알림 기능 개발
- 고객 제재, 계정 정지 등 고객 관리 시스템 개발
- 전문가(판매자) 신청 승인 및 정지 등 전문가 관리 시스템 개발
- 공지사항, FAQ, 약관 등 콘텐츠 관리 시스템 개발
Tech Stack
React, TypeScript, Node.js, Express, MongoDB
- 채팅 알림(환불, 결제 완료 등) 기능 개발
- 유저 차단 및 신고 기능 개발
- 부동산 매물 필터 기능 개발
- 전반적인 코드 리팩토링
- 앱 배포 및 출시 관리
- 깃 상태 관리 및 팀원들의 코드 리뷰
Tech Stack
React Native, TypeScript, Redux,
Node.js, Express, MongoDB, Firebase
자세히 보기
UNCOVER
6인 팀 프로젝트No Copyright Music 서비스 플랫폼
자세히 보기
- 프로젝트 기획 및 전반적인 개발 진행에 관여
- Spring Boot FW를 활용한 웹 백엔드 개발
- Playlist, like, comment, tag 기능 구현
- 아키텍처 설계 및 리팩토링
- 효율적인 협업을 위한 가이드 문서 작성
- 인터랙티브 웹을 위한 디자인 개선
자세히 보기
코드스테이츠 Back-End 과정
22.12.15 ~ 23.06.08
리눅스 기초 명령어를 이해하고 CLI에서 개발 환경을 세팅할 수 있습니다.
Git의 핵심 내용과 워크플로우를 이해하고 적용할 수 있습니다.
Java 프로그래밍 언어의 특성과 기초 문법을 학습합니다.
클래스, 객체, 필드, 메서드 등 OOP와 관련된 기본적인 개념을 이해합니다.
객체지향의 원리와 설계 및 구현 방법을 학습합니다.
Java의 컬렉션(List, Set, Map)을 학습합니다.
Java의 심화 문법(Annotation, Lambda, Stream, Thread 등)을 학습합니다.
재귀의 의미와 동작 방법을 이해하고 Java언어로 코드를 구현할 수 있습니다.
다양한 자료구조의 개념을 이해하고 이해한 자료구조를 직접 Java언어로 코드를 구현할 수 있습니다.
다양한 문제를 해결하는 데 필요한 알고리즘 설계 기법을 이해하고 Java언어로 코드를 구현할 수 있습니다.
클라이언트, 서버 아키텍처를 기억하고 브라우저의 작동원리를 학습합니다.
REST API에 대해 학습하고, 설계 및 구현할 수 있습니다.
DB와 SQL에 대해 학습합니다.
Framework와 라이브러리의 차이점과 필요성에 대해 학습합니다.
Spring의 핵심 중에 핵심인 DI의 개념을 IOC 개념과 함께 살펴보고 학습합니다.
API 계층의 의미와 DTO 클래스를 사용하는 방법, DTO 클래스의 데이터 유효성 검증 방법을 학습합니다.
비즈니스 계층의 의미를 학습하고 비즈니스 계층에서 DI를 어떻게 활용할 수 있는지 학습합니다.
비즈니스 로직에서 발생하는 예외 처리 및 비즈니스 계층에서 던져진 예외를 API 계층에서 어떻게 처리할 수 있는지 학습합니다.
도메인 모델의 개념 학습 및 JDBC 기반의 엔티티의 모델의 작성법 등을 학습합니다.
JPA의 특징과 동작 방식, ORM을 학습합니다.
트랜잭션과 Spring Framework에서의 트랜잭션과 PSA의 관계를 학습합니다.
테스트가 필요한 이유와 Slice Test의 의미를 이해하고 API 계층과 데이터 액세스 계층을 Slice Testing하는 방법을 학습합니다.
Spring RestDocs를 이용하여 REST API 문서의 자동화 방법을 학습합니다.
Spring Boot 기반의 애플리케이션을 빌드하고 실행하는 방법을 학습합니다.
사용자 인증 과정 전반과 보안 기초 개념에 대해 학습합니다.
Spring Security의 동작 방식 및 기본적인 설정 방법에 대해 학습합니다.
JWT의 개념과 사용해야하는 이유, 사용하는 방법에 대해 학습합니다.
OAuth2의 개념과 사용하는 방법에 대해 학습합니다.
컨테이너 기술을 학습하고 컨테이너를 사용한 배포를 실습합니다.
온프레미스와 클라우드 환경에 대해 학습하고 3-티어 아키텍쳐를 배포하는 과정을 실습 합니다.
지속적 통합 과정을 이해하고 빌드와 테스트 자동화를 실습합니다
배포 자동화의 로직을 학습하고 웹 애플리케이션 배포 자동화를 실습합니다.
서비스 배포와 운영에 있어 심화 전략을 학습합니다.
간단한 웹 애플리케이션을 만들고 협업 환경을 구축합니다.
서비스 기획 및 분석 | 웹 애플리케이션 구현을 위해 필요한 기술 요구사항을 정의하고 작성합니다.
팀 단위 업무 수행 노하우 | 실제 개발 업무 진행 중 많이 사용되는 방법을 학습하고 프로젝트 진행 과정에 적용합니다.
ex) 애자일, 칸반, git-workflow
교육 엔지니어 코칭 | 프로젝트를 관리하는 방법론에 대해 엔지니어의 전문적인 코칭을 통해 학습하고 이를 바탕으로 팀 내 프로젝트 완성도를 높입니다.
프로젝트 수행 | 서비스를 구현하는 것을 목표로 팀원과 함께 IT 제품의 개발 및 배포를 진행합니다.
프로젝트 관리 | 팀 단위로 선택한 주제에서, 다양한 웹 기술을 분석하고 활용하며 도전적인 수준의 서비스를 출시할 수 있는 관리 방법들을 경험합니다.
멘토 피드백 | 전문적인 멘토의 피드백을 통해 프로젝트 완성도를 높이고, 주기적으로 그룹 회고를 진행하며 프로젝트를 수행합니다.
프로젝트 구현 | 기획/설계한 서비스를 구현하는 것을 목표로 팀 단위로 IT 제품의 개발 및 배포를 진행합니다.
기술 발표 | 프로젝트를 진행하면서 얻은 소중한 지식과 경험을 공유하고 자신의 포트폴리오가 될 프로젝트를 설명하는 방법과 기술을 학습합니다.
리눅스 기초 명령어를 이해하고 CLI에서 개발 환경을 세팅할 수 있습니다.
Git의 핵심 내용과 워크플로우를 이해하고 적용할 수 있습니다.
Java 프로그래밍 언어의 특성과 기초 문법을 학습합니다.
클래스, 객체, 필드, 메서드 등 OOP와 관련된 기본적인 개념을 이해합니다.
객체지향의 원리와 설계 및 구현 방법을 학습합니다.
Java의 컬렉션(List, Set, Map)을 학습합니다.
Java의 심화 문법(Annotation, Lambda, Stream, Thread 등)을 학습합니다.
재귀의 의미와 동작 방법을 이해하고 Java언어로 코드를 구현할 수 있습니다.
다양한 자료구조의 개념을 이해하고 이해한 자료구조를 직접 Java언어로 코드를 구현할 수 있습니다.
다양한 문제를 해결하는 데 필요한 알고리즘 설계 기법을 이해하고 Java언어로 코드를 구현할 수 있습니다.
클라이언트, 서버 아키텍처를 기억하고 브라우저의 작동원리를 학습합니다.
REST API에 대해 학습하고, 설계 및 구현할 수 있습니다.
DB와 SQL에 대해 학습합니다.
Framework와 라이브러리의 차이점과 필요성에 대해 학습합니다.
Spring의 핵심 중에 핵심인 DI의 개념을 IOC 개념과 함께 살펴보고 학습합니다.
API 계층의 의미와 DTO 클래스를 사용하는 방법, DTO 클래스의 데이터 유효성 검증 방법을 학습합니다.
비즈니스 계층의 의미를 학습하고 비즈니스 계층에서 DI를 어떻게 활용할 수 있는지 학습합니다.
비즈니스 로직에서 발생하는 예외 처리 및 비즈니스 계층에서 던져진 예외를 API 계층에서 어떻게 처리할 수 있는지 학습합니다.
도메인 모델의 개념 학습 및 JDBC 기반의 엔티티의 모델의 작성법 등을 학습합니다.
JPA의 특징과 동작 방식, ORM을 학습합니다.
트랜잭션과 Spring Framework에서의 트랜잭션과 PSA의 관계를 학습합니다.
테스트가 필요한 이유와 Slice Test의 의미를 이해하고 API 계층과 데이터 액세스 계층을 Slice Testing하는 방법을 학습합니다.
Spring RestDocs를 이용하여 REST API 문서의 자동화 방법을 학습합니다.
Spring Boot 기반의 애플리케이션을 빌드하고 실행하는 방법을 학습합니다.
사용자 인증 과정 전반과 보안 기초 개념에 대해 학습합니다.
Spring Security의 동작 방식 및 기본적인 설정 방법에 대해 학습합니다.
JWT의 개념과 사용해야하는 이유, 사용하는 방법에 대해 학습합니다.
OAuth2의 개념과 사용하는 방법에 대해 학습합니다.
컨테이너 기술을 학습하고 컨테이너를 사용한 배포를 실습합니다.
온프레미스와 클라우드 환경에 대해 학습하고 3-티어 아키텍쳐를 배포하는 과정을 실습 합니다.
지속적 통합 과정을 이해하고 빌드와 테스트 자동화를 실습합니다
배포 자동화의 로직을 학습하고 웹 애플리케이션 배포 자동화를 실습합니다.
서비스 배포와 운영에 있어 심화 전략을 학습합니다.
간단한 웹 애플리케이션을 만들고 협업 환경을 구축합니다.
서비스 기획 및 분석 | 웹 애플리케이션 구현을 위해 필요한 기술 요구사항을 정의하고 작성합니다.
팀 단위 업무 수행 노하우 | 실제 개발 업무 진행 중 많이 사용되는 방법을 학습하고 프로젝트 진행 과정에 적용합니다.
ex) 애자일, 칸반, git-workflow
교육 엔지니어 코칭 | 프로젝트를 관리하는 방법론에 대해 엔지니어의 전문적인 코칭을 통해 학습하고 이를 바탕으로 팀 내 프로젝트 완성도를 높입니다.
프로젝트 수행 | 서비스를 구현하는 것을 목표로 팀원과 함께 IT 제품의 개발 및 배포를 진행합니다.
프로젝트 관리 | 팀 단위로 선택한 주제에서, 다양한 웹 기술을 분석하고 활용하며 도전적인 수준의 서비스를 출시할 수 있는 관리 방법들을 경험합니다.
멘토 피드백 | 전문적인 멘토의 피드백을 통해 프로젝트 완성도를 높이고, 주기적으로 그룹 회고를 진행하며 프로젝트를 수행합니다.
프로젝트 구현 | 기획/설계한 서비스를 구현하는 것을 목표로 팀 단위로 IT 제품의 개발 및 배포를 진행합니다.
기술 발표 | 프로젝트를 진행하면서 얻은 소중한 지식과 경험을 공유하고 자신의 포트폴리오가 될 프로젝트를 설명하는 방법과 기술을 학습합니다.