Blog Content

  • CCW 판별법 (Java)

    Category 개발레시피/└ Algorithm on 2018. 3. 4. 20:53

    세 점이 있을 때 반시계 방향으로 움직이는지, 시계방향으로 움직이는지 찾는 알고리즘이다.2차원 좌표에 세 점 A,B,C가 있다고 가정했을 때AB 기준으로 C가 왼쪽에 위치해있다고 했을 때벡터의 외적을 계산하면 d[AB, AC] > 0 이 나오고,AB기준으로 C가 오른쪽에 위치해있다고 했을 때d[AB, AC] < 0이 나온다. 즉, 벡터의 외적의 값이 0 초과이면 ccw(반시계방향),0미만이면 cw(시계방향), 0이면 일직선상에 존재한다. 1234567891011121314151617181920212223242526272829303132333435363738394041import java.io.BufferedReader;import java.io.InputStreamReader; /*2차원 좌표 평면 위에..

    Read more
  • [Chrome App] Chrome App에서 개발자도구 띄우는 방법

    Category 개발레시피/└ 유틸 on 2017. 12. 19. 14:51

    Chrome App 에서 개발자 도구를 띄우고 싶을 때가 있다.1. chrome://flags/ 로 접속한다.2. Debugging for packed apps 로 검색해서 "사용" 버튼을 클릭한다.3. Chrome 재시작 이렇게 설정 후,Chrome App에 들어가서 오른쪽 버튼을 클릭하면 검사(inspect)를 클릭하면,개발자도구가 뜨게 된다.

    Read more
  • [기하/개념] 볼록 껍질 (Convex Hull)

    Category 개발레시피/└ Algorithm on 2017. 12. 1. 20:16

    1. list[] 에 있는 점들 중 가장 작은 것을 찾아서 기준점으로 선정한다.2. 기준점 기준으로 각각의 점들을 반시계 방향으로 기준점과 각도 순서대로 정렬한다.3. 점들을 하나씩 보면서 볼록껍질에 포함시킬지 말지를 결정한다.스택을 하나 만들고, 이 스택에는 점의 번호를 넣어주는데 스택 사이즈가 한개밖에 없으면일단 지금 잡고 있는 점을 넣는다.스택에 점이 두 개 이상이면 비교를 한다.점 두개를 기준으로 다른 점을 봤을 때 CCW를 하는데, 이 때 반시계 방향에 있으면 만족하므로 스택에 넣어준다.그리고나서 또 스택의 두개를 빼서 두 점 기준으로 다음 점을 CCW 한다.만약 반시계 방향에 없다면 오목하다는 의미이므로 만족하지 않는다. 따라서 이럴 경우에는 스택에서 빼준다.이렇게 계속 반복해준다. 12345..

    Read more
  • [그래프/개념] 그래프 사이클 찾기 (방향, 무방향), DFS Cycle java

    Category 개발레시피/└ Algorithm on 2017. 11. 18. 21:36

    무방향 그래프에 사이클이 존재하는지의 여부를 확인하는 java 코드입니다.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Stack;import java.util.StringTokenizer; // http://clearpal7.blogspot.kr/2016/10/cycle.html// 무방향 그래프 -> cycle찾..

    Read more
  • [그래프/개념] 최소 스패닝 트리(Minimum Spanning Tree), 크루스칼 알고리즘

    Category 개발레시피/└ Algorithm on 2017. 11. 16. 17:03

    트리 : 연결그래프이며 정점의 개수가 N개 일 때, 간선의 개수가 N-1인 트리스패닝트리 : 신장트리, 무향 연결 그래프가 있을 때 그 그래프에서 간선을 부분적으로 뽑아서 만들 수 있는,그래프의 정점 개수와 같은 정점 개수를 가지는 트리최소 스패닝 트리 (MST) : 트리의 간선마다 가중치(cost)가 있을 때, 간선의 가중치 합이 최소인 트리 하나의 그래프에 대해 스패닝 트리는 여러개일 수도 있다.또한 MST도 여러개일 수 있지만, 스패닝 트리 개수 이하이다. MST를 구하는 알고리즘은 프림알고리즘, 크루스칼 알고리즘 등이 있지만,크루스칼 알고리즘이 응용 가능성이 높다. 크루스칼 알고리즘의 작동 방식1. 간선들을 가중치 순으로 오름차순 정렬하고, 정점들을 각 컴포넌트로 초기화한다.2. 간선들을 훑으면서..

    Read more
  • [그래프/개념] 다익스트라 알고리즘(Dijkstra's Algorithm) , 최단경로구하기

    Category 개발레시피/└ Algorithm on 2017. 11. 13. 12:40

    다익스트라 알고리즘은 최단 경로 알고리즘 중의 하나입니다.그래프의 어느 정점 하나를 시작으로 하고,나머지 정점들로의 최단 거리를 모두 구합니다. 다익스트라 알고리즘이 작동하는 방식은 다음과 같습니다.1. 아직 방문하지 않은 정점들 중 거리가 가장 짧은 정점을 하나 선택해 방문한다.2. 해당 정점에서 인접하고, 아직 방문하지 않은 정점들의 거리를 갱신한다. 거리 dist[] 배열을 하나 생성하여 초기값을 셋팅해 줄건데1번 정점이 시작점이라고 했을때, 자기 자신까지의 거리는 0이기 때문에시작점으로의 거리만 0으로 셋팅해주고, 나머지는 무한으로 초기값을 셋팅해줍니다. 이렇게 반복해서 동작하고, 끝나고 나면 각 dist 배열에 있는 값이, 각 정점으로까지의 실제 최단경로가 됩니다. 문제가 될 부분은 아직 방문하..

    Read more
  • [Angular] angular-cli 업데이트 하는 방법

    Category 개발레시피/└ 유틸 on 2017. 6. 26. 16:42

    Updating Angular CLI (@angular/cli 버전 - 상위버전)If you're using Angular CLI 1.0.0-beta.28 or less, you need to uninstall angular-cli package. It should be done due to changing of package's name and scope from angular-cli to @angular/cli:npm uninstall -g angular-cli npm uninstall --save-dev angular-cliTo update Angular CLI to a new version, you must update both the global package and your project's ..

    Read more
  • [Electron] 유용 repository

    Category 개발레시피/└ Back-End on 2017. 6. 22. 23:58

    electron bootstrap : https://bitbucket.org/masterjguscius/electron-bootstrap/src/d03f056447753bdc88f3929b6e60610094f0289f?at=master An Editor for RobotFramework built on Electron : https://github.com/zephraph/Nanite angular2-electron-issue-client : http://angular2-electron-issue-client angular2-authentication-sample : https://github.com/auth0-blog/angular2-authentication-sampleblog -> https://au..

    Read more
  • [TEST] REST Assured를 사용한 REST API 테스트

    Category 개발레시피/└ 유틸 on 2017. 6. 19. 13:22

    REST Assured Java 라이브러리를 사용하여 REST 어플리케이션의 HTTP Endpoint에 초첨을 맞춘,API 테스트 코드 작성 방법에 대해 학습해봅시다. Introduction Java 클래스의 동작을 확인하는 Unit 테스트의 수행은, 테스트 전략의 첫 단계일 뿐입니다.개별 Java클래스가 독립작으로 잘 작동한다고 해서모든 클래스가 함께 묶일 때 어플리케이션 자체가 올바르게 작동한다는 것을 의미하는 것은 아닙니다. 기본 단위테스트 외에도 통합테스트(모듈에 초점을 맞춘 테스트),기능 테스트 (배포된대로 어플리케이션을 사용하는 end-to-end 테스트),사용자 승인 테스트 (GUI 테스트) 가 있습니다. 이 포스팅에서는 자바 클래스로 직접 작동하지 않는 기능 테스트를 다룰 것입니다. 오늘날..

    Read more
  • HTML 이론 및 개념

    Category 개발레시피/└ Front-End on 2017. 6. 6. 17:34

    HTML이란 : Hypertext Markup Language의 약자 Hypertext란 문서와 문서가 링크로 연결되어 있는것HTML의 중요한 요소 링크는 HTML의 본질이다.HTML의 본질은 웹의 본질 -> 링크와 링크가 모여 웹을 만든다. Markup이란 Tag : 옷에 붙어있는 Tag는 옷의 원산지, 치수 등을 기재해서 소비자에게 알려주듯이 HTML에서도 같은 의미로 쓰인다.ex: 마크업 (시작태그와 끝태그, 가운데 있는 내용은 컨텐츠) link : 링크를 클릭했을 때, 새창에서 열고 싶을 경우 : target=“_blank” 리스트를 표현하고 싶을 경우 : html별도의 그룹으로 리스트를 묶고 싶을 경우 태그로 를 감싼다순서가 필요한 경우에는 대신 사용. 숫자가 자동으로 붙게됨 Semantic이란..

    Read more