STL은 표준 C++ 라이브러리의 일부분으로 Standard Template Library의 약자 입니다. STL은 사람마다 조금씩 다른 정의를 내립니다. C++권위자인 Scott Meyers는 STL을 "반복자를 가지고 동작하는 C++ 표준 라이브러리의 일부분"이라고 정의했습니다. STL은 우리가 C++프로그래밍에서 만들어야 하는 여러가지 자료구조 클래스와 알고리즘 등을 미리 만들어 놓은 라이브러리로 반복자라는 놈을 통해서 동작하는 라이브러리입니다. STL의 주요 구성요소 컨테이너(Container) : 객체들을 저장하는 개개체 혹은 클래스(vector, list, string, map) 반복자(iterator) : 컨테이너에 저장된 요소를 순회하고 접근하는 객체 혹은 클래스(추상화) 알고리즘(Algo..
Introduction Microsoft, IBM TDD를 도입한 소프트웨어는 약 15~35% 정도의 개발시간 증가, 결함율(버그)은 약 40~90% 정도 줄어들었다. 테스트를 통한 고품질 확보는 소프트웨어 개발에 있어 매우 중요한 활동입니다. 특히, 다른 테스트에 비해 적은 비용으로 수행할 수 있는 단위 테스트는 소프트웨어의 품질을 향상시키는 데 중요한 역할을 합니다. 개발 초기부터 적용하여 빠르게 수행 결과를 확인함으로써 개발자의 생산성을 높이는 데 효과적이기 때문입니다. 테스트 주도 개발(Test Driven Development) 방식도 단위 테스트를 활용하여 보다 높은 수준의 코드 품질을 확보하려는 개발 방법 중 하나입니다. TDD (Test Driven Development) 란? TDD는 반..
객체 - 동일한 성질의 데이터와 메서드를 모아두고 필요할 때 언제든지 이용할 수 있게 만들어 놓은 것 객체지향- 객체의 성격을 지향하는 프로그래밍- 객체들간의 메시지를 주고 받는 구조- 독립적, 대규모 클래스- 데이터와 메서드가 결합- 객체를 만들기 위한 틀- 각각의 특징을 지닌 객체들의 속성을 묶어 놓은 집합체- ex) '학생'이 클래스, '영희'와 '철수'는 객체 생성자- 객체 지향 프로그래밍에 쓰이는 객체 초기화 함수- 객체의 생성 시에만 호출되어 메모리 생성과 동시에 객체의 데이터를 초기화하는 역할 오버라이딩- 기존에 있는 메서드를 재정의하는 것으로 매개변수의 개수나 데이터 형식이 같아야 함- 상위클래스 또는 인터페이스의 메서드를 하위 클래스에서 재정의 하는 것 오버로딩- 메서드 이름은 같지만 매..
모든 산업에는 그 산업에서 두루 쓰이는 전문 용어들이 존재합니다. 이런 용어들은 특정 산업에 대한 이해가 필요하기 때문에 제3자가 들으면 아예 뜻을 모르거나 다른 뜻으로 오해할 수 있는데요. 스타트업 분야도 마찬가지로 스타트업 업계에서 흔히 쓰이는 용어들이 있습니다. 1. Deck or Pitch Deck (피치덱) 피치덱이란 투자자들에게 선보이기 위한 목적으로 만들어진 회사 비즈니스 모델에 대한 설명 자료를 말합니다. 피치덱은 짧고 굵게, 즉 간결하고 임팩트 있게 만드는 것이 중요합니다. 피치덱에는 보통 경쟁회사에 대한 정보, 회사 제품 혹은 서비스의 강점, 그리고 회사 구성원들에 대한 소개와 같은 자료가 포함됩니다. 2. Pivot(피봇) 많은 회사들은 기존 사업 영역에서 벗어난 새로운 영역에서 비즈..
원래 자바 1.8 버전을 사용하다가 자바 10으로 업그레이드한 후 몇 달전에 만들었던 jsp 프로그램을 오랜만에 실행시키려하다가 갑자기 이런 에러가 나는 것을 발견했다 could not create the Java Virtual Machine 이라는 에러는 예전에 봤던 기억이 있지만 콘솔창에 나오는 endorsed is not supported. Endorsed standards and standalone APIs in modular form will be supported via the concept of upgradeable modules. 라는 에러는 처음 보는 에러라서 조금 당황스러웠다. 그래도 해결할 수 있다는 생각으로 구글링을 하기 시작했다. 몇 가지 해결법이 나와 있었는데 eclipse.in..
개요 이클립스(Eclipse software) 를 Oxygen 버전에서 Photon 버전으로 업데이트 를 하는 과정을 기록해두었습니다. 업데이트 과정 전체 과정 요약 1. Available Software Sites 에 '새로운 릴리즈 링크' 추가 2. 'Check for Updates' 를 눌러서 업데이트 진행 (1) Available Software Sites 설정에 들어가는 과정 1. [Windows] > [Preferences] 2. [Install/Update] > [Available Software Sites] 선택 3. [Add] 클릭 후 링크 값을 추가함. 추가할 Link : https://download.eclipse.org/releases/photon/ (2) Check for Upda..
ArrayList를 정렬하는 방법은 Collections.sort() 함수를 통해 가능합니다. Collections.sort() 함수는 두 가지 형태에 대해서 오버라이딩이 되어 있습니다. 첫 번째 함수 형태는 하나의 인자 정보를 넘겨주는 형태로 ArrayList 객체를 넘겨줍니다. 이때 ArrayList에 담기는 요소의 Type 클래스에서 Comparable 인터페이스를 구현하여 compareTo() 함수를 오버라이딩 해줘야합니다. 두 번째 함수 형태는 첫 번째 인자를 ArrayList 객체를 넘겨주게 되고 두 번째 인자는 Comparator 인터페이스를 상속받아 compare() 함수를 오버라이딩한 구현체를 넘겨주게 됩니다. 1. Integer Type Data를 요소로 가지는 ArrayList imp..
람다함수란? 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어입니다. 현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법입니다. 람다의 특징 람다 대수는 이름을 가질 필요가 없다. - 익명 함수 (Anonymous functions) 두 개 이상의 입력이 있는 함수는 최종적으로 1개의 입력만 받는 람다 대수로 단순화 될 수 있다. - 커링 (Curring) 익명함수? 익명함수란 말그대로 함수의 이름이 없는 함수입니다. 익명함수들은 공통으로 일급객체(First Class citizen)라는 특징을 가지고 있습니다. 이 일급 객체란..
- Total
- Today
- Yesterday