전체 글

전체 글

    [CI/CD] CI/CD란? - 지속적 통합 / 지속적 제공 기본개념

    매번 개발자가 이슈가 생길때 코드를 수정하고 빌드와 테스트 배포까지 한다면 상당히 많은 시간이 소요되는 현상이 발생할 수도 있다. 하지만 git이라는 버전관리 시스템이 있다면 프로젝트의 코드만 올리는 것 만으로도 누군가가 빌드와 테스트, 배포까지 해준다면, 쓸데없는 시간을 단축시키고 개발에 더 많은 시간을 투자할 수 있을것이다. 이번시간에는 그 CI와 CD의 기본 개념에 대해 알아보겠다. CI : Continuous Integration 지속적 통합 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합되는 것을 의미한다. CI란? CI란 간단히 요약해 프로젝트를 빌드/테스트 자동화 과정을 담당하는 과정이다. CI는 개발자를 위한 프로세스인 지속적 통합(Contin..

    [JAVA] JAVA란 무엇인가?

    Java란? Java는 프로그래밍 언어 중 하나로 컴퓨터 프로그램(애플리케이션)을 만드는 데 사용된다. 쉽고 빠르게 애플리케이션 개발을 할 수 있게 해주는 프로그램이다. 어디에 사용되고 있나? 자바의 용도와 실행 환경에 따라 자바로 다양한 프로그램을 만들 수 있다. 애플리케이션: 우리가 흔히 사용하는 데스크톱 응용 프로그램을 작성한다. 성능상의 약점이 있지만 간단한 프로그램은 자바로도 충분히 만들 수 있다. 애플릿: 웹 브라우저에서 역동적으로 실행되는 작은 자바 프로그램이다. 현재는 다른 대안이 많이 사장되었지만 초기에 자바를 대중화하는데 큰 역할을 했다. 웹 응용 프로그램: 기업용 웹 애플리케이션 제작에 사용한다. 생산성이 높아 시시각각 변하는 기업의 요구에 신속하게 대응할 수 있다. JSP & 서블릿..

    [Javascript] 자바스크립트 엔진, V8

    Javascript 엔진? 개발자가 자바스크립트에 대한 코드를 짜면 이 자바스크립트 코드를 해석하고 실행시켜줘야 하는데, 바로 이것이 자바스크립트 엔진의 역할을 담당한다. 자바스크립트 엔진은 자바스크립트 코드를 해석하고 실행하기 위해 안들어진 일종의 프로세스 가상머신인 것이다. WebPack 에서는 자바스크립트 엔진을 다음과 같이 정의한다. 자바스크립트 엔진은 자바스크립트 코드를 실행하는 프로그램 또는 인터프리터이다. 자바스크립트 엔진은 전통적인 인터프리터일 수 있고, 특정한 방식으로 바이트코드로 JIT 컴파일을 할 수 있다. 여러 목적으로 자바스크립트 엔진을 사용하지만 대체적으로 웹 브라우저에서 사용된다. 자바스크립트 엔진의 역할 자바스크립트 엔진의 역할은 어떤 역할을 담당해주는 것일까? 자바스크립트 ..

    [GO] Go - Introduction

    Go - Introduction Go란? Go 언어란 Python과 같은 인터프리터 언어(스크립트 언어)가 아닌 컴파일 언어이다. The Go Programming Language DevOps & Site Reliability With fast build times, lean syntax, an automatic formatter and doc generator, Go is built to support both DevOps and SRE. go.dev 인터프리터 언어 : 원시코드(프로그래머가 작성한 소스코드)를 기계어로 변환하는 과정없이 한줄 한줄 해석해 바로 명령어를 실행하는 언어 컴파일 언어: 원시코드(프로그래머가 작성한 소스코드)를 모두 기계어로 변환한 후에 기계(JVM 같은 가상머신)에 넣고 기..

    [MongoDB] mongoDB란?

    이번시간에는 데이터를 저장하는 데이터베이스 역할을 해주는 mongoDB에 대해 알아보겠습니다. 웹서비스의 역할을 제대로 수행하기 위한 데이터를 저장하고 필요할때 열람해주는 것이 있어야하는데 이번 시간에 배울 mongoDB를 node.js에서 사용하게 해주는 mongoose라는 노드의 확장모듈을 배워보겠습니다. mongoose란, mongoDB라는 NoSQL, 데이터 베이스를 지원하는 노드의 확장 모듈입니다. mongoose는 mongoDB의 ODM입니다. ODM은 Object Document Mapping의 약자로, 문서를 DB에서 조회할 때 자바스크립트 객체로 바꿔주는 역할을 해줍니다. mongoDB의 ODM에서는 mongodb-native등 여러가지가 있지만 그중 mongoose가 가장 많이 사용됩니..

    [MySQL] MySQL 이란?

    MySQL MySQL은 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템이다. (RDBMS) MySQL은 오픈소스로, 다중 사용자와 다중 스레드를 지원한다. C,CPP,JAVA,PHP 등 여러 프로그래밍언어를 위한 다양한 API를 제공한다. MySQL은 윈도우, 리눅스 등 다양한 운영체제에서 사용가능하고 Apache, PHP와 함께 웹개발에 자주 사용된다. APM의 M MyQL or (MariaDB) 등 Apache, PHP와 호환성이 좋기에 사용된다. MySQL은 오픈 소스 라이선스를 따르지만, 상업저긍로 이용시에는 반드시 상업라이센스를 필수로 구매해야 한다. DataBase 데이터 베이스란? 데이터의 저장소 또는 통합해 관리되는 데이터의 집합체를 의미 중복 데이터 제거, 자료 구조화, 효율적 ..

    [Docker] Docker의 개념 및 핵심 설명

    이번 포스팅은 Docke에 대해서 간단할 핵심 설명을 포스팅하고자합니다. Doker라는 것은 0.9버전 부터 직접 개발한 libcontainer를 사용하고 있다고 합니다. 가상화를 사용하는 이유는? 가상화를 사용하는 이유는 향상된 컴퓨터의 성능을 더욱 효율적있게 사용하기 위해 가상화 기술이 많이 등장 하였습니다. 서버 관리자 입장에서는 CPU 사용률이 단 10%대밖에 되지 않는 활용도가 낮은 서버들은 리소스 낭비일 수밖에 없습니다. 그렇다고 모든 서비스를 한 서버 안 에서 올린다면 안정성에 문제가 발생할 수 있습니다. 그렇기 때문에 안정성을 높이고 리소스도 최대한 활용할 수 있는 방법으로 나타낸 것이 바로 가상화입니다. 모두가 알고 있는 대표적인 가상화 플랫폼은 VM(Virtual Box)가 있습니다. ..

    [알고리즘 개념 정리] 1. 변수와 상수

    알고리즘의 첫 시간은 변수와 상수에 대해 알아보도록 하겟습니다. 변수와 상수는, 특정 이름에 특정 값을 담을때 사용합니다. 예를 들어 우리가 value라는 이름에 1 이라는 값을 넣는다 가정해 봅시다. 그러면, 코드를 이렇게 입력하면 됩니다. let value = 1; 그러면, 앞으로 우리가 value를 조화할때 value라는 값에 1을 가르키게 됩니다. 예를 들어 우리가 console.log를 통해 value 값을 출력할 수 잇습니다. let value = 1; console.log(value) 그러면 value라는 값은 1이라고 나올 것입니다. 특정 이름에 특정 값을 설정하는 것, 우리는 이것을 선언이라고 부릅니다. 쉽게 말해 이제부터 이 value라는 값은 1이다~ 라고 정해주는 것입니다. 값을 선..

    [첫시작] Start! - 알고리즘 익히기

    Winter ALGORIHTM 익히기 알고리즘은 수학과 컴퓨터과학 언어학 또는 엮인 분야에서 어떠한 문제를 풀어내기 위해 정해지 일련의 절차나 방법을 공식화한 형태로 표현한 것 입니다. 필자는 1년이라는 깊은 개발상식을 파해치고 주니어 개발자로 성장했으나 아직까지는 알고리즘을 꺠달은 단계는 아니라 생각해 알고리즘 익히기 계획을 준비했습니다. 알고리즘 공부를 위한 참고서 egoing - 생활코딩 백준 - 알고리즘 프로그래머스 - 알고리즘 풀이 알고리즘 공부를 위한 준비 알고리즘 함수 깨우치기 - sort, for 정렬법, 반복문 등등 알고리즘을 작성하는 과정 문제 분석 주어진 문제에 대한 논리적 분석을 통해 핵심 사항을 분석한다. 데이터 수집과 표현 문제 해결과 관련된 정보들을 수집하며 데이터를 적절한 형..

    [React] State 생명주기 (클래스형과 함수형의 차이)

    이번 시간에는 React에서 state를 이용해 생명주기 및 Class형과 함수형 생명주기의 차이점을 알아보자. React에서 생명주기란? React에서 모든 컴포넌트는 아래 세가지 단계를 거친다. 초기화 단계 업데이트 단계 소멸 단계 각 단계에서 몇개의 메서드들이 정해진 순서대로 작동하고 각 단계 속에서 호출되는 메서드들을 바로 생명주기 매서드 라고 부른다. 리액트는 웹에서 UI 데이터가 변경되면 자동으로 컴포넌트가 업데이트되고 동적으로 화면을 그려준다. 제대로 된 기능을 수행하려면 이런 자동으로 업데이트 되는 과정에 끼어들어 API를 호출하기도 하고 데이터를 가공해줘야 할때도 있다. 따라서 생명주기의 각 단계별로 필요한 순간에 필요한 작업들을 끼워넣을 수 있는 메서드들이 존재한다. 위 이미지는 리액트..

    [React] 클래스형 컴포넌트와 함수형 컴포넌트의 차이

    1. 클래스형 컴포넌트 react 컴포넌트를 선언하는 두가지 방식 중 하나. [클래스 컴포넌트 & 함수 컴포넌트] 현재 자주 사용하지 않지만, 아직도 사용하는 기업들도 있다. 클래스형으로 구성된 프로젝트의 유지보수를 위해서도 클래스형 컴포넌트에 대한 개념도 알아야 한다. 2. 클래스형 컴포넌트와 함수형 컴포넌트의 차이 1) 선언 방식 함수형 컴포넌트 import React from 'react'; import './App.css'; function App() { const name = 'react'; return {name} } export default App; 클래스형 컴포넌트 import React, {Component} from 'react'; class App extends Component {..

    [TIL] 2022년 01월 26일 TIL - LAYOUT

    이번시간에는 전체적인 스타일을 꾸며주는 레이아웃을 제작하는 방식에대해 배워보았다. 커리큘럼 동일한 CSS를 사용하고 싶어요!! => Global Styles 폰트도 다양한것을 사용하고 싶어!! => WOFF2 슬라이더를 적용하고 싶다 -> Carousel 레이아웃 이란? 레이아웃은 UI에 전체적인 페이지를 구성하는 방식이라 할 수 있다. 기본적인 레이아웃 설정은 위 이미지와 같이 메뉴의 배치를 단계적으로 수행하는 작업이다. function MyApp({ Component, pageProps }) { return ( ); } React에서 레이아웃을 구성하는 방식은 대부분 _app.tsx에 가면 설정할수 있는 파일에 가보면 된다. 이 파일에서 Component는 모든 페이지를 실행하기 전 먼저 실행하는 설..