전체 글
-
[Git] 커밋 메시지 컨벤션 (Udacity Git Commit Message Style Guide)Computer Science/Git 2021. 10. 23. 21:33
Git 커밋 메시지 컨벤션 커밋 메시지를 잘 작성하는 것은 협업하는데 있어 중요하다. 유다시티에서는 Git Commit Message Style Guide를 제공하고 있다. 먼저 커밋 메시지는 제목(subject), 본문(body), 꼬리말(footer) 3가지 파트로 나누고, 각 파트는 빈 줄을 두어 구분한다. type: Subject (제목) body (본문) footer (꼬리말) type: 어떤 의도로 커밋했는지를 type에 명시. Udacity에서는 타입을 다음 7개 중 하나로 쓸 것을 권장 feat: 새로운 기능을 추가할 경우 사용한다. fix: 버그와 같은 것을 수정했을 때 사용한다. docs: 문서와 관련하여 수정한 부분이 있을 때 사용한다. style: 코드의 변화와 관련없는 코드 포맷 ..
-
[JPA] 영속성 컨텍스트란Programming Language/JPA 2021. 10. 22. 16:32
JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스 매핑하기 (Object Relational Mapping) 영속성 컨텍스트 엔티티 매니저 팩토리와 엔티티 매니저 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어 "엔티티를 영구 저장하는 환경"이라는 뜻 EntityManager.persist(entity); // 엔티티를 DB가 아니라 영속성 컨텍스트에 저장 엔티티 매니저? 영속성 컨텍스트? 영속성 컨텍스트는 논리적인 개념 눈에 보이지 않는다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 엔티티의 생명주기 비영속 (new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 영속 (managed) 영속성 컨텍스트에 관리되는 상태 준영속 (detached) 영속성 컨텍스트에 저장..
-
[Cloud] AWS MQ 서비스란Infra/AWS 2021. 9. 27. 17:27
오늘날의 기업 메시징 서비스 오늘날의 기업 메시징 서비스의 어려움 운영 오버헤드 이중화 및 안정성 고려 용량 및 사이즈 산정 비용 AWS 대표 메시징 서비스 Amazon SQS Amazon SNS Amazon Kinesis AWS IoT Amazon Pinpoint Amazon MQ 관리형 Apache ActiveMQ AWS에서 메시지 브로커를 손쉽게 생성 및 운영 AMQP를 통한 마이크로 서비스 애플리케이션 비동기화 이벤트 기반 손쉽게 변경 확장성 탄력성 Apache ActiveMQ란 가장 널리 알려진 Java 기반 오픈소스 메시지 브로커 JMS, J2EE 완벽 지원 다양한 교차 언어 클라이언트, 프로토콜 지원 일시적 & 지속적 메시징 큐 & 토픽 지원 (FIFO 지원) 합성 & 가상 목적지 메시지 필..
-
[Spring] 스프링 주요 어노테이션 정리Programming Language/Spring 2021. 9. 13. 01:41
@RestController 컨트롤러를 JSON을 반환하는 컨트롤러로 만들어줍니다.' @GetMapping HTTP Method인 Get의 요청을 받을 수 있는 API를 만들어 줍니다. 예전에는 @RequestMapping(method = RequestMethod.GET)으로 사용되었습니다. @RunWith(SpringRunner.class) 테스트를 진행할 때 JUnit에 내장된 실행자 외에 다른 실행자를 실행시킵니다. 여기서는 SpringRunner라는 스프링 실행자를 사용합니다. 즉 스프링부트 테스트와 JUnit 사이에 연결자 역할을 합니다. @WebMvcTest 여러 스프링 테스트 어노테이션 중, Web(Spring MVC)에 집중할 수 있는 어노테이션 입니다. @Autowired 스프링이..
-
[Java] 리팩토링 할 때 고려할 사항들Programming Language/Java & Kotlin 2021. 5. 30. 03:23
리팩토링이란? 리팩토링이란 유지보수 생산성 향상을 위해 기능을 변경하지 않고 소스코드를 수정, 보완하는 소프틍웨어 품질 향상 기법이다. 리팩토링의 목적 리팩토링의 목적은 유지보수성 향상, 유연한 시스템, 생산성 향상, 소프트웨어 품질 향상 등이 있다. 리팩토링할 때 고려할 사항들 메소드가 너무 길지 않은가? 코드를 읽기 쉬운가? 내가 작성한 코드를 내가 읽기 어렵다면 남들에겐 훨씬 어렵다. 코드가 적절한 위치에 있는가? 객체들 사이의 의존 관계 책임이 너무 많지는 않은지?
-
비전공자를 위한 IT 용어 정리 - 프로그램과 프로그래밍이란Computer Science/비전공자를 위한 IT 개념정리 2020. 12. 27. 23:41
안녕하세요. 현대 사회에서 컴퓨터가 점점 많이 쓰이게 되면서 컴퓨터 공학을 전공하지 않았더라도, 컴퓨터에 대해 간단한 개념 정도는 알아야하거나 아니면 같은 회사에서도 컴퓨터 프로그래머(개발자)들과 협업을 해야하는 경우가 점점 늘어나고 있습니다. 그래서 '비전공자를 위한 IT 용어 정리 시리즈'를 차례로 연재해보려고 합니다. 첫번째로 알아 볼 용어는 '프로그램'과 '프로그래밍' 입니다. [그림 출처 : dojang.io/mod/page/view.php?id=1489] 프로그램, 그 중에서도 컴퓨터 프로그램이란 우리가 컴퓨터를 할 때 많이 하는 '게임'이나 문서 작업을 할 때 사용하는 '워드' 또는 '엑셀' 등 우리가 컴퓨터로 다양한 작업을 할 수 있게 해주는 도구 입니다. 사전적 정의로는 '컴퓨터에서 실행..
-
[Coursera] Stanford Machine LearningStudy/Coursera 2020. 8. 22. 13:49
01. Introduction Machine Learning Grew out of work in AI New capability form computers Examples Database mining Large datasets from growth of automation/web. E.g., Web click data, medical records, biology, engineering Applications can't program by hand. E.g., Autonomous helicopter, handwriting recognition, most of Natural Language Processing(NLP), Computer Vision. Self-cusomizing programs E...