전체 글

깃허브 https://github.com/kimtaesoo99 알고리즘 전용 블로그 https://javajoha.tistory.com/
프로젝트

[프로젝트] 여행 정보 플랫폼

현재 여행 관련 서비스를 제공하는 웹 프로젝트를 진행 중이다. 서블릿과 jsp를 사용하여 틀을 만들었다. 우선 지금까지 만든 정보를 기록하려고 한다. 웹 서블릿과 jsp를 중점으로 플젝을 진행한 적은 처음이라 아직도 어색하고 부족한 부분이 많았다. 그래도 확실히 로우레벨로 개발을 하다 보니 기초가 많이 늘었다고 생각한다. 이후 이걸 프레임워크를 사용하여 더욱 발전시킬 생각이다. 프로젝트 내용이 많아서 전체적으로 요약하며 설명할 예정이다. 주요 기능 header와 footer를 사용하여 중복되는 화면을 재사용하였다. 다른 jsp에서 include를 사용하여 그대로 가져갈 수 있다. 또한 로그인과 회원가입의 경우 간단하게 modal 창을 사용하였다. 이전 프로젝트는 백엔드만 맡아서 진행하였기에 검증의 경우도..

활동

SQLD 합격 후기 및 공부법

SQL 개발자(SQLD*, SQL Developer)란 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하면서 데이터를 조작하고 추출하는 데 있어서 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있는 개발자를 말한다. SQL 개발자 자격시험의 과목은 총 2과목으로 구성되어 있으며 데이터 모델링의 이해 과목을 바탕으로 SQL 기본 및 활용을 수행하는 능력을 검정한다. - 출처 : 한국데이터산업진흥원 데이터자격검정 홈페이지 3월 9일에 SQLD를 응시했었고 합격하였다. 지원 동기 현재 싸 피를 진행 중인데, 데이터베이스 관련 cs스터디를 하고 있었다. 그러다 sqld도 결국 데이터베이스 관련 내용이기에 공부할 겸 지원하였다. 근데 정작 내용은 좀 많이 다른 느낌이다. 특히 쿼리..

CS

REPEATBLE READ에서의 PHANTOM READ 현상

요즘 CS스터디를 진행하고 있는데, 트랜잭션을 정리하고 있던 와중에 REPEATABLE READ에서 InnoDB는 RHANTOM READ가 발생하지 않는다는 정리글을 보았다. 내가 정리했던 글에서도 이를 찾아볼 수 있었는데 단순하게 글로만 표현되어 있어 나조차도 이해하기 힘들었다. 그래서 이를 좀 더 찾아보고 이게 무엇을 뜻하는지 찾아보고 정리하려고 글을 작성한다. REPEATABLE READ REPEATABLE READ는 동일 트랜잭션 내에서는 동일한 결과를 보장할 수 있는 격리 수준으로 MySQL의 InnoDB 스토리지 엔진에서 기본으로 사용되는 격리 수준이다. 어떻게 동일한 결과를 보장해 줄 수 있을까? MVCC(Multi Version Concurrency Control)라는 메커니즘을 이용해 언..

활동

삼성 SW 역량테스트 B형(Professinal) 합격후기 및 팁

SSAFY 11기에 입과 해 교육을 듣던 중 SW 테스트 A형 이상을 취득한 교육생에게 B형에 응시할 자격이 주어졌다. SSAFY에 입과 하기 위해 쳤던 코딩 테스트에서 A형을 취득했기 때문에 B형에 응시할 수 있었다. 2/17, 3/9, 3/16 총 3회의 응시 기회가 있었고, 가장 처음 열린 2/17 시험을 신청했다. 삼성전자 SW 역량 테스트란? 삼성 SW 역량테스트는 삼성에서 주관하는 코딩테스트라고 보면 된다. 예전에는 SWEA에서 상시 검정을 통해 시험을 신청해서 응시했지만 코로나로 인해 상시 검정이 막히고 현재는 삼성전자, 삼성 SDS 알고리즘 특강 수강생 혹은 SSAFY 교육생, 삼성 임직원 등 특정 조건을 만족해야 응시 기회가 주어진다. 삼성 SW 역량 테스트는 A형(Advanced), B..

활동

[SSAFY] 11기 웰컴 키트 언박싱

저번주에 입학식을 하고 웰컴키트를 받았다. 원래 받은 당일에 블로깅을 하려 했으나 너무 바빠서 미루게 되었다. 마침 인증 이벤트도 하기에 바로 글을 작성하기로 하였다. 내가 받은 웰컴키트는 이미 개봉을 하여 같은 반 형에게 부탁하여 이쁜 사진을 받을 수 있었다. 웰컴키트 박스부터 내용물이 궁금해지는 비주얼이다. 내부를 살펴보면 아래와 같았다. 개인적으로 1일 1 커밋 스티커가 너무 이쁘다. 그 뒤에는 텀블러와 에코백 셀카봉이 들어있었다. 싸 피마크가 전부 붙어있었다. 개인적으로 물을 자주 마시기에 텀블러가 제일 마음에 들었다. 코테를 볼 때마다 셀카봉이 없어서 고생했는데 매우 유용하게 쓰일 것 같다. 추가로 후드티와 티셔츠를 받았다. 후드티의 경우에는 검은색, 흰색, 파란색이 있는데 모두 이쁜 것 같다...

