코드스테이츠 29

[Deploy] CI/CD - Proxy

Proxy CORS 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS) : 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제 USER의 민감한 데이터의 보안을 위해 권한이 없는 접근을 제한 출처 URL의 스킴(프로토콜), 호스트(도메인), 포트로 정의 두 객체의 스킴, 호스트, 포트가 모두 일치하면 같은 출처 일부 작업은 동일 출처 콘텐츠로 제한, CORS를 통해 제한을 해제 가능 Proxy 정석적인 CORS 설정 방법 : FE 개발자가 BE 개발자에게 FE개발 서버 도메인을 허용해 달라고 요청해야 하고, BE개발자는 응답 헤더에 필요한 값들을 담아서 전달해줘야 함 위 과정 없이 React ..

[Deploy] CI/CD 과

CI/CD CI(Continuous Integration) : 지속적 통합 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있다. Code(원격저장소에 코드를 push) - Build(원격 코드 저장소로부터 코드를 가져와 유닛 테스트 후 빌드) - Test(코드 빌드의 결과물이 다른 컴포넌트와 잘 통합되는지 확인) CD(Continuous Delivery) : 지속적 배포 파이프라인의 추가 단계에 대한 자동화를 뜻한다. Release(배포 가능한 소프트웨어 패키지를 작성) - Deploy(프로비저닝 실행, 서비스를 사용자에게 노출, 실..

Unit 6] [네트워크] 심화

SEB_FE_45 Section 3. Unit 6. [네트워크] 심화 ✅TCP/IP 1. 패킷교환 방식의 이점에 대해 이해한다. 패킷교환 방식 이전의 통신 방식은 회선교환 방식이다. 회선교환 방식은 1:1 연결만 가능했기 때문에 즉시성이 떨어지는 단점이 있었다. 이에 개발된 방식이 패킷교환 방식이다. 패킷은 pack와 buket이 합쳐진 단어로, 소포라는 의미이다. 즉, 데이터를 패킷 단위로 나누고, 패킷에 출발지와 목적지 정보를 담아 보내는 방식이다. 이 경우 특정 회선이 전용선으로 할당되지 않기 때문에 빠르고 효율적인 데이터 전송기 가능하다. 2. IP의 비연결성, 비순서성, 비신뢰성에 대해 이해한다. IP(Internet Protocol) 출발지에서 목적지까지 데이터가 전달되기 위한 규칙의 일환으로..

Unit 5] [사용자 친화 웹] 웹 표준 & 접근성

SEB_FE_45 Section 3. Unit 5. [사용자 친화 웹] 웹 표준 & 접근성 ✅웹(web)이란? => '공간' 월드 와이드 웹(World Wide Web)이란 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간을 의미합니다. 간단히 줄여서 WWW나 W3라고도 부르며, 간단히 웹(Web)이라고 가장 많이 불립니다. - 출처 : http://www.tcpschool.com/webbasic/www ✅웹표준이란? W3C(World Wide Web Consortium)에서 권고하는 ‘웹에서 표준적으로 사용되는 기술이나 규칙’으로, 사용자가 어떠한 운영체제나 브라우저를 사용하더라도 웹페이지가 동일하게 보이고 정상적으로 작동할 수 있도록 하는 웹 페이지 제작 기법을 담고 있다. -출처 : 코..

과제] Unit 2. 객체지향프로그래밍(beesbeesbees)

SEB_FE_45 Section 2. Unit 2. 객체지향 프로그래밍 과제 beesbeesbees ✅ 과제에서 학습해야 할 개념 클래스, 인스턴스, 프로토타입 this 키워드 클래스 생성자(constructor) 상속(extends, super 키워드) 1️⃣클래스와 인스턴스 클래스 : 특정 객체를 표현하기 위한 객체의 구조(틀 또는 템플릿)이며, 객체 내 속성과 메서드를 정의하는 역할을 하며, 클래스는 함수이다. 클래스의 코드 구조는 아래와 같다. class 클래스 () { method1 () { prop1 prop2 ... } method1 () {...} method1 () {...} . . . } //클래스 - 메서드 묶음, 메서드 - 속성 묶음 인스턴스 : 클래스 구조에 데이터 값을 입력한 객..

Unit 3] [React] Custom Component(CDD, 개발도구)

SEB _ FE _ 45 Section 3. Unit 3. [React] Custom Component React로 프론트엔드 구축 시 보다 구조적으로 코드를 작성하는 방법을 주제로 CDD(Component Driven Development)와 CDD를 도와주는 개발도구, React Hook인 useRef에 대해 공부하였다. CDD는 컴포넌트 기반의 개발 방법을 의미한다. 즉, 부품단위로 UI 컴포넌트를 만든 후, 부품끼리 이어붙여 완성품을 만드는 방법이다. React 라이브러리와 Styled Component 라이브러리를 이용하여, HTML, CSS, JavaScript를 모두 묶어서 개발할 수 있는Custom Component가 가능해졌다. CSS 구조화 노력과 각 단계별 특징 및 장/단점 구분 특징..

Unit 2] [사용자 친화 웹] UI/UX part.3 - Figma 클론 과제

