본문 바로가기

개발자노트/우아한 테코톡 감상

(19)
우아한Tech [10분 테코톡] 시간 복잡도 시간복잡도 - 알고리즘과 밀접한 연관이 있음 // 알고리즘 ) 문제를 해결하기 위한 방법 - 문제를 해결하는데 걸리는 시간과 입력의 함수관계 log n 이 가장 현실세계에서 이상적인 알고리즘이라고 평가됨. 지수 형태로 올라가는 알고리즘은 사실상 풀 수 없는 알고리즘 이라고 함. 그렇다면 어떤게 현실적이고 어떤게 비현실 적인가? 현실적 알고리즘 - Polynomial complexity (P 문제) , sorting. dp.... - 상식선에서 풀 수 있는 문제 - 정렬 등 비현실적인 알고리즘 -Nondeterministic Polynomial complexity (NP 문제) -복잡도가 팩토리얼이나 지수형태로 올라가면 비현실적인 알고리즘 -해밀턴 경로 문제 NP 문제 소인수분해문제 3*7=21 21=3*..
우아한Tech [10분 테코톡] 빌드와 배포 목차 1.빌드란 2.빌드도구 3.배포란 4.CI/CD에 대하여 5.무중단 배포 1. 빌드란 - 컴파일 그리고 빌드 - 컴파일 : 작성한 소스 코드를 바이너리 코드(2진법)로 변환하는 과정 - 링크 : 여러개로 분리된 소스 코드들을 컴파일한 결과물들에서 최종 실행 가능한 파일을 만들기 위해 필요한 부분을 찾아서 연결해 주는 작업 (이미 컴파일 된 파일이란 뜻) - 빌드 : 소스 코드를 실행 가능한 소프트웨어 산출물로 만드는 일련의 과정 (jar,war...) 2. 빌드 도구 - 소스 코드를 컴파일,테스트, 정적 분석 등을 실시하여 실행 가능한 애플리케이션으로 자동 생성하는 프로그램 - 계속해서 늘어나는 라이브러리의 자동 추가 및 관리 - 라이브러리의 버전을 자동으로 동기화 => 자동이라는 말이 계속 등장하..
우아한Tech [10분 테코톡] 빌드 용어 영상 1.컴파일과 빌드의 차이점 원시파일:(소스코드) ex).java ---> 컴파일러 ---> 오브젝트 파일 ---> 링커 ---> 실행파일.jar 컴파일: 우리가 사용하는 언어를 컴퓨터가 이해할 수 있는 형태(이진코드 ex).class로 만들어주는 것 링크 : 오브젝트 파일로 만들었다고 해서 바로 실행할 수 없다. 오브젝트 파일에 다른 외부 리소스를 연결하는 과정이 필요함. 이 과정을 링크라고함 2.대체 빌드는 뭘까? 사람이 알아들을 수 있는 형태의 원시파일을 실제 컴퓨터에서 프로그램으로 돌릴 수 있게 만드는 일련의 과정을 빌드라고 함. 컴파일이라는 과정는 빌드 안에 부분집합으로 속해있는 것 빌드를 우리가 하나? 그래들이라는 도구를 사용함 3.빌드 도구란? 소스 코드로부터 실행 가능한 어플리케이션을 생성하..