본문 바로가기

분류 전체보기253

[C#] 요소가 null일 때 처리하는 방법 Null 조건부 연산자 (?.) 이 연산자는 null 조건을 확인한 후, null이 아닌 경우에만 멤버를 접근하는 역할을 합니다. 만약 요소가 null이라면 접근 시 NullReferenceException을 방지할 수 있습니다. var str = null; var length = str?.length; // 만약 str이 null이라면 length는 undefined가 됨 Null 조건부 인덱서 (?[]) 이 연산자는 null 조건을 확인한 후, null이 아닌 경우에만 인덱서를 사용하여 요소에 접근하는 역할을 합니다. 여러 차원의 배열에서 특정 위치의 요소를 접근할 때 유용합니다. var array2D = null; var value = array2D?.[0][0]; // 만약 array2D가 nul.. 2023. 7. 27.
각 언어별 Path 및 String 처리 방법 배경 각 프로그래밍 언어마다 경로 설정 방법과 문자열 (string) 처리 방법은 다소 다릅니다. 아래에 널리 사용되는 몇 가지 프로그래밍 언어에 대해 간단히 설명하겠습니다. 설명 Python: 경로 설정 방법: os 모듈을 사용하여 경로를 조작할 수 있습니다. 예시: import os 절대 경로: os.path.abspath('file.txt') 상대 경로: os.path.join('folder', 'file.txt') 문자열 처리 방법: Python의 문자열은 변경할 수 없기 때문에 다양한 내장 메서드를 사용하여 문자열을 조작할 수 있습니다. 예시: string_variable.upper(), string_variable.lower(), string_variable.replace(), string_v.. 2023. 7. 24.
[BBOX] BBOX란 무엇일까? BBOX란? 바운딩 박스(Bounding BOX, bbox)는 지리적인 영역을 사각형으로 둘러싸는 데 사용되는 개념입니다. 이 영역은 위도와 경도로 정의되며, 최소 경도, 최소 위도, 최대 경도, 최대 위도 값을 가지고 있습니다. 바운딩 박스는 해당 영역의 경계를 나타내는데, 일반적으로 좌하단과 우상단의 두 점을 이용하여 사각형을 형성합니다. 위도와 경도란? 위도와 경도는 지구의 위도와 경도 그리드를 기반으로 지리적인 위치를 나타내는 좌표 시스템입니다. 위도는 적도를 기준으로 한 북쪽 또는 남쪽 방향의 각도이며, 경도는 본초자오선(0도 경도)을 기준으로 한 동쪽 또는 서쪽 방향의 각도입니다. 바운딩 박스는 주어진 지역의 경계를 정의하는 데 사용됩니다. 이를 통해 특정 지역의 위치와 영역을 빠르게 파악할.. 2023. 7. 24.
[선박] 다양한 종류의 연료 및 유류 오일 종류 및 설명 HFO(중유): 중유는 점도와 밀도가 높은 연료유의 일종으로, 일반적으로 대형 선박 엔진, 산업용 보일러, 발전소 등에 사용됩니다. 원유 정제 공정의 잔여 생성물이며 효과적으로 사용하려면 예열이 필요합니다. LSFO(저유황 연료유): 저유황 연료유는 기존 고유황유에 비해 황 함유량이 낮은 연료유의 일종입니다. 선박 연료의 황 배출을 줄이기 위한 국제해사기구(IMO)의 의무와 같은 엄격한 환경 규정을 준수하는 데 사용됩니다. ULSFO(초저유황 연료유): 초저유황 연료유는 더욱 엄격한 환경 기준을 충족하기 위해 황 함량을 더욱 낮춘 LSFO를 더욱 정제하여 만든 연료유입니다. DO(디젤유): 디젤유는 디젤 엔진에 일반적으로 사용되는 디젤 연료 또는 디젤이라고도 하는 연료유의 일종입니다... 2023. 7. 21.
Ubuntu, MySQL - 'Failed with result 'oom-kill' 에러 해결 방법 Ubuntu, MySQL - 'Failed with result 'oom-kill' 에러 해결 방법 이 블로그 글에서는 Ubuntu 서버에서 MySQL을 사용하다가 발생하는 'Failed with result 'oom-kill' 에러에 대해 알아보겠습니다. 이 에러는 Out-Of-Memory(메모리 부족) 문제로 인해 MySQL 서비스가 강제로 종료되는 상황을 의미합니다. 이 문제를 해결하기 위해 몇 가지 유용한 방법과 조치를 안내드리겠습니다. 1. OOM(Out-Of-Memory) 상황 이해하기: OOM-kill은 운영 체제에서 발생하는 메모리 부족으로 인해 Linux 커널이 프로세스 중 하나를 강제로 종료시키는 것을 말합니다. 이는 메모리 사용량이 너무 많아서 시스템이 충돌하지 않도록 하는 보호 메커.. 2023. 7. 21.
[C#] params로 매개변수 여러개 받는 방법 [C#] params로 매개변수 여러개 받기 Introduction 반갑습니다! 이번 기사에서는 C# 프로그래밍 언어에서 사용되는 "params" 키워드에 대해 알아보겠습니다. "params" 키워드를 이용하면 메소드에 여러 개의 매개변수를 유연하게 전달할 수 있습니다. 이 기능을 효과적으로 활용하여 코드를 간결하고 유연하게 작성하는 방법을 배워봅시다. What is the "params" Keyword in C#? "C#"에서 "params"는 매개변수를 가변적으로 전달할 수 있게 해주는 키워드입니다. 이 키워드를 사용하면 메소드에 배열 형태의 매개변수를 여러 개 전달할 수 있으며, 인자의 개수가 가변적일 때 유용하게 활용됩니다. How to Use "params" in C# Methods "C#"에서.. 2023. 7. 20.
[라즈베리파이] 웹서버 만들기 (1) 이번 프로젝트에서는 이전에 만든 파이썬 로직을 사용해야해서 파이썬 웹서버를 만드려고 했다. 다시 오랜만에 만지는 웹서버 세팅에 며칠을 소비했다. 하지만... 중꺽마 정말 며칠간 조금씩 시간을 내서 했다. 그 과정을 기록한다. 간단하게 해결된 부분은 간단하게 적고, 애먹은 포트포워딩 부분을 잘 기록하고 싶다. 1. 라즈베리파이 리셋 라즈베리파이를 이전에 사용하고 있었지만, 더 이상 사용하지 않아서 리셋을 했다. 구글링 해보면 잘 나오고, 아래 사이트에서 다운로드 받아서 진행할 수 있다. https://www.raspberrypi.com/software/ Raspberry Pi OS – Raspberry Pi From industries large and small, to the kitchen table t.. 2023. 3. 4.
포트포워딩 하는 방법, 잘 정리된 블로그 소개 https://kibbomi.tistory.com/219 [Web server] 외부에서 내 웹서버(PC)에 접속하기 (포트포워딩, 방화벽) 최근 VPN 서버를 만들일이 있어서 이것저것 세팅하다가 구글에 제대로 된 정보가 몇 없어서 다른 분들께 도움이 되고자 글을 남깁니다. Apache 웹 서버를 사용했습니다. 공유기 밑에 있는 내 서브 kibbomi.tistory.com 포트 포워딩에 대해 이리저리 헤매고 있다가 발견한 블로그 글. 차근차근 하나씩 설명해주시기 때문에 이해도 잘 되고 따라하기 좋았다. 공유하기 위해 글을 쓴다. 2023. 3. 4.
[C#] 코드 최적화 팁 및 요령 C# 개발자로서 효율적이고 최적화된 코드를 작성하는 것은 업무의 핵심 측면입니다. 이는 애플리케이션이 원활하게 실행되도록 하는 데 도움이 될 뿐만 아니라 성능 병목 현상을 방지하고 코드를 유지 관리하기 쉽게 만드는 데도 도움이 됩니다. 이 블로그에서는 데이터 구조 사용을 위한 모범 사례, 효율적인 루프 작성을 위한 팁, 코드 성능 향상을 위한 제안을 포함하여 C# 코드를 최적화하기 위한 몇 가지 팁과 요령을 살펴보겠습니다. 올바른 데이터 구조 사용하기 데이터 구조의 선택은 코드 성능에 큰 영향을 미칠 수 있습니다. 데이터 구조를 선택할 때 데이터 세트의 크기, 수행해야 하는 작업 유형 및 작업 속도와 같은 요소를 고려해야 합니다. 예를 들어 많은 조회를 수행해야 하는 경우 List 대신 Dictionar.. 2023. 2. 15.