분류 전체보기
-
우아한테크캠프 Day13우아한테크캠프 2018. 7. 18. 23:12
나무보다 전체적인 숲을 보면서 먼저 틀을 잡는 연습을 할 것 (문제를 단순화 시켜서 연습할것)ex. 페이스북을 만들겠다라고하면 div를 여러개 만들어서 이것을 어떻게 배치할지 큰 틀을 먼저 잡아야 한다.중요하고 어려운건 색깔 같은 것이 아니라 배치를 어떻게 할 것인가다. (배치, 위치, 간격 etc...) by. 크롱 head 태그웹페이지의 메타 데이터 (웹페이지에 대한 정보) class CSS의 스타일을 만들고 이를 부르는 용도클래스 명을 지을 때는 명사를 쓴다. 그리고 '-' 또는 '_'를 통해 부연설명을 해주면 된다. ex. member-two CSS 파일을 html페이지에 적용하는 3가지 방법inlineinternalexternal id보통 id는 레이아웃을 잡는 바깥쪽 영역의 태그에 주로 부여한..
-
우아한테크캠프 Day12우아한테크캠프 2018. 7. 17. 21:38
JVM 메모리 구조 JVM 메모리 구조는 왜 알아야 할까? 성능1. 같은 프로그램이더라도 메모리 관리에 따라 성능이 좌우된다.2. 메모리 관리가 되지 않으면 속도 저하나 튕김 등이 일어날 수 있다. 자바 컴파일러(Java Compiler)자바 코드(.java)를 바이트 코드로 변환한다. 클래스 로더(Class Loader)클래스를 사용하는 시점에 해당 클래스의 바이트코드를 메모리에 로딩한다. (런타임시 동적으로 로딩)(JVM은 우선 JRE 시스템 라이브러리에서 해당 클래스를 찾는다. 없으면 CLASSPATH 환경변수에 지정된 경로에서 클래스를 찾게된다.) 실행 엔진(Execution Engine)바이트 코드를 명령어 단위로 읽어서 실행한다. GC(Garbage Collector)어플리케이션에서 생성한 객..
-
우아한테크캠프 Day11우아한테크캠프 2018. 7. 17. 00:09
자바스크립트delegation을 이용하면 일일이 동적 이벤트를 걸어주는 로직이 필요 없어진다.(감싸고 있는 상위 태그에 이벤트 리스너를 걸어주는 개념이기 때문이다. 그리고, 실제로 이벤트가 발생한 대상은 target으로 찾는다.)function deleteAnswerHandler(evt) { if(evt.target.className !== "delete-answer-button") return; evt.preventDefault(); const questionId = $(".submit-write input").value; const answerId = evt.target.getAttribute('data-id'); 제네릭 (Generics) JDK1.5~클래스 내부에서 사용할 데이터 타입을 인스턴스를..
-
애노테이션우아한테크캠프 2018. 7. 15. 22:59
애노테이션 (주석, 메모 ...)프로그램 자체에 어떤 영향을 안 주면서도, 어떤 역할을 하는지 알려주는 역할 (미리 약속된 형식이 있음)ex) '@Test'라는 애노테이션을 메소드에 붙이게 되면, 메소드가 포함된 프로그램에는 아무런 영향을 안 주면서도, 테스트 프로그램에게 해당 메소드를 테스트해야 한다는 사실을 알리게 된다. 표준 애노테이션자바에서 기본적으로 제공하는 애노테이션ex) @Override, @Deprecated, @SuppressWarnings ... 메타 애노테이션애노테이션을 정의하는데 사용되는 애노테이션ex) @Target, @Retention, ... 마커 애노테이션(애노테이션의) 요소가 하나도 없는 애노테이션 애노테이션 요소의 규칙1. 요소의 타입은 기본형, String, Enum, ..
-
우아한테크캠프 Day10우아한테크캠프 2018. 7. 14. 01:29
할 줄 아는 것만 하면 지금보다 나아질 수 없다 (From 쿵푸팬더) Day10 학습 내용 오늘은 무한도전에 나오셨던 한명수 이사님의 특강을 들었다. 개인적으로 많은 것을 생각할 수 있었던 뜻 깊은 시간이었다. 우리는 흔히 무언가를 알고 있다고 착각한다. 스스로가 용어에 대한 정의를 명확히 내려야 한다 (include 추상적인 개념)ex) 개발이란, 창의력이란, 포트폴리오란 etc ... 개념에 대한 정의가 명확히 있다면 결과는 다르다. (방향성이 생기기 때문에) 깊이 있게 하려면 그 일을 좋아해야 한다.의미가 있지 않다면 그 일을 할 이유가 없다. 쉬운 인터페이스 뒤에 엄청난 고민과 노력이 있다. 두 번째 특강으로 "자바 ORM 표준 JPA 프로그래밍" 책을 집필하신 김영한 님의 강의를 들었다. 유쾌하..
-
자바 ORM 표준 JPA우아한테크캠프 2018. 7. 13. 01:08
데이터베이스 방언SQL 표준을 따르지 않거나, 특정 데이터베이스만의 고유한 기능(각각의 데이터베이스가 제공하는 SQL문법과 함수는 조금씩 다르다.) JPA는 특정 데이터베이스에 종속적이지 않은 기술hibernate.dialect 속성을 지정하면 된다. 하이버네이트는 45가지 방언을 지원한다. 데이터베이스 방언을 이용해서 데이터베이스에 맞는 적절한 쿼리문을 생성한다. 애플리케이션 개발1. 엔티티 매니저 팩토리 생성2. 엔티티 매니저 생성3. 트랜잭션 생성4. 비지니스 로직(CRUD) 엔티티 매니저 팩토리는 한개만 생성해서 애플리케이션 전체에서 공유한다.엔티티 매니저는 스레드간에 공유를하면 안된다. (사용하고 버려야 한다.)JPA의 모든 데이터 변경은 트랜잭션 안에서 실행된다. 객체지향쿼리 JPQLJPA는 ..
-
우아한테크캠프 Day09우아한테크캠프 2018. 7. 12. 20:53
오늘은 호눅스의 첫 번째 수업이었다. 주제는 git, 원리 위주의 수업이었다. Day09 학습 내용 Git의 물리적인 저장소워킹 디렉토리스테이지로컬 저장소원격 저장소 git init : 초기화 .git = 로컬저장소※ 개발자는 워킹 디렉토리를 건드릴 뿐, 로컬 저장소를 건들지는 않는다. git status : 워킹 디렉토리와 stage의 차이점을 보여주는 명령어 git add : 변경사항을 stage(index)에 올리는 명령어※ 물리적으로 stage는 .git 안에 있다. (논리적으로 이해하기 쉽게 별도의 공간이 있다고 그리는 것일 뿐) git commit : 스냅 샷(저장)하는 명령어 ※ 커밋하는 이유? 특정 커밋한 시점으로 되돌아가기 위해 커밋도 .git에 저장한다. commit은 항상 부모에 대한..