해외 여행 갔을 때, 전원 어댑터 규격이 맞지 않았던 경우 있으신가요? 코드를 작성할 때도 마찬가지인 경우가 생길 수 있습니다. 그래서 어댑터 패턴이라는 것이 등장하였습니다. 이는 클라이언트의 요구 타입과 반환 타입이 다를지라도 중간에 어댑터를 둠으로써 둘을 연결해주는 것입니다. public class Math { public static double twoTime(double num) { return num * 2; } public static double half(double num) { return num / 2; } } 기존에 double 타입의 값을 받아 두 배를 반환하는 twoTime 메서드와 절반을 반환하는 half 메서드가 있습니다. 그런데 요구사항이 있습니다. 1. Float 매개변수를 ..
import os 를 통해 내 컴퓨터 안의 있는 파일들을 다룰 수 있다. os.listdir(경로) : 폴더 안의 내용을 문자열로 된 리스트로 출력한다. os.path.abspath() : 해당 파일 혹은 폴더에 대한 절대 경로를 출력한다. os.path.exists() : 해당 경로가 실제로 존재하는 경로인지 True or False로 출력한다. os.path.join() : 여러 경로를 합쳐준다. os.walk() : 파라미터의 경로 아래에 있는 모든 폴더, 파일들을 출력한다. for문과 같이 사용한다. 예시 ) for path, directory, files in os.walk("/"); os.rename(파일의 원래경로, 이동할 경로) : 파일의 이름을 변경해준다. 혹은 파일을 이동시킨다.
Front Controller 도입 전에는 공통 로직을 컨트롤러마다 하나씩 다 만들어야했다. Front Controller 등장 후, Front Controller 서블릿 하나로 클라이언트의 요청을 받을 수 있다. Front Controller가 요청에 맞는 컨트롤러를 찾아서 호출한다. (입구를 하나로 만드는 것) 공통 처리가 가능하다. Front Controller를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다. 공통 코드는 Front Controller에서 처리하고, 서로 다른 코드들만 각 컨트롤러에서 처리할 수 있게 한다.
이전 게시글과 달리 출력 결과는 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는 문자열이 모두 문자로 이루어져 ..
파이썬에는 문자열을 다루기 쉬운 메소드가 많이 있습니다.이것들은 코딩테스트에 유용하게 사용됩니다. 하나씩 정리하자 join 예를 들어 설명하겠습니다. greeting = "안녕하세요"print("메".join(greeting)) // 가독성을 위해 "메" 부분은 보라색 글씨로 지정하였습니다. 출력 결과 : 안메녕메하메세메요 위와 같이, join은 특정문자열.join(객체)로 사용할 수 있습니다.여기서 객체는 문자열 뿐만 아니라 리스트, 튜플, dictionary도 가리킵니다. 특정문자열이 객체에 사이사이마다 들어가서 합쳐집니다. 위의 예시는 "메"가 안녕하세요 사이사이 들어가서 출력 결과가안메녕메하메세메요 로 나온 것을 알 수 있습니다. 이번에는 리스트에 join을 적용해보겠습니다. phone = ["..
r read 기본값 파일 읽기 함수 이것을 사용한 후, write()를 사용하면 에러가 난다. w write 원래 있던 내용들은 모두 지워지고, 다시 새로운 내용으로 쓰여진다. 파일 쓰기 함수 이것을 사용한 후, 파일 읽기 함수를 사용하면 에러가 난다. a append 이 함수를 사용하면, 원래 있던 내용을 유지하면서 기존 내용의 뒷 부분부터 쓰여진다. r+ 파읽 읽기 함수, 쓰기 함수 파일의 커서가 맨 처음으로 옮겨지기 때문에 파일 쓰기 함수를 사용하면 파일의 맨 처음에 내용이 추가된다. w+ 파일 읽기 함수, 쓰기 함수 작동 방식은 w와 동일 a+ 파일 읽기 함수, 쓰기 함수 작동 방식은 a와 동일
git stash 최근 커밋 이후로 작업했던 내용은 모두 스택에 옮겨지고 working directory 내부는 다시 최근 커밋의 상태로 초기화 어떤 브랜치에서 하던 작업을 아직 커밋하지 않았는데 다른 브랜치로 가야하는 상황에서 작업 중이던 내용을 잠깐 저장하고 싶을 때 잘못된 브랜치에서 작업하고 있을 때 git stash를 사용하기도 한다. 해결하는 과정 1. git stash로 stack에 작업 내용을 저장한다. 2. 올바른 브랜치로 가서 다시 git stash apply를 한다. 작업 내용 저장 - git stash 작업 내용 조회 - git stash list 작업 내용 적용 - git stash apply [작업 내용의 아이디] 작업 내용의 아이디를 생략하면 가장 최근의 작업 내용이 적용됨 작업..
차이점 1. rebase는 새로운 커밋을 만들지 않는다. 2. rebase로 만들어진 커밋 히스토리는 merge로 만들어진 커밋 히스토리보다 좀 더 깔끔 merge : 두 브랜치를 합쳤다는 정보가 커밋 히스토리에 꼭 남아야하는 경우 rebase : 커밋 히스토리를 깔끔하게 유지하는게 더 중요한 경우 rebase나 merge나 결과물은 똑같다.