세 점이 있을 때 반시계 방향으로 움직이는지, 시계방향으로 움직이는지 찾는 알고리즘이다.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차원 좌표 평면 위에..
Chrome App 에서 개발자 도구를 띄우고 싶을 때가 있다.1. chrome://flags/ 로 접속한다.2. Debugging for packed apps 로 검색해서 "사용" 버튼을 클릭한다.3. Chrome 재시작 이렇게 설정 후,Chrome App에 들어가서 오른쪽 버튼을 클릭하면 검사(inspect)를 클릭하면,개발자도구가 뜨게 된다.
1. list[] 에 있는 점들 중 가장 작은 것을 찾아서 기준점으로 선정한다.2. 기준점 기준으로 각각의 점들을 반시계 방향으로 기준점과 각도 순서대로 정렬한다.3. 점들을 하나씩 보면서 볼록껍질에 포함시킬지 말지를 결정한다.스택을 하나 만들고, 이 스택에는 점의 번호를 넣어주는데 스택 사이즈가 한개밖에 없으면일단 지금 잡고 있는 점을 넣는다.스택에 점이 두 개 이상이면 비교를 한다.점 두개를 기준으로 다른 점을 봤을 때 CCW를 하는데, 이 때 반시계 방향에 있으면 만족하므로 스택에 넣어준다.그리고나서 또 스택의 두개를 빼서 두 점 기준으로 다음 점을 CCW 한다.만약 반시계 방향에 없다면 오목하다는 의미이므로 만족하지 않는다. 따라서 이럴 경우에는 스택에서 빼준다.이렇게 계속 반복해준다. 12345..
무방향 그래프에 사이클이 존재하는지의 여부를 확인하는 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찾..
트리 : 연결그래프이며 정점의 개수가 N개 일 때, 간선의 개수가 N-1인 트리스패닝트리 : 신장트리, 무향 연결 그래프가 있을 때 그 그래프에서 간선을 부분적으로 뽑아서 만들 수 있는,그래프의 정점 개수와 같은 정점 개수를 가지는 트리최소 스패닝 트리 (MST) : 트리의 간선마다 가중치(cost)가 있을 때, 간선의 가중치 합이 최소인 트리 하나의 그래프에 대해 스패닝 트리는 여러개일 수도 있다.또한 MST도 여러개일 수 있지만, 스패닝 트리 개수 이하이다. MST를 구하는 알고리즘은 프림알고리즘, 크루스칼 알고리즘 등이 있지만,크루스칼 알고리즘이 응용 가능성이 높다. 크루스칼 알고리즘의 작동 방식1. 간선들을 가중치 순으로 오름차순 정렬하고, 정점들을 각 컴포넌트로 초기화한다.2. 간선들을 훑으면서..
다익스트라 알고리즘은 최단 경로 알고리즘 중의 하나입니다.그래프의 어느 정점 하나를 시작으로 하고,나머지 정점들로의 최단 거리를 모두 구합니다. 다익스트라 알고리즘이 작동하는 방식은 다음과 같습니다.1. 아직 방문하지 않은 정점들 중 거리가 가장 짧은 정점을 하나 선택해 방문한다.2. 해당 정점에서 인접하고, 아직 방문하지 않은 정점들의 거리를 갱신한다. 거리 dist[] 배열을 하나 생성하여 초기값을 셋팅해 줄건데1번 정점이 시작점이라고 했을때, 자기 자신까지의 거리는 0이기 때문에시작점으로의 거리만 0으로 셋팅해주고, 나머지는 무한으로 초기값을 셋팅해줍니다. 이렇게 반복해서 동작하고, 끝나고 나면 각 dist 배열에 있는 값이, 각 정점으로까지의 실제 최단경로가 됩니다. 문제가 될 부분은 아직 방문하..
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 ..
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..
REST Assured Java 라이브러리를 사용하여 REST 어플리케이션의 HTTP Endpoint에 초첨을 맞춘,API 테스트 코드 작성 방법에 대해 학습해봅시다. Introduction Java 클래스의 동작을 확인하는 Unit 테스트의 수행은, 테스트 전략의 첫 단계일 뿐입니다.개별 Java클래스가 독립작으로 잘 작동한다고 해서모든 클래스가 함께 묶일 때 어플리케이션 자체가 올바르게 작동한다는 것을 의미하는 것은 아닙니다. 기본 단위테스트 외에도 통합테스트(모듈에 초점을 맞춘 테스트),기능 테스트 (배포된대로 어플리케이션을 사용하는 end-to-end 테스트),사용자 승인 테스트 (GUI 테스트) 가 있습니다. 이 포스팅에서는 자바 클래스로 직접 작동하지 않는 기능 테스트를 다룰 것입니다. 오늘날..
HTML이란 : Hypertext Markup Language의 약자 Hypertext란 문서와 문서가 링크로 연결되어 있는것HTML의 중요한 요소 링크는 HTML의 본질이다.HTML의 본질은 웹의 본질 -> 링크와 링크가 모여 웹을 만든다. Markup이란 Tag : 옷에 붙어있는 Tag는 옷의 원산지, 치수 등을 기재해서 소비자에게 알려주듯이 HTML에서도 같은 의미로 쓰인다.ex: 마크업 (시작태그와 끝태그, 가운데 있는 내용은 컨텐츠) link : 링크를 클릭했을 때, 새창에서 열고 싶을 경우 : target=“_blank” 리스트를 표현하고 싶을 경우 : html별도의 그룹으로 리스트를 묶고 싶을 경우 태그로 를 감싼다순서가 필요한 경우에는 대신 사용. 숫자가 자동으로 붙게됨 Semantic이란..
Skin by WaaNee | Copyright © 2017 by SBeen. All Rights Reserved.