Tech Interview/Web

Tech Interview/Web

[Web] 목차

순번 유형 01 브라우저 동작 방법 02 쿠키 & 세션 03 HTTP Request Methods 04 HTTP Status Code 05 REST API 06 Web Server와 WAS 07 패스워드 암호화 방법 08 인증 방식 09 OAuth 10 JWT (Json Web Token) 11 로깅 레벨 12 UI와 UX 13 CSR & SSR 14 네이티브 앱 & 웹 앱 & 하이브리드 앱 15 PWA (Progressive Web App) 16 SQL Injection & CSRF & XSS

Tech Interview/Web

[Web] SQL Injection & CSRF & XSS

✔️ SQL Injection & CSRF & XSS SQL Injection이란? 해커에 의해 조작된 SQL 쿼리문이 데이터베이스에 그대로 전달되어 비정상적인 명령을 실행시키는 공격 기법 입력 창에 입력과 함께 다른 쿼리문을 함께 입력하여 데이터베이스에 영향을 줄 수 있는 치명적인 상황이 발생하게 됨 또는 시스템에서 발생하는 에러 메시지를 이용해 악의적인 구문을 삽입하여 에러를 발생시키고, 이를 통해 웹 앱의 데이터베이스 구조를 유추하여 해킹에 활용함 이를 대응하기 위해 입력 값을 받을 때 검증 로직을 추가하여 미리 설정한 특수 문자들이 들어왔을 때의 요청을 막도록 하거나, 뷰를 활용하여 원본 데이터베이스 테이블에는 접근 권한을 높이도록 하여 일반 사용자를 뷰로만 접근하여 에러를 볼 수 없도록 함 또한..

Tech Interview/Web

[Web] PWA

✔️ PWA PWA(Progressive Web App)이란? 웹의 장점과 앱의 장점을 결합한 환경으로, 앱 수준과 같은 사용자 경험을 웹에서 제공하는 것을 목적으로 함 안드로이드나 iOS와 같이 각 네이티브에 대한 기술이 전혀 요구되지 않고, 이미 익숙한 HTML, CSS, Javascript를 이용하여 다양한 플랫폼에서 동작하는 설치형 앱을 빠르게 만들 수 있음 확장성이 좋고, 깊이 있는 앱 같은 웹을 만드는 것을 지향함 웹 주소만 있다면, 누구나 접근하여 사용이 가능하므로 스마트폰의 저장 공간을 잡아 먹지 않음 서비스 작업자 API를 통해 웹 앱의 중요한 부분을 캐싱하여 사용자가 다음에 열 때 빠르게 로딩할 수 있도록 도와주어, 네트워크 환경이 좋지 않아도 빠르게 구동되고 사용자에게 푸시 알림을 보..

Tech Interview/Web

[Web] 네이티브 앱 & 웹 앱 & 하이브리드 앱

✔️ 네이티브 앱 & 웹 앱 & 하이브리드 앱 네이티브 앱이란? 모바일 기기에 최적화된 언어로 개발된 앱 안드로이드 SDK를 이용한 Java 언어나 iOS 기반 SDK를 이용한 Swift 언어로 만드는 앱 성능이 웹 앱, 하이브리드 앱에 비해 가장 높으며 네이티브 API를 호출하여 사용함으로 필랫폼과 밀착되어 있음 반면 플랫폼에 한정적이며 언어에 제약점임 웹 앱이란? 모바일 웹과 네이티브 앱을 결합한 형태로 모바일 웹의 특징을 가지면서도, 네이티브 앱의 장점을 가짐 따라서 기존의 모바일 웹보다는 모바일에 최적화된 앱으로 PC용 홈페이지를 모바일 스크린 크리에 맞춰 줄여 놓은 것 웹 사이트를 보는 것이므로 따로 앱을 설치할 필요가 없으며, 모든 기기와 브라우저에서 접근이 가능함 반면 플랫폼 API를 사용하..

Tech Interview/Web

[Web] CSR & SSR

