Web_Backend/DB2024. 1. 3. 00:03[SQL] HAVING, GROUP BY, ASLIAS, INNER JOIN, OUTER JOIN, UNION, SELF JOIN, Timestamps, EXTRACT, subquery, INTERSECT, EXCEPT

오늘 수강한 강의 : 【한글자막】 데이터 역량 강화를 위한 SQL 부트캠프오늘의 강의 정리 📗HAVING : 집계가 수행된 '이후’에 진행할 필터링AGG()와 같은 값(GROUP BY 이후 알게될 값)을 기준으로 필터링시 사용cf) WHERE : 집계가 수행되기 전 실행할 필터링따라서, GROUP BY절 뒤에 위치한다.SELECT column_name1, column_name2, AGG() FROM table_name WHERE cloumn_name1 != "value" GROUP BY cloumn_name1 HAVING AGG() conditions도전과제1. We are launching a platinum service for our most loyal customers. We will assig..

Web_Backend/DB2024. 1. 2. 16:32[DB, SQL] 데이터베이스, PostgreSQL설치, SQL구문(SELECT, WHERE, BETWEEN, IN, LIKE, ILIKE, ORDER BY, DISTINCT, COUNT, DATE)

오늘 수강한 강의 : 【한글자막】 데이터 역량 강화를 위한 SQL 부트캠프오늘의 강의 정리 📗데이터베이스란데이터베이스란 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 데이터들의 집합데이터를 구조화하여 저장함효율적인 검색, 삽입, 업데이트 및 관리를 위해 조직되어짐.왜 데이터베이스를 사용해야 하는가파일 처리 시스템문제점중복 : 각 파일마다 필요한 데이터를 각각 가지고 있어야 하므로 전체적인 시간과 노력, 경제비용에 있어서 효율이 낮음비일관성 : 데이터에 변경사항이 조금만 있어도 각 파일에서 해당되는 데이터를 모두 변경해야 -> 한꺼번에 수정이 되지 않으면 데이터값이 서로 다름(비일관성)응용프로그램 개발 문제데이터 추가 및 검색 문제데이터 베이스의 특징데이터의 독립성물리적 독립성 : 데이터베이스 크..

www.google.com을 주소창에 쳤을 때 화면이 나오기까지의 과정
CS/CS2024. 1. 1. 23:11www.google.com을 주소창에 쳤을 때 화면이 나오기까지의 과정

www.google.com을 주소창에 쳤을 때 화면이 나오기까지의 과정 브라우저에서 www.google.com을 주소창에 입력하면 우선 캐시에서 해당 DNS 주소를 검색해본다 만약 해당하는 주소가 있다면 검색된 ip 를 기반으로 통신을 시작한다 만약 해당 주소가 없다면 DNS 서버로 요청을 보내 해당하는 ip주소를 받는다 ip주소를 알아냈다면 TCP 통신을 통해 해당 ip 서버에 요청을 보낸다. 로드밸런서가 해당 요청을 받아, 해당하는 서버로 요청을 분산한다 해당하는 서버는 일련의 처리과정을 거쳐 응답메세지를 만든다. 만들어진 응답 메세지를 TCP 통신을 통해 다시 클라이언트에게 전송한다. 브라우저는 받은 응답 메세지를 HTTP프로토콜을 사용하여 웹페이지를 구성하여 화면을 렌더링 한다. 브라우저에서 ww..

HTTP 란?
CS/CS2024. 1. 1. 23:05HTTP 란?

