전체 글85 [C++] STL vector 정리 및 사용법 1. vector란? 어떠한 자료형도 넣을 수 있는 동적 배열 vector에 저장된 요소는 연속된 메모리 공간에 위치 요소 수가 증가함에 따라 메모리를 자동으로 관리 어떤 요소에도 임의 접근이 가능 2. vector 헤더파일 및 네임스페이스 #include using namespace std; 3. vector 만들기 vector v; 빈 벡터를 생성 vector v(5); 크기가 5이고, 모든 요소가 기본값인 0으로 초기화된 벡터 생성 vector v(5, 10); 크기가 5이고, 모든 요소가 10으로 초기화된 벡터 생성 vector v2(v1); v1 vector와 동일한 크기 및 데이터를 갖는 vector v2 생성 예시) #include #include using namespace std; int.. 2022. 7. 14. Typescript + Node.js + Express 환경 설정 0. Typescript란? 자바스크립트가 가진 여러 문제를 해결하고 보완하기 위해 만들어진 언어 마이크로소프트가 개발하고 관리 typescript 파일(.ts)은 typescript 컴파일러(tsc)를 이용하여 javascript 파일(.js)로 변환하여 사용 1. Node.js 설정 1-1. Node.js 설치 Node.js(https://nodejs.org/en/) 다운로드 후 설치 (윈도우 기준) command 창에 다음 명령어들에 대한 결과가 나오면 잘 설치된 것 npm -v node -v 1-2. package.json 파일 생성 프로젝트 폴더 생성하고 해당 경로로 이동한 후에 다음 명령어를 입력 npm init -y -y flag: package.json에 기본 설정 내용이 포함됨 아래와 같.. 2022. 5. 19. 자바스크립트 테스트 프레임워크 비교 (jest, mocha, jasmine) 자바스크립트 대표적인 테스트 프레임워크로는 Mocha, Jest, Jasmine이 있음 Jest 페이스북에서 만든 테스팅 라이브러리 React에서 많이 사용 Jasmine에 기반을 둠 Test Runner, Test Matcher, Test Mock 프레임워크까지 제공 Jest 이전에는 Mocha나 Jasmine을 Test Runner로 사용하고 Chai나 Expect와 같은 Test Matcher를 사용하고 Sinon, Testdouble 같은 Test Mock 라이브러리를 사용 느리다는 단점을 가짐 테스트 스위트를 독립적으로 실행하기 위해 VM (Executing JavaScript)를 사용한다고 함 ( Jest 탈출기 - Jest는 느리다 참고) 큰 프로젝트에서 빠르다는 주장도 있음 (**An Ov.. 2022. 5. 6. [강화학습] Q 러닝 이해하기 강화학습이란? 강화학습의 목표는 환경(environment)과 상호작용하는 임의의 에이전트(agent)를 학습시키는 것입니다. 에이전트는 환경 속에서 상태(state)를 인식하여 행동(action)하며 학습해 나갑니다. 에이전트가 취한 행동의 응답으로 환경은 양수 혹은 음수 또는 0을 보상(Reward)으로 돌려줍니다. 에이전트의 목표는 초기 상태부터 종료 상태까지 받을 수 있는 보상을 최대화하는 것입니다. 따라서 에이전트가 좋은 행동을 했을 때는 큰 보상을 주어 그 행동을 강화하고 그렇지 않은 행동을 했을 때는 작은 보상 혹은 음의 보상을 줍니다. Q 러닝? Q 러닝은 강화학습 기법 가운데 하나입니다. Q 러닝은 지금은 너무나도 유명한 알파고가 나오기 전부터 존재했던 알고리즘입니다. 여러 가지 한계점으.. 2022. 1. 9. 딥러닝 개발 환경 구축하기 아나콘다(anaconda) 설치 아나콘다 공식 사이트에서 설치파일 다운로드 다운로드한 파일을 실행 후 디폴트 설정대로 Next를 누르고 아래 그림에서 체크 박스 2개를 체크 한 후 Install 설치 완료 후 시작버튼 > Anaconda prompt를 클릭하면 윈도우 cmd 비슷한 화면이 나온다. conda --version을 입력하여 버전이 제대로 출력되면 잘 설치된 것이다. 가상 개발 환경 만들기 새로운 가상환경을 만든다.. 가상 환경 이름은 프레임워크 버전에 맞게 만든다. (tensorflow2_py37, pytorch17_py38, ..) $ conda create -n tensorflow1_py37 python=3.7 가상 환경 확인하기 생성된 가상환경은 다음 명령어로 확인 가능하다. $ con.. 2022. 1. 7. [소프트웨어 공학] 소프트웨어 개발 프로세스란 소프트웨어 개발 프로세스? 소프트웨어 개발 프로세스란 소프트웨어 개발 절차, 방식을 의미합니다. 목표로 하는 소프트웨어를 개발하기 위해 무엇을, 언제, 어떻게 할 것인가를 정의해놓은 것입니다. 비슷한 말로는 소프트웨어 생명 주기(software life cycle)이 있습니다. 기본 프로세스 단계 Feasibility study -> Requirements engineering -> Design -> Implementation -> Verification and validation -> Operation, maintenance, and evolution 1. Feasibility study (타당성 조사) 타당성 조사는 경영진 차원에서 이뤄지는 경우가 많습니다. 이 단계에서 투입 비용 대비 이익을 평가합.. 2021. 12. 11. 이전 1 ··· 4 5 6 7 8 9 10 ··· 15 다음