분류 전체보기

Spring

Front Controller 패턴 특징

Front Controller 도입 전에는 공통 로직을 컨트롤러마다 하나씩 다 만들어야했다. Front Controller 등장 후, Front Controller 서블릿 하나로 클라이언트의 요청을 받을 수 있다. Front Controller가 요청에 맞는 컨트롤러를 찾아서 호출한다. (입구를 하나로 만드는 것) 공통 처리가 가능하다. Front Controller를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다. 공통 코드는 Front Controller에서 처리하고, 서로 다른 코드들만 각 컨트롤러에서 처리할 수 있게 한다.

코딩테스트

파이썬 코딩테스트 문자열 꿀팁 (2)

이전 게시글과 달리 출력 결과는 print() 오른쪽 # 으로 표시하였습니다. count count는 주어진 문자열에서 특정 문자열이 총 몇 번 나오는지 알려줍니다. content = "말리꽃, 장미, 백화, 국화꽃, 장미"print(content.count("장미")) # 2print(content.count("꽃")) # 2print(content.count("백화")) # 1 해당 문자의 수만큼 출력할 수 있다.  in in은 주어진 문자열 안에 특정 문자열이 있는지를 True or False로 알려줍니다. grade = "A B C D F"print("A" in grade) # Trueprint("E" in grade) # False  isalpha isalpha는 문자열이 모두 문자로 이루어져 ..

코딩테스트

파이썬 코딩테스트 문자열 꿀팁 (1)

파이썬에는 문자열을 다루기 쉬운 메소드가 많이 있습니다.이것들은 코딩테스트에 유용하게 사용됩니다. 하나씩 정리하자  join 예를 들어 설명하겠습니다. greeting = "안녕하세요"print("메".join(greeting)) // 가독성을 위해 "메" 부분은 보라색 글씨로 지정하였습니다. 출력 결과 : 안메녕메하메세메요 위와 같이, join은 특정문자열.join(객체)로 사용할 수 있습니다.여기서 객체는 문자열 뿐만 아니라 리스트, 튜플, dictionary도 가리킵니다. 특정문자열이 객체에 사이사이마다 들어가서 합쳐집니다. 위의 예시는 "메"가 안녕하세요 사이사이 들어가서 출력 결과가안메녕메하메세메요 로 나온 것을 알 수 있습니다. 이번에는 리스트에 join을 적용해보겠습니다. phone = ["..

공부하면서 얻은 지식들

파일 모드 (r모드, w모드, a모드, +)

r read 기본값 파일 읽기 함수 이것을 사용한 후, write()를 사용하면 에러가 난다. w write 원래 있던 내용들은 모두 지워지고, 다시 새로운 내용으로 쓰여진다. 파일 쓰기 함수 이것을 사용한 후, 파일 읽기 함수를 사용하면 에러가 난다. a append 이 함수를 사용하면, 원래 있던 내용을 유지하면서 기존 내용의 뒷 부분부터 쓰여진다. r+ 파읽 읽기 함수, 쓰기 함수 파일의 커서가 맨 처음으로 옮겨지기 때문에 파일 쓰기 함수를 사용하면 파일의 맨 처음에 내용이 추가된다. w+ 파일 읽기 함수, 쓰기 함수 작동 방식은 w와 동일 a+ 파일 읽기 함수, 쓰기 함수 작동 방식은 a와 동일

개발/Git

git stash

git stash 최근 커밋 이후로 작업했던 내용은 모두 스택에 옮겨지고 working directory 내부는 다시 최근 커밋의 상태로 초기화 어떤 브랜치에서 하던 작업을 아직 커밋하지 않았는데 다른 브랜치로 가야하는 상황에서 작업 중이던 내용을 잠깐 저장하고 싶을 때 잘못된 브랜치에서 작업하고 있을 때 git stash를 사용하기도 한다. 해결하는 과정 1. git stash로 stack에 작업 내용을 저장한다. 2. 올바른 브랜치로 가서 다시 git stash apply를 한다. 작업 내용 저장 - git stash 작업 내용 조회 - git stash list 작업 내용 적용 - git stash apply [작업 내용의 아이디] 작업 내용의 아이디를 생략하면 가장 최근의 작업 내용이 적용됨 작업..

개발/Git

git merge와 git rebase

차이점 1. rebase는 새로운 커밋을 만들지 않는다. 2. rebase로 만들어진 커밋 히스토리는 merge로 만들어진 커밋 히스토리보다 좀 더 깔끔 merge : 두 브랜치를 합쳤다는 정보가 커밋 히스토리에 꼭 남아야하는 경우 rebase : 커밋 히스토리를 깔끔하게 유지하는게 더 중요한 경우 rebase나 merge나 결과물은 똑같다.

Spring

Maven과 Gradle

Maven과 Gradle은 빌드 관리 도구이다. 빌드 관리 도구는 프로젝트에서 필요한 xml, properties, jar 파일들을 자동으로 인식하여 빌드해주는 것이다. 외부 라이브러리를 참조하여 자동으로 다운로드를 진행하거나 업데이트를 관리하기도 한다. Maven은 자바의 대표적인 관리 도구였던 Ant를 대체하기 위해 개발되었다. 기존 Ant는 빌드의 기능만 가지고 있었다. Maven은 자동으로 라이브러리를 관리해주는 기능을 가지고 있어 Ant를 대체하였다. 만약, 라이브러리에 변동 사항이 있으면 자동으로 업데이트가 가능하다. 그리고 Maven은 pom.xml로 편하게 Dependency를 관리한다. pom.xml ? 1. 프로젝트 정보 관리 2. 해당 프로젝트에서 사용하는 외부 라이브러리 관리 3. ..

개발/Git

git reset 주의할점

이전 커밋으로 git reset을 한다고 해도 그 이후의 커밋들이 삭제되지 않고 남아있다. git reset은 과거의 커밋뿐만 아니라 현재 HEAD가 가리키는 커밋 이후의 커밋으로도 할 수 있다. git reset과 git checkout의 차이점 [git reset] HEAD가 가리키던 브랜치가 다른 커밋을 가리키도록 한다. HEAD도 결국 간접적으로 다른 커밋을 가리키게되는 효과가 생긴다. [git checkout] HEAD 자체가 다른 커밋이나 브랜치를 가리키도록 한다. 브랜치를 통하지 않고, 커밋을 직접적으로 가리키는 HEAD를 Detached HEAD라고 한다.

화서동 병아리
'분류 전체보기' 카테고리의 글 목록 (5 Page)