HTTP(Hyper Text Transfer Protocol)**란? 📌 인터넷에서 HTML 문서와 같은 데이터를 주고받을 수 있도록 해주는 프로토콜. 애플리케이션 계층으로, 웹 서비스 통신에 사용. 즉, 웹상에서 네트워크로 서버끼리 통신을 할때 어떠한 형식으로 서로 통신을 하자고 규정해 놓은 “통신 형식” 혹은 “통신 구조” 라고 보면 됨 TCP/IP 기반으로 되어있음 HTTP 기본적으로 request(요청)/response(응답) 구조로 되어있음 클라이언트가 HTTP request를 서버에 보내면 서버는 HTTP response를 보내는 구조 클라이언트와 서버 대부분의 통신이 요청과 응답으로 이루어 짐. HTTP Response, Request 메시지의 구조(Start Line, Status Line..

[React] React란?(React 사용이유, Component, Props, State, Hook, Routing, children property, CSS 모듈)
Web_Frontend/react2023. 12. 31. 21:15[React] React란?(React 사용이유, Component, Props, State, Hook, Routing, children property, CSS 모듈)

오늘 수강한 강의 : # 【한글자막】 React 완벽 가이드 with Redux, Next.js, TypeScript오늘의 강의 정리 📗React란?User Interface를 만들기 위한 JS 라이브러리(Facebook_현재Meta에서 만들었다.)웹 개발이 복잡해짐에 따라 html, css, js만으로는 한계가 생겼으며, 초기에는 Web 개발을 위한 프론트엔드 라이브러리로 DOM조작을 쉽게해주는 jQuery 라이브러리가 주로 사용되었음DOM을 직접 조작하는 방식에 한계를 느껴 대규모 프로젝트에 효율적으로 코드를 관리하고, 컴포넌트 기반 UI 개발을 지원하는 프론트엔드 프레임워크(라이브러리)가 등장Angular, React, Vue를 프론트엔드 개발을 대표하는 도구 3가지라 부름Angular, Vue ..

Web_Frontend/javascript2023. 12. 31. 20:48[JS] 모듈 import, export, null과 undefined, 화살표 함수(Arrow Function), 클래스, 배열, 구조 분해 할당(destructuring), 스프레드 연산자(전개 구문)

오늘 수강한 강의 : # 【한글자막】 React 완벽 가이드 with Redux, Next.js, TypeScript오늘의 강의 정리 📗JS 복습모듈 - import & export모듈개발하는 app이 커지면 어느 순산 파일을 여러개로 분리해야하는 순간이 옴js 에서 분리된 파일 각각을 모듈(module)라고 부름보통 클래스 하나나 혹은 특정한 목적을 가진 복수의 함수로 구성된 라이브러리 하나로 구성export파일이나 모듈 안의 함수나 객체를 export 할 때 사용Named exports와 Default exports 두가지 방법이 있음부모 모듈이 자식 모듈을 가져와서 다시 내보낼 수도 있음즉, 여러개의 모듈을 모아놓을 하나의 모듈을 만들 수 있음.각각의 reducer 을 만든 다음 하나의 super..

Web_Frontend/javascript2023. 12. 31. 19:33[JS] 제어구조(조건문, 비교연산, 논리연산, 일치연산, truthy, falsy, 반복문, for of, for in, foreach, while, do while, break, continue, label)와 패키지작업

오늘 수강한 강의 : 【한글자막】 100일 코딩 챌린지 - Web Development 부트캠프오늘의 강의 정리 📗제어구조, 제어구문프로그램의 논리 구조를 표현할 수 있는 조건문과 반복문, 그리고 그 밖에 프로그램의 논리 구조에 영향을 미치는 구문Boolean 연산자값 : true , false (진리값)1 2; // false3 === 3; // true3 !== 3; // falseNumber.isFinite(Infinity); // falseNumber.isNaN(NaN); // true'hello'.includes('ll'); // true비교 연산자논리 연산자js는 진리값에 대한 여러 연산을 지원논리 연산// 논리 부정 (logical NOT)!true; // false!false; // ..

Web_Backend/Javascript2023. 12. 27. 10:15[JS] 고급 자바스크립트, DOM을 사용한 작업(전역변수, window, document, DOM, drilling, Manipulation, DOM 조작, insertAdjacentHTML, innerHTML, CSS 제어, class제어)

오늘 수강한 강의 : 【한글자막】 100일 코딩 챌린지 - Web Development 부트캠프오늘의 강의 정리 📗전역변수 window브라우저에 활성화된 윈도우와 관련된 많은 유틸리티 정보과, 기능이 저장되어있음.브라우저의 탭을 의미하기도 함.보안상의 이유로 웹사이트에서 코드를 실행할 때에는 윈도우 객체를 이용해 현재 열고있는 탭의 정보에 엑세스 해야함(다른탭 X)브라우저 안의 모든 요소들이 소속된 객체로, 최상위에 있기 때문에 어디서든 접근이 가능(전역 변수임)var을 이용해 전역 변수를 만들면 window 객체에 key와value가 저장됨.let , const 사용시 window 객체에 추가되지 않음.var a = "apple"; console.log(window.a); //"apple"..

Project2023. 12. 26. 17:08front에서는 multipart formdata로 보내준 request가 spring에서는 application octet-stream이 되어 돌아오는 마법(HTTP 표준과 content type, multipart formdata)

obsidian에서 작성중 MultipartResolver를 bean으로 설정해주어야 하는가? No spring 어플리케이션의 경우 web.xml에서 MultipartResolver를 bean으로 직접 등록해주어야 하지만, spring boot 어플리케이션은 default로 제공한다. HTTP 표준과 content type HTTP 표준은 1개의 요청에는 하나의 content type만 전송하는것을 약속함. (여러개의 content 타입을 전송하는것이 불가능한것은 아님.) multipart formdata가 여러 content-type를 보낼수 있도록 만들어진 것 아닌가? multipart formdata란? 디버깅으로 밝혀진 @ReuestParam의 반란 이미지 등의 file 업로드를 별도의 api로 ..

Project2023. 12. 26. 17:06CI 적용기(jacoco + checkStyle + sonar cloud + Github Action)

obsidian에서 작성중Jacoco : 자바 코드 커버리지를 체크하는 데에 사용되는 오픈소스 라이브러리Spring boot Gradle 프로젝트는 Build시에 Test를 실행할 까?(Feat… jacoco CI 적용일지) 0. 상황    - 참여를 요청받았던 토이 프로젝트에서 CI 구축을 담당하게 되었다.1. 구성    - 2. 원인    - 3. 해결방안    - 4. 결과    -   name: CIon: push: branches: - dev - prod pull_request:jobs: sonarcloud: name: SonarCloud runs-on: ubuntu-latest services: mysql: image: mysq..

Web_Backend/Spring2023. 12. 26. 17:05Spring boot Gradle 프로젝트는 Build시에 Test를 실행할 까?(Feat.. jacoco CI 적용일지)

Feat… CI 적용기(jacoco + checkStyle + sonar cloud + Github Action)0. 상황    - 프로젝트에 CI를 적용하기 위해 project를 test한 뒤 build 하도록 github action을 생성하던 도중, test가 두번 실행되는 로그를 확인했다.1. 원인    - 혹시 build만 해도 test를 실행하는게 아닐까 하는 의심이 들어 build의 task를 살펴보게 되었다.오전 7:20:16: Executing 'build'...> Task :compileJava UP-TO-DATE> Task :processResources UP-TO-DATE> Task :classes UP-TO-DATE> Task :bootWarMainClassName> Task :b..

image