전체 글(23)
-
[git] 깃 커밋 작성자 이메일 주소 변경
회사에서 잠시 텀이 생겨 허락 하에 개발 공부를 하다, 타 이메일로 깃 이메일을 세팅한 걸 발견했다.개인사용 중인 공부용 레포지토리이므로 수정하기로 했다.방법은 아래와 같다.예를 들어 5번째 커밋까지 바꿀 것이라면 터미널에 아래와 같이 입력한다.git rebase -i HEAD~5그러면 익숙한 vi 에디터가 뜨는데, 바꿀 커밋만 에딧 모드(i)로 바꾼 뒤변경할 커밋의 문자를 pick에서 e로 바꾼다.ESC키 -> :wq 입력해 저장 후 종료하고 아래 명령어를 입력해 작성자를 변경한다.git commit --amend --author="NickName "이후 아래 명령어를 입력한다.git rebase --continue한 커밋에 대한 작성자 변경이 완료되었다.바꾸려는 횟수만큼 작성자 변경-continue를..
2025.03.06 -
[Java 알고리즘 기초] 다중반복문과 삽입/버블/선택 정렬(4장, 1109)
- 독학 교재: 정렬을 배우니 이제 정말 알고리즘을 배우는 실감이 난다. 어려운 내용은 아니지만, 각 정렬을 헷갈리지 않아야 할 것 같다. 다중 반복문 - 반복문 안에 반복문이 있는 걸 말한다. 즉 반복 처리 속에서 또 반복 처리를 진행하는 것. - 다중 반복문을 구성하는 외부와 내부의 반복문이 각각 어떤 반복 조건을 갖는지가 주요 포인트. - 이중 반복문까지는 필수로 알고 있어야 하고, 삼중 반복문은 자주 나오지는 않지만 종종 등장한다. 3차 이상은 잘 쓰이지 않는다고. 워낙 시간복잡도가 높아지다 보니 그런 게 아닐까 생각한다. 구구단 구현 - 다중 반복문 예시 - 외부 루프 카운터가 첫 번째 값으로 설정되고, 그 상태 그대로 내부 루프 카운터가 처음부터 마지막 값까지 변함. public class M..
2022.11.09 -
[Java 알고리즘 기초] 이진 탐색과 시간 복잡도 (3장/ 1105)
- 독학 교재: 시간복잡도 부분은 Udemy 강의도 참고하였다. 보통 알고리즘 책은 Big O 표기법을 설명하면서 시간복잡도를 가장 먼저 설명하는데, 이 책에서는 3장에 나왔다. 선형 검색과 이진 검색을 먼저 배운 뒤 둘의 시간복잡도를 비교하는 방식이라 알기 쉬웠다. 이진 검색(binary search) 정렬된 배열에서 원하는 데이터를 찾는 알고리즘. 선형 탐색은 배열이 정렬되어 있지 않아도 사용 가능한 알고리즘이었다. 이진 검색은 오름차순으로 정렬된 배열을 대상으로 설명한다. 이진 검색 알고리즘의 개요 검색 대상 배열의 중앙 요소를 확인하여 아래 중 하나를 실행 (A) 찾는 값과 같다면, 인덱스를 표시하고 종료 (B) 찾는 값보다 크다면, 검색 대상을 앞쪽으로 한정하여 좁힘 (C) 찾는 값보다 작다면,..
2022.11.05 -
[Java 알고리즘 기초] 반복문, 배열 기본 및 선형 검색 (2장/ 1104)
- 독학 교재: 아직까지는 수월했다. 인터넷서점에서 너무할 정도로 친절하다는 후기를 본 적이 있는데, 진도 나가기 부담스럽지 않아서 좋았다.(C와 자바 배열의 인덱스는 0부터 시작한다거나, 초깃값을 대입해서 변수를 초기화하는 것부터 언급한다. 이 포스팅에서는 생략하였음) 2-1장. 반복문과 배열의 기본 포인트1: 루프 카운터(반복 회수를 세는 변수)와 배열의 인덱스를 대응시키기 포인트2: 변수를 초기화하기 배열 요소의 합을 구하는 알고리즘 구현 자바 공부 경험이 있다면 아래 코드는 정말 익숙할 것이다. sum에 array[i] 값을 더한 후 i의 값을 증가시킨다는 점을 기억해 두자. public class SumOfArray { public static void main(String[] args) { i..
2022.11.04 -
[Java 알고리즘 기초] 알고리즘 워밍업 & 유클리드 호제법/최소공배수 (1장/ 1103)
- 독학 교재: 오늘은 알고리즘의 정의를 다시 내려보면서 알고리즘을 떠올리는 방법을 생각해보고, 문제를 만났을 때 그 처리를 분해하고 흐름을 나누어 실행하는 방법에 대해 공부했다. 보면 당연한 내용인데, 문제를 풀 때 이런 과정들을 따로 의식하지 않고도 자연스럽게 수행할 수 있을 때까지 연습하는 게 포인트일 것 같다. 요즘 기초에 대한 생각을 많이 한다.... 개발은 하지 않고 인터넷강의만 듣고 있거나 하는 것도 실력 향상에 걸림돌이 될 수 있지만, 개발을 하면서 가끔 기초 사항을 모르면 그것도 개발에 구멍이 나 있는 것 같단 느낌을 받아서이다. 그래서 이 책을 빠르게 공부하며 한 번은 개념을 짚고 가고 싶었다. 전에 보았던 에 따르면 알고리즘 문제 해결에 필요한 요소는 독해력, 배경지식, 문제해결력, ..
2022.11.03 -
[스프링부트] 장바구니가 안 뜨거나 중복으로 뜨는 오류 해결 (1102)
문제 상황(1) 상품을 장바구니에 담았다는 alert는 출력되었지만, 장바구니에 물건이 담아지지 않는 오류가 발생했다. 해결방안 1. workBench에서 각 엔티티를 확인한다. 확인 결과 장바구니(Cart) 엔티티는 정상 생성 되었지만, 장바구니 내 상품(CartItem) 엔티티는 생성되지 않았다. 2. CartItem 관련 로직이 있는 파일들을 확인한다. 원래는 저 파란 부분이 없었다...! 엔티티를 생성만 하고 저장하지 않았다. 이걸 빠트리다니ㅠㅠ 추가하고 프로그램을 다시 실행한다. 아마 오류가 하나만 있었다면 이제 정상 작동 될 것이다. 문제 상황(2) 문제가 하나가 아니었다. 장바구니에 물품을 담는 것까지는 되는데, 장바구니에 상품을 하나 담으면 다섯 개가 출력되었다. 이미지가 하나만 출력되는 ..
2022.11.02