고찰
-
4월 1주차 회고고찰 2024. 4. 8. 17:10
📌 금주 학습 알고리즘 코딩테스트가 매주 진행되고 있는데, 풀면서도 이전에 학습했던 자료구조와 알고리즘 개념들을 실전에 적용하면서 해결하지 못했던 부분들이 존재했다. 비교적 이론과 개념들은 숙지했다고 생각했으나 실제 코드에 녹여내고 해당 내용들을 끌고와서 알고리즘을 구현해보았으나 주간 코딩 테스트에서 계속해서 오류가 나고, 원하는 출력값을 도출해내지 못한 부분이 있었다. 그래서 문제 풀이 강의를 조금 더 세심하게 직접 타이핑하면서 '백문이 불여일타' 의 심정으로 Practice 문항들을 다시 복기하는 과정을 거쳤다. 2주차도 계속해서 동일하게 진행할 예정이다. 📌 리마인드 내용 주어진 정수 배열에서 중복된 숫자 쌍의 개수를 계산하는 문제 import java.util.*; class Solution { ..
-
백엔드 개발자가 쌓아야 하는 역량은? - 자료구조/알고리즘/코딩테스트편고찰 2024. 4. 3. 09:21
📌 개발자에게 자료구조와 알고리즘이 왜 필요한지 1. 문제 해결 능력 현업 실무에서 문제 해결 능력이 중요한 순간들을 다양하게 경험했다. 그 중 하나는 데이터베이스 성능 최적화 문제였다. 웹 애프리케이션에서 실시간 데이터 표출을 해야하는데 약 11초 지연되는 것을 확인하였고, 서버 DB 쿼리 성능이 저조한 것을 발견했다. 사용자가 증가함에 따라 응답 시간이 길어지는 문제가 발생하였고, 비즈니스에 부정적인 영향을 미치고 있었다. 문제를 해결하기 위해 먼저 데이터베이스 쿼리 인터페이스 코드를 분석하고, 실행 계획을 확인했다. 그 결과 인덱스를 적절하게 활용하지 못하여 성능이 저하되고 있음을 발견했다. 이를 해결하기 위해 쿼리를 최적화하고 인덱스를 추가하는 등의 작업을 진행한 결과 쿼리 응답시간이 11초에서 ..
-
앞으로의 백엔드 공부 계획 (feat. 백엔드 공부법)고찰 2024. 3. 28. 08:34
📌 개발 학습 계획 1. 목표 설정하기 현재 백엔드 스쿨에서 제공해주는 권장 가이드라인이 있다. CS 지식부터 프로그래밍 언어인 Java, 버전관리인 Git, 기본 프레임워크인 Spring Boot, 객체 관계 매핑을 도와주는 JPA, 도커, Security, Spring Batch 까지 교육과정 로드맵이 구성되어 있다. 권장 가이드라인은 시작점이자 말 그대로 가이드라인일 뿐, 주어진 과제와 학습량을 완수한 것만으로 만족감을 취할 생각은 아니다. 개발자를 '무한 성장하는 객체' 라고 바라보는 시점을 갖고 있는데, 입사 후에 가이드라인은 제공받지 못한다. 수동적으로 짜여진 계획표를 실천하는 것에서 벗어나 스스로 성장할 수 있는 동력과 방향성을 스스로 설정하는 연습을 지금부터 해야할 것이다. 현업에서 스스로..
-
백엔드 커리어 로드맵 - 어떤 백엔드 개발자가 되고 싶은지고찰 2024. 3. 21. 12:53
📌 백엔드 로드맵 🔸 프로그래밍 언어와 데이터베이스(DB) 백엔드를 비롯한 개발의 출발점은 프로그래밍 언어와 데이터베이스에 대한 이해 내가 구축(사용)하고자 하는 서비스에 부합하는 혹은 직군에서 제일 많이 사용되는 언어를 학습 선택한 언어에 대해 깊이 있는 이해를 바탕으로 데이터베이스와의 상호작용, 데이터 모델링 등을 학습 🔸 프레임워크와 라이브러리 및 개발툴 활용 프레임워크 및 여러 개발툴 등은 백엔드 개발자의 생산성을 높여준다. 예로 들면, Java는 Spring, Node.js는 Express 등 프레임워크를 사용하여 데이터베이스와의 상호작용, RESTful API 구축, 보안 등을 학습 버전 관리(Git)과 협업 도구(Jira, Slack) 등을 활용하는 방법도 중요 🔸 클라우드 기술 현재 백엔드..
-
프론트엔드와 백엔드 차이 - 백엔드 개발자가 된 이유고찰 2024. 3. 15. 03:33
📌 프론트엔드(Front-end) 🔸 웹 사이트 혹은 애플리케이션과 같이 구축한 서비스를 사용자가 이용하는 인터페이스(UI)를 만드는 과정을 의미. 즉, 사용자가 직접 보고 상호작용 할 수 있는 웹의 전반적인 시각적인 영역을 담당 여기서 말하는 상호작용을 구체적으로 해석하면, 사용자의 감정, 만족도, 인지, 행동 등을 포함하며 단순히 웹의 기능뿐만 아니라 사용자가 겪으면서 발생하는 모든 요소를 의미하고, 이를 UX(User Experience)라 한다. 이전에 강연을 들었던 오늘의집 FE CTO님의 강연에서도 사용자가 겪을 UX에 대해서 개발자는 늘 염두에 두고, 개발에 임해야된다고 강조하셨다. 배포된 웹사이트 혹은 제품의 경쟁력을 향상시키고, 단순히 보여지는 기능적인 UI를 뛰어 넘어서 사용자에게 감동..