본문 바로가기

분류 전체보기135

[스프링부트] 등장 배경, 주요 특징, 핵심 4가지 목차 LIST 프레임워크란? 소프트웨어 개발을 수월하게 하기 위한 소프트웨어 개발 환경입니다. 프레임워크는 frame(틀)과 work(일하다)의 합성어로 일하기 쉬운 틀을 제공하는 것입니다. 프레임워크는 정해진 틀에서 개발해야 한다는 단점이 있지만 개발 효율은 높다는 장점이 있습니다. 프레임워크는 애플리케이션을 개발할 때 전체적인 구조를 잡기 위해 사용하는 것이고, 라이브러리는 개발을 하는 과정에서 필요한 기능을 구현하기 위해 사용하는 것입니다. 스프링과 스프링 부트? 스프링의 등장 배경 엔터프라이즈 어플리케이션이라는 용어는 대규모의 복잡한 데이터를 관리하는 애플리케이션입니다. 은행 시스템을 생각해보면, 몇 천만명의 사람이 한꺼번에 잔고를 조회하고 입금이나 출금 요청을 하거나 새로운 통장을 개설하기도 합.. 2023. 5. 30.
[프로그래머스] 뒤에 있는 큰 수 찾기 Java 풀이 조건 : 4 ≤ numbers의 길이 ≤ 1,000,000 위 조건때문에 시간 복잡도가 O(n^2)가 되면 타임아웃이 납니다. 따라서 이중포문 사용하면 안됨 public class Main { public static void main(String[] args) { int[] numbers = {9, 1, 5, 3, 6, 2}; int[] res = solution(numbers); for (int r : res) { System.out.print(r); } } public static int[] solution(int[] numbers) { int N = numbers.length; int[] results = new int[N]; Stack stack = new Stack(); stack.push(n.. 2023. 5. 28.
[프로그래머스] 과제 진행하기 Java 풀이 한줄 요약 : HH:mm 포맷이 나오면 '시간*60+분'을 사용한다. stack사용 첫 번째 풀이) 이 풀이로 통과 했으나, 다른 사람들은 시간 다루는 부분을 어떻게 했는지 확인해봤다. 나는 12:20 과 같이 시간으로 들어오는 값을 HH:mm 타입의 dateformat으로 계산했는데, 다른사람들은 '시간*60+분' 으로 minutes로 변경해서 start를 저장해서 사용하는 것을 확인했다. 나중에 문제 풀 때 도움이 많이 될 것 같아서 이 방법으로 변경하기로 결정 import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.TimeUnit; public class Main { public static void mai.. 2023. 5. 27.
[프로그래머스] 리코쳇 로봇 Java 풀이 개인적으로 좋았던 문제 bfs+dp를 정석으로 사용할 수 있다. 알고리즘을 풀 때 map과 방향이 나오면 dir_x, dir_y는 무조건 사용해 주는게 좋다. 아래 코드에서는 n = board.length, m = board[0].length() 이런식으로 빼주면 더 깔끔해질듯 bfs를 활용한 탐색을 할 때 주의해야 하는 점 1. visited 사용 2. map을 벗어나지 않게 조건 (x >= 0 && x = 0 && y < board[0].length()) 여기까지는 dp+bfs 기본이고 문제에 맞게 조건을 더 추가해주면 된다. import java.util.LinkedList; import java.util.Queue; public class Main { publ.. 2023. 5. 25.
[Git] 3-way merge와 rebase를 이용한 fast-forward merge 목차 LIST 3-way 병합하기 3-way merge는 쉽게 말해서 내 브랜치 커밋, 다른 브랜치 커밋을 병합해서 새로운 커밋을 생성하는 방법입니다. 어떤 상황에서 사용되는지 아래 예시로 살펴보겠습니다. 예시 상황 : '댓글 달기' 기능 개발을 완료하고 [master] 브랜치에 머지하고 릴리즈 했습니다. 그리고 [master] 브랜치에서 [feature] 브랜치를 따서 '좋아요' 기능을 개발하고 있는데, 앞서 개발한 '댓글 달기' 기능에 버그가 발견되었습니다. 작업 중이던 [feature] 브랜치의 작업은 다행히 커밋이 된 상황. 이때, hotfix 브랜치를 사용해서 댓글 달기 기능의 버그를 수정하려고 합니다. 1. 상황 설정 # [feature1] 브랜치 생성 및 이동 (master) $ git ch.. 2023. 4. 9.
Git 명령어 기본부터 심화까지 목차 LIST   Git은 소스코드 버전 관리 시스템이며, Git으로 관리하는 프로젝트를 올려둘 수 있는 Git 호스팅 사이트 중 하나가 GitHub입니다. GitHub 외에도 GitLab, BitBucket 등 다양하게 있습니다. Git 시작하기용어 정리용어설명워킹 트리(Working tree)워킹트리, 워킹 디렉토리, 작업 디렉토리, 작업 폴더 모두 같은 의미이다.커밋을 체크아웃하면 워킹 트리가 해당 커밋 상태로 업데이트 되는데,정확하게는 작업 폴더에서 [.git]폴더인 로컬저장소를 뺀 나머지 부분이다.로컬저장소(Local repository)git init으로 생성되는 [.git] 폴더로 커밋, 스테이지가 이 폴더에 저장됨원격저장소(remote repository)로컬 저장소를 업로드 하는 곳이며,.. 2023. 4. 4.
반응형