본문 바로가기
728x90
반응형

전체 글58

[Codestates FE] CI/CD CI CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. 이를 성공적으로 구현하면 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되기에 충돌 문제를 해결할 수 있다. CD CD는 지속적인 서비스 제공(Continuous Delivery) 및 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용된다. 두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻하지만 때로는 얼마나 많은 자동화가 이루어지고 있는지를 설명하기 위해 별도로 사용되기도 한다. http://fe-29-wlsdk7245-s3.s3-website.ap-northeast-2.amazonaws.com/ .. 2023. 6. 5.
[Codestates FE] Typescript 1. Typescript란? TypeScript는 마이크로소프트에서 개발한 JavaScript의 상위 집합 언어로, JavaScript에 정적타입 검사와 클래스 기반 객체 지향 프로그래밍 등의 기능을 추가하여 개발된 언어이다. 기존 JavaScript는 함수와 변수의 타입을 명시적으로 지정하지 않아도 동작하는 경우가 많았고, 그 부분을 보완하여 런타임 에러를 최소화 시킨다. TypesScript를 사용하면 코드의 가독성을 높일 수 있고, 타입을 명시함으로써 코드의 의도 또한 명확해지기 때문에 다른 개발자가 코드를 이해하고 수정하기 쉬워지며, 런타임 에러를 미리 방지할 수 있기 때문에 유지보수성 또한 높아진다. 2. Typescript의 타입 Boolean(불리언) 타입 가장 기본적인 데이터 타입, 참(t.. 2023. 5. 30.
[Code Tree] 시뮬레이션 - 격자 안에서 밀고 당기기 시뮬레이션 - 격자 안에서 밀고 당기기 밀고 당기는 작업이란, 주어진 숫자들을 특정 방향으로 1칸씩 미는 작업을 말한다. 2차원 격자에서는 선택된 행에 대해, 적혀있는 숫자들을 왼쪽 혹은 오른쪽으로 한 칸씩 밀어주는 작업이 될 수 있고, 혹은 선택된 열에 대해 적혀있는 숫자들을 위 혹은 아래 방향으로 한 칸씩 밀어주는 작업이 될 수도 있다. 예를 들어, 오른쪽으로 한 칸씩 숫자들을 밀어준다고 해보자. # 1. n번째 원소를 temp에 저장 temp = a[n - 1] # 2. 나머지 원소를 오른쪽으로 shift for i in range(n - 1, 0, -1): a[i] = a[i - 1] # 3. temp를 첫 번째 원소에 기록 a[0] = temp 2차원 격자가 주어졌을 때 위쪽으로 숫자들을 한 칸.. 2023. 5. 22.
[Code Tree] 시뮬레이션 - 격자 안에서 완전탐색 시뮬레이션 - 격자 안에서 완전탐색 완전탐색이란, 모든 가능한 경우를 다 따져보는 방법이다. 장점 : 코드 짜기가 쉽다. 단점 : 수행시간이 비교적 오래 걸린다. => 시간복잡도를 계산해보고 시간초과가 나지 않는다면 무조건 쓰는 것이 좋다. 완전탐색을 구현할 수 있는 방법은 For문 기반으로 구현하는 것과, 재귀함수 기반의 Backtracking(Brute Force) 기법을 이용하는 방법이 있다. 격자 안에서 탐색을 하는 경우는 For문을 기반으로 구현하면 된다. 예시 문제 - 행복한 수열의 개수 1이상 100이하의 숫자로만 이루어져 있는 n * n 크기의 격자 정보가 주어집니다. 이때 행복한 수열이라는 것은 다음과 같이 정의됩니다. 행복한 수열 = 연속하여 m개 이상의 동일한 원소가 나오는 순간이 존.. 2023. 5. 22.
[Codestates FE] 블로깅 챌린지 3주차 - 네트워크 계층 모델 네트워크 계층 모델 1. OSI 7계층 모델 OSI 7계층 모델은 네트워크를 이루고 있는 구성요소들을 7단계로 나누고, 각 계층의 표준을 정했다. 목적 : 표준화를 통해 포트, 프로토콜의 호환 문제를 해결하고, 네트워크 시스템에서 일어나는 일을 해당 계층 모델을 이용해 쉽게 설명할 수 있다. 또한 네트워크 관리자가 문제가 발생했을 때 이것이 물리적인 문제인지, 응용 프로그램과 관련이 있는지 등 원인이 어디에 있는지 범위를 좁혀 문제를 쉽게 파악할 수 있다. 데이터를 전송하는 쪽은 데이터를 보내기 위해 상위 계층에서 하위 계층으로 데이터를 전달한다. 이때 데이터를 상대방에게 보낼 때 각 계층에서 필요한 정보를 데이터에 추가하는데 이 정보를 헤더라고 한다. 그리고 이렇게 헤더를 붙여나가는 것을 캡슐화라고 한.. 2023. 5. 5.
[Codestates FE] 블로깅 챌린지 2주차 - Redux 리덕스란 ? 리덕스는 가장 많이 사용하는 리액트 상태 관리 라이브러리이다. 리덕스를 사용하면 컴포넌트의 상태 업데이트 관련 로직을 다른 파일로 분리시켜 더욱 효율적으로 관리할 수 있다. 또한, 컴포넌트끼리 똑같은 상태를 공유해야 할 때도 여러 컴포넌트를 거치지 않고 손쉽게 상태값을 전달하거나 업데이트할 수 있다. 리덕스 라이브러리는 전역 상태를 관리할 때 굉장히 효과적이다. 물론 리덕스를 사용하는 것이 해결책은 아니지만, 프로젝트의 규모가 클 경우 체계적으로 상태를 관리할 수 있는 리덕스 라이브러리를 사용하는 것이 좋다. 코드의 유지보수성도 높여주고 작업 효율도 극대화해주며 아주 편리한 개발자 도구도 지원하고 미들웨어라는 기능을 제공해 비동기 작업을 훨씬 효율적으로 관리할 수 있다. 1. 액션 상태에 어.. 2023. 4. 28.
728x90
반응형