전체 글
-
[Spring Framework] 정의와 특징 ( DI, IoC, AOP)Back-End/Spring Legacy 2022. 9. 20. 10:51
스프링프레임워크 (Spring Framework) : 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 스프링(Spring)이라고 불린다. 동적인 웹 사이트 개발하기 위한 여러가지 서비스를 제공한다. 스프링 프레임워크란? 1. 자바(JAVA) 엔터프라이즈 개발을 위한 오픈소스 애플리케이션 프레임워크이다. 2. 종속 객체를 생성해주고, 조립할 수 있는 프레임워크이다. 3. 자바 SE로 된 자바 객체(POJO)를 자바 EE에 의존적이지 않게 연결해준다. 더보기 - JavaSE (Standarad Edition) : 가장 기본이 되는 표준 에디션으로 JDBC, GUI, 네트워크 등 각종 API를 이용해 개발이 가능하다. - JavaEE(Enterprise Edition) : Java SE 플랫폼 위에 구..
-
[기술면접 JAVA] 캡슐화와 은닉화의 차이점취업준비/기술면접 2022. 9. 19. 19:59
캡슐화(Encapsulation) 캡슐화는 하나의 객체에 대해 그 객체가 특정한 목적을 위한 필요한 변수나 메서드를 하나로 묶는 것을 의미한다. 클래스를 만들 때 이 클래스에서 만들어진 객체가 특정한 목적을 잘 수행할 수 있도록 사용해야 할 변수와 그 변수를 가지고 특정한 액션 즉 메서드를 관련성 있게 클래스에 구성해야 한다. 그렇다면 왜 묶어야하고 숨겨야 하는 걸까? 1. 묶음으로 인해 프로그램을 바라보는 단위가 커진다. : 클래스 내부에 여러 함수를 내포할 수 있기 때문에 프로그램 소스 코드를 바라보는 단위가 커지며, 프로그램 관리가 수월해진다. 2. 내부를 숨김으로써 내부를 좀 더 자유롭게 변경할 수 있다. : 내부의 데이터나 함수를 외부에서 참조하지 못하도록 차단하는 개념을 정보 은닉(Inform..
-
[기술면접 OS] 프로세스와 스레드의 개념과 차이점취업준비/기술면접 2022. 9. 19. 19:23
프로세스(process)란 프로세스란 간단히 말해 '실행 중인 프로그램(program)'이다. 프로그램을 실행하면 OS로 부터 실행에 필요한 자원(메모리)을 할당 받아 프로세스가 된다. 즉) 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말하며, 종종 스케줄링의 대상이 되는 작업(task)라는 용어와 거의 같은 의미로 쓰인다. 프로세스 = 프로그램 + 프로세스제어블록이며 프로세스는 각각 독립된 메모리 영역 (Code, Data, Stack , Heap의 구조)을 할당받는다. 스레드(thread)란 쓰레드는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 즉 쓰레드는 프로세스 내에서 각각 Stack만 따로 할당받고 Code, Data, Heap 영역은 공유한다. 스레드..
-
[기술면접] 신입 개발자 JAVA 예상 면접 질문취업준비/기술면접 2022. 9. 19. 18:30
● 자바 장점 - 자바 가상머신 JVM(Java Virtual Machine)만 설치하면 컴퓨터의 운영체제와 상관없이 작동함으로 os에 독립적이다. - 가비지 컬렉터를 통해 메모리 관리가 가능하다. - 멀티 스레드 프로그래밍을 지원해 한 개의 프로세스 내부에서 여러 개의 일을 동시에 처리할 수 있으며 동적 로딩을 지원한다. apache, spring 등 자바를 지원하는 수많은 오픈 소스 프로젝트가 있다. ● 자바 가상머신 JVM이란? : 자바 프로그램 실행환경을 만들어주는 소프트웨어이다. Java는 어떠한 플랫폼에 영향을 받지 않는다. JVM을 사용하면 하나의 바이트코드(.class)로 모든 플랫폼에서 동작하도록 할 수 있다. ● JVM 실행 과정 1. 자바 컴파일러(javac)가 자바 소스 코드(.ja..
-
[JAVA] JVM이란? 자바 가성 머신 실행과정, 구조 알아보기프로그래밍 언어/JAVA 2022. 9. 19. 15:30
기술 면접 준비를 하면서 JVM에 대해 알아보는 시간을 가졌다. 정리를 위해 포스팅을 해보려고 한다. 자바의 특징에 대해선 아래 포스팅에서 다뤘다. https://wonisdaily.tistory.com/4?category=1027232 [자바 기초] 자바(JAVA)란? ( + 특징 ) 자바는 썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어이다. 자바의 가장 중요한 특징은 운영체제에 독립적이라는 것이다. 자라보 작성된 프로그 wonisdaily.tistory.com JVM 자바가상머신이란? JVM은 'Java Virtual Machine'의 줄인 것으로 직역하면 '자바를 실행하기 위한 가상 기계'라고 할 수 있다. 즉) 자바를 실행하기 위한 가상 컴퓨터라고 이..
-
[IT 용어] API vs 라이브러리 vs 프레임워크 알아보기IT/CS지식 2022. 9. 15. 19:20
자바 스페셜리스트가 되기 위한 덕목을 찾아보니 Learn APIs and Libraies가 있었다. 자바는 전세계에서 가장 인기있고 오래된 프로그래밍 언어이며 아주 다양한 라이브러리와 api가 존재하므로 몇몇 중요 API에 대한 경험이나 존재자체에 대해서 인지하고 있어야 된다. 라이브러리, API 공부하면서 많이 들어봤던 말인데 그 의미와 차이점에 대해 생각해보니 구체적으로 떠오르지 않아서 정리해보고자 한다. 라이브러리 (Library) 라이브러리란 응용 프로그램 개발을 위해 필요한 기능을 모아 놓은 소프트웨어이며, 그 기능에 대한 도구 또는 함수들의 집합이라고 할 수 있다. - 프로그래머가 어떠한 기능을 수행하기 위해 도움을 주는 또는 필요한 것을 제공해주는 역할을 하는 것. - 라이브러리는 재사용이 ..
-
[server] REST, REST API, RESTful 정의, 특징, 사용법IT/CS지식 2022. 9. 15. 11:07
REST에 대해 알아보기 전 알아보고 난 후 스프링 MVC 프로젝트를 이용해 REST를 적용하는 방식이 궁금하다면 아래 포스팅 참고! https://wonisdaily.tistory.com/69 [4-ch16 REST 방식] @RestController, ResponseEntity, @RequestParam , 어노테이션과 JSON 알아보기 모바일 시대가 되면서 WEB 분야의 가장 큰 변화는 서버 역할의 변화라고 할 수 있다. 과거에는 서버의 데이터를 소비하는 주체가 '브라우저'라는 특정한 애플리케이션으로 제한적이었다면, 모바 wonisdaily.tistory.com REST란? 'Representational State Transfer'의 약자로 자원을 이름으로 구분하여 자원의 상태(정보)를 주고 받는..
-
[javascript 기초] const & let & var 차이점, Arrays, Object프로그래밍 언어/JavaScript 2022. 9. 14. 21:51
교육을 들으면서 js에 대해 알아봤지만 웹 프로젝트를 진행하면서 활용하려고 하니 생각이 안나더라,, AJAX나 JSON, RESTFUL 웹서비스를 위해 javascript는 다시 한 번 집고 넘어가야겠다 싶어 노마드 코더의 바닐라 JS로 크롬 앱 만들기 강의를 들으며 정리해볼까 한다. JavaScript, 자바스크립트란? 자바스크립트는 객체(object) 기반의 스크립트 언어이다. HTML로 웹의 내용을 작성하고, CSS로 웹을 디자인하며, 자바스크립트로는 웹의 동작을 구현할 수 있다. 자바스크립트는 주로 웹 브라우저에서 사용되나, Node.js와 같은 프레임워크를 사용하며 서버 측 프로그래밍에서도 사용할 수 있다. 1. 객체 기반의 스크립트 언어이다. 2. 동적이며, 타입을 명시할 필요가 없는 인터프리..