본문 바로가기

전체 글251

[C#] ?? 및 ??= 연산자 null을 처리할 때 if(){}로 처리하면 상당히 길어진다. 그럴 가치는 있지만 이 연산자를 사용하고 나면 너무 길어보이게 될 것이다. ?? a ?? 0은 a가 null일 때, 0을 반환한다. 따라서 var result = a ?? 0;일 때 a == null이면 result = 0인 것이다. ??= a ??= 0은 a가 null일 때, a에 0을 대입한다. 2021. 4. 7.
[C#] 부울 논리 연산자 C# 논리 연산자에는 6가지가 있다. ! (논리 부정) & (논리 AND) | (논리 OR) ^ (논리 배타적 OR) - XOR이라고도 불린다. && (조건부 논리 AND) || (조건부 논리 OR) 여기서 몰랐던 것. 2,3,4번 3가지 연산자는 항상 두 피연산자를 모두 평가한다. 따라서 두 피연산자 중 한가지 값이 null이면 오류가 날 가능성이 있다. 4번 ^, XOR은 왼쪽, 오른쪽 항을 &로 연산한 뒤, !를 붙여 2번 연산하는것과 같은 효과가 있다. 5,6번 연산자는 필요한 경우에만(왼쪽 피연산자가 true일 경우에만) 오른쪽 피연산자를 평가한다. 따라서 왼쪽항에 null 검사를 넣고 오른쪽항에 계속 진행하도록 사용하는 경우가 많다. docs.microsoft.com/ko-kr/dotnet/c.. 2021. 4. 6.
BBOX 관련 웹 사이트 모음(설명, 예제, 깃허브) BBOX란? Bounding Box의 준말 아래 사이트에 접속하면 더 자세하게 설명해 놓았다. wiki.openstreetmap.org/wiki/Bounding_Box Bounding Box - OpenStreetMap Wiki A bounding box (usually shortened to bbox) is an area defined by two longitudes and two latitudes, where: Latitude is a decimal number between -90.0 and 90.0. Longitude is a decimal number between -180.0 and 180.0. They usually follow the standard format o wiki.openstre.. 2021. 4. 5.
[Linux] 부팅시 자동실행 + Screen 사용 부팅시에 자동 실행되도록 하면서 Screen을 사용해야 할 때 스크립트를 짠다면 #!/bin/bash screen -S test sh /etc/script.sh 위와 같이 짤 수 있다. 하지만 저렇게 짜게 되면 두번째줄 따로, 세번째줄 따로 실행되어서 screen은 생성하고 스크립트 실행은 원래 세션에서 하게 된다. 따라서 #!/bin/bash screen -S test sh /etc/script.sh 이렇게 붙여서 써주면 해당 세션에서 실행된다. 2021. 2. 5.
[Linux] 부팅시 자동실행 리눅스 부팅할 때 자동 실행해야 하는 일이 있다. 이 때, /etc/profile.d에 스크립트 파일을 만들어서 하라는 글이 정말 많은데 틀린 정보다. 저 폴더는 사용자가 로그인 했을 때 실행을 한다. 따라서 재부팅하고 로그인 했을 때, 바로 실행되는 것 처럼 보이긴 하지만 로그아웃하고 다시 로그인하면 또 실행된다. 그래서 부팅할때는 crontab을 사용하는게 좋다. crontab -e @reboot 실행할 파일 // @reboot sh /etc/startup.sh @reboot라는 명령어를 앞에 붙여주고 실행할 명령어를 뒤에 적어주면 된다. 2021. 2. 5.
Linux Screen Manual (리눅스 스크린 매뉴얼) www.gnu.org/software/screen/manual/screen.html#Invoking-Screen Screen User’s Manual (C-a c, C-a C-c) Establish a new window. The flow-control options (‘-f’, ‘-fn’ and ‘-fa’), title option (‘-t’), login options (‘-l’ and ‘-ln’) , terminal type option (‘-T term’), the all-capability-flag (‘-a’) and scrollback www.gnu.org 2021. 2. 5.
[C#] dynamic 형식의 string을 List로 만들어서 Remove를 적용하는 방법 배경 이 글에서 내가 처한 상황은, dynamic 형식의 string을 ","로 split 한 뒤, List로 만들어서 Remove를 적용할 수 있어야 했다. 따라서 1. dynamic(string)을 ','로 split 2. ToList() 3. Remove() dynamic Alphabet = "A,B,C,D,E,F,G"; string[] splitElement = { "B", "C", "F" }; var splited = (Alphabet as string).Split(',').ToList(); foreach (var item in splitElement) { splited.Remove(item); } splited.ToString().Dump(); 따라서 내가 했던 방법은 1. as String을.. 2020. 11. 16.
[Project] 습관 만들기 서비스 (feat.Firebase) 요즘 독서를 하다보니 습관에 관하여 좀 읽게 되었다. 습관을 만들 수 있고, 한번 만들면 유지하기 쉬워 성공에 한걸음 더 가까워진다는 것이다. 그래서 나는 종이로 프린트를 해서 체크할 수 있는 칸을 만들었다. 그런데 생각해보니 나는 웹 개발자고... 이 정도는 만들 수 있다고 생각했다. 그래서 미루고 미루다 5일전에 시작해서 오늘 1차본을 완성했다. dailycheck-18aa9.web.app/ 맨날하란말이야 맨날 하란말이야 버그는 여기에 적어주세요! dailycheck-18aa9.web.app 웹 개발자 3년차이지만, 내가 쓰고싶은 앱을 완성한 것은 처음이다. 그동안은 DB연결 없이 프론트로만 뭔가를 만들고, 내 포트폴리오를 만든 것이 전부였다. 물론 DB연결도 한 것은 있지만, 공부를 위해 따라한 것.. 2020. 11. 14.
[Azure] Blob 데이터 다운로드 받기. (to json) docs.microsoft.com/en-us/azure/cosmos-db/import-data#export-to-json-file Tutorial: Database migration tool for Azure Cosmos DB Tutorial: Learn how to use the open-source Azure Cosmos DB data migration tools to import data to Azure Cosmos DB from various sources including MongoDB, SQL Server, Table storage, Amazon DynamoDB, CSV, and JSON files. CSV to JSON conversion. docs.microsoft.com 위의 문서를 따라.. 2020. 11. 5.