💭/KDT
KDT 7주차 회고(230413~230419)
모팔구
2023. 4. 19. 18:43
728x90
반응형
🎯 목표
💡나는 최고의 프로그래머당!
💡프로젝트 완성하기
💡빡공👊
🖋️ 수업 내용
※ 요약 주의
📆 230413
- 🥟 프로젝트
📆 230414
- 🥟 그저 프로젝트
📆 230417
- ☕️ JAVA
- 배포(deployment): source 파일 -> class 파일 -> 사용
- 빌드(build): 클래스 파일을 실사용하도록 모으는 과정을 빌드라고 함. 즉 컴파일 생성부터 프로덕트 생성까지의 과정
- 이클립스 내에서 자바 프로젝트 빌드하는 법
: file -> export -> Java -> Runnable JAR file -> Launch configuration: 실행시킬 main메서드가 있는 파일 선택, Export destination: 저장 경로 선택 -> finish 클릭 - cmd에서 jar파일 실행하기: java -jar 프로덕트명.jar
- 🐬 Database
- 프로젝트 발표
📆 230418
- 🎈웹 프로그래밍(프엔)
- 이번 과목에서 배울 것: html, css, javascript, jquery, ajax(ㄷㄷ)
- html 태그: <h1>~<h6>, <pre>, <p>, <style>, <!-- -->, <a>,
- 속성: id(#), class(.), <a href>
- 특수문자 사용: < - <, > - >, 공백 -
- css 정의: head태그 내에서 <style> 내에 정의함
background-color: 색상코드;, font-style: italic, font-size: px크기, font-weight: bold;
- ☕️ Advanced Java
- 이번 과목에서 배울 것: Collections, Thread, I/O, 네트워크
- Vector, ArrayList에서 사용가능한 메서드:
add(Object), add(int, Object), addElement(Obejct), get(int), set(int, Object), remove(int), remove(Object), cleear(), removeAll(Collections<?>), contains(Object), indexOf(Object), lastIndexOf(Object), toArray() - Collections(List, Vector 등등)에 add로 값을 넣을 때에는 객체만 받는다.
기본형 값을 넣을(add())) 때에는 보통 기본형 값을 다룰 때처럼 넣어도 됨 그건 래퍼클래스들이 오토박싱을 해주기 때문 - Collections 객체를 출력할 때 toString()을 사용하지만 바로 참조변수를 출력해도 된다.
- index를 의미하는 int자리에 냅다 Vector에 들어있는 숫자나 캐릭터 값을 넣으면 인덱스번호로 이해하기 때문에 new Integer(값)(new Character(값)) 또는 Integer.valueOf(값)(Character.valueOf(값))을 이용해 객체화해야 인덱스값과 헷갈려하지 않는다.
- Generics: 클래스 내부에서 사용할 데이터의 타입을 객체를 생성할 때 외부에서 지정해주는 기법으로 객체를 선언할 때 <>안에 그 객체의 내부에서 사용할 데이터의 타입을 정해주는 것을 말한다. 제네릭을 이용해 선언하게 되면 해당 데이터 타입 이외의 다른 종류의 데이터를 저장할 수 없다. 이 때 제네릭으로 선언될 수 있는 데이터 타입은 클래스형이어야 한다. 그래서 기본형은 해당 래퍼 클래스를 사용하여야 한다. 제네릭 타입으로 선언하게 되면 데이터를 꺼내올 때 별도의 형변환이 필요 없다.
ex) Vector<Integer> vector = new Vector<>(); -> int형 데이터만 담을 수 있는 벡터 - ArrayList의 기본적인 사용법은 Vector와 같다
📆 230419
- 🎈웹 프로그래밍(프엔)
- css의 스타일 종류
- border-width: 블럭의 테두리의 두께를 설정
- border-color: 블럭 테두리의 색을 설정
- border-style: 블럭 테두리의 스타일, 모양을 설정함
- 위 세가지를 border로 압축해서 쓸 수 있는데 순서를 지켜야함. border: width style color; 이런식
ex) border: 3px solid beige;
셋중 style만 필수라 style만 정의하고 나머지는 정의하지 않아도 됨.
ex) border: solid; - 상하좌우 중 몇가지만 선택할 수 있는데 border-(위치-)(종류)라고 지정함. 위치의 종류는 top, bottom, left, right가 있음
ex) border-left: 3px solid red; - 상하좌우 중 특정 몇개만 지울 수 있음
ex) border-left: none; - 텍스트 정렬: text-align: center, right, left 등등 값을 넣을 수 있음.
- width: 너비를 지정함. 픽셀값(절대적 크기)이나 퍼센트값(상대적 크기, 권장)으로 지정할 수 있음
- margin(-위치): 여백을 준다는 의미. 픽셀값(절대적 크기)이나 퍼센트값(상대적 크기, 권장)으로 지정할 수 있음. 왼쪽 위를 기준으로 하기 때문에 오른쪽 아래는 무시될 수 있다. 가운데로 두고 싶으면 상하여백만 지정하고 좌우는 auto로 지정하면 된다. div에 해당 스타일을 지정하면 한쪽으로 쏠려 있는 모습을 볼 수 있는데 이는 글자를 기준으로 auto를 한 것이 아니라 블럭을 기준으로 지정하기 때문이다.
margin: 50px -> 상하좌우 모두 50px
margin: 20px 50px -> 상하: 20픽셀, 좌우: 50픽셀
margin: 20px 50px 30px -> 상: 20, 좌우: 50, 하: 30
margin: 20px 50px 30px 40px -> 위쪽을 기준으로 시계방향으로 읽음 상:20, 우: 50, 하: 30, 좌: 40 - list-style-type: list의 disc모양을 지정함
- 같은 아이디를 가지는데 특정 태그에만 하고 싶다면 태그#아이디이름 이런식으로 하면된다
- list-sytle-image: list의 disc모양을 이미지로 지정할 수 있음 html파일과 같은 경로 또는 해당 폴더의 하위 폴더에 존재하면 url로 경로를 지정해 사용할 수 있다.
ex) list-style-image: url(./images/image.png); - height: 블럭의 세로길이를 지정. 픽셀값(절대크기)로만 지정할 수 있음.
- 블럭요소를 옆으로 배치하는 방법
- float: left로 지정하기(right로 지정하면 오른쪽을 기준으로 배치됨) 단점은 다른 애들도 옆에 붙어버림 ;; 그래서 float를 끝내야함. 해당 블럭요소에 지정하지 말고 br이나 hr에 clear: both;를 지정함
- display: flex
flex-direction: column
이렇게 하려면 정렬될 요소가 한 블록에 감싸져야함.
- css의 주석은 자바와 동일: 한줄 주석 -> //, 블럭 주석 -> /* 여러줄 */ 한줄주석은 잘 안되므로 블럭주석을 사용해주삼
- class나 id를 묶지 않아도 동시에 여러 태그에 스타일을 줄 수 있음
h1, h2, p { } 이런식 - css(cascading style sheet)는 위에서 아래로 실행되는데 우선순위에 따라 실행 순서가 바뀔 수 있음 여러 태그를 콤마로 묶어서 지정하는 것보다 class가 더 높음
- div
- 리스트
- <ul>: 순서가 있는 리스트. <li>태그로 값을 넣음. disc의 모양을 바꿀 수 있는데 이는 css의 list-style-type을 이용함
- w3schools.com
- <a>의 속성 중 target(필수x)은 해당 하이퍼링크가 열릴 때 어느 탭에서 열릴지를 설정한다. _self는 현재 탭에, _blank는 빈탭에서 열린다. 디폴트는 _self이다.
- <img>는 이미지를 넣는 태그이다. 속성으로는 src(필수), alt(권장)이 있다. src는 이미지의 경로를 가져오는 속성이고 alt는 이미지가 안나오면 지정된 값으로 대체되어 표시되는 속성이다.
- <a> 태그 사이에 이미지, 영상 등을 입력해 해당 미디어를 클릭하면 해당 페이지로 이동하는 그런 그런 그런 기능도 있다. .
- css의 스타일 종류
- ☕️ Advanced Java
- 과제풀이
- Stack: 입구와 출구가 같은 구조. 먼저 들어간 놈이 나중에 나오고 나중에 들어간 놈이 먼저 나옴. 후입선출(LIFO)
- 자료 입력: push(입력값)
- 자료 출력: pop() 자료를 꺼내온 후 해당 자료를 스택에서 삭제한다
peek() 삭제없이 자료를 꺼내온다
- Queue: 먼저 들어간 놈이 먼저 나오고 나중에 들어간 놈이 나중에 나옴. 선입선출(FIFO)
- 자료 입력: offer(입력값)
- 자료 출력: poll() 자료를 꺼내온 후 해당 자료를 큐에서 삭제한다
peek() 삭제 없이 자료를 꺼내온다
- Stack과 Queue는 LinkedList를 이용해 사용할 수 있다.
Stack<E> stack = new LinkedList<>();
Queue<E> queue = new LinkedList<>(); - isEmpty(): 컬렉션이 비어있으면 true, 아니면 false
- 정렬과 관련된 인터페이스로 Comparable과 Comparator가 있다.
- Comparable은 Collections에 추가되는 데이터 자체에 정렬 기준을 구현( = 내부 정렬 기준)하고 싶을 때 구현하는 인터페이스. 이를 구현한 클래스는 compareTo()메서드를 재정의한다.
String, Wrapper, Date, File 클래스에는 이미 Comparable이 구현되어 있다.(오름차순)
Collections 객체에서 사용할 때에는 Collections.sort(참조변수명);하면 오름차순으로 자동 정렬된다. 내림차순으로 정렬하려면 외부정렬이 필요함 - Comparator는 외부에 별도로 정렬 기준을 구현( = 외부 정렬 기준)하고 싶을 때 구현하는 인터페이스. 이를 구현한 클래스는 compare()메서드를 재정의한다.
- compare()메서드는 int값을 반환하는데 반환값이 0이면 같은 값이므로 바꾸지 않고, 양수이면 두 값의 순서를 바꾼다. 음수이면 바꾸지 않는다.
- 외부정렬을 구현하려면 해당 정렬을 구현하는 클래스를 만들고 compare()를 오버라이딩한다. compare() 메서드를 이용해 정렬하는 기준을 정해준다.
- 정렬된 클래스의 compare() 메서드를 사용하려면 Collections.sort(정렬할 리스트, new 구현한 클래스());
- Comparable은 Collections에 추가되는 데이터 자체에 정렬 기준을 구현( = 내부 정렬 기준)하고 싶을 때 구현하는 인터페이스. 이를 구현한 클래스는 compareTo()메서드를 재정의한다.
- shuffle(): 컬렉션에 있는 자료들을 무작위로 섞는 메서드
💭 기록
프로젝트 끝나고 발표도 끝나고.. 다 끝난 기분이 드는데 이럴 때일수록 마음을 더 잘 잡아야겠다는 생각을 했다. 학교를 다닐때도 중간고사만 끝나면 바로 해이해져서는 공부해야된다는 것을 받아드리는데 일주일은 걸렸는데 여긴 하루가 일주일같마냥 휙휙 지나가니까.. 이럴 때일수록 마음을 더 잘 잡 자 는 생 각
그리고 이전부터 싫다고 블로그에 고백했던 쌤의 수업이 끝났다 ,,^.^,, ㄴㅇㅅ! 프엔과 고급자바를 배우는데 두 쌤 모두 넘나 마음에 든다 프엔 쌤은 수업동안 쉴틈을 안줘서 굉장히 타이트한데 정신 바짝 차릴 수 있어서 좋다. 고급자바 스앵님은 정말 친절하시고 기초자바 스앵님이 대충 넘어갔던 부분을 다시 꼼꼼히 복습해주셨다 짱최고셈 앞에서 스앵님들때문에 했던 맘고생에 대한 보답을 받은 기분이 들었다 하하 앞으로 잘해보자구웅
728x90
반응형