본문 바로가기

BackEnd

프로그램에 대해 1. 프로그래밍(Programming)이란? 프로그램 어원 : 음악공연들은 시간 순서에 따라 진행되는데 이 순서를 프로그램이라 했었다. 즉 프로그램이라는 말의 중심에는 순서라는 의미가 깊숙히 자리잡고 있다. 이 순서를 만드는 행위를 프로그래밍이라 한다. 즉, 시간의 순서에 따라서 일어나야 하는 일을 컴퓨터에게 알려주는 일이 프로그래밍이다. 2. 프로그래머(Programer)란? 위에서 설명한 순서를 만드는 사람을 프로그래머라 한다. 3. 컴퓨터 프로그래밍 언어 html과 자바스크립트는 둘다 컴퓨터 언어이다. 그리고 자바스크립트는 컴퓨터 언어인 동시에, 컴퓨터 프로그래밍 언어라고 한다. 즉, 자바스크립트 프로그래밍 언어는 시간의 순서에 따라서 웹브라우저의 여러기능이 실행되 어야 하기때문에 프로그래밍이라고 ..
API에(Application Programming Interface) 대해 1. Interface란? Interface는 기계와 인간간의 소통창구라고 할 수 있다. 예를 들어 어떤 기계를 만들면, 사용자가 그 기능들을 전부 활용할 수 있도록 제어장치를 마련해 야 한다. 티비는 채널선택, 음량조절등을 위해 리모컨이 있다. 자판기에는 버튼이있고, 컴퓨터에는 키보드와 마우스가 있는데, 이런것들을 Interface라고 한다. 또한 사용자가 명령을 넣는것뿐만 아니라, 그 결과와 정보들을 받아오기 위한 tv의 스크린, 모니터 또한 Interface에 속한다. 2. User Interface란? User Interface는 우리가 만든 프로그램을 사용자들이 이용하기 위한 조작장치라고 할수 있다. 소프트웨어 영역에서는 사용자들이 프로그램이나 사이트, 앱을 원하는대로 제어하고 정보를 볼 수 있..
스프링의 의존성 주입 방식 스프링의 의존성 주입 방식 1. Setter 주입 setXXX()와 같은 메서드를 작성하고(혹은 Lombok으로 생성하 고) ®Autowired와 같은 어노테이션을 통해서 스프링으로부터 자신이 필요한 객체를 주 입해 주도록 한다. 2. Setter 주입 예시 https://github.com/ytw9699/SpringExamples/blob/master/mvnprj/ex00/src/main/java/org/zerock/sample/SampleHotel1.java 3. 생성자 주입 생성자 주입은 생성자를 통해서 처리한다. 생성자 주입의 경우 객체 생성시 의존성 주입이 필요하므로 좀 더 엄격하게 의존성 주입을 체크 하는 장점이 있다. 기존에 스프링에서는 생성자 주입을 하기 위해서 생성자를 정의하고, @Aut..
lombok에 대해 1. lombok이란? Lombok을 간단히 설명하면 컴파일 시 흔하게 코드를 작성하는 기능들을 완성해주는 라이브러리 getter, setter 등의 코드를 줄여서 취소한의 코드로 할수 있게함 2. lombok 관련 어노테이션 @Setter : setter 메서드를 만들어주는 역할을 @Data : @ToString, @EqualsAndHashCode, @Getter/©Setter, @RequiredArgsCtonstructor를 모두결합한 형태로 자주 사용되는 모든 메서드들을 한 번에 생성할 수 있다는 장점 @Log4j : 로그 객체를 생성
unit test에 대해 유닛테스트 사용법 : https://jkonury.tistory.com/196 1) 용어정리 - unit: 구성 단위 (여기서 말하는 구성단위는 프로그램의 기본 단위인 모듈) - JUnit: 자바용 단위 테스트 작성을 위한 산업 표준 프레임워크다, Java에서 독립된 단위 테스트를 도와주는 framework! - 모듈: 프로그램 내의 하나의 기능으로 생각하자(예: MS Word라는 프로그램이 있다는 가정하에 Word내에 있는 기능 중, 폰트 사이즈 선택 기능이 일종의 모듈이라 볼 수 있다) 2) unit test란? 유닛 테스트(unit test)는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차다. - 코드를 가능한 한 작은 단위로 실행해보는 테스트를 작성하는..
스프링 프레임워크에 대해 1. 스프링 프레임워크의 차별성 1-0) 스프링은 경량 프레임워크다. 스프링은 가장 성공적인 '경량(light-weight) 프레임워크' 이다. 스프링은 특정 기능을 위주로 간단한 jar 파일 등을 이용해서 모든 개발이 가능하도록 구성된 프레임워크이다. 1-1) 복잡함에 반기를 들어서 만들어진 프레임워크 엔터프라이즈급 프레임워크들의 가장 큰 문제점으로는 복잡성으로 보고 있다. 다양한 경우를 처리할 수 있는 다양한 기능을 가지도록 만들다 보니 하나의 기능을 위해서 너 무 많은 구조가 필요한상태가 되었다. 이러한복잡성을 해결하기 위해서 나온 경량화된 프레임 워크가 스프링이다. 일반적인 Java의 클래스와 인터페이스를 이용하는 구조이기 때문에 진입 장벽이 높지 않았고,EJB(Enterprise JavaBean..
maven이란? 1. maven이란? 빌드 도구인 maven의 주요 특징 중 하나는 의존 모듈(jar 파일) 관리에 있다. 메이븐의 경우 중앙 저장소(central repository)라고 불리는 서버로부터 필요한 jar 파일을 다운 로드 받아 의존 모듈을 관리한다. 라이브러리들을 편리하게 공유하고 다운받고자 나온 것이 메이븐이다. 즉, 필요한 라이브러리를 특정 문서(pom.xml)에 정의해 놓으면 네트워크를 통해서 라이브러리들 을 자동으로 다운 할 수 있다. jar파일을 직접적으로 다른이에게 보낼 필요 없이 pom.xml에 필요한 것을 명시해놓으면 네트워크 를 통해서 라이브러리를 매우 손쉽게 다운할 수 있다. Maven을 이용하게 된다면 코드 몇줄로 필요한 라이브러리를 작동시키고 그 라이브러리가 필요로 하는 다른 라이..
자바의 동작원리 1. 자바의 동작 원리 관점1 아래는 소프트웨어를 구성하는 양대 개념이다. 1-1. source, code, language 라는 원인의 표현 아래는 같은 대상을 바라보는 관점에 따라 다르게 사용하는 표현들 1) 원인을 나타내는 표현중에 하나인 source - 원천2) 부호 기호를 나타내는 코드 code3) 약속이라는 측면에서의 언어라는 표현 language 1-2. source, code, language의 원인을 통해 만들어진 결과의 표현 1) application - app2) program 자바라는 컴퓨터 프로그래밍 언어에 문법에 맞게 코드를 작성해서 컴퓨터에게 시키고싶은 일을 시키는것이 우리가 하고자 하는일이다. 2. 자바의 동작 원리 관점2 java virtual machine 이 설치되어있고..