분류 전체보기

Its. Min

나의 정체성 확립의 계기, 2023년

본격적인 글을 전개하기 전, 일단 수고하였다. 이 말을 글을 읽는 모든 이에게 해주고 싶다. 작년 이맘때에는 한해를 정리하는 회고 글을 쓰지 못하였지만, 올해는 정리하련다. 달별로 정리하기엔 기준이 모호해져서 전반적인 내 생각과 활동들을 나열한 글로 봐주면 되겠다. 2023년의 목표 올 초에 간단하게 세웠던 목표들이다. 결론적으론 보다시피 모두 달성하였다. 하지만 목표 자체가 개수도 적을뿐더러 대부분 자격에 관한 것이라 성취한 것에 의의를 두자 암튼 모두 성취한 나에게 박수👏 개발에 관하여 솔직하게 말하여 '개발 공부'만 보았을 때는 작년보다 소홀했었다. 이번 년도는 주로 그동안 공부했었던 걸 토대로 프로젝트를 진행했다. 프로젝트에 관하여서는 글이 너무 길어지고 글 맥락이 흐트러질 거 같아 따로 정리 글..

Server & Infra

[Docker] Ubuntu에 Docker로 웹서비스 구축하기

서버 환경 Amazin EC2 FreeTier Ubuntu t2.micro 백엔드 구조도 위와 같이 각각의 독립된 환경에서 컨테이너로 관리하기로 하였다. (추후 확장성 고려) Docker 설치 순서대로 입력 시스템 패키지 업데이트 sudo apt update 패키지 설치 sudo apt install apt-transport-https ca-certificates curl software-properties-common Docker 공식 GPG키 추가 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - Docker 공식 apt 저장소 추가 sudo add-apt-repository "deb [arch=amd64] htt..

Spring

[Spring] Error : Spring Batch Jackson2 ExecutionContext Serializer (실행 컨텍스트를 직렬화/역직렬화할 수 없음)

문제 상황 에러 로그 Caused by: java.lang.IllegalArgumentException: The class with java.util.ImmutableCollections$ListN and name of java.util.ImmutableCollections$ListN is not trusted. If you believe this class is safe to deserialize, you can add it to the base set of trusted classes at construction time or provide an explicit mapping using Jackson annotations or a custom ObjectMapper. If the serializati..

Its. Min

2023 동아리 인턴 면접 진행

대구소프트웨어마이스터고등학교 동아리 B1ND에서 2023.8.23~2023.8.24 총 이틀간 면접을 진행하였다. 면접 일주일 전 사전과제 또한 미리 메일로 제출받았다. 백엔드 팀은 '자바로 전화번호부 프로그램 만들기'를 과제로 내주었다. 위의 과제를 결정한 이유는 현재 백엔드 인프라는 주로 자바로 개발되었고, 프로그램 코딩 수준과 문제 해결력을 보기 위해서였다. 채점 비중은 기술 30%, 인성 70%로 설정하였다. 모집 프로세스는 과제 -> 기술 면접 -> 인성 면접 순으로 진행되었다. 인성 면접 질문은 전체 팀원들과 함께 의논하며 20여 가지를 미리 준비하였고, 기술 면접은 백엔드 팀원과 15여 가지를 준비하였다. 채점표 아래는 기술+과제 영역 채점 기준 개발 과재 10% ( 3점 ) 1. 기능 구현..

Its. Min

MenToMen 프리온보딩, 후배들을 백엔드 개발자의 길로 이끌다

해당 글에서는 멘토-선배, 멘티-후배 개념 MenToMen ? 멘투멘은 '멘토와멘티'를 의미 멘투멘은 방학중 후배들의 성장을 위하여 기획됨 (온라인) 멘투멘은 '모두가 동일한 성장의 기회'에 초점을 맞춘 교육 프로그램 Server 분야 커리큘럼 서버 분야는 총 3차시로 편성 (한차시는 약 2시간 분량) 백엔드 생태계•로드맵 설명, 자바 기초 문법, Spring 프레임워크 설명, 프로젝트 세팅 (2023.7.26) Spring MVC 기반 REST API 설계 (2023.8.2) JPA와 DB 연동 (2023.8.9) 필자는 1차시의 일부분과 2차시를 진행했다. 짧은 시간 안에 최대한 많은 내용을 담으려 하니 커리큘럼을 편성하기도 쉽지만은 않았다. 그래도 후배들이 백엔드 개발에 있어 기초적인 부분들은 대부..

Its. Min

내가 고등학생 개발자가 된 이유

고등학생 개발자가 되기 까지의 서사, 그리고 방향성 나의 중학교 시절 중학교 때의 나는 성적도 평균 딱히 유별나게 잘하는 것도 없는 엑스트라 1같은 학생이였다. 어릴 때부터 이것저것 다 조금씩 재능은 보였지만 무엇하나 이룬 것 없는, 의욕이 없었다고나 할까. 그런 나의 관심사를 찾아주시려 부모님께서는 이것저것 많이 시켜주셨다. 평소 게임을 좋아하던 나에게 부모님께선 코딩을 해보지 않겠냐며 권유하셨다. 여름방학 크게 바쁘지 않았던 나는 흥미를 느끼고 곧장 컴퓨터 학원으로 갔다. 그곳에서 기초적인 프로그래밍 언어 C, Python, JAVA를 정말 시간의 흐름조차 느끼지 못할 정도로 재밌게 배웠다. 내가 코딩에 흥미를 느끼는 것을 알아봐 주신 강사님은 나에게 '소프트웨어고'를 추천해 주셨다. 당시에는 크게 ..

Server & Infra

[Redis] Redis Master-Slave 구축하기

부제 : Redis Master Node -> Slave Node 변경됨 해결 데이터 캐싱을 위하여 인메모리 기반인 Redis 저장소를 선택하였다. 배포를 위해 클라우드 서버에 Docker로 Redis를 띄우고 문제가 발생했다. (메모리 문제로 redis:alpine 사용, 큰 차이 X) 개발 단계에선 로컬 Redis를 사용하였기 때문에 문제가 없었다.. 문제 상황 실제 배포한지 1~2주 때부터 해당 에러가 발생함 error in execution; nested exception is io.lettuce.core.redisreadonlyexception: readonly you can't write against a read only replica. 해당 오류는 Lettuce Redis 클라이언트가 읽기..

Spring

[Spring] WebClient 적용기

WebClient 란? API를 호출하기 위해 사용되는 Http Client 모듈 중 하나 왜 WebClient 가 필요한가? 현재 Java에서 가장 많이 사용하는 Http Client는 RestTemplate 입니다. 그런데 Spring 5.0 버전부터는 RestTemplate 은 유지 관리 모드로 변경되었습니다. Spring 에서는 RestTemplate 의 대안으로 WebClient 사용을 강력히 권고하고 있습니다. WebClient 는 논블로킹/블로킹 모두 지원합니다. 동작 원리 WebClient 의 동작 원리를 알려면 먼저, RestTemplate 의 동작 원리를 알아야 합니다. RestTemplate Multi-Thread, Blocking 요청 Thread Pool은 애플리케이션 구동 시에 ..

leeggmin
'분류 전체보기' 카테고리의 글 목록