우아한테크캠프
-
우아한테크캠프 중간에 빠진 부분우아한테크캠프 2018. 7. 28. 00:43
자바설계 순서1. 로직에 대한 설계를 먼저 진행한다. (DB를 생각하지 말고)※ 데이터 기반이 아니라 객체 기반의 설계를 먼저하고 진행할 것 2. 그 후 테이블설계와 클래스 설계를 진행한다. (이때, 클래스가 많아질 수 있다)테이블은 하나지만 클래스는 여러 개일 수 있다. 도메인 설계1. 도메인 객체 추출2. 도메인 객체들 간의 관계수립 로직에 대한 설계 Dto는 setter/getter 메소드가 있을 수 있지만, 도메인객체는 setter 메소드가 없는 게 좋다. (도메인 객체 = immutable 클래스)중요한 객체인데 실수로 값을 변경할 수 있는 여지를 주면 안 된다.getter 메소드도 웬만하면 만들지 말고 메시지를 객체에 던지는 방식으로 구현할 것 자바스크립트function, object, arr..
-
우아한테크캠프 Day20우아한테크캠프 2018. 7. 27. 01:14
오늘 오전에는 김민태 님과 이동욱 님의 세미나가 있었다.개인적으로 두 분 세미나 모두 너무 좋았고, 위로(?)와 자극을 받을 수 있었다. 주니어를 위한 역량 강화 트레이닝 포인트 (From. 김민태님)역량 강화비법 - 반복반복할 때 조심해야 할 것은 반복하게 되면 습관이 된다는 점이다.따라서 반복을 통해 나쁜 습관을 들이게 되면 나중에 떨쳐내기 쉽지 않다.반복으로 좋은 습관을 가지게 해야 한다. 반복이 잘되는 일들을 생각해보면 동기부여가 잘된 경우였다.But. 동기를 유지하는 것은 정말 어렵다.동기를 유지하는 방법은 -> 가장 중요한 에너지를 어디서 공급받느냐?를 알아야 한다. ex. 결과를 공유하고 피드백 받기비개발 직군에 재능 기부하기노가다를 없앨 수 있는 도구 만들기동료에게 도움되는 도구 만들기민태..
-
우아한테크캠프 Day17우아한테크캠프 2018. 7. 25. 23:25
아래는 배민찬 서비스 중 회원가입과 로그인 기능을 구현하며, 배운 것들을 정리한 것이다. 스프링은 새로운 객체를 무조건 관리하지 않는다. 따라서, 객체에 무엇인가를 주입해주려면 객체를 Spring 관리 컴포넌트로 만들어줘야 한다. (@Component) Day17 학습 내용 웹 애플리케이션을 개발하다 보면 MessageSource가 변경될 경우 MessageSource를 반영하기 위하여 애플리케이션 서버를 재시작하는 경우가 많다. 이러한 문제를 해결하기 위해 스프링에서는 ReloadableResourceBundleMessageSource 클래스를 지원하고 있다. 이러한 기능 때문에 ReloadableResourceBundleMessageSource 클래스를 사용할 때는 파일이 변경되었는지를 모니터링 하기..
-
우아한테크캠프 Day15우아한테크캠프 2018. 7. 23. 08:20
오늘은 개인적으로 너무 배우고 싶었던 자바스크립트를 배웠다. 시간상 많은 것을 배우진 못했지만, 자바스크립트의 매력을 충분히 느낄 수 있었다.앞으로 틈틈이 공부해야겠다. [간단한 개념정리]함수 호이스팅 : Hoist(끌어올리기), 해당 Scope에서 최상위에 위치시키는 것실행 컨텍스트 : 실행 단위 (함수가 실행되면 실행 컨텍스트가 만들어진다.)※ 콜 스택 : 실행 컨텍스트가 쌓이는 스택 (디버깅에 쓰임)스코프 체인 : 추후 추가 예정클로저 : 추후 추가 예정this : 추후 추가 예정프로토타입과 프로토타입 체이닝 : 추후 추가 예정 실행 컨텍스트 생성 과정1. 실행 컨텍스트가 생성되면 자바스크립트 엔진은 해당 컨텍스트에서 필요한 여러가지 정보를 담을 객체를 생성한다. 이를 활성 객체(=변수 객체)라고 ..
-
우아한테크캠프 Day14우아한테크캠프 2018. 7. 20. 01:06
호스트와 서버란?호스트 : 물리적인 머신서버 : 물리적 머신 안에 있는 프로그램즉, 서로 다른 개념이다. SSH Tunneling터널을 통해 데이터를 주고받는다 해서 붙여진 이름, 방화벽에서 특정 포트가 막혀있을 경우 우회하는 방법으로 쓰임※ SSH의 고유기능 : 데이터 암/복호화 점프호스트(Jump host), 베스천호스트(Bastion host)침입 차단 소프트웨어가 설치되어 내부와 외부 네트워크 사이에서 일종의 게이트 역할을 수행하는 호스트 Scale up 과 Scale out 개념 (추후 정리) 공개키, 비밀키 개념 (추후 정리) 클라우드기존의 레거시 코드 그대로 클라우드로 가져가면 오히려 성능이 더 나빠질 수 있다. 따라서 클라우드에 적합한 코딩방법으로 구현해야 한다 책 추천 : 클라우드 네이티..
-
우아한테크캠프 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~클래스 내부에서 사용할 데이터 타입을 인스턴스를..