분류 전체보기
-
[용어정리] 컴파일(Compile), 링크(Link), 빌드(Build)💻 IT Study/Knowledge 2022. 4. 10. 16:12
※ 위 이미지는 이해한 내용을 바탕으로 그려낸 도표입니다. 잘못된 부분이 있으면 알려주세요 :-) 빌드(Build) : 소스코드 파일을 실행가능한 소프트웨어로 만드는 과정 +) 빌드툴(Build Tool) : 빌드를 수행하는 도구 - 빌드툴 제공 기능 : 전처리(Preprocessing), 컴파일(Compile), 패키징(Packaging), 테스팅(Testing), 배포(Distribution) ex) Ant, Maven, Gradle * 배포 : 서버에 반영하는 것 컴파일(Compile) : 개발자가 작성한 소스코드를 기계어(Byte Code)로 변환하는 과정 - 컴파일 과정은 컴파일러(Compiler)에 의해 실행되는 데 기계어로 변환된 파일은 Object 파일로 만들어진다. 링크(Link) : 여..
-
[용어정리] JVM , JRE, JDK 간단히 알아보기💻 IT Study/Knowledge 2021. 11. 7. 19:36
JAVA는 어떤 운영체제에서도 동일한 형태로 실행시킬 수 있다는 특징을 가진다. HOW ? JVM(Java Virtual Machine : 자바 가상 머신) : 자바 프로그램 등을 컴파일하여 만들어진 바이트 코드를 실행해주는 가상머신 JVM을 작동시키기 위해서는 그에 맞는 환경이 만들어져야 한다. WHAT ? JRE(Java Runtime Environment : 자바 실행 환경) : JVM, 자바 클래스 라이브러리, 자바 명령 및 기타 인프라를 포함한 컴파일된 Java 프로그램을 실행하는 데 필요한 패키지 Java 코드를 받아서 필요한 라이브러리와 결합하고, 이 코드를 실행할 JVM을 시작하는 온디스크 시스템이다. → 자바 코드를 실행하기 위한 도구들로 구성된 패키지 코어 자바 클래스 라이브러리, 자바..
-
스프링 동작 원리 이해💻 IT Study/Spring 2021. 11. 6. 19:36
Dispatcher Servlet이 Web 환경을 제공하기 위해 사용하는 여러 Interface 중에는 Handler Mapping, Handler Adaptor, View Resolver 등이 있다. (참고) Filter Web Application 의 전역적인 로직 담당으로 Dispatcher Servlet으로 들어가기 전인 Web Application 단에서 실행한다. Dispatcher Servlet Servlet Container에서 Http 프로토콜을 통해 들어오는 모든 요청을 프레젠테이션 계층의 제일 앞에 둬서 중앙 집중식으로 처리해주는 프론트 컨트롤러(Front Controller) 들어오는 모든 Request를 우선적으로 받아 처리해주는 서블릿이다. HandlerMapping에게 Requ..
-
프록시(Proxy)💻 IT Study/Knowledge 2021. 9. 26. 14:01
프록시(Proxy) 서버 A proxy server is an intermediate program or computer used when navigating through different networks of the Internet. 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 말한다. 방문하는 웹사이트와 기기간의 중계역할을 한다. 프록시는 요청받은 데이터를 캐시에 저장해두고, 캐시에 저장된 데이터 요청에 대해서는 실제 서버에 요청하지 않고 직접 응답한다. 이로써 데이터 전송시간과 불필요한 트래픽 발생을 줄어들어 서버측의 네트워크 병목현상을 방지할 수 있다. 또한 보안적 측면에서 프록시 서버 측에서 위험이 예상되는 웹 콘텐츠 및..
-
연말정산 알아보기📝 Hobby/경제지식 2021. 8. 24. 23:59
연말정산은 근로자가 1년동안 납부한 근로소득세를 정산하는 절차이다. 연말정산의 신고의무자는 원천징수 의무자인 '회사'이다. 회사는 근로자에게 필요한 서류를 받아서 이 업무를 처리한다. 연말정산 시기가 다가오면 누군가는 환급받고 누군가는 납부한다. 이는 소득이 같더라도 나라에서 요구하는 세금이 다르기 때문이다. 특정 사항에 해당된다면 납부하는 세금을 공제 or 감면받을 수 있다. 이런 사항들을 매월 급여에 반영할 수 없다. so, 급여 지급시 회사가 일괄적 비율로 세금을 미리 공제하여 국가에 납부한다. → 근로소득세 1년에 1번 연말정산을 통해 공제사항을 정확히 반영하여 계산하는 것이다. 위 경우처럼 연간 근로소득세 대비 결정세액이 낮을 경우, 환급을 받을 수 있다. * 결정세액 : 연말정산을 통해 나온 ..
-
싱글톤(Singleton)💻 IT Study/Knowledge 2020. 7. 23. 18:17
P U R P O S E 전체프로그램에서 단 하나의 객체만 만들도록 보장. 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야 한다. why? 생성자가 호출한만큼 객체가 생성되기 때문에 하나의 객체가 아니다. H O W ? 1. 생성자 앞에 private 접근지정자(Modifier)를 이용한다. -> private을 통해 외부에서 호출을 막을 수 있게 된다. 2. 정적필드(static)를 선언하고 자신의 객체를 생성한다. 클래스 내부에서 new 연산자로 호출 가능 단, 정적필드에서 접근제한자를 private으로 할 것. 3. 외부에서 호출할 때는 함수를 이용한다. (외부에서 객체를 얻는 유일한 방법) getInstance를 선언하고 정적 필드에서 참조하고 있는 자신의 객체를 리턴. 외부에서..
-
문자열 검색 알고리즘 개념 (브루트포스, KMP, Boyer-Moore)💻 IT Study/Algorithm 2020. 5. 8. 02:37
문자열 검색(String Search)은 본문(T)에서 패턴(P)을 찾는 것이다. 브루트포스, KMP, Boyer-Moore 3가지 알고리즘에 대하여 개념 위주로 알아보고, 비교해보려고 한다. 01 브루트 포스법(Brute Force) 02 KMP법 03 Boyer-Moore 04 알고리즘 간단 요약 & 비교 01 브루트 포스법(Brute Force) brute a.무식한 force n.힘 이를 해석하면 무식한 힘으로 해결한다는 뜻으로 한마디로 단순 무식한 방법이다. 완전탐색 알고리즘으로 문제에 나와있는 모든 경우의 수를 시험해보는 방법이다. 문자열 검색 시에는 패턴의 문자를 하나씩 왼쪽에서 오른쪽으로 이동해가면서 본문의 텍스트 문자와 하나씩 비교해간다. 1. 다른 문자를 만나면 패턴에서 문자를 검사했던..
-
JAVA Spring의 목적💻 IT Study/Spring 2020. 5. 4. 14:51
스프링의 목적은 앞에서 다뤘던 대로 '경량급 프레임워크인 스프링을 활용해서 엔터프라이즈 어플리케이션 개발을 편하게' 하는 것이다. 원래 엔터프라이즈 개발이 편리하지 않기 때문에 스프링을 사용한다. 1. 엔터프라이즈 개발의 복잡함 2. 복잡함을 해결하려는 노력 3. 복잡함을 상대하는 스프링 전략 4. 기술적으로 스프링이 지향하는 목적 정의 : POJO 프로그래밍 * 맨 밑에 게시물 간단 정리가 있다. 전체적 과정은 그걸 참고하길 바란다. 1. 엔터프라이즈 개발의 복잡함 2000년대 초반 자바 엔터프라이즈 개발이 실패하는 이유에서는 여러가지 원인이 있었다. 그 중 가장 대표적인 게 엔터프라이즈 시스템 개발이 너무 복잡하다는 것이다. 엔터프라이즈 시스템 개발이 왜 복잡한지를 보면 크게 두 가지 원인을 생각해볼..