본문 바로가기

공부 기록/영상 후기

(184)
[10분 테코톡] 티버의 API vs Library vs Framework https://youtu.be/We8JKbNQeLo API 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 - 구현과 독립적으로 사양만 정의되어 있다. - API에 따라 접근 권한이 필요할 수 있다. Library 응용 프로그램 개발을 위해 필요한 기능(함수)을 모아 놓은 소프트웨어 - 독립성을 가진다. - 응용 프로그램이 능동적으로 라이브러리를 사용한다. Framework 응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경 - 상호협력하는 클래스와 인터페이스의 집합이다. - 응용 프로그램이 수동적으로 프레임워크에 의해 사용된다. API vs Library vs Framework Library와 API의 차이점은 구현 로..
DB 테이블 설계 잘못하면 어떤 문제가 생길 수 있을까요? https://youtu.be/JwfQ8ouhAzA 1. 중복 데이터 문제 Insertion anomalies => 저장 공간 낭비, 실수로 인한 데이터 불일치 가능성, null값을 많이 씀, 임시의 row를 생성하고 삭제하는 번거로움 Deletion anomalies => 삭제 시 애꿎은 정보까지 같이 삭제될 가능성, null값을 많이 씀 Update anomalies => 실수로 인한 데이터 불일치 가능성 2. Spurious Tuples join하면서 가짜 정보 발생 3. null 값이 많아지면서 발생하는 문제점들 null값이 있는 column으로 join하는 경우 상황에 따라 예상과 다른 결과 발생 null값이 있는 column에 aggregate function을 사용 시 주의 필요 불필요한 s..
[10분 테코톡] 타미의 Servlet vs Spring https://youtu.be/2pBsXI01J6M Servlet : 웹 애플리케이션을 만들 때 필요한 인터페이스 Spring Web MVC => Spring(Spring Framework에 있는 모듈), Web(Web service를 만든다), MVC(MVC 패턴을 사용해서) Spring Web MVC가 Servlet을 사용한다. 동적 데이터를 처리하는 CGI의 단점 보완 => Process에서 Thread로, 여러 인스턴스에서 Singleton으로 => Servlet 웹 컨테이너에 요청이 들어오면 쓰레드 생성, 서블릿을 실행시킨다. Init : 서블릿 인스턴스 생성 Service : 실제 기능 수행 Destroy : 서블릿 인스턴스 소멸 Spring Web MVC가 없을 때 => Url마다 서블릿을 ..
[10분 테코톡] 희봉의 웹서버 vs WAS https://youtu.be/NyhbNtOq0Bc Web : URL, HTTP, HTML 웹 서버 : 인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 컴퓨터 WAS(Web Application Server) - 웹 어플리케이션(웹에서 실행되는 응용 프로그램)과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크 - 웹 어플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에 전달 - php, jsp, asp와 같은 언어들을 사용해 동적인 페이지를 생성할 수 있는 서버 - 프로그램 실행 환경과 데이터베이스 접속 기능 제공 - 비즈니스 로직 수행 가능 - 웹 서버 + 웹 컨테이너(jsp, servlet을 실행시킬 수 있는 소프트웨어) - 동적 페이지 요청 시 웹 서버가 웹 ..
쿠키란 무엇일까? 개념, 필요성, 구성 요소, 사용 정책 https://youtu.be/JRXs0gZISwI 웹사이트 재방문시 효율적인 서비스 제공, 서비스 개선을 위한 통계자료, 광고를 위해 쿠키를 사용한다. http 프로토콜의 특징은 비연결성, 비상태성 => 따라서 쿠키와 세션을 사용한다. 브라우저를 통해 웹사이트 방문 시 서버가 쿠키를 보내고, 브라우저는 그 쿠키를 저장한다. 서버에 정보 요청 시 쿠키에 저장된 정보를 같이 보낸다. 서버는 해당 정보를 확인하고 그에 맞는 데이터를 보내준다. 구성 요소 : 키, 값, 도메인, 경로, 기한(쿠키의 만료일), 보안 요소 * 세션 쿠키 : 기한을 지정하지 않은 쿠키. 브라우저가 종료될 때 사라진다. - 퍼스트 파티 쿠키 : 사용자가 이용 중인 웹사이트의 소유자가 직접 생성 - 서드 파티 쿠키 : 제 3자가 발행 ..
프로세스, 스레드, 멀티태스킹, 멀티스레딩, 멀티프로세싱, 멀티프로그래밍, 이 모든 것을 한 방에 깔끔하게 설명합니다!! https://youtu.be/QmtYKZC0lMU 프로그램 : 컴퓨터가 실행할 수 있는 명령어들의 집합 CPU : 명령어를 실행하는 연산 장치 메인 메모리 : 프로세스가 CPU에서 실행되기 위해 대기하는 곳 IO : 파일을 읽고 쓰거나 네트워크의 어딘가와 데이터를 주고 받는 것, 입출력 장치와 데이터를 주고 받는 것 프로세스 : 컴퓨터에서 실제로 실행 중인 프로그램, 각각의 프로세스는 독립된 메모리 공간을 할당 받음, 이 메모리 공간에 명령어들과 데이터를 가짐 스레드 : 프로세스는 한 개 이상의 스레드를 가질 수 있다. 스레드는 CPU에서 실행되는 단위 스레드들은 자신들이 속한 프로세스의 메모리 영역을 공유한다. => 같은 프로세스의 스레드들끼리 컨텍스트 스위칭은 가볍다. 데이터 공유 용이 멀티프로그래..
웹개발 필수개념! DOM이 뭔가요? (+ Web API) https://youtu.be/mFawNZz_Uu0 웹 개발에서 사용되는 document 객체는 브라우저에서 제공하는 window 객체의 한 요소 window.document 객체 => DOM 브라우저에서 HTML 코드를 해석하여 DOM이 만들어진다. HTML 요소들의 구조가 트리 형식으로 반영, 트리 전체가 DOM, 각각의 요소는 Node Web API : DOM + BOM https://developer.mozilla.org/ko/docs/Web/API/Document_Object_Model/Introduction DOM 소개 - Web API | MDN 이 문서는 DOM에 대한 개념을 간략하게 소개하는 문서이다: DOM 이 무엇이며, 그것이 어떻게 HTML, XML 문서들을 위한 구조를 제공하는지,..
아파치, NginX, 톰캣이 뭔가요? (+ 웹서버, WAS, 로드밸런싱, 프록시) https://youtu.be/Zimhvf2B7Es 아파치, NginX => 웹 서버 - 주로 정적 컨텐츠를 제공 - 동적 웹도 아파치, NginX의 모듈로 가능(가벼운 동적 리소스 제공) - reverse proxy : 서버의 내부 구조를 숨겨준다.(보안 기능) - reverse proxy 캐싱 - WAS 헬스 체크 - 성능과 가벼움이 중요하다면 NginX, 안정성이 중요하다면 아파치 사용 톰캣 => 웹 어플리케이션 서버(WAS) - 주로 동적 컨텐츠를 제공 앞단에 웹 서버, 뒷단에 WAS