본문 바로가기

Programming63

[Java] 자바에서 벡터를 다루는 법 (Apache.commons.math3) 자바에서 벡터를 다루는 법 (Apache.commons.math3) 아파치 수학 라이브러리를 이용하여 자바에서 벡터를 다뤄보도록 하자. 벡터란? 벡터(Vector)는 크기와 방향이 있는 성분으로, 수학이나 물리에서 사용하는 개념이다. 특히 수학을 전문적으로 다루는 프로그래밍 언어(matlab)에서도 필수적으로 등장한다. 사실 벡터는 단순하게 생각하면 행이 n개, 열이 1개인 한 줄짜리 행렬에 불과하다... 벡터는 사실 1차원 숫자 배열이다 벡터는 행이 n개, 열이 1개로 고정이 되어 있으므로 1차원 숫자 배열과 다르지 않다. 다음은 자바에서 벡터를 만드는 3가지 방법이다. import org.apache.commons.math3.linear.MatrixUtils; import org.apache.comm.. 2021. 1. 26.
[Typescript] 배열의 타입을 괄호의 어디에 선언해야 할까? 배열의 타입을 괄호의 어디에 선언해야 할까? Typescript에서 배열 요소의 타입을 지정할 때 괄호의 안과 밖 둘 중에 어디에 선언해야 하는지 알아보자 작성환경 Typescript 3.9.7 배열에 타입을 선언하는 여러가지 방법 타입스크립트에서는 여러 방법으로 배열 요소의 타입을 지정해 줄 수 있다. 첫 번째, 타입을 [] 괄호의 왼쪽에 선언. const array1 : number[] = [1, 2, 3]; 두 번째, 타입을 [] 괄호의 안쪽에 선언. 사실 이건 number 요소가 1개로 고정된 배열, 즉 튜플이다. const array2 : [number] = [1]; 세 번째, 배열을 Generic으로 선언. const array3 : Array = [1, 2, 3]; 위 3가지 방법 모두 배열.. 2021. 1. 8.
[C#] 빌드 시 실행파일(exe) 이름 변경하기 빌드 시 실행파일(exe) 이름 변경하기 C# 프로젝트 빌드 결과물인 .exe 파일의 이름을 변경해보자 어셈블리명 수정 C# 프로젝트의 빌드 결과물은 .exe인데, 이 .exe 파일의 기본 이름을 별도로 설정해주지 않으면 프로젝트와 동일한 이름으로 빌드된다. 예를 들어 프로젝트명이 MyProject인 상태에서 빌드하면 MyProject.exe 라는 프로그램이 만들어진다. 프로젝트명을 수정하지 않고도 .exe 파일의 이름을 별도로 설정하여 빌드할 수 있는 방법이 있다. 솔루션 탐색기에서 마우스 우클릭 후 '속성' 메뉴를 선택 애플리케이션 탭에서 어셈블리 이름을 원하는 것으로 변경한다. 예시로 어셈블리 이름을 HelloWorld로 변경해보았다. 이제부터 빌드하면 변경된 이름으로 .exe 파일이 생성되는 것을.. 2020. 10. 25.
[Algorithm] 지구에서 두 점 사이의 중간지점 구하기 지구에서 두 점 사이의 중간지점 구하기 지구에서 두 점 사이의 중간지점을 구하는 방법을 알아보자. 이 글은 원본인 Calculate distance, bearing and more between Latitude/Longitude points의 Midpoint 항목을 번역한 글이다. 시리즈 2020/08/25 - [Programming/Algorithm] - [Alogrithm] 지구에서 두 점 사이의 거리 구하기 2020/09/07 - [Programming/Algorithm] - [Algorithm] 지구에서 두 점 사이의 방위각 구하기 사전 지식 라디안 라디안 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 라디안단위의 종류SI 유도 단위측정 대상각기호rad 또는 c 단위무한분량.. 2020. 9. 15.
[Algorithm] 지구에서 두 점 사이의 방위각 구하기 지구에서 두 점 사이의 방위각 구하기 지구에서 두 점 사이의 방위각을 구하는 방법을 알아보자. 이 글은 원본인 Calculate distance, bearing and more between Latitude/Longitude points의 Bearing 항목을 번역한 글이다. 시리즈 2020/08/25 - [Programming/Algorithm] - [Alogrithm] 지구에서 두 점 사이의 거리 구하기 2020/09/15 - [Programming/Algorithm] - [Algorithm] 지구에서 두 점 사이의 중간지점 구하기 사전 지식 라디안 라디안 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 라디안단위의 종류SI 유도 단위측정 대상각기호rad 또는 c 단위무한분량단위.. 2020. 9. 7.
[Alogrithm] 지구에서 두 점 사이의 거리 구하기 지구에서 두 점 사이의 거리 구하기 지구에서 두 점 사이의 거리를 구하는 방법을 알아보자. 이 글은 원본인 Calculate distance, bearing and more between Latitude/Longitude points의 Distance 항목을 번역한 글이다. 시리즈 2020/09/07 - [Programming/Algorithm] - [Algorithm] 지구에서 두 점 사이의 방위각 구하기 2020/09/15 - [Programming/Algorithm] - [Algorithm] 지구에서 두 점 사이의 중간지점 구하기 사전 지식 라디안 라디안 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 라디안단위의 종류SI 유도 단위측정 대상각기호rad 또는 c 단위무한분량단위.. 2020. 8. 25.
[Flutter] 플러터에서 브라우저를 다루는 방법 플러터에서 브라우저를 다루는 방법 플러터 크로스플랫폼 환경에서의 외부, 인앱 브라우저를 다뤄보자 사전 지식 인앱 브라우저와 외부 브라우저의 뜻 [프로그래밍 이론] In-app browser, External browser In-app browser, External browser 모바일 프로그래밍 환경에서의 인앱 브라우저와 외부 브라우저의 특징과 차이점을 알아보자 사전 지식 브라우저의 정의 웹 브라우저 - 위키백과, 우리 모두의 백과사전 spiralmoon.tistory.com 작업 환경 Flutter 1.17.3 Dart 2.8.4 패키지 설치 // pubspec.yaml dependencies: url_launcher: 5.4.11 flutter 공식 패키지인 url_launcher를 사용할 것이다... 2020. 8. 5.
[Android] 403. Error: disallowed_useragent Message 403. Error: disallowed_useragent. Google can't sign you safety inside this app. You can use Google sign-in by visiting this app's website in a browser like Safari or Chrome. 발생 원인 발생 조건 내부 구현이 WebView로 된 인앱 브라우저로 Google OAuth 2.0 링크를 여는 경우 2016년 10월 20일 이후로 안드로이드 환경에서 구글 인증을 웹으로 하려고 할 때 발생한다. 구글 인증 링크를 웹으로 열기 위해서는 앱에서 브라우저를 호출해야하는데, 이 때 호출하는 인앱 브라우저의 구현체가 WebView라면 오류가 발생한다. 구글이 2016년 10.. 2020. 7. 6.
[프로그래밍 이론] In-app browser, External browser In-app browser, External browser 모바일 프로그래밍 환경에서의 인앱 브라우저와 외부 브라우저의 특징과 차이점을 알아보자 사전 지식 브라우저의 정의 웹 브라우저 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 웹 브라우저 또는 브라우저(영어: web browser 또는 browser, 문화어: 열람기)는 웹 서버에서 이동하며(navigate) 쌍방향으로 통신하고 H ko.wikipedia.org 인앱 브라우저와 외부 브라우저를 나누는 기준 간단하다, 브라우저가 "특정 어플리케이션에 종속되었는지의 여부"를 따지면 된다. In-app browser란? 인앱 브라우저(In-app browser)는 내장 브라우저(Internal brow.. 2020. 7. 3.
[Flutter] 여러 페이지를 한 화면에서, PageView 여러 페이지를 한 화면에서, PageView 여러 페이지를 한 화면에서 처리할 수 있게 해주는 PageView 위젯을 알아보자 작업 환경 Flutter : 1.17.3 Dart : 2.8.4 PageView란? PageView는 여러 페이지를 한 화면에서 구현할 수 있도록 해주는 위젯 클래스이다. 보통은 한 화면에 한 페이지를 구현하는데, PageView를 사용하면 한 화면에서 여러 페이지를 책처럼 넘겨볼 수 있도록 구현할 수 있다. flutter 공식 채널의 PageView 소개 영상 페이지를 수직, 수평으로 넘기거나 페이지 전환 애니메이션 등을 적용할 수 있다. PageController 클래스를 등록하여 페이지 전환을 트리거 할 수도 있다. PageView 사용해보기 여러 페이지 추가하기 책을 만드.. 2020. 6. 15.
[프로그래밍 이론] 두 점 사이의 절대각도를 재는 atan2 두 점 사이의 절대각도를 재는 atan2 프로그래밍 언어에서 역탄젠트를 계산하는 함수 atan2의 특징을 알아보자 아크탄젠트란? 아크탄젠트(arctangent)는 역탄젠트라고도 하며 탄젠트의 역함수이다. 아크탄젠트를 이용하면 위 사진에서의 θ의 각도를 구할 수 있다. 모든 프로그래밍 언어에는 아크탄젠트를 계산할 수 있도록 Math 모듈에 atan(y / x)과 atan2(y, x) 함수를 지원한다. atan과 atan2의 차이점 atan과 atan2은 두 점 사이의 θ의 절대각을 구하는 함수인데 왜 두가지로 나뉘었을까? atan은 두 점 사이의 탄젠트값을 받아 절대각을 -π/2 ~ π/2의 라디안 값으로 반환한다. (-90 ~ 90도) atan2는 두 점 사이의 상대좌표(x, y)를 받아 절대각을 -π .. 2020. 6. 3.
[Algorithm] 평면 좌표 경로 압축 알고리즘 평면 좌표 경로 압축 알고리즘 2D 평면 좌표(x, y)들의 경로를 압축, 요약하는 알고리즘을 만들어보자. 사전 지식 이 알고리즘은 평면좌표 표현 방법과 기초 삼각 함수를 숙지하여야 한다. 라디안 라디안 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 라디안(영어: radian)은 각의 크기를 재는 SI 단위이다. 호도(弧度)라고도 하며, 기호는 rad이다. 단위원의 중심각의 라디안 값은 그 각이 대하는 호의 길이와 같다. 1라디안은 약 57.3도이다. 라디안은 입체각의 단위인 스테라디안과 함께 SI 보조 단위에 속했으나, 1995년에 SI 보조 단위가 폐지되면서 SI 유도 단위가 되었다. 라디안의 표기는 rad 기호가 가장 흔하며, 이는 자주 생략된다. 간혹 c(위첨 ko.wiki.. 2020. 5. 14.
반응형