Category
-
CI/CD카테고리 없음 2023. 11. 14.
배포란? CI/CD를 알기 전에 배포라는 개념부터 짚고 넘어가겠다. 배포(Deployment)는 소프트웨어나 어플리케이션을 실제 운영 환경에 설치하고 실행 가능한 상태로 전환하는 과정을 의미한다. 개발된 소프트웨어를 사용자나 고객이 접근할 수 있는 환경에 배치하여 사용할 수 있도록 하는 것이 배포이다 ❗️여기서 "실행 가능한 상태로 전환하는 과정" 이 컴파일과 빌드이다. 컴파일 내가 짠 소스 코드를 기계어로 변환하는 과정이다. 주로 프로그래밍 언어에 따라 해당 언어의 컴파일러를 사용하여 수행된다. 빌드 컴파일된 코드를 소프트웨어를 실행 가능한 형태로 변환하는 과정이다. 빌드 단계에서는 컴파일 이외에도 링크, 패키징, 정적 분석 등의 작업이 수행될 수 있다. CI/CD를 사용하는 이유 이처럼 소프트웨어 배..
-
함수형 프로그래밍카테고리 없음 2023. 9. 20.
이전 게시물에서 프로그래밍 패러다임에 대해 알아보았다. 그중에서 명령형에 속하는 객체 지향형과 절차 지향형을 알아봤었는데, 오늘은 함수형 프로그래밍에 대해 알아 볼 생각이다. 함수형 프로그래밍이란? 함수형 프로그래밍은 선언형 프로그래밍으로서 "What"에 초점이 맞춰져 있는 패러다임 중 하나로, 자료 처리를 수학적 함수의 계산으로 취급하고, 상태 변경과 가변 데이터보다 불변 데이터와 함수 호출을 중요하게 생각하는 방식을 가리킨다. 함수형 프로그래밍을 이해하기 위한 개념들이 있다. 순수 함수 (Pure Functions) 함수형 프로그래밍에서 함수는 순수 함수여야 한다. 순수 함수는 동일한 인수에 대해 항상 같은 출력값을 생성한다. 함수의 실행은 프로그램의 실행에 영향을 미치지 않아야 한다. 순수 함수로만..
-
프로그래밍 패러다임카테고리 없음 2023. 9. 12.
프로그래밍 패러다임 프로그래밍을 작성할 때 사용되는 접근 방식을 나타낸다. 어떻게 문제를 정의하고 해결하며, 코드를 구조화하고 구성하는 방식에 대한 일련의 규칙과 원칙을 나타낸다 프로그래밍 언어별로 지원하는 프로그래밍 패러다임이 다르다. 프로그래밍 패러다임의 종류 굉장히 많은 패러다임 종류가 있는데 그 중에서 대표적이고 범용적인 패러다임만 소개하려한다. 명령형 프로그래밍 시간 순서대로 명령해서 문제를 해결하는 방식 선언형 프로그래밍과 반대 개념 알고리즘을 명시하지만 목표는 명시하지 않는다. 명령형 프로그래밍은 "How" 어떻게 해결할 것인가에 초점이 맞춰져 있고, 컴퓨터가 수행할 명령들을 순서대로 적어두는 프로그래밍 수행 기법이다. 선언형 프로그래밍 목표는 명시하지만 알고리즘은 명시하지 않는다. 함수형,..
-
[Javascript] 프로그래머스 주사위의 개수STUDY/Code TEST 2023. 8. 22.
[level 0] 주사위의 개수 - 120845 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 33.4 MB, 시간: 0.04 ms 구분 코딩테스트 연습 > 코딩테스트 입문 채점결과 Empty 문제 설명 머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주..
-
프레임워크(Framework)란?카테고리 없음 2023. 8. 16.
프레임워크의 기본적인 정의는 이렇다. 프레임워크(framework)는 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다 항상 그렇듯이 정의만 보고 제대로 이해한 적이 없다. 보통 좀 더 쉽게 프레임워크를 설명하기 위해서 라이브러리의 개념과 비교해 많이 설명하곤 한다. ▶︎ 프레임 워크(framework)란 무엇인가? 단어 자체로 보자면 Frame은 틀과 구조, Work 일하다 인데, 이 둘을 합치면 틀을 가지고 일한다 가 된다. 말 그대로 프레임워크는 일정한 형태의 틀에 맞추어 다양한 결과물을 만들도록 하는 것이다. 이해하기 쉽게 레고로 예를 들어보겠다. 위의 레고들이 있다고 치자. 이 레고는 하나의 집을 만들기 위한 부품들이다...
-
데이터베이스 정규화 알아보기STUDY/Computer Science 2023. 8. 16.
DB 정규화란 (normalization) 데이터 중복과 insertion, update, deletion anomaly를 최소화하기 위해 일련의 normal forms(NF)에 따라 relational DB를 구성하는 과정 정규형(Normal form) 이란? 정규화 되기 위해 준수해야 하는 몇 가지 규칙 들이 있는데 이 각각의 규칙을 normal form(NF) 이라고 부른다. 이 normal form을 가지고 정규화 하는 과정을 알아보자 Init table - 1NF - 2NF - 3NF - BCNF - 4NF - 5NF - 6NF 처음부터 순차적으로 진행하며 normal form을 만족하지 못하면 만족하도록 릴레이션 구조를 조정한다 앞 단계를 만족해야 다음 단계로 진행할 수 있다. 1NF 부터 B..
-
API란 무엇인가?STUDY/Computer Science 2023. 8. 9.
어떤 것을 좀 사용해봤다고 그것에 대해 잘 이해하고 있다고 착각하는 경우가 종종 있다. 내가 그렇다. API가 뭔지 설명해보란 말에 떠올랐던 생각은 "어떠한 역할을 수행할 수 있는 기능?" 따위였다. 분명 API에 대한 내용을 한 번 들었건만, 제대로 정리하지 않고 프로젝트만 진행해서 API를 계속 만들줄만 알고 API가 어떤건지에 관해서는 다 까먹어버린 것이다. 뭐 이렇게 기회가 왔으니, 이참에 API에 대해 정리해보고자 한다! API API는 Application Programming Interface의 약자로, 사전적 정의는 "응용 프로그램에서 사용할 수 있도록, 운영 체제 혹은 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스"를 말한다. 여기서 인터페이스(interface)란 서..
-
자료 구조(Data Structure) 꼭 알아야 하는가카테고리 없음 2023. 8. 2.
자료 구조란? 자료 구조는 효율적으로 데이터를 관리하고 수정, 삭제, 탐색, 저장할 수 있는 데이터 집합을 말한다. 또는 특정 모양 자체를 자료구조라고도 부른다! 백엔드를 지망한다면 한번쯤 자료구조에 대해 들어봤을 것이다. 그렇다면 자료 구조를 실제로 적용한 경험이 있는가? 분명 개발에 입문한지 얼마 안된 사람들은 그런 경험이 없을 것이라 생각된다. 그렇다면 배울 필요가 없는가? 이에 대한 대답은 "꼭 알고 있어야 한다!" 이다 물론 나도 아직까지 코드를 칠 때나, 문제를 풀 때 자료 구조를 많이 적용해본 경험은 없다. 하지만 앞으로 큰 프로젝트를 진행한다거나 많은 양의 데이터를 다룰 때, 효율적으로 관리하기 위해 자료 구조의 지식은 꼭 필요해진다! 그 이유를 다음 예에서 찾아보자 당신은 공간이 한정된..