공부(111)
-
[면접준비] 클래스형과 함수형의 차이를 설명해주세요. 어떤 방식을 주로 사용하였고 그 이유가 뭔지 답변해주세요. (24/04/05)
함수형 전달받은 인자값을 중심으로 결과값을 반환하는 간결한 방식의 프로그래밍으로 데이터를 함수 내부에서 따로 저장하거나 하지 않는다. 한 번에 하나의 작업만 수행하는 함수들의 조합으로 로직을 처리한다. 클래스형 객체지향 프로그래밍. SOLID원칙 S (SRP) 단일 책임 원칙 (Single responsibility principle) 한 클래스는 하나의 책임만 가져야 한다. O (OCP) 개방-폐쇄 원칙 (Open/closed principle) “소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.” L (LSP) 리스코프 치환 원칙 (Liskov substitution principle) “프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 ..
2024.04.05 -
[면접준비] 객체지향 프로그래밍이란 무엇이고 어떻게 활용할 수 있나요? (24/04/05)
객체지향 프로그래밍(OOP) 소프트웨어 개발 프로그래밍 패러다임중 하나로, 현실 세계의 사물을 모델링하여 소프트웨어를 개발하는 방법이다. 핵심 개념 클래스와 객체 클래스 : 객체를 생성하기 위한 설계도, 템플릿. 객체 : 클래스의 인스턴스. 데이터와 데이터를 처리하기 위한 메서드를 포함한다. 추상화 여러 객체들의 공통적인 특징(속성과 기능)을 추출하여 정의하는것. 클래스 정의 = 추상화. 상속 상위 클래스의 특성과 메서드를 하위 클래스가 상속받는다. 코드의 재사용성을 높일 수 있다. 다형성 같은 이름의 메서드가 다양한 형태로 동작할 수 있는 능력을 가리킴. 상위 클래스에 정의된 메서드가 하위 클래스에서 다르게 구현될 수 있음. 오버라이딩 : 하위 클래스가 상위 클래스에서 상속받은 메서드를 재창조해서 사용..
2024.04.05 -
[Node.js_4기] 최종프로젝트 2주차_day4_API 작업 (24/04/04)
목차 1. 문제 2. 시도 3. 결과 4. 배운점 1. 문제 gpt 4 -> 덜창의적인 작업에서, 훨씬 느린 성능을 보여줌. 간단한 작업에 대해선 gpt3.5turbo를 쓰는게 훨씬 경제적으로 보임. 번역 : gpt3.5 = 1.48s/gpt4-turbo-preview = 3.73 imageToText / withCsv / translate 3스텝으로 하는건 별로인것 같음. 5.37(2스텝) vs 4.33+1.48(3스텝) 한번에 합쳐서 테스트 해볼 예정. import * as csv from 'csv-parser' -> 전체를 가져온다. import csv from 'csv-parser' -> default를 가져온다. 2. 시도 docker에 올려서 시도해본 결과. public async dietMa..
2024.04.04 -
[면접준비] OSI 7계층에 대해 아는대로 설명해주세요. (24/04/04)
OSI 7계층 OSI 7 계층 모델은 네트워크 통신 과정을 이해하기 쉽게 단계별로 구분하여, 문제 발생 시 특정 계층만 집중적으로 다룰 수 있도록 설계되었습니다. 단계 물리계층(Physical Layer) 전기적, 기계적, 기능적 특성을 기반으로 데이터를 전송. 데이터를 전달만 할뿐, 데이터에 대한 판단은 전혀 신경쓰지 않는다. 케이블, 리피터, 허브 데이터 링크 계층(DataLink Layer) 전달받은 정보의 오류와 흐름을 관리하여 정보 전달을 수행하는 계층. 이 계층에서 전송되는 단위를 프레임이라고 하며, 프레임간 오류 검출과 수정을 수행하며 물리 계층에서 전송된 데이터를 논리적인 단위로 분리한다. MAC 주소 네트워크 계층(Network Layer) IP 주소를 사용하는 계층으로, 데이터를 목적지..
2024.04.04 -
[면접준비] http, https 차이점에 대해 설명해주세요 (24/04/04)
HTTP와 HTTPS 둘은 모두 서버/클라이언트간 데이터를 주고받기 위한 통신 규약 또는 프로토콜이다. 차이점은, HTTPS는 데이터 암호화가 추가되었다는 것. HTTP HTTP는 OSI(Open System Interconnection) 네트워크 통신 모델의 애플리케이션 계층 프로토콜. 데이터를 평문 형태로 전송하기 때문에 데이터 탈취의 위험성이 존재 기본적으로 80번 포트를 사용 데이터의 민감 정보가 노출될 수 있다.(보안레벨 낮음) HTTPS에 비해 구현과 운영이 단순하다. HTTPS HTTP에 데이터 암호화가 추가된 프로토콜, 데이터를 암호화하여 전송하기 때문에 중간 공격자가 데이터를 읽거나 수정하는 것을 방지. 기본적으로 443번 포트를 사용 데이터 전송중 가로채기를 방지하기 때문에 보안 수준이..
2024.04.04 -
[Node.js_4기] 최종프로젝트 2주차_day3_API 작업 (24/04/03)
목차 1. 문제 2. 시도 3. 결과 4. 배운점 1. 문제 Image를 입력받아(일단은 wiki mdeia에 올라와있는 이미지들로 테스트) 어떤 음식들이 있는지 판별하는 API하나 위의 출력과(일단 지금은 복사해서 json body로 입력해주고 있음) csv파일을(영양정보xslx파일을 csv로 변환하고, 음식명, 칼로리, 탄수화물, 단백질만 정리된 data) 입력받아 식단 평가를 해주는 API 구축 2. 시도 const completion = await openai.chat.completions.create({ messages: [ { role: 'user', content: [ { type: 'text', text: ` 이미지 속의 음식들을 판별해서 알려줘. 여러 음식이 있는 이미지라도 동일한 작업을..
2024.04.03