본문 바로가기

Programming61

[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.
[Flutter] Firebase cloud messaging 적용하기 Firebase cloud messaging 적용하기 플러터 앱에 FCM 푸시 알림 기능을 적용해보자. FCM이란? FCM은 Firebase cloud messaging의 약자로 앱이나 웹에 푸시 알림을 전송할 수 있도록 해주는 파이어베이스 서비스 중의 하나이다. 푸시 알림에는 사용자에게 보여지는 제목과 내용, 사용자는 볼 수 없는 데이터를 포함하여 보낼 수 있으며, 데이터 사이즈에는 제한이 있지만 사용량에는 제한 없이 모두 무료이다. FCM 이전에 GCM(Google cloud messaging)이라는 서비스도 있었는데 2019년 4월 11일자로 서비스를 중단해서 이제는 FCM을 써야한다. 선행 작업 이 글은 1. 파이어베이스에 프로젝트 생성 2. 파이어베이스에 Android, iOS 등록 3. APN.. 2020. 4. 20.
[Flutter] Unable to create service io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService: java.lang.RuntimeException: PluginRegistrantCallback is not set. Stacktrace Fatal Exception: java.lang.RuntimeException Unable to create service io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService: java.lang.RuntimeException: PluginRegistrantCallback is not set. 발생 원인 발생 조건 v2 embedding이 적용된 플러터 안드로이드 프로젝트 Firebase_messaging 패키지를 사용 사용자 문제는 아니고 Firebase_messaging 패키지가 v2 embedding을 제대로 적용하지 않아서 생긴 문제이다. 플러터에서 네이티브 코드를 호출하기 위해서는 패키지 내부 소스코드에서 .. 2020. 4. 17.
반응형