분류 전체보기 288

[1분 면접] WAS와 웹 서버의 차이점

📌 면접 답변   Web Server (WS, 웹 서버)정적 컨텐츠 (HTML, CSS, JS, 이미지 등)을 제공동적 컨텐츠 요청 시 WAS로 전달대표적인 웹 서버로 Apache, Nginx 등이 있음  Web Apllication Server서블릿 컨테이너 기능 제공 (Java 기준)동적으로 컨텐츠 생성HTTP 요청을 받아 애플리케이션 로직 실행JSP, Servlet, Spring, Django, Node.js 같은 프레임워크 실행하는 환경 포함대표적인 WAS로는 Tomcat이 있음 Spring Boot는 내장 Tomcat이 있음WAS는 실행 활경으로, WAS 안에 프레임워크 포함   WAS가 너무 많은 역할을 담당하면 과부화 문제가 발생한다.때문에 WS와 WAS를 분리하고, WAS는 중요한 애플리..

[Python][프로그래머스] 아이템 줍기 / BFS (Lv3)

🖇️ 링크 https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🙌 내 풀이 과정🗒️ 파이썬 코드 풀이from collections import dequedef solution(rectangle, characterX, characterY, itemX, itemY): # 좌표 생성 (110,110) SIZE = 110 axis = [[-1] * SIZE for _ in range(SIZE)] # 좌표 2배씩 확장 for i in range(len(re..

[1분 면접] SSR과 CSR 차이점

📌 면접 답변SSR(Sever Side Rendering)서버는 CSS까지 모두 적용하여 렌더링 준비를 마치고 HTML과 JS 코드 응답모든 데이터가 이미 HTML 담긴 채로 브라우저에 전달 때문에 SEO에 유리사용자는 JS 코드 다운 전에 이미 렌더링 된 HTML 볼 수 있어 초기 구동 속도 빠름 코드 예시/ssr-example ├── server.js ├── views ├── index.ejs// server.jsconst express = require("express");const app = express();app.set("view engine", "ejs"); // EJS 템플릿 엔진 설정app.get("/", (req, res) => { res.render("index",..

[Python][프로그래머스] N으로 표현 / DP (Lv3)

🖇️ 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr🗒️ 파이썬 코드 풀이def solution(N, number): answer = 0 dp = [set() for _ in range(9)] dp[1].add(N) if number == N : return 1 for p in range(2,9): dp[p].add(int(str(N) * p)) for i in range(1,p): ..

[1분 면접] (Connection, Socket, Read) Timeout 차이점

📌 면접 답변 Connection Timeout TCP 3-way-handshake가 일정 시간 내에 완료되지 않을 때 발생서버의 장애나 응답 지연으로인해 연결을 맺지 못하는 경우 Connection Timeout은 대부분 방화벽이 발생 원인  Socket TimeoutConnection Timeout 이후에 발생할 수 있는 Timeout서버가 데이터를 패킷 단위로 클라이언트에게 전달하는데, 일정 시간 내에 다음 패킷을 보내지 않는 경우 클라이언트가 Socket Timeout을 발생시키고 연결 종료Socket Timeout이 Read Timeout 보다 더 넓은 개념  Read Timeout 클라이언트와 서버가 연결은 되었지만 서버의 응답이 느린 경우 (서버 부하)클라이언트에서 설정한 시간까지 서버에서..

[Python][프로그래머스] 등굣길 / DP (Lv3)

🖇️ 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr🗒️ 파이썬 코드 풀이def solution(m, n, puddles): answer = 0 dp = [[0] * (m+1) for _ in range(n+1)] puddles = [[q,p] for p,q in puddles] for i in range(1,n+1): for j in range(1,m+1): if i == j == 1: ..

[1분 면접] 얕은 복사와 깊은 복사의 차이

📌 면접 답변얕은 복사객체의 주소를 복사하는 방식원본과 복사본이 같은 메모리 주소를 공유 (내부 객체 공유) 한쪽 값을 변경하면 다른 쪽도 영향을 받음 깊은 복사객체뿐만 아니라 내부에 있는 참조된 객체까지 모두 새로운 메모리 공간 할당 내부 객체도 독립적복사본을 변경해도 원본 객체에는 영향을 주지 않음 📌 내 답변얕은 복사 같은 경우, 주소까지 가져오는게 아니라 해당 주소가 가르키는 값만 가져온다. 하지만 깊은 복사 같은 경우, 주소와 값 모두 가져오는데,이로 인해 복사해온 값이 변경되면 깊은 복사한 값도 해당 값의 주소를 가르키기 때문에 같이 값이 변하게 된다.  얕은 복사와 깊은 복사에 대해 반대로 알고 있었다.그리고 복사는 주소와 값만을 복사하는 줄 알았다... 얕은 복사하면 대충 복사한 느낌이..

[1분 면접] 포워드 프록시와 리버스 프록시의 차이점

📌 면접 답변포워드 프록시 (Forward Proxy)네트워크 사용자 보호 또는 접근 제어에 사용주로 클라이언트 측에 위치하여, 사용자가 인터넷 접근할 때 중개자 역할핵심 기능은 익명성 제공, 캐싱, 보안 강화(불법 콘텐츠 접근 차단)예시로 회사 내부 네트워크에서 직원이 외부 웹사이트 접속하려 할 때, 포워드 프록시 서버를 통해 전달→ 여기에서 사용자의 실제 IP 주소는 숨겨지고, 프록시 서버의 IP 주소가 대신 사용   리버스 프록시 (Reverse Proxy서버 보호 및 로드 밸런싱 수행에 사용서버 측에 위치하여 외부에서 들어오는 클라이언트 요청을 내부 서버로 전달하는 역할핵심 기능은 로드 밸렁싱으로 서버 트래픽 분산 및 고가용성 유지외부에서 직접 백엔드 서버에 접근하지 못하게 함DDOS 공격이나 ..