전체 글
-
TIL 20일차 (2021.11.10)TIL(Today I Learned) 2021. 11. 10. 17:12
스프링 빈, 스프링 컨테이너 MVC 과정에서 Controller는 스프링 컨테이너에 저장되어있다가 호출되는 방식. 스프링빈 의존관계 추가(컴포넌트 스캔 방식) public class MemberController { private final MemberService memberService = new MemberService(); }-> 이 코드는 이미 MemberService가 다른 클래스 파일에 선언되어있으므로 new로 중복되어 안정적이지 못하다, 하나만 생성해서 공유하는 방식이 효율적이다.(DI 방식,) public class MemberController { private final MemberService memberService; // 스프링컨테이너 공용 사용 @Autowired public ..
-
TIL 19일차(2021.11.09), 단축키 TIP 모음, intellij create gitTIL(Today I Learned) 2021. 11. 9. 11:41
TestCase 작성 웹 애플리케이션을 통한 테스트는 시간이 많이 소요되고, 반복 실행이 어렵다, 여러테스트를 한번에 실행하기 어렵다는 단점이 있다. 그래서 Junit이라는 프레임워크로 테스트를 실행하여 이러한 문제점을 해결한다. 예시) // Junit Test @Test public void save(){ Member member = new Member(); member.setName("spring"); repository.save(member); Member result = repository.findById(member.getId()).get(); // System.out.println("result = " + (result == member); // junit Assertions // Assert..
-
TIL 18일차(2021.11.8)TIL(Today I Learned) 2021. 11. 8. 11:02
cmd창에서 java file 실행하기 java file의 directory로 이동 -> gradlew build -> build folder 안에 있는 lib folder로 이동 -> file이 jar형식이면 java -jar file name으로 실행 완료! +번외 build를 완전히 지우고 다시 받고 싶으면 gradlew clean build MVC란? 과거에는 View와 Controller를 분리하지 않고 하나의 View File에 몰아서 코딩했었는데, 현재는 View와 Controller를 분리하는것이 기본이 되었다. Tip! Thymeleaf는 파일 링크만 복사해도 서버가 필요없이 내용을 확인할 수 있다는 장점이 있다.(물론 동적인 파일에는 의미가 없다.) html이나 java 파일이 text..
-
TIL 17일차(2021.11.07)TIL(Today I Learned) 2021. 11. 7. 19:11
Maven과 Gradle의 차이 Maven은 라이브러리이며, 라이브러리를 사용할 수 있게 관련된 라이브러리를 함께 불러와주는 기능이다. 예를 들어 내가 사과를 먹고자한다면 일단 사과라는 라이브러리가 필요할것이고, 농약을 먹지 않기 위해 칼이라는 도구를 이용해서 사과를 깎아먹어야할것이다. 여기서 사과와 칼을 제공하는것이 Maven의 개념라고 생각할 수 있다. Gradle은 빌드 배포 도구(maven 처럼 기본 라이브러리와 의존 라이브러리를 모두 가져온다.)이다. 안드로이드 앱을 만들 때 사용하는 도구이기 때문에 Java, Python, C/C++ 등의 언어를 지원한다. Gradle은 스크립트 언어로 구사가 가능하기 때문에 if, if else, for 등의 로직을 간결하게 구성가능하다 Gradle과 Mav..
-
markdown이란?TIL(Today I Learned) 2021. 11. 3. 00:34
markdown이란 텍스트기반의 마크업언어로 쉽게 쓰고 읽을 수 있으며 HTML로 변환이 가능하다. 특수기호를 이용한 매우 간단한 구조의 문법을 사용하여 웹에서도 보다 빠르게 컨텐츠를 작성하고 직관적으로 인식할 수 있다. 마크다운이 각광받기 시작한 이유는 최근들어 깃헙 저장소(Repository)에서 README.md에서 사용되는 언어이기 때문이다. (깃헙은 개발자들 사이에서 가장 많이 쓰이는 버전관리도구이다.) markdown 문법(자주 사용되는) - ## : 글자크기 (일반적으로 제목이나 소단원 중단원 등을 구별할 때 사용) - *, +, - : 일반적으로 순서 없는 리스트를 작성할 때 사용 - > : 세로로 연한 작대기가 생김, 인용문에 사용 ``` ``` : 소스코드를 기입할 때 사용 * * * ..
-
VSCode Extensions 를 이용한 Python 개발TIL(Today I Learned) 2021. 11. 1. 16:53
VSCode에서 Extensions에 들어간뒤 검색란에 Python을 검색하면 Python, Python for VSCode, Python Extension Pack, Python Indent(자동으로 줄이 정렬되는? Python은 열의 위치가 중요하기 때문에 설치하면 좋음), Python Docstring Generate를 다운받아준다. 여기 까지 해주면 Visual Studio Code에서 Python 언어를 개발할 수 있게된다.
-
SOAP과 REST란?TIL(Today I Learned) 2021. 11. 1. 00:32
SOAP(Simple Object Access Protocol)이란? HTTP와 HTTPS 프로토콜 에서 XML 메시지를 요청 및 받기위한 서비스를 의미한다. SOAP은 정보를 설정하기 위해서 Envelope 또는 Header 또는 Body로 반드시 감싸져있어야 하는데, 간단한 정보를 제공하는데에도 복잡한 구조와 개발의 어려움, 무거움..등의 단점이 있기 때문에 요즘에는 RESTful방식을 많이 사용하는 추세이다. REST(Representational State Transfer)는 SOAP과 같이 클라이언트와 서버간의 통신을 도와주는 서비스이다. - Resource의 Representation에 의한 상태 전달, 여기서 상태는 컴퓨터가 갖고 있는 자원의 상태를 의미한다. 여기서 자원은 컴퓨터의 데이터를..
-
MSA(Micro Service Architecture)란?TIL(Today I Learned) 2021. 11. 1. 00:02
최근 IT업계에서 핫하다는 MSA에 대해 가볍게 알아보았다. 왜? IT업계에서는 지금 MSA가 핫한걸까? 마이크로 서비스는 기존의 API, system(infra), Application, interface, Domain API.. 등(모놀리스 방식)을 여러개로 쪼개어 기능을 제공하는것을 의미한다.(Micro단위로 세분화한다..라고 생각하면 이해가 쉬울 수 있겠다. 물론 마이크로 단위까지 쪼개기는 어렵겠지만!) 여러개로 쪼개진 서비스는 서로 통신이 가능해야하기 때문에 복잡도는 상승할것이다. API가 여러개로 쪼개져 호출되기 때문에 웹 호출량이 증가하고(WAS 호출량 증가)(WAS : 인터넷 상에서 HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행할 수 있게 해주는 미들웨어(소프트웨어 엔진)이다.) 이로..