본문 바로가기

반응형

Programming/기초지식

(30)
[Gradle] Could not find method compile() arguments~ Intellij를 통해 Gradle 프로젝트 생성 후 build.gradle에서 필요한 라이브러리를 설정했다. 프로젝트 refresh를 해보니 다음과 같은 에러 발생. 원인은 본인이 사용하는 Gradle 버전에 맞지 않는 라이브러리 설정 방식이었다. Gradle 7.0버전 이상의 환경에서 개발할 경우 implementation을 사용해 라이브러리 설정을 진행해야 한다. Gradle 7.0버전 이상에서는 compile은 더이상 사용되지 않는다. 확인 해보니 본인은 Gradle 7.1 버전을 사용중이었다. The compile dependency configuration has been removed in the recently released Gradle 7.0, and is deprecated in ea..
클래스 vs 객체(오브젝트) vs 인스턴스 각각의 차이점 stack overflow의 누군가가 간단히 정의했다. Class : a specification, blueprint for an object Object : physical presence of the class in memory Instance : an unique copy of the object (same structure, different data) 해당 개념을 위 그림과 같이 자동차에 비유하면 다음과 같지 않을까? Class : 자동차 설계도 Object : 설계도대로 만든 자동차(실체) Instance : 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체 Class(a blueprint or prototype from which objects are created) - Class는 ..
Servlet은 무엇일까(등장배경 및 동작과정) Servlet의 등장배경 초창기 web은 정적 데이터만 전달하는 Web Server였음. 사용자의 요청에 따른 다양한 처리(동적인)가 불가능했다. 예를 들면 로그인 시 맞춤 팝업이 뜨거나 UI가 변경되거나. 그래서 등장한 것이 CGI(Common Gateway Interface) CGI CGI는 동적 데이터를 처리하는 Web Server와 프로그램 사이의 인터페이스(규약) *인터페이스 : 상호 간의 소통을 위해 만들어진 물리적 매개체나 프로토콜 CGI는 Web Server의 요청을 받아 클라이언트에게 동적 컨텐츠를 전달한다. 클라이언트의 요청에 따라 Web Server에서 다른 프로그램을 요청하고, 해당 요청 결과를 클라이언트에게 보내는 방법(규약)을 정한 것이 CGI. 하지만 CGI는 문제가 있었다. ..
웹 서버 vs 웹 애플리케이션 서버 / Web Server vs WAS 웹 서버(Web Server) Web 인터넷을 기반으로 정보를 공유, 검색 할 수 있도록 하는 서비스 웹 구성 3대요소 : URL(요청 주소), HTTP(통신 규약), HTML(내용) Server 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 클라이언트의 요청을 처리해주는 역할 담당 Web Server = Web + Server 인터넷을 기반으로 클라이언트에게 HTTP 요청을 받아 HTML 문서나 기타 리소스를 제공하는 컴퓨터 프로그램 사용자 요청사항에 대한 정적 컨텐츠 처리만 가능하다 Web Server의 주요 역할은 사용자 요청에 맞는 정적인 HTTP 콘텐츠를 뿌려주는 것이다. WAS(Web Application Server) Web Server(정적 컨텐츠 관리) + Web ..
REST에 대한 정리 REST란 무엇인가 REST는 웹 개발 아키텍처 스타일 가이드라고 할 수 있으며, Roy Fielding이 2000년 발표한 논문에 처음 등장했다. REST 방식의 설계는 아래의 6가지 조건을 만족시켜야 하며, 이를 지킨 웹 서비스 디자인을 'RESTful' 이라는 단어로 표현한다. REST 설계 조건 1. Client-Server 구조 사용자 인터페이스에 관한 고려사항(concerns)들을 데이터 저장에 대한 고려사항으로부터 분리하여 클라이언트의 이식성(Portability)과 서버의 확장성(Scalability)을 개선한다. 상기 설명은 영문 내용을 직역한 것이다. 그래서 말이 어렵다. 조금 더 쉽게 풀어보았다. 이 구조는 데이터/서비스를 요청하는 Client와 이를 제공하는 Server의 역할을 분..
프로세스(Process)와 스레드(Thread)의 차이점 프로세스(Process) 프로세스는 운영체제(OS)의 자원을 할당받아 운영체제 내부에서 실행중인 프로그램을 의미합니다. 운영체제는 CPU를 통해 프로세스를 생성 및 관리합니다. 각 프로세스는 서로 다른 작업 단위로 관리됩니다.(운영체제가 이들을 각각 따로 취급해서 관리한다는 의미) 메모리 사용 방식: 각 프로세스마다 필요한 메모리를 할당받습니다. 각 프로세스마다 따로 메모리를 받아서 움직이기 때문에 프로세스간에 데이터를 공유하지 않습니다. 스레드(Thread) 프로세스의 실행 단위를 스레드라고 명명(命名)합니다. 그러니까 프로세스 내부의 실행 흐름이라고 할 수 있습니다. 따라서 하나의 프로세스는 여러개의 스레드를 가질 수 있습니다. 스레드가 여러개 있어도 운영체제는 이들을 하나의 작업 단위로 바라보고 관..

반응형