SEB _ FE _ 45 Section 3. Unit 2. [사용자 친화 웹] UI/UX part.3 - Figma 역시나.. 피그마는 개미지옥이다 ㅎ 오늘도 하루가 어떻게 지나갔는지 모르겠다. 어려운데 참 재밌고, 매력있는 프로그램이다. 아래 링크는 Figma 클론 과제를 진행한 링크이다. KINFOLK 의 웹사이트를 참조하여 만들어보았다. 킨포크 매거진은 웹사이트도 매력적이다. https://kinfolk.kr/ 킨포크 매거진 & 스토어 슬로우 라이프 문화를 만들어낸 킨포크포틀랜드와 코펜하겐의 라이프스타일 큐레이션 kinfolk.kr https://www.figma.com/proto/UmHn8gATaUdn4iMGjJ5LRJ/KINFOLK-CLONE-%2F-LO-FI?node-id=57-242&scal..

Unit 2] [사용자 친화 웹] UI/UX part.3 - Figma

SEB _ FE _ 45 Section 3. Unit 2. [사용자 친화 웹] UI/UX part.3 - Figma 복지관에서 일할 때 미리 캔버스, 망고보드로 홍보지 만들고 했던게 기억나서, 재밌는 시간이었다. 피그마를 이용해서 작업하면서 신기했던 점은 페이지, 컴포넌트 간의 관계를 맺게 하는 것이었다. 피그마로 레이아웃을 잘 짠다고, 프론트엔드 개발을 잘하는 건 아니겠지만, 뭐든 잘하면 좋지 않겠나 싶다! 와이어프레임 제품 기획 단계에서 페이지의 구성과 구조를 잡기 위한 목적으로 사용된다. 피델리티(Fidelity) 와이어프레임을 표현할 때의 품질 수준을 의미한다. Low Fidelity Wireframe(Lo-Fi Wireframe) : 손으로 빠르게 그린 수준을 의미한다. 수정이 쉬워 새로운 의견..

Unit 2] [사용자 친화 웹] UI/UX part.2

SEB _ FE _ 45 Section 3. Unit 2. [사용자 친화 웹] UI/UX part.2 UI 디자인 패턴 = 자주 사용하는 UI 패턴 UI 디자인 패턴은 프로그래밍 시 자주 반복되는 문제점을 해결하고자 과거의 다른 사람이 해결한 결과물을 재사용하기 좋은 형태로 만든 패턴이다. 이 외에 더 다양한 UI 디자인 패턴 레퍼런스 https://ui-patterns.com/patterns Design patterns User Interface Design patterns are recurring solutions that solve common design problems. Design patterns are standard reference points for the experienced user..

Unit 1] [자료구조/알고리즘] 재귀 part.2

SEB _ FE _ 45 Section 3. Unit 1. [자료구조/알고리즘] 재귀 과제1. stringify - json 과제2. Tree UI 흠.. 과제를 스스로 풀기가 너무 어렵다.. 결국 레퍼런스에 도움을..ㅜㅜ Section 2 에서 배운 내용인 DOM 까지 숙지를 하고 있어야 해서 정신이 없는 과제였다... 과제에 대한 리뷰 이전에 JSON에 대해서 정리해본다. JSON ( JavaScript Object Notation ) 은 데이터 교환을 위해 만들어진 객체 형태의 포맷이다. 데이터 교환을 위해서는 발신자와 수신자가 모두 읽을 수 있는 범용 형태(ex. 문자열)여야 한다. JavaScript에서 객체를 문자열로 변환하기 위해 메서드(Object.toString())나 형변환(String..

Unit 2] [사용자 친화 웹] UI/UX part.1

SEB _ FE _ 45 Section 3. Unit 2. [사용자 친화 웹] UI/UX part.1 UI / UX 많이 들어봤는데...? UI(User Interface) 는 사람들이 컴퓨터와 상호작용하는 시스템을 말한다. UI는 그래픽 요소뿐만 아니라 물리적 요소(키보드와 마우스, 버튼 등)도 포함된다. 물리적 요소에 대한 예를 들어보면, 우리가 컴퓨터를 켜면 가장 먼저 윈도우를 만나게 된다. 이때, 물리적 요소인 키보느나, 마우스 같은 입력 장치가 없다면???? 아무리 좋은 그래픽 요소를 가진 프로그램도 물리적 요소가 없으면 사용할 수 없는 UI가 되는 것이다. 컴퓨터의 UI를 보면, 그래픽 기반의 UI가 많다. 이를 GUI(Graphical User Interface)라고 하며, 마우스를 이용해 ..

Unit 1] [자료구조/알고리즘] 재귀 part.1

SEB _ FE _ 45 Section 3. Unit 1. [자료구조/알고리즘] 재귀 코드스테이츠 부트캠프 참여한지 벌써 2달이 지났다? 시간이 참 빠른 것 같다. section2는 정신없이 유닛이 진행되어 "어어~!? " 하는 사이에 끝나버린 것 같아.. 제대로 된 이해를 위해 복습하면서 블로깅을 하도록 해야겠다. Section3 는 그날 배운 내용을 바로 복습 블로깅을 목표로 해보도록 하겠다!(이미 하루 늦음..) section3 첫 유닛은 재귀다! 재귀(recursion)란 사전적의미로 원래의 자리로 되돌아가거나 되돌아옴을 의미하는 단어이다. 재귀를 잘 사용하려면 재귀적 사고가 필요하다. 재귀 함수의 입력 값 출력 값 정의하기 가장 추상적으로 또는 가장 단순하게 정의하기 ex ) A 함수 : 입력값..

