전체 글 (283) 썸네일형 리스트형 [20230627 TIL] 미들웨어와 데이터베이스 차이점 * 미들웨어와 DB(데이터베이스) 차이 미들웨어(Middleware)와 데이터베이스(DB)는 웹 애플리케이션 개발에서 서로 다른 역할을 수행하는 개념이다. 미들웨어는 애플리케이션과 운영체제 또는 하드웨어 사이에서 상호 작용을 조정하는 소프트웨어 구성 요소로, 기능 확장 및 성능 향상을 위해 사용된다. 반면, 데이터베이스는 데이터의 저장, 관리, 조작을 위한 시스템으로, 구조화된 데이터의 저장과 안정적인 관리를 위해 사용됩니다. 1. 미들웨어(Middleware) 미들웨어는 소프트웨어 시스템에서 애플리케이션과 운영체제 또는 하드웨어 사이에 위치하여 상호 작용을 조정하는 소프트웨어 구성 요소다. 미들웨어는 여러 애플리케이션 컴포넌트 간의 통신, 데이터 전송, 보안, 오류 처리 등을 담당하는데 웹 개발에서는 .. [20230623 TIL] 추상클래스, 일반클래스, 인터페이스 차이 추상클래스(Abstract Class), 일반클래스(Concrete Class), 인터페이스(Interface)는 객체지향 프로그래밍에서 클래스와 관련된 세 가지 개념입니다. 이들은 각각 다른 목적과 동작을 가지고 있습니다. 추상클래스(Abstract Class): 추상클래스는 일부 메서드가 구현되지 않고 선언만 되어 있는 클래스입니다. 추상클래스는 abstract 키워드를 사용하여 선언됩니다. 추상클래스는 객체를 직접 생성할 수 없으며, 서브클래스에서 상속받아 완전한 클래스로 구현되어야 합니다. 추상클래스는 일반 메서드와 추상 메서드를 모두 가질 수 있습니다. 추상 메서드는 선언만 되어 있고 실제 구현은 하위 클래스에서 이루어집니다. 추상클래스는 공통된 기능을 가진 클래스들 간의 추상적인 상위 개념을 .. [20230619] 오버로딩(Overloading)과 오버라이딩(Overriding) 오버로딩(Overloading)과 오버라이딩(Overriding)은 객체지향 프로그래밍에서 다형성을 구현하는 두 가지 개념이다. 그러나 오버로딩과 오버라이딩은 서로 다른 의미와 동작을 가지고 있다. 오버로딩(Overloading): 오버로딩은 같은 이름을 가진 메서드 또는 생성자를 여러 개 정의하는 것을 의미한다. 오버로딩은 메서드의 매개변수의 개수, 타입, 순서를 다르게하여 다양한 상황에 대응할 수 있도록 한다. 오버로딩은 메서드 이름은 동일하지만 매개변수 목록이 다른 메서드를 여러 개 작성하는 것을 허용한다. 컴파일러는 호출 시 전달된 인수에 기반하여 알맞은 오버로딩된 메서드를 선택한다. 오버로딩은 메서드의 기능이 유사하지만 입력값이 다른 경우에 사용된다. 오버로딩은 정적 다중 메서드 결합(stati.. [20230615 TIL] 쿠키와 세션 *쿠키(Cookie)와 세션(Session)을 쓰는 이유? HTTP 프로토콜의 특성이자 약점을 보완하기 위해서 쿠키 또는 세션을 사용합니다. 기본적으로 HTTP 프로토콜 환경은 "connectionless, stateless"한 특성을 가지기 때문에 서버는 클라이언트가 누구인지 매번 확인해야합니다. 이 특성을 보완하기 위해서 쿠키와 세션을 사용하게됩니다. *주요 차이점 사용자의 정보가 저장되는 위치입니다. 때문에 쿠키는 서버의 자원을 전혀 사용하지 않으며, 세션은 서버의 자원을 사용합니다. 쿠키는 클라이언트 측에 저장되는 작은 데이터이고, 세션은 서버 측에 저장되는 사용자 상태 정보다. 쿠키(Cookie): *동작방식 쿠키는 클라이언트(웹 브라우저)에 저장되는 작은 데이터 조각이다. 서버는 클라이언트에게.. [TIL 20230614] JVM JVM(Java Virtual Machine)은 자바 프로그램을 실행하기 위한 가상 컴퓨터다. JVM은 소프트웨어 계층으로, 실제 컴퓨터의 하드웨어와 운영체제 사이에서 동작하여 자바 프로그램의 실행을 관리한다. [주요 기능] 1. 자바 프로그램의 실행: JVM은 자바 프로그램(.class 파일)을 실행하기 위해 필요한 환경을 제공합니다. JVM은 자바 바이트코드를 실제 기계어로 번역하고 실행한다. 2. 메모리 관리: JVM은 자동으로 가비지 컬렉션(Garbage Collection)을 수행하여 더 이상 사용되지 않는 객체들을 메모리에서 해제합니다. 이를 통해 개발자는 명시적으로 메모리를 할당하거나 해제하는 작업을 하지 않아도 된다. 3. 플랫폼 이식성 JVM은 플랫폼 독립성을 제공합니다. 자바 프로그램은.. [TIL 20230613] 객체지향 언어 정의와 장단점 객체지향 언어는 소프트웨어 개발 방법론 중 하나로, 프로그램을 독립적인 객체들의 집합으로 모델링하고 이들 객체들의 상호작용을 통해 프로그램을 구현하는 방식을 의미한다. 객체지향 언어 특징으로는 1. 상속 2. 다형성 3. 캡슐화 등의 개념이 있다. 이와 다르게 절차지향 프로그래밍은 일련의 절차 또는 순서에 따라 프로그램을 작성하는 방식인데 프로시저(함수 또는 서브루틴)를 중심으로 프로그램이 실행되며, 데이터와 기능이 분리되어 있다. *객체지향 장점 1. 모듈화와 재사용성: 객체지향 언어는 객체 단위로 모듈화되어 있기 때문에 코드의 재사용성이 높다. 객체들은 독립적으로 개발하고 테스트할 수 있으며, 필요에 따라 다른 프로그램에서도 재사용할 수 있다. 2. 유지보수성: 객체지향 언어는 캡슐화와 상속을 통해 .. [K-Startups meet OpenAI 행사] 샘알트만 오픈AI대표 질의응답 정리 Q. AI기술 영향력이 강해져서 미국의회도 다녀왔는데, 앞으로 우리가 어떻게 준비해야 할까. A. 시스템이 더욱 강해지고 전세계적인 영향이 있을 건데 전세계적 협력이 필요하다. 시스템 배포는 절차적으로 해야하는 것이 중요하다. 장기적으로 봤을 때 어떤 위험성이 있는지는 각각의 국가에 맞는 규제가 필요하긴 할 거다. 사람들이 좋아하는 기술이라는 걸 언젠가 깨달을 것이고, 미래에 대한 부분도 우린 생각하긴 해야 하고, 우린 어떻게 균형을 맞출지도 알아야한다. 우린 오늘이 아니라 미래를 바라보면서 준비를 해야 한다고 한다. 준비를 이전 기술과 달리 그런 준비가 필요하다고 생각하고 있고, 이런 세계적인 투어를 하는 이유가 그 때문이다. Q. AI가 종교 단체를 대체할까요? YES. 일부 단체는 AI를 적용하지 .. [TIL 20230608] JAVA 장단점 장점 1. 이식성: Java는 플랫폼 독립적인 언어로, 한 번 작성한 코드를 다양한 운영체제에서 실행할 수 있다. 이식성이 높기 때문에 개발자는 다양한 플랫폼에서 동일한 코드를 사용할 수 있다. 2. 객체 지향적: Java는 객체 지향 프로그래밍을 지원하며, 이를 통해 모듈화된 코드 작성이 가능하다. 객체 지향적인 접근 방식은 코드의 재사용성, 유지보수성, 확장성을 향상시킬 수 있다. 3. 강력한 라이브러리: Java는 다양한 라이브러리와 API를 가지고 있어 개발자들이 간편하게 다양한 작업을 수행할 수 있다. 네트워크, 데이터베이스, 그래픽 등 다양한 기능을 지원하는 라이브러리가 풍부하게 제공된다. 4. 메모리 관리: Java는 가비지 컬렉션(Garbage Collection)을 통해 메모리 관리를 자.. 이전 1 2 3 4 5 6 7 ··· 36 다음