본문 바로가기

개발37

WEB/네트워크/ HTTP (HyperText Transfer Protocol) HTTP(HyperText Transfer Protocol) [index] 1. HTTP란 무엇일까? 1-1. HTTP의 개념 1-2. HTTP 특징 4가지 1-3. HTTP로 제어할 수 있는 것 1-4. HTTP 저번에 따른 사항들 2. HTTP 요청과 응답 2-1. HTTP 서버 구조 2-2. HTTP 요청에 포함되는 요소 3-3. HTTP 응답에 포함되는 요소 3. HTTP 통신 흐름 4. HTTP 보안 취약점과 해결 방안 4-1. HTTP 보안 취약점 4-2. HTTP 보안 취약 문제 해결 방안 1. HTTP란 무엇일까? 1-1. HTTP의 개념 HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜 HTTP는 네트워크 장치 간에 정보를 전송하도록 설계된 애플리케이션 계층 프.. 2023. 9. 16.
프로그래머스 / 코딩 기초 트레이닝 / 덧셈식 출력하기 덧셈식 출력하기 문제 설명 두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요. a + b = c 제한사항 1 ≤ a, b ≤ 100 [ 내가 푼 방식 ] 문자와 숫자가 ""와 +로 이어지는 혼돈의 카오스 같은 코드.. 가독성이 상당히 떨어진다. 그리고 처리 속도도 느리다. [다른 사람들이 푼 방식 ] 미리 문자를 숫자로 바꾸는 과정을 처리한 후 연산을 하는 방식으로 진행 했더니 속도가 빨라졌다. [ 다시 풀어본 방식 ] 다른 사람들이 푼 방식을 보고 다시 내가 짠 코드를 수정해보았다. 다시 풀어본 방식이 기존에 내가 풀었던 방식보다는 속도가 빠르지만 역시 Number()를 남발해서인지 다른 사람들이 푼 방식보다는 느리다. 배열의 값에 접근하고 그 값을 전부 Nuim.. 2023. 9. 15.
프로그래머스 / 코딩 기초 트레이닝 / 더 크게 합치기 더 크게 합치기 문제 설명 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다. 12 ⊕ 3 = 123 3 ⊕ 12 = 312 양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요. 단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다. 제한사항 1 ≤ a, b 2023. 9. 15.
프로그래머스 / 코딩 기초 트레이닝 / 홀짝 구분하기 홀짝 구분하기 문제 설명 자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요. 제한사항 1 ≤ n ≤ 1,000 [내가 푼 방식] check point! 나머지 연산자로 홀 짝을 구분해서 if문으로 처리하는 방식을 선택했다. 속도 차이에서 편차가 나는 것을 보면 삼항식 조건문을 사용하는 방식이 좀 더 안정적인 방식 같기도하다. 그리고 가독성 측면에서도 더 좋은 코드라는 생각이 든다. [ 다른사람들이 푼 방식 ] 2023. 9. 15.
프로그래머스/ 코딩 기초 트레이닝 / 문자열 곱하기 문자열 곱하기 문제 설명 문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ my_string의 길이 ≤ 100 my_string은 영소문자로만 이루어져 있습니다. 1 ≤ k ≤ 100 [ 내가 푼 방식 ] check point! 확실히 for문을 이용하는 방식보다 repeat() 을 사용하는 방식이 가독성 측면에서 우수하다. 속도는 조금 더 빠른 정도이다. str.repeat(n) – 문자열을 n번 반복 [ 다른 사람들이 푼 방식 ] 2023. 9. 15.
프로그래머스/ 코딩 기초 트레이닝 / 문자열 붙여서 출력하기 문자열 붙여서 출력하기 문제 설명 두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다. 입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요. 제한사항 1 ≤ str1, str2의 길이 ≤ 10 [ 내가 푼 방식 ] check point! 문자열을 합치는 단순한 문제라 ``을 사용해 물리적으로? 합쳤다. 처리 속도 측면에서는 내가 짠 코드가 조금 더 빨랐지만 코드의 확장성 측면에서는 아래의 방법이 더 좋은 코드 같다. 내가 작성한 방식은 2개의 문자를 합치는 형태만 가능하지만 아래의 방식처럼 join()을 사용할 경우 여러개의 문자열도 합칠 수 있다. [ 다른 사람들이 푼 방식 ] 2023. 9. 15.
Local Storage & Session Storage란? Local Storage & Session Storage란? [ 목차 ] 1. Web Storage 개념 2. storage 이벤트 3. local Storage란? 4. session Storage란? 5. Web Storage & Cookie 비교 6. cookie가 아닌 Web Storage를 사용하는 이유 1. Web Storage 개념 localStorage와 sessionStorage ko.javascript.info HTML5 에는 웹의 데이터를 클라이언트에 저장할 수 있는 새로운 자료구조인 Web Storage 스펙이 포함되어 있습니다. Web Storage의 개념은 키/값 쌍으로 데이터를 저장하고 키를 기반으로 데이터를 조회하는 패턴입니다. 그리고 영구저장소(LocalStorage)와 임.. 2023. 8. 16.
webpack이란? Webpack 이란? [ 목차 ] 1. webpack의 등장 배경 2. Webpack의 개념 3. Webpack의 필요성 4. Webpack의 장단점 5. webpack의 Concepts 1. Webpack 의 등장 배경 webpack이 만들어진 배경을 보면 왜 webpack을 사용하지는 알수있습니다. 잠시 역사를 짚어보면, 약 2010년경부터 자바스크립트 프레임워크들의 경쟁과 함께 자바스크립트 웹 개발 추세가 치솟았습니다. 프론트엔드 업계에서 많이 사용되는 프레임워크인 리액트와 뷰만 하더라도 프로젝트 파일의 크기가 꽤 큽니다. 또한 최근에는 백엔드의 로직을 일부 프론트엔드로 옮겨오는 추세인지라 그 복잡도가 더 증가하고 있습니다. 따라서 이런 대규모 소스코드를 브라우저가 그대로 다운받아서 실행할경우, 너.. 2023. 8. 16.
[OAuth2.0] OAuth 2.0이란? OAuth 2.0이란? 목차 1. OAuth 등장 배경 2. OAuth 2.0이란? 3. OAuth2.0 의 프로토콜 흐름(Protocol Flow) 4. OAuth2.0 의 프로토콜 권한 부여 방식 4가지 1. OAuth 등장 배경 요즘은 사용자가 서비스를 이용할 때 소셜 로그인으로 로그인을 하는 경우가 많습니다. 혹은 구글 캘린더에 일정을 추가하거나 소셜에 컨텐츠를 공유하는 등의 기능들도 할 수 있습니다. 이 기능을 구현하려면 사용자의 정보를 구글이나 카카오 등으로부터 제공받아 우리 서비스에 저장하고 활용할 수 있어야 합니다. 하지만 상대의 입장에서는 우리 서비스가 안전하게 사용자의 정보를 저장하고 관리할 거라는 확신이 없을 수 있습니다. 혹시 사용자의 정보가 유출될 경우 피해의 범위가 정보를 제공해.. 2023. 8. 15.