Unit 1] [JavaScript]고차함수

SEB_FE_45 Section 2. Unit 1. [JavaScript] 고차함수 코드스테이츠 부트캠프 Section2도 이번주면 종료가 된다. 그 말은 벌써 부트캠프 참여 후 2달이 되었다는 이야기! 시간 진짜 빠르다.... 앞으로의 포스팅에서는 블로깅에 소홀해져서 작성하지 못했던 Section 2를 다뤄보도록 하겠다. Section 2는 첫 유닛부터 너무 힘들었던 기억이라 블로깅을 할정도의 에너지가 되지 않았다. 이에 이제라도 작성해보고자 한다! 시작! 일급객체란? 자바스크립트 내에서 특별한 대우를 받는 객체이며, 대표적인 일급객체는 함수(function)가 있다. 일급객체인 함수에게 주어진 특별한 대우? 변수에 할당(assignment)할 수 있다. 다른 함수의 전달인자(argument)로 전달될..

Unit 8] REST API

SEB_FE_45 Section 2. Unit 8. REST API REST API 에대해 블로깅을 하라고 하는데, 이해의 영역이 아닌건가 아니면 뇌가 받아들이질 못하는건가..? REST API 란?? 우선, 강의 교안인 URCLASS에서는 REST API를 아래와 같이 정의하였다. 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식 다음은 챗 GPT에게 REST API에 대해 정의를 물어본 내용이다. REST API는 Representational State Transfer API의 약어로, 웹 애플리케이션 간에 데이터를 주고받기 위한 표준화된 방법입니다. 이 방법은 HTTP를 기반으로 하며, 자원 식별, HTTP 메소드,..

데일리코딩 ] 2차원 배열을 이용하여 객체 만들기

수도코드 - 2차원 배열? : 내부 요소가 배열로 구성된 배열 - 외부 배열의 요소인 내부 배열의 요소를 이용하여 객체 만들기 - 외부 배열의 길이가 0인 경우에는 무시하기 - 중복되는 키는 가장 처음 만나는 값을 사용하기 - 빈배열을 입력 받으면 빈 객체를 반환하기 1. 함수 내부에 빈 객체(반환할 데이터)를 선언하고 할당한다. 2. 2차원 배열의 요소를 순회하는 반복문을 만든다. 3. 내부 배열의 길이가 0보다 클때 작동해야 한다. 4. 중복되는 키를 방지할 수 있는 조건을 작성해야 한다. 5. 배열의 요소들을 객체의 키와 값으로 설정한다. 위의 내용을 코드로 작성해보면, 아래와 같다. function convertListToObject(arr) { let obj = {} for(let i = 0; ..

야자라니..] Unit 4. React Intro 및 야간 자율학습 과제

SEB_FE_45 Section2. Unit4. React Intro React의 3가지 특징 선언적(Declarative) : 선언적 방식으로 UI 구성할 수 있으며, 수동으로 DOM을 조작할 필요가 없기 때문에 가독성과 유지보수성이 향상됨. 이에 개발자는 어떻게 화면을 그릴지에 집중할 수 있음 컴포넌트 기반(Component-based) : 컴포넌트 기반 아키텍처(하나의 기능 구현을 위한 여러 종류의 코드 묶음)를 사용하여 UI 구성함. 컴포넌트는 재사용성과 독립성을 가짐. 개발자는 애플리케이션을 작은 단위로 나눠 개발할 수 있음 범용성(Learn Once, Write Anywhere) : 라이브러리인 리액트는 어느 프로젝트에나 사용이 가능함. 많은 개발자들이 사용하고 있기 때문에 유지보수성이 좋음...

TIL] Unit 2. 객체지향프로그래밍(프로토타입과 클래스)

SEB_FE_45 Section 2. Unit 2. 객체지향프로그래밍(프로토타입과 클래스) 프로토타입 자바스크립트의 모든 객체는 자신의 부모 역할을 담당하는 객체와 연결되어 있으며, 객체 지향의 상속 개념과 같이 부모 객체의 속성과 매서드를 상속받아 사용할 수 있다. 이러한 부모 객체를 프로토타입 객체 또는 프로토타입이라 부른다. 프로토타입 기반 객체지향 프로그래밍 언어는 클래스 없이도 객체(인스턴스)를 생성할 수 있다. 자바스크립트는 흔히 프로토타입 기반 객체지향 프로그래밍 언어라 불린다. ES6문법을 통해 클래스 개념이 도입되었다. 프로토타입 체인이란 객체간의 연결을 의미하며, 이를 바탕으로 부모 객체의 속성과 매서드를 상속받아 사용할 수 있게하는 근간이다. .prototype 함수 객체만 가지고 있..