전체 글 208

[Visual Studio] IntelliSense(인텔리센스)에 대해

1. IntelliSense란? Intelligent(지능적) + Sense(감지) 의 합성어 메서드, 개체, 속성 등을 드롭다운 리스트 형식으로 제공하고 이것을 개발자가 선택할 수 있도록 하여, 방대한 기능을 찾기 쉽도록 해주며, 코드 입력 시간을 줄이고 철자 오류를 미연에 방지하여 생산성을 향상시킬 수 있는 기능이다. IntelliSense기능을 구현하기 위한 데이터파일이 존재하는데, 작업프로젝트 디렉토리에 있는 *.ncb파일이다. 이 파일을 지운후 Visual Studio를 재시동하면 새로 업데이트 된 새 파일이 생성하고, 이후에 모든 동작이 정상적으로 이루어진다. 그러나 이 기능은 일정시간동안은 제대로 작동하다가 프로젝트에 포함된 파일을 제거하거나 수정하거나 하는 등 여러가지 작업을 하다보면 때때..

ETC 2022.11.26

[Unity] Visual Studio에서 Intellisence가 적용되지 않을 때

1. 개요 Unity Script를 수정하기 위해 Visual Studio를 켰는데 Intellisence가 작동되지 않을 때 해결방법을 포스팅해보고자 한다. [작성 환경] Windows 10 Home Unity 2021.3.11f1 Microsoft Visual Studio 2022 [17.3.32929] 2. 해결방법 Step1: 열려있는 Visual Studio를 끈다. Step2: Unity에서 Edit → Preferences → External Script Editor항목으로 간다. Step3: External Tools에서 External Script Editor라고 표시된 부분을 살펴본다. (이것이 사용 중인 Visual Studio 편집기로 설정되어 있어야 한다. 기본적으로 “파일 확장명..

Unity 2022.11.26

[Java] Null Check

1. 개요 우리가 자바로 프로그램을 개발하다보면 가장 쉽게 마주할 수 있는 오류는 NullPointerException(java.lang.NullPointerException)일 것이다. 이는 보통 객체 값이 null이거나 초기화가 안되어 있는 인스턴스를 사용할때 발생하게 된다. Null 객체에서 method를 호출하는 경우 Null 객체의 필드에 접근하거나 값을 변경하는 경우 Null 의 길이를 배열처럼 취하는 경우 Null을 throw하는 경우 Null을 통해 동기화 할 경우 public class Sample { public static void main(String[] args){ Foo foo = null; foo.toString(); // NullPointerException foo.equal..

Java 2022.11.25

판교 데이터센터 화재사건으로 보는 서버 이중화의 중요성

1. 개요 2022년 10월 15일 오후 3시경 판교 데이터센터의 무정전 전원장치 부근에 화재가 났다. 그래서 이곳에 입주한 몇몇의 기업들의 서비스가 중단되었었다. 여기서 주목할점은, 어떤 기업은 비교적 빠르게 서비스를 복구하는데에 성공하였지만, 어떤 기업은 밤새토록 복구를 해서야 일부 서비스를 복구할 수 있었고, 완전 정상 복구까지는 수 일이 소요되었다. 업계에서 이 국내 빅테크 ‘투 톱’의 위기대응이 달랐던 점은 메인 서버의 확보와 서버 이중화 구축으로 꼽았는데, 비교적 복구에 능하였던 A기업과 복구에 많은 시간 애를 먹었던 B기업을 두고 차이점을 살펴보자. 2. 서버 이중화란? 서버 이중화 HA(High Availability)는 직역하자면 “고가용성”이다. 가용성이 높다라는 뜻은, 고장날 확률이 ..

ETC 2022.11.25

[Java] JSON 변환 라이브러리 Jackson에 대해

1. Jackson이란? Java Object를 JSON으로 변환하거나 JSON을 Java Object로 변환하는 데 사용할 수 있는 Java 라이브러리이다. (jackson - Github주소) 2. Jackson의 특징 Stream API: 스트림 형식으로 데이터를 분석하고 생성하기 때문에 성능이 좋다. Tree Model: XML의 DOM처럼 Node 형태로 데이터를 다룰 수 있기 때문에 유연성이 좋다. Data Binding: POJO기반의 자바 객체들을 JSON으로 변환시킬 수 있다. 3. Jackson의 코어 모듈 Streaming("jackson-core"): 로우레벨 스트리밍 API를 정의하고 JSON관련 구현을 포함한다. Annotations("jackson-annotations"): 표..

Java 2022.11.22

[Database] UPSERT에 대해

1. UPSERT란? UPSERT는 UPDATE + INSERT의 합성어이다. 풀어서 설명하자면, DB의 데이터를 다룰 때 INSERT혹은 UPDATE를 할 때가 있는데, INSERT를 하고자 하는 데이터가 기존에 있을 경우, PRIMARY KEY가 중복되어 INSERT가 실패가 나게 되는데, 이럴때는 UPDATE가 동작하게 처리하는 것을 UPSERT라고 한다. 2. UPSERT구문 [MYSQL] INSERT INFO [table_name] ([col1], [col2]) VALUES ('[value1]', '[value2]') ON DUPLICATE KEY UPDATE '[col2]' = '[value2]'; 쿼리의 생김새도 INSERT쿼리와 UPDATE쿼리를 섞어놓은 것 같다. [ORACLE] MERG..

DataBase 2022.11.15

[Unity] 간단히 네트워크 연결상태 체크하기

Unity로 게임을 개발하다 보면, 네트워크 상태 체킹이 필요할 때가 있다. 이럴 때 아래와 같이 간단히 처리할 수 있다. using System; using UnityEngine; ... IEnumerator checkInternetConnection(Action action){ WWW www = new WWW("http://google.com"); yield return www; if (www.error != null) { action (false); } else { action (true); } } void Start(){ StartCoroutine(checkInternetConnection((isConnected)=>{ // handle connection status here })); } 아래의..

Unity 2022.11.01

[C#] 두 List가 같은지 비교하기

Except()를 사용하여 비교할 수 있다. var firstNotSecond = list1.Except(list2).ToList(); var secondNotFirst = list2.Except(list1).ToList(); 위의 firstNotSeconds는 list1에서 list2를 제외하여 리스트로 변환하고, secondNotFirst는 반대로 list2에서 list1를 제외하여 리스트로 변환한다. 그런 다음 아래와 같이 Any()메서드로 두 리스트가 비어있는지 확인하여 결과적으로 두 List가 같은지 비교할 수 있다. !firstNotSeconds.Any() && !secondNotFirsts.Any(); 이들을 다음과 같이 메서드로 구현할 수 있다. private bool getIsEqualT..

Language/C# 2022.10.30

Github SSH인증

1. 개요 이 포스팅은 https://www.jeffyang.io/blog/github-ssh-authentication" href="http:// https://www.jeffyang.io/blog/github-ssh-authentication" target="_blank" title="외국 포스팅">외국 포스팅글의 내용을 발췌하여 번역 및 일부 수정한 포스팅이다.) Github SSH인증을 올바르게 설정하기 위한 방법을 작성한 포스팅이다. SSH 인증이 무엇인지, Github 컨텍스트에서 직접 설정하는데 관심이 있어야 하는 이유, 마지막으로 올바르게 설정하는 방법에 대해 다루도록 한다. 2. SSH란? SSH는 Secure Shell의 약자로 인터넷과 같은 보안되지 않은 공용 네트워크를 통해 신뢰할 ..

Git 2022.10.17

ESLint와 Prettier (2) - VSCode에 ESLint와 Prettier설치

1. 개요 지난 포스팅에서는 ESLint와 Prettier의 특성과 차이점에 대해 살펴보았다. 이번 포스팅에서는 VSCode에서 ESLint와 Prettier를 설정하는 방법을 살펴보고자 한다. 2. VSCode로 ESLint 및 Prettier 설정하기 코드 편집기에 적합한 확장/플러그인을 설치해야 한다. VSCode의 경우 ESLint및 Prettier를 설치한다. 이러한 플로그인에는 각각 수백만 건의 다운로드가 있으므로 VSCode 확장 마켓플레이스에서 쉽게 찾을 수 있다. 이들을 설치했으면 적절한 사용을 위해 각각을 구성할 준비가 된 것이다. ESLint와 Prettier 설정 앞서 언급했듯이 ESLint와 Prettier는 주의해서 설정하지 않으면 서로 충돌한다. 다행히도 이것은 널리 알려진 문..

ETC 2022.10.17
반응형