✔️ CSR & SSR CSR(Client Side Rendering)란? 사용자의 행동에 따라 필요한 데이터 부분만 서버로부터 다시 읽어오게 됨 서버 측에서 렌더링하여 전체 페이지를 다시 읽어들이는 것보다 빠른 인터랙션을 기대할 수 있음 서버는 단지 JSON 파일만 보내주고, HTML을 그리는 역할은 자바스크립트를 통해 클라이언트 측에서 수행함 즉, 뷰 렌더링을 유저의 브라우저가 담당하고, 먼저 웹 앱을 브라우저에게 로드한 다음 필요한 데이터만 전달받아 보여주게 됨 이로 인해 새로고침이 발생하지 않고, 사용자는 네이티브 앱과 같은 경험을 할 수 있음 반면, 검색 엔진에 따라 자바스크립트 엔진이 내장되어 있지 않다면 따로 SSR을 구현해야 하는 번거로움이 존재함 SSR(Server Side Renderi..

Tech Interview/Web

[Web] UI와 UX

✔️ UI와 UX UI(User Interface)란? 사용자가 앱을 사용할 때 마주하는 디자인, 레이아웃, 기술적인 부분 디자인의 구성 요소인 폰트, 색깔, 줄 간격 등 상세한 요소가 포함되고, 기술적인 부분으로는 반응형이나 애니메이션 효과 등이 포함됨 UI는 사용자가 사용할 때 큰 불편함이 없어야 하며, 만족도를 높여야 함 UX(User eXperience)란? 앱을 주로 사용하는 사용자들의 경험을 분석하여 더 편하고 효율적인 방향으로 프로세스가 진행될 수 있도록 만드는 것 통계 자료, 데이터를 기반으로 앱을 사용하는 유저들의 특성을 분석하여 상황과 시점에 맞도록 변화시킬 수 있어야 함 예) 터치 화면, 사용자의 선택 흐름 등

Tech Interview/Web

[Web] 로깅 레벨

✔️ 로깅 레벨 로깅 레벨이란? 로그 메시지의 중요도를 나타내는 수준으로, 로그 메시지의 중요도에 따라 해당 메시지를 기록할지 결정하는데 사용 보통 log4j 라이브러리를 활용 크게 ERROR, WARN, INFO, DEBUG로 로그 레벨을 나누어 작성 ERROR : 프로그램 동작에 큰 문제가 발생했다는 것으로 즉시 문제를 조사해야 하는 것 WARN : 주의해야 하지만, 프로세스는 계속 진행되는 상태 이때 명확한 문제(현재 데이터를 사용 불가, 캐시값 사용)나 잠재적 문제(개발 모드로 프로그램 시작, 관리자 콘솔 비밀번호가 보호되지 않고 접속 등)가 발생할 경우에는 종료가 일어남 INFO : 중요한 비즈니스 프로세스가 시작될 때와 종료될 때 DEBUG : 개발자가 기록할 가치가 있는 정보를 남기기 위해 사용

Tech Interview/Web

[Web] JWT

✔️ JWT JWT(JSON Web Token)란? 인증 흐름의 규약이 아닌, JSON 형태를 활용한 토큰 작성에 대한 인증 규약 웹표준으로서 두 개체에서 JSON 객체를 사용하여 가볍고 자가수용적인 방식으로 정보를 안정성 있게 전달함 로그인 인증 시 유효기간이 짧은 토큰을 발급하게 되면 사용자 입장에서 자주 로그인을 해야하기 때문에 번거롭고, 대신 유효기간이 긴 토큰을 발급하게 되면 제 3자게에 토큰을 탈취당할 경우 보안에 취약하므로 유효기간이 긴 리프레쉬 토큰을 사용해 유효기간이 짧은 액세스 토큰의 유효기간이 만료되었을 때, 새로 발급해주도록 함 이때 유효기간이 긴 리프레쉬 토큰 또한 만료되었다면, 사용자는 새로 로그인해야 함 이를 이용해 탈취당한다고 더 짧은 유효기간 때문에 탈취되는 가능성이 적게 ..

김깅긍
'Tech Interview/Web' 카테고리의 글 목록