분류 전체보기
-
Visual Studio Code 에서 Git 사용법Etc 2021. 6. 25. 14:19
Given-When-Then Style로 작성 Given : 동작 시작 전 상태, 전제조건 When : 동작 Then : (예상)결과 Martin Fowler의 게시글 참고 Checkout Branch GIVEN, WHEN - master/origin 우클릭 후 Checkout Branch… WHEN - 생성될 브랜치명 작성 후 Checkout Branch THEN - 결과 Git Graph OUTPUT > git checkout -b topic origin/master GIT Delete Remote Branch GIVEN,WHEN - origin/HEAD 우클릭 후 Delete Remote Branch… WHEN - 원격 브랜치 origin/HEAD 를 삭제 하시겠습니까? Yes, delete T..
-
Builder PatternJAVA 2021. 6. 3. 14:42
간략히 설명해서 Builder Pattern을 쓰는 이유는 아래와 같은 코드가 있다고 가정하고 이야기 해보자. new User("junseok", null, null); new User("", "junseok", "email"); new User(null, null, "email"); 지금은 매개변수가 3개 뿐이지만 만약 10개가 넘는 생성자 호출이 있다고 하면 코드만 봐서는 어떤 필드에 값이 들어가는건지 알 수 없고 상당히 추한 모습의 코드가 만들어질 것이다. 위의 방법으로 추한 코드 모습을 만들고 싶지 않은 경우에는 모든 경우의 수를 충족하도록 매개변수를 받는 생성자를 추가해야 한다. 상당한 낭비. new User("junseok"); new User("junseok", "email"); new Us..
-
IETF와 RFCEtc 2021. 6. 2. 05:51
아래는 IETF(https://www.ietf.org/) 사이트의 내용을 구글 번역을 통해 가져온 내용입니다. 구글번역 후 수정한 부분이 없기 때문에 오역이 있을 수 있으므로 원본도 포함하였습니다. 참고하고 봐주시면 감사하겠습니다. IETF와 RFC가 무엇인가? The IETF is the premier Internet standards organization. It follows open and well-documented processes for setting these standards. IETF(Internet Engineering Task Force)는 개방형 프로세스르 통해 개방형 표준을 개발하는 최고의 인터넷 표준 기구입니다. RFCs cover many aspects of computer ..
-
@ConfigurationProperties 사용해보기Spring 2021. 5. 18. 15:10
Annotation Processor를 사용해서 Metadata 생성하기 Configuration Metadata Configuration metadata files are located inside jars under META-INF/spring-configuration-metadata.json. They use a JSON format with items categorized under either “groups” or “properties” and additional values hints categorized under "hints", as sh docs.spring.io Annotation Processor 구성 pom.xml org.springframework.boot spring-boot-c..
-
메서드 추출(Extract Method)JAVA 2021. 5. 18. 13:08
장황한 메서드에는 너무 많은 정보와 복잡한 로직으로 얽혀 있습니다. 어떤 코드를 그룹으로 묶어도 되겠다고 판단될 땐 그 코드를 빼내어 목적을 잘 나타내는 직관적 이름의 메서드로 만들자 메서드 추출을 해야할 때 메서드가 너무 길때 코드에 주석을 달아야만 의도를 이해할 수 있을때 한 클래스의 두메서드 안에 같은 코드가 들어 있는 경우 한 클래스의 두 하위클래스에 같은 코드가 들어 있는 경우 메서드 추출에서 가장 힘든 작업 지역변수를 처리하는 것 방법 기능을 나타내는 이름의 새 메서드 생성 기존 메서드에서 빼낸 코드를 새로 생성한 메서드로 복사 빼낸 코드에서 기존 메서드의 모든 지역변수 참조를 찾는다. 그것들을 새로 생성한 메서드의 지역변수나 매개변수로 사용하게 된다. 빼낸 코드 안에서만 사용되는 임시변수가 ..
-
의미있는 이름[의도를 분명하게 밝혀라]CleanCode 2021. 5. 13. 10:39
의도를 분명하게 밝혀라 의도가 드러나는 이름을 사용하면 코드 이해와 변경이 쉬워집니다. Bad! int a; // 경과시간 위와 같이 a 만 보고는 무슨 의미인지 알 수 없습니다. 다행이도 친절히 주석을 써줬기 때문에 무슨 의미인지 알 수 있었지만 a를 사용하는 모든 코드 line에 a 가 경과시간이라는 주석을 단다는 것은 너무 과하다 생각 됩니다. 또한, 선언부를 찾아가면 되잖아요? 라고 한다면 그건 너무 비효율적인 일이 되지 않을까 싶습니다. Good! int elapsedTimeInDays; int daysSinceCreation; int daysSinceModification; int fileAgeInDays; 우선 저희가 미국 사람이라고 가정하겠습니다. 모르는 영어단어가 없다고 가정하는 것이지요..
-
[MariaDB]CREATE DATABASE/USER, GRANT, FLUSHDatabase 2021. 4. 27. 14:21
mysql root 계정 접속 mysql -u root -p 비밀번호입력 database 확인 show databases; mysql Database 사용(변경) use mysql; 계정(user) 확인 select Host, User, Password from user; database 생성 CREATE DATABASE Create a database. mariadb.com CREATE [OR REPLACE] {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... create_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collatio..
-
[Oracle] User Password 만료 기간을 무기한으로 변경하는 방법Database 2021. 4. 20. 10:03
1. PASSWORD 만료기한을 무기한으로 변경하고자 하는 USER의 PROFILE 확인 SELECT PROFILE FROM DBA_USERS WHERE USERNAME = '유저명' 기본적으로는 PROFILE은 DEFAULT 일 것이다. 2. PASSWORD 만료기한을 무기한으로 변경하고자 하는 USER의 암호화된 비밀번호 확인 SELECT SPARE4 FROM SYS.USER$ WHERE NAME = '유저명' ※ 이 경우는 SYS 로그인 해야 한다. SYS로 로그인하지 않고 하는 방법은 아래와 같다. SELECT DBMS_METADATA.GET_DDL ('USER', '유저명') FROM DUAL; 3. PROFILE의 PASSWORD_REUSE_TIME, PASSWORD_LIFE_TIME을 unl..