Today I Learned/TIL 08
-
2023 - 08 - 31 기술면접(12) - 객체지향 프로그래밍 (OOP)Today I Learned/TIL 08 2023. 8. 31. 11:26
객체지향 프로그래밍 언어란? 객체 지향 프로그래밍은 컴퓨터 프로그래밍 패러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 객체지향 프로그래밍 언어의 장점 1.코드 재사용이 용이 : 남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용할 수 있다. 2. 유지보수가 쉬움 : 객체 지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부에 멤버 변수혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 된다. 3. 대형 프로젝트에 적합 : 클래스 단위로 모듈화시켜서 개발할 수 있으므로 대형 프로젝트처럼 여러 명, 여러 회사에서 프로젝트를 개발할 때 업무 분담하기 쉽다. 객체지향..
-
2023 - 08 - 30 기술면접(11)- DI, IoCToday I Learned/TIL 08 2023. 8. 31. 11:14
DI (Dependency Injection - 의존성 주입): DI는 프로그램에서 여러 컴포넌트가 서로 협력하고 의존하는 상황에서 사용되는 디자인 패턴입니다. 우리 일상 생활에서도 의존성을 가지고 있는 예를 생각해보면 쉽게 이해할 수 있어요. 예를 들어, 자전거를 타려면 바퀴나 핸들 같은 부품들이 필요한데, 이런 부품들은 자전거에 주입되어야 합니다. 프로그래밍에서도 비슷한 원리가 적용됩니다. DI는 컴포넌트들 간의 의존성을 줄이기 위해, 컴포넌트에 필요한 다른 컴포넌트를 외부에서 주입하는 방식을 말합니다. 이렇게 하면 컴포넌트들이 더 모듈화되고 유연해지며, 유지보수가 더 편리해집니다. IoC (Inversion of Control - 제어의 역전): IoC는 프로그래밍에서 컨트롤의 흐름이 바뀌는 것을 ..
-
2023 - 08 - 29 기술면접(10)- HTTP와 HTTPS의 차이점Today I Learned/TIL 08 2023. 8. 29. 22:55
HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간 통신을 위한 통신 규칙 세트 또는 프로토콜입니다. 사용자가 웹 사이트를 방문하면 사용자 브라우저가 웹 서버에 HTTP 요청을 전송하고 웹 서버는 HTTP 응답으로 응답합니다. 웹 서버와 사용자 브라우저는 데이터를 일반 텍스트로 교환합니다. 간단히 말해 HTTP 프로토콜은 네트워크 통신을 작동하게 하는 기본 기술입니다. 이름에서 알 수 있듯이 HTTPS(Hypertext Transfer Protocol Secure)는 HTTP의 확장 버전 또는 더 안전한 버전입니다. HTTPS에서는 브라우저와 서버가 데이터를 전송하기 전에 안전하고 암호화된 연결을 설정합니다. HTTP 프로토콜의 작동 원리 HTTP는 OSI(Open Sys..
-
2023 - 08 - 28 Validation failed (numeric string is expected)Today I Learned/TIL 08 2023. 8. 29. 12:07
uri오류로 인해 발생한 에러. user/:무슨 아이디 user/recommendation 으로 통신하면 아이디를 recommendation 으로 받아들여서 아예 다르게 쓰려면, user/recommendation/다른변수 이렇게 구분되게 만들어줘야 한다. ex) localhost:3000/user/ 이 자리에는 userId를 기대하는데 localhost:3000/user/recommendation 이라고 치면 recommendation을 userId로 인식한다. userId는 숫자여야 하는데 문자열이 들어오니 당연히 에러.
-
2023 - 08 - 27 기술면접(09) - TCP와 UDP의 특징과 차이점Today I Learned/TIL 08 2023. 8. 28. 09:49
TCP (Transmission Control Protocol): 연결 지향적인 프로토콜입니다. 데이터를 전송하기 전에 먼저 연결을 설정하고, 데이터를 전송한 후에 연결을 해제합니다. 데이터의 신뢰성과 정확성이 중요한 경우에 사용됩니다. 예를 들어 파일 전송, 이메일 전송 등에서 주로 사용됩니다. 데이터 전송 과정에서 오류 검출과 복구를 수행하며, 순서가 보장되어야 하는 경우 패킷의 순서를 정확하게 조작합니다. 신뢰성을 위해 데이터를 보낼 때 ACK(확인 응답)과 각 패킷의 순서 번호 등을 사용합니다. 오버헤드가 발생하고, 전송 속도가 상대적으로 느릴 수 있습니다. UDP (User Datagram Protocol): 비연결성 프로토콜로, 데이터를 전송하기 전에 연결을 설정하지 않고, 연결을 해제하지 않..
-
2023 - 08 - 26 기술면접(08) - 쿠키, 세션의 개념과 차이Today I Learned/TIL 08 2023. 8. 28. 09:43
쿠키와 세션을 사용하는 이유 HTTP 프로토콜의 특징이자 약점을 보완하기 위해서 사용된다. 1. Connectionless 프로토콜 (비연결지향) 클라이언트가 서버에 요청(Request)을 했을 때, 그 요청에 맞는 응답(Response)을 보낸 후 연결을 끊는 처리방식이다. - HTTP 1.1 버전에서 연결을 유지하고, 재활용 하는 기능이 Default 로 추가되었다. (keep-alive 값으로 변경 가능) 2. Stateless 프로토콜 (상태정보 유지 안함) 클라이언트의 상태 정보를 가지지 않는 서버 처리 방식이다. 클라이언트와 첫번째 통신에서 데이터를 주고 받았다 해도, 두번째 통신에서 이전 데이터를 유지하지 않는다. But, 실제로는 데이터 유지가 필요한 경우가 많다. 정보가 유지되지 않으면,..
-
2023 - 08 - 25 기술면접(07)- 브라우저의 작동방식Today I Learned/TIL 08 2023. 8. 24. 22:29
브라우저는 웹 페이지를 표시하고 상호작용할 수 있게 해주는 소프트웨어입니다. 브라우저의 작동 방식은 크게 아래와 같은 단계로 이루어집니다: 1 사용자 입력 및 주소 해석: 사용자가 주소 창에 웹 페이지 주소(URL)를 입력하면, 브라우저는 해당 URL을 해석하여 서버의 IP 주소를 확인합니다. 이를 위해 DNS(Domain Name System) 서버를 사용하여 도메인 이름을 IP 주소로 변환합니다. 2 서버에 요청 전송: 브라우저는 변환된 IP 주소를 사용하여 웹 서버에 HTTP 요청을 전송합니다. 이 요청은 해당 URL에 대한 리소스(HTML 파일, 이미지, 스크립트 등)를 요청하는 것입니다. 3 서버 응답 수신 및 처리: 웹 서버는 요청을 받고 해당하는 리소스를 찾아서 브라우저에 응답합니다. 응답은..
-
2023 - 08 - 22 Error: ER_ACCESS_DENIED_ERROR: Access denied for user ''@'localhost' (using password: NO)Today I Learned/TIL 08 2023. 8. 21. 23:22
시스템 환경 변수 편집 환경변수 시스템변수 Path 더블클릭 C:\Program Files\MySQL\MySQL Server 8.0\bin CMD cd C:\ProgramFiles\MySQL\MySQL Server 8.0\bin 명령어 mysql -u root -p 실행, 터미널에서 서버 실행.