개발일기

[개발일기#12] 새로운 시작

개발일기(24.1.1) 벌써 24년이 되었다. 12월에는 거의 놀거나 쉬었던 것 같다. 어제도 밤새 술을 마시며 마지막 23년을 보냈다. 개발공부를 시작하고 나서 처음으로 아무런 걱정 없이 실컷 놀았던 달인 것 같다. 다른 글에서도 작성했듯이 싸피에 합격하였다. 다른 사람들과 같이 공부할 생각에 조금은 설레기도 한다. 당장 내일부터 싸피가 시작되는데 통학을 할 예정이라 생각보다는 힘들 것 같기도 하다. 그래도 많은 것을 배울 수 있을 것 같아서 좋다. 그동안 내가 원하는 목표를 이루었는지 생각해 보면 어느 정도는 달성한 것 같다. 그래서인지 23년도가 크게 아쉽지는 않은 것 같다. 운동도 꾸준히 하고 공부도 꾸준히 했다고 생각한다. 24년도에는 이제 싸 피에서 많은 것을 배우면서 취업준비를 할 생각이다...

활동

싸피 11기 합격 후기(전공자, 면접 스터디X)

지원 동기 싸 피가 돈도 지원해 주고 다른 사람들과 함께 네트워킹을 통해 성장할 수 있다는 점에서 매력적으로 다가왔다. 현재 나는 프로젝트가 많이 부족하다고 생각했다. 따라서 나의 부족한 점을 채우고 다른 사람들과 같이 소통하며 성장하고 싶어서 지원했다. 에세이 나는 프로젝트나 다른 스펙을 어필하지 않았다. 그저 내가 이곳에 지원한 이유와 그에 대한 타당한 이유를 설명하는 느낌으로 작성했다. 앞선 지원 동기와 같이 소통을 키워드로 작성했다. 에세이 자체가 500~600자이기에 그냥 담백하게 작성한 것 같다. SW 적성진단 준비 우선 알고리즘 준비를 따로 하지 않았다. 애초에 원래 매일 알고리즘을 풀기 때문에 따로 더 문제를 풀 이유가 없었다. 이러한 자신감 덕분인지 코테 시작 20분 만에 모든 문제를 풀..

활동

현대 소프티어 3기 합격 후기

지원 사실 현대 소프티어의 존재를 알지는 못했다. 어쩌다가 오픈채팅방에서 홍보를 하여 알게 되었는데 생각보다 괜찮다고 생각했다. 그래서 경험도 쌓을 겸 지원하게 되었다. 지원분야가 현대 자동차와 오토에버 2개가 존재했다. 나는 현대 자동차가 더 익숙해서 현대 자동차를 지원했다. 1차 코딩 테스트 코딩테스트는 구름 플랫폼에서 온라인으로 이루어졌다. 신기하게도 오픈북이라 참고하면서 할 수 있었다. 총 7문제로 이루어져 있었다. 난이도는 정석적인 문제 몇 개와 까다로운 문제가 많았다. 또한 문제가 이미지 파일로 올라와서 가독성이 안 좋았다. 게다가 처음 접속했을 때 이미지 파일이 보이지 않아서 시간이 지연되기도 하였다. 또한 아직도 이해가 안 되는 문제가 남아있다. 분명 요구한 대로 푼 거 같은데 왜 테케 답..

CS

네트워크 기본 정리

네트워크란? 노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합 노드: 서버, 라우터, 스위치 등 네트워크 장치를 의미 링크: 유선, 무선을 의미 처리량 처리량은 링크 내에서 성공적으로 전달된 데이터의 양을 말하며 보통 얼마 큼의 트래픽을 처리했는지를 나타냄 단위는 bps를 사용함 - 초당 전송 또는 수신되는 비트 수 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙 등에 영향을 받음 지연 시간 지연 시간은 요청이 처리되는 시간을 의미함 네트워크 토폴로지 네트워크 토폴로지는 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미 트리 토폴로지: 트리 형태로 배치한 네트워크 구성 노드의 추가, 삭제가 쉬움 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있음 버스 토..

JAVA

[JAVA] 크리스마스 프로모션을 구현하면서 배운점

마지막 미션은 새로운 주제의 미션이었다. 이번에도 그전과 동일하게 회고의 느낌으로 작성할 예정이다. 내가 고민한 점과 적용한 점 수정했던 부분 및 이유를 작성할 것이다. 고민거리 이번에 enum을 적용해야 하는 상황이 거의 필수적으로 일어났다고 생각했다. 그래서 이를 적용했는데, 문제는 얼마나 나눌 것인가에 대한 고민이었다. 처음에는 카테고리마다 전부 나누고 메뉴판에서 통일하는 방식을 생각했다. 하지만 이러한 방법은 복잡도가 올라간다는 생각도 했고, 입력으로 들어온 값을 찾기가(이름으로 매칭되는 값) 번거롭다는 느낌을 받았다. 물론 분리가 잘되어있다는 생각이 들긴 함. 그래서 한눈에 보기에도 편하고 매칭되는 값을 찾기도 편하게 전부 모아서 관리하였다. 물론 정말 확장 가능성도 생각한다면 다른 방법이 더 ..

javajoha
기록하는 개발자가 되자