분류 전체보기
-
[우아한테크캠프] SpringBoot + Ehcache카테고리 없음 2018. 8. 11. 09:43
JSR(Java Specification Request, 자바 스펙 요구서) 스프링의 장점 중 하나로 PSA(Portable Service Abstraction)가 있다. 외부 서비스들을 간단한 추상 인터페이스만으로 쉽게 사용할 수 있도록 해주는 것Cache에서는 Redis, Ehcache, ConcurrentMap 등을 CacheManager 인터페이스로 추상화돼있고, CacheManager 인터페이스를 이용해서 또 다른 Cache 라이브러리를 사용할 수 있다. PSA(Portable Service Abstraction)성격이 비슷한 여러 종류의 기술을 추상화하고 이를 동일한 사용법으로 사용할 수 있도록 지원해주는 것스프링에서는 서비스 추상화를 위해 다양한 어댑터를 제공한다. 즉 다양한 기술에 대한 A..
-
[우아한테크캠프] RESTful API 문서 만들기카테고리 없음 2018. 8. 11. 09:41
Swagger를 사용하는 이유 RESTful API를 문서화하기 위해 API 문서를 일반 문서로 작성하게 되면 API가 수정될 때마다 문서를 수정해줘야 한다. Swagger는 이를 자동화 해준다. 장점 Swagger로 API 문서를 만들면 문서 자체가 API 설명이면서 문서에서 바로 테스트도 할 수 있다.1. 라이브러리 추가compile('io.springfox:springfox-swagger2:2.7.0') compile('io.springfox:springfox-swagger-ui:2.7.0')2. 빈 등록@Slf4j @Configuration @EnableSwagger2 public class WebMvcConfig implements WebMvcConfigurer { @Bean public Doc..
-
자바스크립트카테고리 없음 2018. 8. 7. 23:01
app.js, main.js : 시작점이 되는 js파일 bundle : 정리 webpack 도구 : 정리 template literal을 별도의 파일로 빼서 관리하면 좋다.왜냐하면 비즈니스 로직 부분과 뷰를 만드는 template literal을 함께 관리하면 유지보수 측면에서 좋지 않기 때문이다. foreach, map, filter 사용법 함수 줄이 몇 줄 되지 않으면 익명함수로 정의해도 되지만, 그렇지 않으면 별도의 함수로 뺄 것 처음 화면을 구성할 때는 서버사이드 렌더링이 좋다. 왜냐하면, 클라이언트 사이드 렌더링으로 구성하게 되면 껌뻑거리는 현상이 발생하기 때문이다 call, apply, bind공통점: 셋 다 컨텍스트(this)를 조정하기 위한 함수차이점: call, apply 와 bind의 ..
-
우아한테크캠프 중간에 빠진 부분우아한테크캠프 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 개념 (추후 정리) 공개키, 비밀키 개념 (추후 정리) 클라우드기존의 레거시 코드 그대로 클라우드로 가져가면 오히려 성능이 더 나빠질 수 있다. 따라서 클라우드에 적합한 코딩방법으로 구현해야 한다 책 추천 : 클라우드 네이티..