목록분류 전체보기 (259)
차근차근
0. 플러그인 compile, test, package, jsr, war 위와 같은 구성단계이외에도 많은 단계가 있는데 모든단계가 무조건 실행되는 것이 아니고 원하는 곳까지 실행할 수 있다. 각 단계별로 Plug-in을 가지고 있다. 단계를 수행하는 실질적인 프로그램이다. pom.xml에서 설정이 가능하다. Plug-in은 goal을 가지고 있다. 위와 같은 명령어를 실행하면 단계별 실행을 담당하는 플러그인들을 볼 수 있다.
0. 자바 프로젝트 생성하기 출처 : https://www.youtube.com/watch?v=oPEY7xawQlg&list=PLq8wAnVUcTFWRRi_JWLArMND_PnZM6Yja&index=3 위 영상을 참고하여 Maven Project를 생성하였다. 다음과 같이 javaprj 가 생긴것을 볼 수 있다. 1. Maven 프로젝트 컴파일과 실행 항상 Maven프로젝트에는 root에 pom.xml 파일이 있다. 프로젝트를 컴파일할 때나 실행할 때 pom.xml이 있는 파일에서 명령어를 실행한다. pom.xml에 아래 빨간 부분을 추가해야 Build가 Success 된다. BUILD SUCCESS 후에 /Users/kosangwon/mavenProject/javaprj/target/classes/co..
0. Maven이란? Maven은 Build Tool 이다. 빌드 과정 : 프로젝트 설정 -> 라이브러리 설정 -> 코드 작업 -> 컴파일 -> 테스트 -> 패키지 만들기 -> 배포 -> 레포팅 위 빌드 과정 중 반복되는 내용을 조금 더 효율적으로 개발할 수 있도록 도와주는 빌드 도구이다. 그렇다면 이클립스도 빌드 툴일까? 이클립스에서도 프로젝트 설정 -> 라이브러리 설정 -> 코드 작업 -> 컴파일 등이 가능한데 빌드 툴일까? 아니다. Visual Studio도 그렇고 Build Tool이 아니다. 이클립스나 Visual Studio는 IDE(Integrated Development Environment)이다. 빌드 툴은 프로젝트 생성, 라이브러리 생성등을 담당한다면 IDE는 더 많은 도구들을 결합해서..
1. Eclipse Eclipse는 IDE(Integrated Development Environment)이다. Eclipse에서도 프로젝트 설정 -> 라이브러리 설정 -> 코드 작업 -> 컴파일이 가능해서 Maven같은 Build Tool이라고 생각할 수 있지만 그렇지 않다. Build Tool은 프로젝트 생성, 라이브러리 생성 등을 담당한다면 IDE는 더 많은 도구들을 결합해서 만든 더 큰 단위의 도구이다. 2. Maven Maven은 Build Tool의 한 종류이다. Eclipse같은 IDE와는 다르다. Build과정은 프로젝트 설정 -> 라이브러리 설정 -> 코드 작업 -> 컴파일 -> 테스트 -> 패키지 만들기 -> 배포 -> 레포팅 과 같이 이루어져있다. Maven은 위 빌드 과정 중 반복되..
0. 지리적 위치 정보 이용하기 모바일 앱에서 사용자의 위치를 안다는 것은 매우 중요하다. 리액트 네이티브는 지리적 위치 추적(geolocation) 기능을 기본적으로 제공한다. 이 기능은 플랫폼에 상관없이 동일하게 사용할 수 있다. 사용자 위치 얻어오기 사용자 위치를 얻어올 때는 navigator.geolocation을 호출하면 된다. getCurrentPosition은 성공 콜백(success callback), 에러 콜백(error callback), getOptions 이렇게 3개의 인자를 받는다. 성공 콜백만 필수 인자이다. 성공 콜백으로 전달되는 position 객체에는 좌표와 타임스탬프(time stamp)가 들어 있다. getOptions는 객체로서 timeout, enableHighAcc..
0. 제목 백준 6378 디지털 루트 BOJ 6378 디지털 루트 C++ 6378 디지털 루트 1. 문제 https://www.acmicpc.net/problem/6378 2. 풀이 이 문제의 핵심은 수가 최대 1000자리라는 것이다. int 는 불가능하고 long long 마저도 불가능하다. 따라서 문자열로 입력받는다. 그 후 한자리수가 될 때까지 반복적으로 조건에 따라 계산을 한다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include #include using namespace std; int main(int argc, const char * argv[]) { string s; int s..
0. Delete Mutation movie를 지우는 Mutation을 작성해보겠다. 먼저 resolvers.js를 다음과 같이 작성한다. deleteMovie는 Boolean형을 return 하도록 설정했으므로 schema.graphql을 다음과 같이 작성한다. 아래는 전에 작성했던 db.js중 deleteMovie 내용이다. playground를 보자. 위와 같이 실행을 한 후 다시 movie query를 보면 다음과 같이 id가 3인것이 사라진 것을 볼 수 있다. 위 과정까지 한 것은 영화 정보를 받을 때 Query를 하였고 Database의 상태를 바꾸기 위해서 Mutation을 하였다. server를 다시 껐다 키면 movies는 원래 상태로 돌아갈 것이다. 왜냐하면 이것은 memory에 있는 ..
0. 제목 백준 2225 합분해 BOJ 2225 합분해 C++ 2225 합분해 1. 문제 https://www.acmicpc.net/problem/2225 2. 풀이 0부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수를 구하는 문제이다. dp를 이용하였고 dp[K][N]의 의미는 K개의 수로 N을 만드는 경우의 수이다. 예를 들어, dp[3][30]을 구한다고 해보자. 3개로 30을 만들어야 하는 경우이고, 마지막에 더하는 수가 0이라면 2개로 30을 만드는 경우가 나올테고, 마지막에 더하는 수가 1이라면 2개로 29를 만드는 경우가 나올테고, 마지막에 더하는 수가 2라면 2개로 28을 만드는 경우가 나올테다. 위와 같이 쭉 나열해보면 다음과 같은 점화식이 나온다. dp[i][j] = dp..
0. 스타일의 선언과 조작 리액트 네이티브는 모든 스타일이 자바스크립트 안에 존재하고 명시적으로 컴포넌트에 스타일 객체를 연결해야 한다. 리액트 네이티브에서는 스타일시트 대신에 자바스크립 기반의 스타일 객체를 사용한다. 먼저, 인라인 스타일을 사용할 수 있다. 인라인 스타일이 최선의 방법은 아니지만 문법적으로는 가장 간단하게 리액트 네이티브의 컴포넌트에 스타일을 적용하는 방법이다. 약식으로 간단히 스타일에 변화를 줄 때 쓴다. 많이 쓰는 방식은 StyleSheet.create방식이다. 반복적인 객체 할당을 줄여 성능적인 이점이 있다. 코드를 명확하게 구조화할 수도 있다. 한번 생성된 스타일은 변경할 수 없다(immutable). 두 개 이상의 스타일을 합치고 싶을 때 어떻게 해야 할까? style속성은 ..
0. Defining Mutations & Creating Mutations 영화를 몇개의 모의데이터로 만들어 놓았다. 지난 포스팅에 했던 것과 비슷하게 getById함수를 구현하였다. 모의 데이터 배열을 반환해주는 getMovies라는 함수도 다음과 같이 구현하였다. 다음으로, 영화를 삭제하는 deleteMovie를 구현해보겠다. id를 argument로 받고 그 id를 사용하여 delete를 할 것이다. 원리는 같은 id를 가지지 않은 movie의 배열을 만들 것이다. cleanedMovies는 같은 id를 가지지 않은 movie들을 담아놓는다. movies배열의 길이가 cleanedMovies배열의 길이보다 길면 movies = cleanedMovies 를 수행하고 true를 반환한다. 이제 sch..