no image
[CS Web] Cookie & Session
Cookie클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지된다쿠키는 사용자가 따로 요청하지 않아도 브라우저가 Request시 Request Header를 넣어서 자동으로 서버에 전송한다 쿠키의 구성 요소이름값유효시간도메인경로 쿠키의 동작 방식1. 클라이언트가 페이지를 요청 (사용자가 웹사이트에 접근)2. 웹 서버에서 쿠키를 생성3. 생성한 쿠키를 HTTP 헤더에 포함 시켜 클라이언트에 응답4. 클라이언트가 쿠키를 가지고 있다가 다시 서버에 요청할 때 쿠키를 함께 전송5. 동일한 웹사이트 재방문 시 클라이언트 PC에 해당 쿠키가 있는 경우, 요청 페이지와 함께 쿠키를 전송 쿠키 ..
2024.04.11
no image
[CS Web] HTTP Status Code
웹 브라우저 주소창에 https://www.naver.com을 입력하고 엔터를 누르면 웹 클라이언트와 웹 서버 사이에 HTTP 연결이 맺어지고 웹 클라이언트는 웹 서버에 HTTP 요청 메시지를 보낸다. 웹 서버는 요청에 따른 처리를 진행한 후, 그 결과를 웹 클라이언트에 HTTP 응답 메시지로 보내는데, 이러한 요청과 응답 과정이 있어서 우리가 웹을 사용할 수 있는 것이다. 서버에서의 처리 결과는 응답 메시지의 상태 라인에 있는 상태 코드(Status code)를 보고 파악할 수 있는데, 첫 번째 숫자는 HTTP 응답의 종류를 구분하는데 사용하며, 나머지 2개의 숫자는 세부적인 응답 내용 구분을 위한 번호이다. 현재 100 ~ 500번 대의 상태 코드가 정의되어 있고, 첫 번째 숫자를 기준으로 상태 코드..
2024.04.11
no image
[CS Web] HTTP Request Method
HTTP 요청 방법GETPUTPOSTDELETEPATCHHEADOPTIONSTRACECONNECT DELETE지정된 리소스 삭제비안정성을 가지므로, DELETE 요청 시 클라이언트를 인증/인가에 필요한 정보들을 함께 보내야함URL query string parameter인증에 필요한 username, id, password 등 민감 정보가 그대로 노출될 수 있으므로 보안상 좋진 않다.server log에 password가 평문 그대로 저장될 수 있다.브라우저 히스토리에 url이 저장될 수 있다.Google Analytics 같은 애플리케이션에 Referer 헤더들로 URL이 전달되며, 민감정보가 그대로 드러날 수 있다.Request Body parameter민감 정보가 URL에 직접 노출되지 않는다는 점..
2024.04.11
no image
[CS Web] REST
REST API다양한 테스크를 수행하기 위해 다른 내부 애플리케이션 및 서드 파티 애플리케이션과 통신하기 위해 등장했다. 여기서 REST란, Representational State Transfer의 약자로, 자원을 이름으로 구분해 해당 자원의 상태를 주고받는 모든 것을 말하며, API는 Application Programming Interface의 약자로, 컴퓨터의 기능을 실행시키거나 어떠한 응용프로그램에서 데이터를 주고 받기 위한 방법을 말한다. => 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트인 애플리케이션 프로그래밍 인터페이스이다. 따라서, REST API는 REST를 기반으로 만들어진 API로, 클라이언트와 서버간의 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교..
2024.04.11
no image
[CS WEB] Web Server & WAS
Web Server클라이언트로부터 HTTP 프로토콜 요청을 받아 HTML 문서와 같은 정적 웹 페이지를 응답해주는 소프트웨어정적이란, HTML, CSS, Java Script, 이미지, 파일 등 즉시 응답이 가능한 컨텐츠들을 말한다.대표적으로 Apache, Ngingx가 있다.    WASWeb Application Server의 준말이며, Web Server + Web Container를 말한다.WAS를 그냥 Web Container, Servlet Container라고도 한다.여기서 Web Container란 JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말한다. WAS는 Web Server 단독으로는 처리할 수 없는 DB 조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공한다.브라우저에게..
2024.04.11
no image
[Jira] Mattermost에 일정 시간마다 알림보내기
구현 require 필요한 모듈들을 가져옴 node-mattermost : Mattermost에 메시지를 보내기 위한 모듈 fs : 파일 시스템 모듈, 프로필 사진 파일을 읽어올 때 사용 node-schedule, node-cron : 작업 스케줄링을 위한 모듈 //app.js const Mattermost = require('node-mattermost'); const fs = require("fs"); const schedule = require('node-schedule'); const cron = require('node-cron'); mattermost const mattermost = new Mattermost("mattermost webhook uri 적어주시면 됩니다."); 저는 incom..
2024.04.05
no image
[프로그래머스] 올바른 괄호
🔗 올바른 괄호주어진 문자열 s가 올바른 괄호 문자열인지 확인하는 문제이다. 🥊 접근 방법 🥊24년 상반기 소프티어에서 비슷한 문제가 출제된 적이 있었다. 그때는 스택으로 풀었는데, 다른 사람의 풀이를 들어보니 단순 계산으로도 풀리는 문제였다. 비슷한 문제를 풀어봤기 때문에 금방 풀 수 있었다. ✨ 방법 1 : 단순 계산 ✨1. 기본 길이 체크괄호가 바르게 짝지어지려면 문자열의 길이는 무조건 짝수여야 한다.if(s.length() % 2 != 0) return answer; 2. 괄호 검사문자열의 각 문자를 확인하면서 '(' 문자가 나오면 cnt를 1증가시키고, ')' 문자가 나오면 cnt를 1 감소시킨다. 이 때 cnt가 음수가 되면 ')'가 '(' 보다 먼저 나왔다는 뜻이므로 올바른 괄호가 아니..
2024.03.09
no image
[프로그래머스] DAY 2. 덧셈식 출력하기 | 문자열 붙여서 출력하기 | 문자열 돌리기 | 홀짝 구분하기 | 문자열 겹쳐쓰기
🔗 덧셈식 출력하기✨ 전체코드 ✨import java.io.*;import java.util.*;public class Solution { public static void main(String[] args) throws IOException{ BufferedReader sc = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(sc.readLine()); int a = Integer.parseInt(st.nextToken()); int b = Integer.parseInt(st.nextToken()); System...
2024.02.28
no image
[Jira] Mattermost에 jira 알림 받기
구현 mattermost 에 채널 추가 우선 mattermost 에 jira 알림을 받을 채널을 추가해줍니다. 이름은 알아서 하쇼 /jira connection /jira subscribe 저는 이슈가 완료되었을 때만 알림오게 했습니다. 특정 시간에 알림오게 하려면 봇을 만들어야 합니다. 일정 시간마다 알림 보내기 [Jira] Mattermost에 일정 시간마다 알림보내기 구현 require 필요한 모듈들을 가져옴 node-mattermost : Mattermost에 메시지를 보내기 위한 모듈 fs : 파일 시스템 모듈, 프로필 사진 파일을 읽어올 때 사용 node-schedule, node-cron : 작업 스케줄링을 위한 모 hyunjinius998.tistory.com 성공
2024.02.28