본문 바로가기

분류 전체보기9

스프링 부트 핵심 가이드 1주차 책을 보면서 생소했던 용어나 설명이 부족했던 부분에 대해 정리하려고 한다. ▶ 제 01장. 스프링 부트란 제어 역전 객체 제어의 주체가 객체를 사용하는 클래스 자신이 아닌 외부에 있다는 의미이다. 필요한 객체를 클래스 내부에서 직접 생성하지 않고 외부에서 주입받는 형태를 가진다. @Bean @Component…등의 어노테이션을 붙인다 ≫ 해당 객체를 스프링 컨테이너에 빈으로 등록한 것 ≫ 제어를 역전시킨 것 의존성 주입 제어의 역전을 구현하는 방법이 의존성 주입이다. 스프링 프레임워크 환경에서의 의존성 주입 스프링 컨테이너라는 공간에서 빈(Bean)객체드를 관리한다. (이 곳에서 관리되는 빈은 싱글톤 객체) 컨테이너는 등록된 빈을 가지고 의존성 주입을 한다. 생성자, 필드, 메소드 등에 @Autowire.. 2023. 7. 23.
백엔드 신입 개발자가 쌓아야 하는 역량은? - 자료구조/알고리즘/코딩테스트편 ▶ 백엔드 신입 개발자로서의 역량 백엔드 신입 개발자로서 성장하고 전문성을 갖추기 위해서는 자료구조, 알고리즘, 코딩 테스트에 대한 이해와 숙련이 필요하다. 자료구조 배열, 연결 리스트, 스택, 큐, 트리, 그래프 등의 자료구조를 이해해야 한다. 자료구조의 특징과 각각의 장단점, 사용 사례를 파악해야 한다. 자료구조를 활용하여 데이터를 효율적으로 저장, 검색, 정렬할 수 있는 방법을 이해해야 한다. 알고리즘 정렬, 검색, 그래프 알고리즘, 동적 계획법, 분할 정복 등의 알고리즘을 학습해야 한다. 알고리즘의 원리와 동작 방식을 이해하고, 각 알고리즘의 시간 복잡도와 공간 복잡도를 분석할 수 있어야 한다. 다양한 알고리즘을 응용하여 실제 문제를 해결할 수 있는 능력을 갖추어야 한다. 코딩 테스트 코딩 테스트.. 2023. 6. 8.
앞으로의 공부 방향 (feat. 백엔드 공부법) ▶ 현재 나의 상태와 느낀 점 자료구조/알고리즘 강의 들어가고부터 처음 접하는 내용들이 많아 진행속도가 많이 느리다. 그래서 제로 베이스에서 정해준 스케줄을 따라가지 못하는 상황이 진즉에 와버렸다. 아직도 문제를 보고 어떤 알고리즘으로 풀어야 할지 모르겠다. 시간복잡도 O(n^2)을 피하라고 하지만 어떤 문제들은 아직까지도 다중포문을 사용하고 싶고, 다중포문 이외의 방법은 떠오르지도 않는다... 결국 다중포문을 사용해서 풀고 다른 방법은 생각하지도 않아 버리니 이런 악순환이 반복된다. 코딩테스트를 할 때 기억이 애매하게 나는 문법들은 계속 애매하게 난다. 모르는 것도 아니고 아는 것도 아닌 상태로 항상 검색해서 작성한다. 10번 반복해도 10번 찾아서 작성하는 걸 보면 의지의 문제인 듯하다. 아직은 제한.. 2023. 6. 2.
백엔드 커리어 로드맵 - 어떤 백엔드 개발자가 되고 싶은지 ▶ 백엔드 커리어 로드맵 백엔드 개발자로서 성장하고자 할 때 필요한 백엔드 커리어 로드맵을 정리해 보았다. 기본 웹 개발 지식 습득 웹의 동작 원리와 기본 프로토콜에 대한 이해 클라이언트-서버 아키텍처 및 RESTful 아키텍처 이해 프로그래밍 언어 학습 주요 백엔드 언어 중 하나 선택 (예: Java, Python, JavaScript 등) 선택한 언어에 대한 기본 문법과 개념 학습 객체지향 프로그래밍(OOP) 및 함수형 프로그래밍(FP) 개념 이해 데이터베이스 관리 SQL 문법 및 데이터베이스 쿼리 작성 능력 습득 관계형 데이터베이스(RDBMS)와 NoSQL 데이터베이스 이해 데이터베이스 인덱싱, 정규화 및 성능 최적화 기법 습득 백엔드 프레임워크 학습 주요 백엔드 프레임워크 선택 (예: Spring.. 2023. 5. 26.