$ brew search tomcat $ brew install tomcat brew search tomcat를 입력하여 원하는 tomcat의 버전이 있는지 확인한다. 8버전의 톰캣을 설치하기 위해 brew install tomcat@8을 입력하여 버전을 지정하여 설치하였다. brew로 설치를 하면 설치한 파일들은 /usr/local/Cellar 디렉토리 아래에 위치하게 된다. cd 명령어를 사용하여 해당 디렉토리로 이동한다. 해당 디렉토리 아래에는 설치했던 tomcat@8이 위치한다. tomcat@8 디렉토리로 이동하고 해당 디렉토리 아래에는 또 상세한 버전의 이름으로 디렉토리가 있다. 그럼 libexec 디렉토리를 찾을 수 있다. 인텔리제이에는 conf가 위치하는 해당 디렉토리까지의 경로를 입력하여야..
JDK VS JRE VS JVM JDK 자바 개발 도구(Java Development Kit) JVM을 위한 소프트웨어 개발 도구 JRE 자바 실행 환경(Java Runtime Evironment) JVM을 위한 OS JVM 자바 가상 기계(Java Virtual Machine) 가상의 컴퓨터 자바 프로그램은 JDK를 이용해 개발되고, JRE에 의해 JVM에서 실행된다. JDK에 의해 개발된 자바 프로그램을 JRE가 포함하고, 이런 JRE는 JVM에 포함되는 형태로 배포된다. JVM은 자바 코드 컴파일러인 javac.exe를 포함하여 자바 소스 파일인 .java파일을 자바 목적 파일인 .class로 컴파일해준다. JRE에는 자바 프로그램 실행기인 java.exe를 포함하고 있다. 이런 구조로 자바는 플..
새로운 브랜치를 생성하고 git branch -r로 원격 저장소의 브랜치를 출력하면 새로운 브랜치가 보이지 않는다. 따라서 원격 저장소의 정보를 업데이트해줘야 한다. 이때 git fetch 명령어를 사용하면 된다. git fetch를 하고 git branch -r로 원격 저장소의 브랜치들을 출력하면 새로운 브랜치도 출력된다. 로컬 저장소에서 원격 저장소의 브랜치를 가져와서 사용하기 위해서 git checkout -b [로컬 저장소 브랜치명] [원격 저장소 브랜치명]으로 브랜치를 생성해 주었다. 위와 같이 작업을 하고 commit, push를 하면, 원격 저장소의 thirdbranch에 작업 내용이 반영 되는 것을 확인할 수 있다.
로컬 저장소에 매칭되는 원격 저장소의 이름은 같을 수도 다를 수도 있다. 로컬 저장소와 원격 저장소의 브랜치는 매칭되어 있는데 이런 매칭을 트래킹 브랜치(업스트림)가 도와준다. 이런 트래킹 브랜치들은 원격 저장소를 clone할 때 자동으로 설정된다. 위는 작업을 진행할 원격 저장소에 있는 브랜치이다. git brnach -v를 하면 clone한 저장소의 브랜치를 확인할 수 있다. 브랜치 목록을 보면 모든 브랜치를 가져온 것이 아닌 main 브랜치만을 가져온 것을 확인할 수 있다. 원격 저장소의 브랜치 목록을 보기 위해서는 -r 옵션을 주면 된다. 로컬 저장소의 브랜치와 원격 저장소의 브랜치를 모두 확인하고 싶다면 -a 옵션을 주면 된다. 트래킹 브랜치를 모두 확인하고 싶다면 -vv 옵션을 주면 된다. 로..
원격 저장소의 이름과 로컬 저장소의 이름이 일치하지 않을 때 push 하는 방법이다. 위의 이미지를 보면 한 저장소에 main, newbranch 이렇게 2개의 브랜치가 있다. README 파일의 내용을 newbranch에는 new branch라는 내용으로 변경해서 push하려고 한다. README 작업은 main 브랜치에서 이루어졌다. newbranch에 반영하기 위해서 단순히 git push origin main이라고 하면 원격 저장소의 main 브랜치에 반영될것이다. newbranch에 main의 작업을 반영하기 위해서는 "git push 저장소명 작업을한브랜치:push할브랜치" 이렇게 입력을 해주면 된다. 나는 현재 로컬의 main 브랜치에서 작업을 했고, 원격의 newbranch에 push를 하..
Builder 패턴? Builder 패턴은 생성 패턴(creational pattern)의 한 종류이다. 해당 패턴은 복잡한 객체를 생성하는데 도움을 준다. Lombok 빌더 Lombok에서는 @Builder라는 어노테이션을 통해서 빌더를 지원해준다. Book 클래스는 title, price 2개의 필드만 가지는 간단한 클래스이다. 이 클래스에 @Builder 어노테이션을 적용했을 때, 어떻게 빌더 패턴이 적용되는지 확인하겠다. public class Book { String title; Integer price; Book(String title, Integer price) { this.title = title; this.price = price; } public static Book.BookBuilde..
git에서 branch 이동은 checkout 명령어를 사용한다. 이 checkout에 대해서 정리하겠다. 배경이 초록색인 것이 현재 브랜치의 이름이다. 처음에는 main 브랜치에 위치해 있다. git branch newbranch 명령어를 통해 newbranch라는 이름의 새로운 브랜치를 생성하고, git checkout newbranch로 newbranch로 이동을 했다. git checkout newbranch를 실행 후 브랜치의 이름이 변경된 것을 확인할 수 있다. 브랜치를 생성함과 동시에 이동하는 것은 git checkout에 b 옵션을 주어 해결할 수 있다. git checkout -b newbranch를 사용하여 새로운 브랜치를 생성함과 동시에 이동했다. 해당 명령어를 실행하면 "new br..
String s1 = "hello"; String s2 = "hello"; String s3 = new String("hello"); System.out.println(s1 == s2); // true System.out.println(s1 == s3); // false String Pool the special memory region where Strings are stored by the JVM 위는 String Pool을 한 문장으로 설명한 것이다. 해석하면 JVM에 의해 문자열이 저장되는 특별한 메모리 공간이다. Java에서 문자열은 immutability를 가진다. 따라서 JVM은 String Pool을 사용하여 문자열 리터럴의 값을 하나만 저장하는 방식으로 메모리를 최적화 할수 있다. 이런 ..
이 문제는 카카오 신입 공채에 나왔던 문제이고, 당시에 java로 문제를 풀었었다. 조금 늦었지만 어떻게 풀었는지 내 생각을 정리하고자 글을 쓴다. 간단히 어떻게 풀었는지 말하면 경우의 수를 나열하고 검사했다. 이 문제에서 경우의 수는 방문한 노드이고 양의 수가 최대값인지 검사를 했었다. import java.util.*; class Solution { int[] info; HashMap tree = new HashMap(); HashSet set = new HashSet(); int answer = 1; int size; public int solution(int[] info, int[][] edges) { this.info = info; size = info.length; for(int[] e : e..
* 맥OS 실습 환경을 기준으로 작성되었습니다. AspectJExpressionPointcut의 객체를 생성하고 setExpression을 통해 expression 설정을 하는데 모두 같은 색상이라 보기 불편하다. 우선 setExpression에서 option + Enter를 누르면 2번째에 [Inject language or reference]가 온다. 이것을 선택하자. 그러면 리스트가 나오는데 리스트에서 [PointcutExpression]을 선택하면 된다. 그럼 이렇게 색상이 적용되어 구분이 한층 구분하기 쉬워진다.
- Total
- Today
- Yesterday
- mysql
- DGS Framework
- git
- python3
- Python
- 1차 인터뷰
- postman tests
- Kotlin In Action
- 주생성자
- pm.test
- graphql
- pm.expect
- java
- 2차 인터뷰
- 코딩테스트
- hashcode
- github
- solidity
- squash merge
- downTo
- Basic Type
- string
- Squash and merge
- 네이버 2022 공채
- postman collection
- 확장 함수
- postman
- go 특징
- Kotlin
- 코틀린
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |