CS와 면접 7

REST API

더보기 REST API란 무엇인가요? (모두가 답변) 프로젝트에 REST API를 사용한 이유가 무엇인가요? (프로젝트에 REST API를 사용하셨을 경우에만 추가 답변), REST API 말고 다른 비교할만한 것을 알고 있나요? API(Application Programming Interface)란? 컴퓨터의 기능을 실행시키는 방법을 의미함( ex. 'HELLO WORLD'를 프린트하는 것) 회원가입, 로그인, 게시글 작성 등 모두 제각기 특정 기능을 담당하고 있는 하나하나가 API임 REST(Representational State Transfer) API REST의 특징을 기반으로 서비스 API를 구현한 것 REST API도 컴퓨터의 기능을 실행시키는 명령, 다만 내 컴퓨터가 아니라 남의 컴퓨터를 ..

CS와 면접 2023.03.28

객체지향 프로그래밍(OOP)

객체지향 프로그래밍 (Object-Oriented Programming, OOP) 소프트웨어 개발 방법론 중 하나로, 현실 세계의 객체를 모델링하고, 데이터를 추상화시켜 객체를 만들어 객체들 간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법입니다. 장단점 다른 사람이 만든 클래스를 가져와서 이용 할 수 있고 상속을 통해 확장이 가능. 코드 재사용이 용이하고 수정해야 할 부분이 클래스 내부에 멤버 변수 또는 메서드로 존재하여 유지보수 용이. 클래스 단위로 모듈화시켜서 개발할 수 있으므로 대형 프로젝트에 적합. 처리 속도가 상대적으로 느리고 객체가 많으면 용량이 커질 수 있고 설계 시 많은 시간과 노력이 필요. 주요 키워드 클래스 (Class) : 객체를 정의하는 설계도 혹은 틀을 의미하며 클래스는 객체..

CS와 면접 2023.03.28

Web Server(웹서버, 아파치) 와 WAS(톰캣) 이해하기

1. 웹 서버와 WAS(web Application Server) 웹 서버는 정적인 컨텐츠(html,css,js)를 제공하는 서버 ex) Apache, Nginx WAS 는 DB조회나, 어떤 로직을 처리해야 하는 동적인 컨텐츠를 제공하는 서버 ex) Tomcat, jeus 즉 웹서버와 WAS의 차이는 어떤 타입의 컨텐츠를 제공하느냐의 차이이다. 웹 서버와 WAS는 각각 독립적으로 존재할수 있다. 대부분의 WAS는 정적인 컨텐츠를 제공해주고 있기 때문에, 웹서버 없이 WAS만 존재할수 있다. 그래서 WAS는 웹 서버를 포함하는 개념이라고 생각해도 될 것같다. WAS 자체로 웹서버의 역할을 수행하기 때문에 무조건적으로 웹서버를 앞단에 두어야할 이유는없다. 그런데 일반적으로 웹서버를 WAS 앞단에 배치하게 되..

CS와 면접 2023.02.21

Docker & Kubernetes (도커와 쿠버네티스 차이)

🐳 Docker (도커) 컨테이너 기반의 오픈소스 가상화 플랫폼 하나의 큰 애플리케이션을 서비스 단위로 분할하여 빠른 배포 가능 컨테이너끼리 서로에게 영향을 끼치지 않음 도커는 기술적인 개념이자 도구이며 이미지를 컨테이너에 띄우고 실행하는 기술 한 개의 컨테이너를 관리하는데 최적 이미지 : 컨테이너 실행에 필요한 파일과 설정값들을 포함하고 있는 것 컨테이너 : 격리된 공간에서 프로세스가 동작하는 기술 가상 머신(Virtual Machine)과 다른 점 가상 머신 : 서버 - Hypervisor 위에 VM들 올리기 컨테이너 : 서버 - Host OS - Docker Engine - Contatiner들 올리기 필요한 자원만큼을 컨테이너에 할당하고 운영체제와 자원을 공유하므로 효율적이고 배포가 빠름! 또한 ..

CS와 면접 2023.02.20

인공지능AI / 머신러닝ML / 딥러닝DL / IoT / 챗GPT

-AI, 머신러닝 인공지능 ⊃ 머신러닝 ⊃ 딥러닝 컴퓨터가 사람처럼 생각하고, 판단하게 만드는 기술 인공지능(AI)은 학습, 문제 해결, 패턴 인식 등과 같이 주로 인간 지능과 연결된 인지 문제를 해결하는 데 주력하는 컴퓨터 공학 분야입니다. (인공지능의 한분야) 인간의 학습능력과 같은 기능을 컴퓨터에 부여하기 위한 기술 과거에는 인공지능을 개발할 때 해당 분야의 전문가들이 만든 많은 양의 샘플들을 데이터 베이스화 하여 자료들을 일일이 수작업으로 컴퓨터에 직접 등록하는 방법을 사용했습니다. 하지만 이런 방법은 대부분의 작업이 사람의 손을 거쳐야 하므로 필연적으로 많은 시간과 노력, 비용이 발생하게 됩니다. 또한, 시대가 발전함에 따라 사람조차 명확하게 구분할 수 없는 지식(no explicit knowl..

CS와 면접 2023.02.19

프레임워크 vs 라이브러리

🚀 "프레임워크와 라이브러리의 차이를 아시나요?"" "음... 프레임워크는 뼈대이고 라이브러리는 모듈 같은 것이고....😰" "그럼 최근에 사용하신 프레임워크와 라이브러리를 알려주세요." "... express랑.. 그리고 음.. 모듈은...." 9월달 즈음 스타트업 면접을 보면서 받았었던 질문이었는데 꽤나 기초적인 질문이었음에도 제대로 대답하지 못했었던 기억이 나네요. 이 면접 이후로 집에 와서 알고리즘 공부보단 면접 준비에 좀 더 관심을 가져야겠다고 생각했었고 프레임워크와 라이브러리의 정의, 예시들, 차이점을 확실하게 정리해서 포스팅하고자 합니다. 📖 간단한 정의 🚗 프레임워크 원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미합니다. 애플리케이..

CS와 면접 2023.02.19