Cake 2일차I could use 패턴=> 사용 할수 있다 (x)가 아니라 I need, I want와 의미가 같은 표현임. I could use a vacation. - 휴가 좀 갔으면 좋겠다.I could use a cup of coffee. - 커피 좀 마시면 좋겠다.I could use a nap. - 낮잠 잤으면 좋겠다.You could use a shower - 너 샤워좀 해야겠다.Yon know what, I could use a drink, may be.- 있지, 나 뭐 좀 마시면 좋겠는데.Hey Gina, I couls use your help here.- Gina, 좀 도와주실 수 있나요?I could use a man of your telents.- 너 같이 재능 있는 사람이 필요해..
분류 전체보기
Cake 1일차,It is raining cats and dogs.- 비가 미친 듯이 내린다. It's been raining off and on.- 비가 안오다 오다 하고 있어요. It's a gloomy day.- 우중충한 날이에요. It's been raining all night.- 밤새 비가 왔어요. It's humid- 습해요. It's about to rain- 비가 오려고 해요. bonus) Are you mad at me ?- 너 나한테 화났니?
Map 인터페이스 구현 MyHashMaphashing을 이용한 MyBetterMap은 여전히 성장차수는 선형이었다. (MyBetterMap 포스팅) n개의 엔트리와 k개의 하위 맵이 있다면 하위 맵의 크기는 평균 n/k가 되고, 여전히 n에 비례하게 된다.하지만, n과 함께 k를 늘려간다면 n/k의 크기를 제한할 수 있다. 하위 맵당 엔트리의 개수가 일정하면 단일 하위 맵은 상수시간으로 검색이 가능(해시 함수를 계산하는 것 => 상수시간)MyHashMap 클래스는 MyBetterMap 클래스를 확장하므로 MyBetterMap에 정의된 메서드를 상속한다. 123456789101112131415161718192021222324252627282930public class MyHashMap extends MyB..
해싱의 동작방식해시함수의 근본적인 요구사항은 같은 객체는 매번 같은 코드를 만들어야된다는 것이다. 불변객체(immutable object)일 때는 상대적으로 쉽지만, 가변 객체(mutable object)일 때는 고민이 필요하다. 불변객체(immutable object)의 예객체를 생성할 때 항상 생각해야하는게 equals, hashcode 의 오버라이드 이다.두 메서드는 일치해야 하는데, equals 메서드가 true 이면 해시코드 또한 같아야 한다. 하지만 이 요구사항은 단방향 이기 때문에 두 객체의 해시 코드가 같더라도 그들이 같은 객체일 필요는 없다.String 객체를 캡슐화하는 SillyString 클래스를 정의12345678910111213141516171819202122232425public..
Jtds driver를 다운받아서 SQL Developer에 등록하면 ms-sql-server에 접속 가능 1. https://sourceforge.net/projects/jtds/files/jtds/ 에서 jtds-x.x.x-dist.zip을 다운2. Oracle SQL Developer를 실행 후, 도구 -환경설정 - 데이터베이스 - 타사JDBC 드라이버 페이지로 이동3. 압축을 푼 파일안에 jtds-x.x.x.jar 파일 등록4. 파일등록 후 접속을 하게되면 SQLSever 패널이 생기므로 정보 입력 후 접속
Map 인터페이스 구현 (MyBetterMap)MyLinearMap클래스보다 Map 인터페이스를 더 잘 구현한 MyBetterMap 정의 MyBetterMap을 좀 더 효율적으로 만든 해싱(hashing)을 소개 해싱(hashing)MyLinearMap 클래스의 성능 향상을 위해 MyLinearMap 객체의 컬렉션을 포함하는 MyBetterMap이라는 새로운 클래스를 정의내장된 맵에 따라 키를 나누므로 각 맵의 엔트리 개수는 더 줄어들고, 이 것은 findEntry 메서드와 그 것을 호출하는 메서드의 속도를 빠르게 함.123456789101112131415161718public class MyBetterMap implements Map { protected List maps; MyBetterMap(int..
Map 인터페이스의 구현 (MyLinearMap) Map 인터페이스의 여러 구현 중 하나는 해시 테이블(hash table)에 기반을 두는데 지금까지 발명된 자료구조 중 단연 으뜸이다. 해시 테이블을 설명하기에 앞서 키-값 쌍으로 이루어진 리스트를 사용하여 간단한 Map 인터페이스를 구현해 본다. MyLinearMap 객체에는 단일 인스턴스 변수 entries가 있는데 Entry객체들을 담은 ArrayList이다. (Entry 클래스는 MyLinearMap의 inner class) public class MyLinearMap implements Map { // MyLinearMap 기본 구현 private List entries = new ArrayList(); public class Entry impl..
성능을 비교할 자료구조는 세가지 이다.앞에서 구현한 MyArrayList, MyLinkedList 와 Java에서 구현되어 있는 LinkedList 이다.앞에서 구현한 MyLinkedList와 Java에서 구현된 LinkedList 차이점은 MyLinkedList는 List 인터페이스만 구현하였고, LinkedList는 List와 Deque 인터페이스를 구현한 이중 연결 리스트이다. 구분 MyArrayList MyLinkedList LinkedList add(끝) 1 n 1 add(시작) n 1 1 add(일반적) n n n get/set 1 n n indexOf/lastIndexOf n n n isEmpty/size 1 1 1 remove(끝) 1 n 1 remove(시작) n 1 1 remove(일반..
MyLinkedList 구현 및 분석Java List 인터페이스를 구현한 MyLinkedList를 작성 123public class MyLinkedList implements List { ..}Colored by Color Scriptercs LinkedList(연결리스트)에 대한 간단한 설명자료구조가 연결되었다 함은 노드(node)라는 객체들이 다른 노드에 대한 참조를 포함한 형태로 저장된 것을 의미한다.연결 리스트에서 각 노드는 리스트의 다음 노드에 대한 참조를 포함한다. (연결 구조의 다른 예로는 트리와 그래프가 있음)이때 노드는 둘 이상의 다른 노드에 대한 참조를 포함한다. LinkedList를 구현하려면 일단 Node를 구현해야 하는데, MyLinkedList 안에 inner class로 Nod..
MyArrayList 구현 및 분석Java List 인터페이스를 구현한 MyArrayList를 작성123public class MyArrayList implements List { ...}Colored by Color Scriptercs get 메서드 구현1234567@Overridepublic E get(int index) { if(index = size) { throw new IndexOutOfBoundsException(); } return array[index];}Colored by Color Scriptercs=> get 메서드에 있는 모든 것은 상수 시간 set 메서드 구현123456@Overridepublic E set(int index, E element) { E old = get(inde..