stash 명령어 Stash 명령을 사용하면 워킹 디렉토리에서 수정한 파일들만 저장한다. Stash는 Modified이면서 Tracked 상태인 파일과 Staging Area에 있는 파일들을 보관해두는 장소다. 아직 끝내지 않은 수정사항을 스택에 잠시 저장했다가 나중에 다시 적용할 수 있다 - 'git-scm.com' ① 도움말 확인 $ git stash --help ② stash 저장 목록 확인 $ git stash list ③ 작업 내용 임시 저장 $ git stash push -m "메시지 작성" 👉 이 경우 Tracked 파일이면서 Modified 상태이거나, Staging Area에 있는 파일만 대상이 됨 $ git stash push -um "메시지 작성" // untracked 파일까지 전부..
오래전 기술 블로그, 유튜브 통해 추천받아 알게 된 도서로 회사 도서관에 있길래 대여해서 읽어 보았다🤔 요약👨💻 신입 웹 개발자 뿐만 아니라 연관 직군에 있는 사람에게 권장하고 싶은 도서 였습니다 - (경력 기준) 이해가 쉽게 되고, 다른 사람한테 어떻게 설명하면 좋을지 가이드가 되는 도서 - 방대한 웹 개발에 대한 지식(웹, 프론트, 백엔드, DB, 서버 등)을 풀어 이해 돕기 위해 고민한 흔적이 느껴지는 도서 - 비전공자뿐만아니라 웹 개발 시작하는 주니어에게도 추천하고 싶은 도서 - 2시간 정도 가벼운 마음으로 읽기 좋은 도서 (단, 깊이는 다른 도서에서 찾길) HTML이 프로그래밍 언어가 아니라는 점입니다. HTML은 컴퓨터에게 특정 일을 시킬 수 있는 언어가 아닌 단지 브라우저가 볼 수 있는 문..
문제 페이지 작업 중에 URL이 겹치는 부분이 발생해서 원하는 view 로 이동하지 않는 것을 확인함 /* # 예시 - /log/index 입력시 로그와 관련된 index 페이지로 가기 원하지만 - (문제) 아래에 PathVariable({service}) 부분에 다 걸려버림 */ @RequestMapping(/{service}/index) // log 단어를 제외하고 여기에 다 걸렸으면 좋겠음 public String index(){ return "index" } @RequestMapping(/log/index) //내가 원하는 곳 public String logPage() { return "index" } 정보 찾아보니 표현식으로 필터링 가능하다는 것을 확인함 ! 해결 정규 표현식(regex) 사용해..
개요 ORM 으로 Hibernate를 맨땅에서 시작한지 3개월 차, 요구사항 기능 구현하는데 custom function이 필요하게 되었다. 상세한 내용은 생략하고 설정 방법과 Criteriabuilder로 어떻게 function을 사용해서 호출했는지에 대해서만 기록함 1. Mysql function 생성 Mysql v8.0에는 regexp_replace가 있지만, Mysql5.7에는 없어서 인터넷에 굴러다니는 create function문 수정해서 사용 regexp_replace_cast() 로 특수문자/영문 지우고 BIGINT형 값 리턴하도록 함.(아래 링크 참조) https://dev-ljw1126.tistory.com/123?category=1001277 2. Hibernate 설정 import ..
개요파일명 내에 숫자 범위 검색 가능하도록 검색 필터 기능 추가 요청받음Mysql v8.0 부터 regexp_replace() function 이 지원되는데, 테스트 DB 버전 확인 결과 v5.7 이었음😅인터넷에 있는 소스는 동작하지 않아, 직접 mysql function 선언 복습/정리함 Mysql 함수 선언 형식CREATE FUNCTION '함수명'(파라미터명 as 타입, ...) ----- ①RETURNS 반환할 데이터 타입 ----- ② BEGIN 선언문, 수행할 쿼리 .. ----- ③ RETURN 반환할 값 ----- ④END 설명① Function Arguments/parameters함수 매개변수/파라미터 명칭 및 타입 선언 // ex. name VARCH..
href title target download 참고 http://www.tcpschool.com/html-tags/a
tag 명령어 local에 있는 태그 조회 $ git tag local 태그 삭제 $ git tag -d 태그명 local 특정 커밋에 태그 추가 $ git tag 태그명 커밋ID 👉 default로 현재 HEAD 표시된 commit에 tag 추가 가능 remote 서버에 있는 tag 확인 $ git ls-remote --tags remote 서버에 있는 tag 내려받기 $ git fetch origin --tags 🔗https://stackoverflow.com/questions/8432953/how-to-update-local-tags-to-match-remote remote 서버에 있는 tag 삭제 $ git push origin --delete 태그명 remote 서버에 tag 올리기 $ git ..
개요 - (2022년 기준) AWS console 접속해서 MFA 설정하는 방법 정리 - 결과적으로 AWS 계정에 Google OTP 인증 보안 설정 추가하는 거 였음 설정⚙ ① 접속 후 최초 비밀번호 변경 root로 부터 할당 받은 계정으로 IAM 사용자로 로그인함 https://console.aws.amazon.com https://console.aws.amazon.com/console/home console.aws.amazon.com ② 상단 검색🔍에서 IAM 입력 → 사용자(USER) 선택 이후 목록에서 본인 계정 아이디 클릭한다 ③ [보안 자격 증명] 탭 선택 할당된 MFA 디바이스 항목에 있는 관리⚙ 클릭🖱 ④ Goolge Authenticator App 설치 후 MFA 등록 절차 진행 ⑤ 재..
개요 IntelliJ 기본 Terminal 이 cmd.exe이다 보니 불편한게 많음 자주 사용하는 Git Bash로 기본 설정 변경 설정 변경 Setting(⌨ : ctrl + alt + s) > Tools > Terminal 메뉴 이동 Shell path 가 default 로 cmd.exe 되어 있는데 아래와 같이 변경 "C:\Program Files\Git\bin\sh.exe" -login -i 재시작 후 확인 저장 후 인텔리제이 재시작 하면 Terminal(⌨ : alt + f12) 탭이 git bash 로 변경됨 갓 텔리제이 ! 찬양해 찬양해✨ WSL 의 경우 shell path에 아래와 같이 기입 후 확인 (alt + f12) wsl.exe Ubuntu 의 경우 아래 글은 zsh로 설정한 후 터..
개요- ODBC 설정 삽질 과정 정리한 내용 기재함(2021년산)- DA# Modeler로 MySql 연결하여 논리/물리 ERD 생성가능- ODBC 설정만 잘 하면 DB Reverse 통해 테이블 목록 선택해서 알아서 그려줌👍- ERD 이미지 Export 기능 지원👍그외 사용해 본 Tool 1. DBeaver Community장점-편리하다 → DB 연결되어 있으면 테이블 드래그해서 ERD 그릴 수 있다 ( 물리/논리 ok )-무료 버전 , Community 버전 존재 단점개인 목적으로 사용하는 것은 상관없으나, 회사에서 사용할 경우 라이센스 문제 발생 가능 2. ERWin 7.3 (평가판)장점DB 연결 물리 ERD 작성 가능 단점-논리 ERD 작성 불가 🎃 , 2021년 본사 Email 문의 결과 ..
cmd.exe 에 명령어 한 줄 입력하면 간단하게 현재 노트북 배터리 성능/효율 확인 가능함 cmd.exe 실행은 윈도우 버튼 눌러서 검색하거나, 단축키(윈도우 + R) 누른 후 cmd 입력해서 확인 누르면 실행됨 1. cmd.exe 그냥 실행하는 경우 > powercfg/batteryreport // cmd.exe 실행 후 해당 명령어 입력 작업 완료되면 C 드라이브 특정 경로에 결과 파일📄 생성 해줌 공식 : ( FULL CHARGE CAPACITY(현재 총 충전용량)/ DESIGN CAPACITY(설계용량) ) * 100 실제 계산 → ( 46,789 / 51,282 ) * 100 = 91.23 % 3년 사용한거 치고는 나쁘진 않다. 🤔 2. cmd.exe 관리자 권한으로 실행할 경우 > power..
- 자바 ORM 표준 JPA 프로그래밍 공부 외에 Spring boot Hibernate 로 파일럿 프로젝트 수행시 해당 에러 발생 - jaxb 라이브러리 추가해주면 됨 ( jdk 11버전 사용 ) - maven repository에서 라이브러리 찾으면 됨 ( https://mvnrepository.com/ ) javax.xml.bind jaxb-api 2.3.1
해당 게시글은 툴에 대한 내용만 개인 기록용으로 포스팅함 보안상 이유로 ip주소와 db 주소는 모자이크 처리한 점, 실무 경험 적은 이에게는 해당 정보가 친절하지 않은 점 양해 바람 - 아래 설정은 쉽게 말하면, MySQL 서버 접속 가능한 서버(ssh 연결) 통해서 연결하도록 하는 것입니다 - 준비가 되어 있는 상태에서 단순히 툴로 연결하는 거에 대해 간략히 다룹니다. (DB계정 생성, 방화벽 허용 다루지 않음) 설정 ⚙ - 상단 탭 메뉴 [Database > Manage Server Connections] 선택 - 하단 [New] 버튼을 누르고 터널링 접속하므로 Connection Method : Standard TCP/IP over SSH 선택 ① SSH 서버 'IPv4주소:포트' 입력 ( ex. ..
DB 접속 정보 설정 ⚙ ① DB Host 주소 입력 ( aws 주소 또는 ip 주소 ) ② DB 포트 입력 (Well-Known Port > 3306/Mysql , 1521/Oracle , 8629/Tibero) ③ DB 계정 아이디 입력 ( ※ root 로는 외부 접속하는 거 아님 ) ④ DB 계정 비밀번호 입력 ⑤ Default Database Schema 명칭 입력 - AWS 서버의 경우 Amazon Aurora MySQL 드라이버 사용 (본인의 사양에 맞는 드라이버 선택하기) - URL의 경우 DB 서버 설정에 따라 get 방식으로 옵션 붙여야 연결되는 경우 있음 SSH 터널링 설정 ⚙ [SSH/SSL] 탭 선택 Use SSH tunnel 체크 후 설정 없을 경우 '...' 눌러서 추가함 ① 터..
1. 형식/포맷팅 중요한 이유 ✔ 가독성에 필수적이기 때문 ① 코드를 수월하게 읽어 나갈 수 있다. ② 아마추어처럼 보이지 않는다. ③ 형식을 맞춤으로써 버그 위험을 줄인다. 2. 클린코드 포맷팅 - 행 간격 ✔ 적절한 길이 유지 행(row, 세로) : 200Lines 이하 또는 500Lines 미만 → 현업에서의 대부분의 코드들도 200Lines 정도를 유지한다. → 코드 길이가 200Lines을 넘어간다면, 클래스가 여러 개의 일을 하고 있을 수 있다.(SRP위배) "코드 길이를 200줄 정도로 제한하는 것은 반드시 지킬 엄격한 규칙은 아니지만, 일반적으로 큰 파일 보다는 작은 파일이 이해하기 쉽다." ✔ 밀접한 개념은 가까이, 개념은 빈행으로 분리 - 행 묶음은 완결된 생각 하나를 표현하기 때문에 ..
결론 주석을 작성할 시간에 함수명, 변수명을 이해하기 쉽게 수정하거나 좀 더 간결하게 코드를 짜는 방법에 대해 고민하는 게 좋다👍 1. 주석을 최대한 쓰지 말자 ✔ 주석은 나쁜 코드를 보완하지 못한다. ① 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문이다. ② 이는 곧 작성자가 의도를 명확히 표현하지 못했다는 것을 뜻하기도 함 👉 난장판을 주석으로 설명하지 말고 개선하는데 시간을 보내자 ✔ 주석은 방치된다. ① 코드의 변화에 따라가지 못하고, 주석은 방치된다. ② 방치된 주석은 뒤에 읽는 사람에게 혼용 야기 할 수 있다. 👉 관리 하지 못 할 거면 자제하는 것이 낫다. 2. 좋은 주석 👍 1) 법적인 이유로 다는 주석 //Copyright (C) 2003,2004,2005 by Obje..
해당 장을 통해 중복👎, 가독성👍, 재사용성👍 할 수 있는 함수 작성 방법에 살펴 보았다. 1. 함수명 ✔ 동사 + 명사 # init public void initData(){..} // 데이터 초기화 # is/has/can public boolean isNumber(){..} // 숫자 여부 판단 public boolean hasData(){..} public boolean canOrder(){..} # create public Board create(){..} // 새로운 객체 생성 후 리턴 # find public Element findElement(int number){..} ✔ 전치사 + 명사 || 전치사 # to public String toString(){..} // String 변환 pub..
의미 있는 이름 1) 의도를 분명히 밝혀라 2) 그릇된 정보를 피하라 3) 의미 있게 구분하라 4) 발음하기 쉬운 이름을 사용하라 5) 검색하기 쉬운 이름을 사용하라 6) 인코딩을 피하라 7) 자신의 기억력을 자랑하지 마라 8) 기발한 이름은 피하라 9) 한 개념에 한 단어를 사용하라 10) 말장난을 하지 마라 11) 해법 영역에서 가져온 이름을 사용하라 12) 문제 영역에서 가져온 이름을 사용하라 13) 의미 있는 맥락을 추가하라 14) 불필요한 맥락을 없애라 Google Java Naming Gudie - 5. Naming 번역 https://google.github.io/styleguide/javaguide.html#s5-naming Google Java Style Guide 1 Introducti..