일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- GCP
- java
- 백준 11659
- 투포인터알고리즘
- 11659
- vm인스턴스생성
- 구간합구하기
- Spring MVC 구성요소
- 클라우드에서 도커 실행하기
- String.valueOf()
- 코딩테스트
- 싱글톤패턴
- 재귀와반복문
- 성능테스트툴
- OOP
- Array.asList
- 재귀함수
- Spring MVC 동작원리
- List.of
- 버블정렬
- 스택
- 자바
- 코드스테이츠 백엔드
- 프로그래머스
- 백준
- Spring Web MVC
- 코드스테이츠
- MySQL
- 알고리즘
- 인텔리제이
- Today
- Total
목록글 전체 보기 (242)
순간을 기록으로

상황 로컬에서 작업하다가 다른 팀원분이 작성한 코드에 에러가 났다. 그래서 팀원분에게 문의해보니 이전에 삭제한 파일이므로 원격 저장소에서 업데이트를 파일이 삭제되어 해결될 거라고 알려주셨다. 이 상황외에도 최신 원격 저장소를 로컬 저장소에 업데이트해야 될 때 다음과 같이 해결할 수 있다. 설명하기 앞서 간단히 용어를 정의하면 다음과 같다. 원격저장소: 원격 오리지널 저장소. 포크저장소: 원격 오리지널 저장소를 포크한 저장소 로컬저장소: 포크저장소를 로컬로 clone한 저장소 해결 1.원격 저장소를 로컬 저장소와 연결한다. 아마도 원격 저장소를 포크한 뒤 포크된 저장소를 git clone 한다면 연결되어있는 저장소는 포크된 저장소밖에 없을 것이다. 따라서 원격 저장를 추가해야 한다. git remote a..

상황 팀(Organiztion)에서 만든 레포지토리를 포크한 나의 원격 레포지토리를 삭제하려다가 실수로 팀 원격 레포지토리를 삭제해버렸다. 팀 레포지토리를 삭제한 순간 나의 원격 레포지토리도 삭제되었고, 다른 팀원 분들의 레포지토리도 삭제됐다. 우선 빠르게 팀원분들에게 공유하는 것이 중요하다고 생각해 양해를 구하고 PR과 각종 깃 활동을 멈춰달라고 요청했다. 순간 엄청한 실수를 했다는 걸 느낀후 멘붕이 왔지만 침착하게 찾아보니 방법 2가지가 있었다. 해결방법 해결 방법1: 내 스스로 바로 복구하기 내 스스로가 삭제된 레포지토리를 바로 복구 할 수 있는 방법이 있다. 오른쪽 상단 프로필을 눌러 Settings에 들어가고 - deleted repositories를 누른다 개인이 소유한 레포지토리는 복구가 되..

첫 번째 어려움. 사용자 요구사항, 테이블 명세서, API 명세서, 화면 정의서를 만들었지만 정확하다고 말하기 어려웠다. 교육해주신 분도 결국 개발하면서 바뀐다고 말씀해주셔서 일단은 큰 의미를 두지 않고 문서화를 했다. 두 번째 어려움. 그 다음에는 프론트와 백엔드 API 테스트 통신을 해야 했다. API 통신을 하려면 프론트엔드에서 요청을 보내면 서버가 요청을 받아 처리한 다음에 응답을 보내줘야 한다. 그래서 localhost를 외부로 공개하여 프론트엔드에서 요청을 보낼 수 있도록 만들었다. 내가 생각했던 방법은 하나의 테스트 컨트롤러를 가지는 스프링부트를 jar로 만든 다음에 로컬 pc에 실행한 다음 그것을 외부로 공개하는 것이었다. 그러면 프론트가 요청을 해당 컨트톨러로 보낼 수 있고 응답값을 확인..
테이블 명세서를 만들 때였다. 테이블 명세서를 작성하려면 테이블 들이 만들어져야 된다고 생각했다. 하지만 주어진 문서는 사용자 요구사항일 뿐. 우선적으로 스택오버 플로우에 필요한 도메인을 먼저 그려보고 거기서 테이블을 추출한 다음에 테이블 명세서를 만들어야 된다고 생각이 들었다. 하지만 처음하는 설계인 만큼 확신이 없어서 팀원분의 의견에 따라 테이블 명세서를 먼저 작성했다. 후에 느낀 것은 도메인을 먼저 만드는 게 중요하다는 것이다.

상황 로컬에서 작성한 코드를 원격저장소로 올리기위해 push를 하던 상황. 아이디를 입력하고 비밀번호를 입력했는데 아래와 같은 에러가 발생했다. 문제 remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 찾아보니 github에서 최근 비밀번호를 이용한 인증을 더이상 제공하지 않고 개인 엑세스 토큰을 이용한 인증 방법 사용하도록 하고 있다. 해결 비밀번호가 아닌 personal access token을 발급받은 뒤 비밀번호 대신 입력을 해주면 정상적으로 코드가 올라간다. 1.Settings 클릭 2.왼쪽 하단에 Developer settings 클..

문제 분석 DFS 문제. 친구 A,B,C.. 를 정점으로 보고, 'A는 B와 친구다'라는 것 간선으로 이해할 수 있다. 결국 양방향 그래프로 표현할 수 있다. 처음에 문제 주어지는 '이와 같은 관계'가 정확히 어떤 관계인지 몰라서 이해하기가 힘들었다. 결론적으로 각 노드(친구)를 1번만 지나쳐서 5개의 노드가 연결될 수 있느냐라는 관계(DFS방식)으로 해석할 수 있다. 테스트케이스에 대입해서 이해하면 쉽다. 정점이 많은 경우 시간복잡도를 생각해서 인접행렬보다는 인접리스트로 그래프를 표현하는 것이 좋다. 결국 위의 관계만 찾으면 되므로 깊이가 4가 되면 dfs를 멈추고 1을 출력하면 된다. 이 문제는 모든 관계 중 하나의 관계만 깊이가 4(5명이 나란히 연결)가 되는 것을 찾으면 된다. 그렇기 때문에 중간..

문제 분석 N자리 수를 입력하면 N자리 신기한 소수를 모두 출력하는 문제. N자리 신기한 소수란 왼쪽부터 1자리, 2자리, ..., N자리 수 모두 소수인 수를 말한다. 예를들어 7331은 1자리 수 7도 소수, 2자리 수 73도 소수, 3자리 수 733도 소수, 4자리 수 7331도 소수 이므로 신기한 소수다. 참고로 N의 범위는 1

문제 분석 방향 없는 그래프 + DFS 문제. 그래프를 코드로 표현할 때에는 인접행렬과 인접리스트로 표현할 수 있다. 노드 갯수가 1,000개 이상일 경우에는 인접리스트로 그래프를 표현하는게 좋다. 인접리스트의 경우 연결된 정보만을 리스트에 추가하지만 인접행렬의 경우 연결되지 않은 정보(0) 또한 탐색하게 되기때문이다. 우선은 기본적으로 체크배열, 인접리스트를 초기화 한다. 그리고 모든 노드들을 순차 탐색하면서 연결되있는 노드를 DFS한다. 그리고 방문한 노드는 체크를 해줌으로써 다시 방문하지 않게 만든다. 소스코드 package Doit알고리즘; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRea..