1. github remote repository 이름 변경 후 github remote repository에 repository naming convention을 보고, 그에 맞게끔 변경을 완료했다. 하지만 push 하려고 보니 push가 안되길래, remote -v 통해서 경로를 확인해보니 repository 이름 변경하면 repository url 주소까지 변경되는 것. 그래서 오류가 발생했다. 일단 내 성격상 어떻게 대처해야 하는지 찾아보지도 않고 경로를 다시 git remote add origin 로 설정하고 다시 올리니, push가 안되었다. 거기에 다름과 같은 에러가났던 걸로 기억한다. 위와 같은 에러가 나는 이유는 정확히 원격 저장소 이름을 언급해 주지 않았다는 것이다. 위와 같이 remo..
1. 검색 알고리즘 일단 이 포스트에서 다룰 것은 a의 배열 검색이다. 배열 검색은 다음과 같은 알고리즘을 사용한다. (1) 선형 검색 (Linear Search) : 무작위로 늘어놓은 데이터 모임에서 검색을 수행한다. (2) 이진 검색 (Binary Search) : 일정한 규칙으로 늘어놓은 데이터 모음에서 아주 빠른 검색을 수행한다. (3) 해시법 : 추가, 삭제가 자주 일어나는 데이터 모임에서 아주 빠른 검색을 수행한다. 2. 선형 검색 ( ==순차검색 ) 배열에서 검색하는 방법 가운데 가장 기본적인 알고리즘이다. 요소가 직선 모양으로 늘어선 배열에서의 검색은 원하는 키 값을 갖는 요소를 만날때 까지 맨 앞부터 순서대로 요소를 검색한다. (기본적으로 n(배열길이) for문 돌면서 키 값 요소와 비교..
1. 정렬이란? 정렬은 이름, 학번, 키 등 핵심 항목의 대소 관계에 따라 데이터 집합을 일정한 순서로 줄지어 늘어서도록 바꾸는 작업을 말한다. 이렇게 정렬하면 검색을 더 쉽게 할 수 있다. (파일을 알파벳 순으로 정렬하고 찾으면 더 찾기 쉬운것 처럼) 또한 정렬시에 같은 값의 키를 가진 요소의 순서가 정렬 전후에도 유지되는것을 안정된 정렬이라고 하고, 안정되지 않은 알고리즘을 사용하면 같은 키를 가진 요소의 순서가 정렬 전후에 유지 되지 않는다. 2. 외부 정렬과 내부 정렬 (1) 내부 정렬 : 정렬할 모든 데이터를 하나의 배열에 저장 할 수 있는 경우에 사용하는 알고리즘 (2) 외부 정렬 : 정렬할 데이터가 너무 많아 하나의 배열에 저장할 수 없는 경우에 사용하는 알고리즘 3. 버블 정렬 (Bubbl..
깃헙 레포지토리 이름은 소문자, 그리고 - (dash)의 조합으로 생성한다. stackoverflow에 따르면 다음과 같다 1. 소문자 이용해라 2. 대쉬 써라 3. 명확하게 작성해라. (service, rest-service 대신 purchase-rest-service 같이 명확하게) 4. 일관되게 작성해라. https://stackoverflow.com/questions/11947587/is-there-a-naming-convention-for-git-repositories Is there a naming convention for git repositories? For example, I have a RESTful service called Purchase Service. Should I name ..
1. 사람을 사랑한 기술 컴퓨터 프로그래밍 언어에 있어서 발전 과정을 보여준다. 기계어에서 어셈블리어, c언어, 그리고 객체지향 개념이 등장한 c++, 그리고 자바로의 발전에 있어서 주요한 변화에 대해서 설명한다. 기계어와 일상 용어를 일대일로 대응 매칭하는 어셈블리와 각 CPU 마다 다르게 사용했던 어셈블리어에서, 하나의 소스코드를 작성해 CPU에 맞는 컴파일러로 읽어 운영체제용 기계어를 생성하는 C언어, 그리고 C++로의 객체지향의 등장. 그리고 자바의 JRE 설치를 통한 동일한 컴파일러와 단 하나의 JVM용 기계어를 생성하는 것 까지의 발전 과정을 설명해주고 있다. 2. 자바의 절차적 / 구조적 프로그래밍 자바는 JVM이라는 가상 기계 위에서 구동된다. 운영체제 역할을 하는 JRE가 그 JVM이라는..
1. Stack이란 스택은 데이터를 일시적으로 저장하기 위해 사용하는 자료구조로, 데이터의 입력과 출력 순서는 LIFO(Last In, First Out)이다. 스택에 데이터를 넣는 작업을 push라고 하고, 스택에서 에이터를 꺼내는 작업을 pop이라고 한다. 스택의 가장 윗부분(push와 pop을 하는)을 top이라고 하고, 스택의 가장 아랫부분을 bottom이라고 한다. Stack은 자리 이동이 없고 순차적으로 데이터를 추가하고 삭제하기 때문에 ArrayList와 같은 배열기반의 컬렉션 클래스를 통해 구현하는 것이 적합하다.. (1) Stack의 예시 : 자바 프로그램에서 메소드를 호출하고 실행하는 프로세스 익히 잘 알고 있는 Call stack의 과정이다. void x() {/* ... */} vo..
spring boot는 jar 파일 안에 embeded 된 서버와 application 코드가 들어있어서 별도의 서버연결과 설치가 필요하지 않다. (Self-contained Unit). 먼저, 작성한 소스코드들, 그리고 그렇게 Web 어플리케이션을 만들 수 있는 스텐다드한 구조를 결정하는 것이 Maven이다. 그것을 컴파일 해서 톰캣같은 WAS가 인식하도록 패키징 하는 설정을 pom.xml에 하게 되는데, 그러한 톰캣, Maven archetype, dependency 설정, configuration 설정 등 너무 복잡하고 신경 써야하는 것이 많은 세팅 단계를 간단하게 해 주는 것이 Spring boot이다. 1. WAR 파일과 JAR 파일의 차이점 JAR(Java Archive)의 이름에서도 알 수 ..
1. java.util 패키지의 유용한 클래스 (1) java.util 패키지의 Objects 클래스 (java.lang 패키지의 Object 클래스와 유의) - Math 클래스 처럼 모든 클래스가 static. 객체의 비교나 null check에 유용함. - Objects.isNull(obj)이나 Objects.nonNull(obj) 같이 해당 객체가 null인지 아닌지를 boolean 값으로 반환함. - Objects.requireNonNull()은 해당 객체가 null이 아니여야 하는 경우에 사용. null이면 NPE 발생. Parameter 2개 쓰면 (obj, String예외 메세지) 순으로 예외메세지 설정가능. 아래 처럼 매개변수 null check 유효성 검사시 간단히 가능. import j..
- Total
- Today
- Yesterday