본문 바로가기

전체 글

(111)
백엔드 신입 개발자가 쌓아야 하는 역량은? 백엔드 신입 개발자가 쌓아야 하는 역량은 무엇이 있을까??? 🙃 🔍 알아보자 자료구조와 알고리즘 데이터베이스 지식 웹 기술과 프레임워크 경험 운영체제와 네트워크 이해 소프트웨어 개발 실무 경험 📝 자료구조 & 알고리즘의 이해 - 최근 알고리즘 코딩테스트를 안 본다는 소식들을 종종 듣긴 하지만 아직 하는 곳이 많으니 자료구조 & 알고리즘의 이해는 필수적이라고 생각하면 될 거 같다.. Array, List, Queue, Stack, Set, Map 등의 자료구조와 정렬, 검색, 그래프 알고리즘 등의 기본 알고리즘을 숙지하고, 문제 해결에 적합한 자료구조와 알고리즘을 선택하여 개발에 활용해야 한다. 📝 데이터베이스 지식 - 백엔드 개발자는 데이터의 올바른 저장과 검색을 위해 데이터베이스에 대한 이해가 필요하다..
[Java] 백준 1254 : 팰린드롬 만들기 📌 문제 https://www.acmicpc.net/problem/1254 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net 💻 소스코드 package baekjoon; import java.util.Scanner; // S.2, 팰린드롬 만들기 public class B1254 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.next(); int answer = str.le..
[Java] 백준 2003 : 수들의 합2 📌 문제 https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 💻 소스코드 package baekjoon; import java.util.ArrayList; import java.util.List; import java.util.Scanner; // S.4, 수들의 합 2 public class B2003 { public static void main(String[] args) { Scanner scanner..
[Java] 백준 2167 : 2차원 배열의 합 📌 문제 https://www.acmicpc.net/problem/2167 2167번: 2차원 배열의 합 첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 www.acmicpc.net 📝 풀이 2차원 배열 생성 & 배열에 값 저장하기 쿼리의 개수 입력 받기 k 만큼 반복하면서 각각의 더한 값 출력 쿼리 범위 내의 값의 합 구하기 💻 소스코드 package baekjoon; import java.util.Scanner; // 2차원 배열의 합, S : 5 public class B2167 { public static void main(Str..
앞으로 백엔드 공부 계획 - (feat.백엔드 공부법) 📌 앞으로 백엔드 공부 계획 아무래도 ‘어떻게 공부할 것인가.’ 공부 계획을 체계적으로 수립하는 것 그리고 꾸준한 학습과 프로젝트의 경험이 중요하다고 생각한다. 기본 웹 개념과 프로토콜에 대한 이해 HTTP 프로토콜, RESTful API 등 웹 개념의 이해가 필요하다. 이를 학습하면 웹 애플리케이션의 동작 원리를 이해할 수 있다. 데이터베이스 관리와 쿼리 작성 Sql, NoSql 등의 데이터베이스 관리 및 쿼리 작성에 대한 학습이 필요하다. 데이터베이스는 백엔드 개발에서 핵심적인 부분이므로, 이를 필히 숙달해야 한다. 서버 프레임워크 학습 Spring, Spring Boot 등의 서버 프레임워크를 학습해야 한다. 이를 통해 효율적인 개발과 코드 재사용이 가능해집니다. 보안과 인증에 대한 이해 JWT, ..
[DataBase] Transaction 알아보기 🔍 Transaction의 정의 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 논리적인 이유로 여러 SQL 문들을 단일 작업으로 묶어서 나누어질 수 없게 만든 것이 트랜잭션이다. 트랜잭션의 SQL 문들 중에 일부만 성공해서 DB에 반영되는 일은 일어나지 않는다. 트랜잭션은 SELECT, UPDATE, INSERT, DELETE와 같은 연산을 수행하여 데이터베이스의 상태를 변화시키는 작업의 단위다. 🔍 Transaction의 핵심 트랜잭션은 ACID라고 알려진 특성을 갖는다. 💡 Atomicity(원자성) DB에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. 트랜잭션 내의 모든 명령은 반드시 완벽..
[SpringBoot] TDD(TestCode) & JUnit 알아보기 🔍 TDD 란? Test-Driven Development의 약자이다. 테스트 주도 개발이라는 의미를 가진다. 소프트웨어 개발 방법론 중 하나이다. TDD는 개발자가 코드를 작성하기 전에 테스트를 먼저 작성하고, 그 테스트를 통과하는 코드를 작성하는 개발 접근 방식입니다. 🔍 TDD의 목적 💡 코드 품질 향상 테스트를 통해 개발자는 코드의 동작을 명확히 이해하고, 예상치 못한 버그를 사전에 발견할 수 있다. 이는 코드의 품질을 높이고 유지보수를 용이하게 한다. 💡 설계 개선 TDD는 코드를 작은 단위로 분리하고 모듈화 하여 개발하게 한다. 이는 좋은 설계 원칙을 따르고 유연하고 확장 가능한 소프트웨어를 만드는 데 도움을 준다. 💡 빠른 피드백 TDD에서는 작은 단위의 테스트 케이스를 실행하여 즉시 피..
백엔드 커리어 로드맵 - (어떤 백엔드 개발자가 되고 싶은지) 💡 로드맵의 목적 백엔드 개발자로 성장하고자 하는 사람들에게 구체적인 지침을 제공하여 학습 방향을 정할 수 있도록 도와준다. 백엔드 개발에 필요한 핵심 개념과 기술을 단계적으로 익힐 수 있는 구조를 제시다. 다양한 주제와 도구에 대한 학습 순서와 우선순위를 제시하여 효율적인 학습 경로를 제공한다. 백엔드 개발자가 가져야 할 전문성과 역량을 강화하고, 실무에서 요구되는 기술과 업계 트렌드에 부합하는 커리어를 구축하는 데 도움을 준다. 개인의 학습 목표를 설정하고, 성장 계획을 수립하여 지속적인 개발과 진보를 이룰 수 있도록 지원한다. 💡 백엔드 로드맵 백엔드 로드맵이나, 백엔드 공부 순서 및 방법 관련한 키워드에서 많이 보았을 로드맵이다. 여기에 있는 내용들을 전부 할 필요는 없으니 참고 정도만 하면 될 ..