![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bGJ23i/btsK1llDURo/Eu505YTHtKy7ErvgMkQl70/img.png)
락앤락에서 개인정보 유출 문자가 왔다.아니 앞으로 언락앤언락이라고 부르겠다.털린 정보는... 그냥 다 털림.아니, 그냥 털린 정도가 아니라 빤스부터 알몸까지 다털림. 진짜 미친놈들인가? 데이터를 어떻게 관리하면 저정도 수준까지 털릴 수 있지?현재 사이트 접속이 안되는데 접속되면 바로 탈퇴 예정이다.또한 앞으로 언락앤언락 제품은 1도 구매하지 않을 생각이다.가입된 각종 존만한 기업 사이트들은 모조리 탈퇴해야겠다.존만한 기업들에 SW부서가 제대로일리가 없고, 대가리들이 보안에 투자할 생각도 없을테니.. 근데 이미 너무 심하게 털려버렸다.X발 머리부터 발끝까지 털려버려서 뭐 어떻게 할수가 없다.이메일이나 비번 이런건 변경이라도 가능하지 나머지는 내가 다시 태어나지 않는이상 변경도 못한다. 아이디, 비번, 성별..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dJEz2g/btr5Q44mOl0/SNsrZNfr6Rzbjj3EdMr3gk/img.png)
## 개요 Unity UI(uGUI)는 built-in으로 탑재된 GameObject기반의 UI 관련 패키지이다. GameObject기반이니 당연히 컴포넌트 기반으로 동작한다. 핵심은 "제공되는 각기 다른 특성을 지닌 컴포넌트들을 사용해 Canvas게임오브젝트 아래에 자식 UI게임오브젝트들을 구성하면, Canvas 게임오브젝트는 자식까지 포함해 C++ 엔진과 연동해서 UI로 각 프레임에 그려주겠다"이다. (C++로 작성된 핵심 컴포넌트는 Canvas, RectTransform, CanvasRenderer, CanvasGroup) UI Toolkit이라는 신규 UI시스템을 유니티에서 밀고는 있지만 아직은 uGUI가 지원범위도 넓고 안정적이라 실무 도입은 이른것 같다. UI Toolkit으로 완전히 전환되는..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/d8qaFl/btr5pzLsppx/KCX37lJbPSsh8mLGbfIhvk/img.png)
## Addressables system(주소지정가능 시스템)- 런타임에 자산을 load 및 release 하기위한 API와 content를 구성 및 패키징하는 tools 및 scripts 제공- 주소로 Asset을 로드하는 쉬운 방법 제공 (기존 직접참조, Resources폴더, AssetBundle의 상위호환 추상화 계층)- 자산 호스팅 위치를 코드수정 없이 유연하게 변경 가능(local, CDN 등)- Dependency management : content를 반환하기 전에 종속된 모든 mesh, shader, animation 등이 로드됨- Memory management : reference를 자동으로 계산하고 profiler를 통한 메모리 프로파일링 기능 제공 - 내부적으로 Weak refe..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/XJgps/btr5ozXK4g0/dvch5q4bmnlzMANRRAGOWK/img.png)
## 개요난 무시하고 싶은데 계속 에러리스트에 메시지가 떠서 짜증날때.editorconfig파일 설정을 통해 코드분석기에서 특정 스타일만 제외가 가능하다. ## .editorconfig 파일 예시[*]charset=utf-8[*.cs]# IDE0090: Use 'new(...)'dotnet_diagnostic.IDE0090.severity = slient해당 파일을 프로젝트 루트폴더에 위치시켜서 적용이 가능하다. slient의 경우 warning으로 표시되지 않지만 계속 모니터링된다.아예 제외하고 싶은 경우 none으로 설정해주면 된다.## Referenceshttps://learn.microsoft.com/ko-kr/dotnet/fundamentals/code-analysis/configuration-..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/9gmrq/btr4wM4sPQl/I9b9mFpuLOeikujremTcnk/img.png)
## 개요 각 플랫폼이나 프레임워크마다 서로 다른 로그 기준을 사용중이라 개발시 기준을 잡기위해 로그수준에 대해서는 어느정도 본인만의 기준을 잡을 필요성이 있다. RFC 5424를 기본으로 잡는다면 아래와 같이 대부분의 상황에 기준을 명확히 세우고 로그 작업을 진행할 수 있다. - RFC 5424(syslog) : 시스템, 소프트웨어 등에서 발생하는 로그메시지 로깅을 위한 표준 프로토콜 아래는 개인적인 판단으로 적절하게 심각도 수준을 배치시켜 보았다. 중간에 비어있는 영역은 개별적인 판단으로 Warning 또는 Log에 편입시키면 된다. Unity의 Exception의 경우 Error수준인데 순서가 마지막에 있는걸보면 LogType은 심각도 수준 순서가 아니란걸 알 수 있다. ## Unity의 로깅 시스..
## 개요 C#은 두가지 상수형을 제공한다 각자의 특성에 맞게 올바르게 사용해야한다 ## const public const int MILLENNIUM = 2000; - compile-time 상수 - 컴파일시에 const 상수형 변수가 사용되는 위치(code)가 실질적인 값으로 치환 - readonly에 비해 다소 빠르지만 유연성이 떨어짐 - 변수 선언시에만 초기화 가능 (생성자를 통해 동적 초기화 불가) - 내장자료형(정수형, 실수형 등)이나 enum, string에 대해서만 선언 가능. 즉, 숫자와 문자열에 한해서만 사용가능. - 기본적으로 static이므로 동일타입의 여러 인스턴스에서도 항상 같은 값 - 서비스 기간동안 불변값이어야하고 피치못할 변경 발생시 참조하는 모든 어셈블리 재컴파일 후 재배포..
## 어셈블리 정의 인스펙터 속성(*.asmdef 에셋의 직렬화 정보) - name : 어셈블리 이름(unique 해야함) ### General - Allow 'unsafe' Code : C# `unsafe`키워드를 사용중인지 Unity 컴파일러에게 알림(결과적으로 "/unsafe" 옵션 전달) - Auto Referenced : predefined assemblies(e.g. Assembly-CSharp.dll, etc)들이 해당 어셈블리를 자동참조 하는지 여부 - No Engine References : Unity Engine 어셈블리 참조 여부 - Override References : precompiled assemblies(외부에서 컴파일된 plug-in)를 자동참조 하지않고 수동참조하도록 오버..
## 개요 개발을 할때 보통 전처리기 지시문(Preprocessor Directives)을 사용해서 디버깅용 개발빌드와 릴리즈용 배포빌드를 분리하는게 보편적이다. Unity에서도 이런 전처리기 지시문을 통한 조건부 컴파일을 지원한다. (참고 : UNITY_EDITOR는 유니티 에디터를 통해 컴파일시에만 정의됨) public static void ConditionalMethod() { #if UNITY_EDITOR Debug.Log("UNITY_EDITOR 정의시에만 해당 메서드가 산출물에 포함됨"); #endif } 유니티 공식문서에도 나와있듯이 특정 method 호출부도 조건부컴파일 하고 싶을때는 C# `Conditional`어트리뷰트를 사용해 아래와 같이 더 깔끔하게 사용이 가능하다. 단, 몇가지 제..
## `GameObject.SetActive`와 `Behaviour.enabled` - GameObject 활성여부 vs 컴포넌트의 활성여부 - Scene내 객체(GameObject)의 활성여부 vs 객체내 부품(Component)의 활성여부(동작가능 : e.g. Update) - 참고로 Transform의 경우 Bahaviour가 아닌 Component에서 바로 상속하기에 enabled가 없음. 즉, 항상 동작. ## MonoBehaviour 파생 클래스의 생성자 - Unity Engine 및 직렬화 시스템에 의해 생성자가 여러번 호출될 수 있으니 pure C# API class에만 사용하고 Unity API class에는 사용금지 - 참고로 `RuntimeInitializeOnLoadMethod(Ru..
C#에서 logging 등의 이유로 현재 실행중인 method나 class의 이름과 같은 정보가 필요할때 `System.Reflection`나 `System.Diagnostics` 네임스페이스의 기능들을 사용할 수 있다. - System.Reflection - 런타임에 어셈블리, type 및 member에 대한 메타데이터 접근 기능 제공 - 주요 클래스 : Assembly, Type, MethodInfo - System.Diagnostics - 런타임에 application을 모니터링하고 디버깅할 수 있는 기능 제공 - 주요 클래스 : Process, StackTrace, StackFrame, Debug 예를들어 로그 찍을때 - 현재 class명 : `MethodBase.GetCurrentMethod()..
- Total
- Today
- Yesterday
- 코루틴
- 싱글톤
- logging
- coroutine
- Custom Package
- 닷넷
- selenium
- 비동기
- VS2022
- firestore
- github
- C#
- git
- async
- Debug
- Visual Studio Code
- vscode
- Python
- Addressables
- unity
- await
- Scraping
- 환경설정
- initialize
- Singleton
- 유니티
- framework
- gcp
- .net
- RuntimeInitializeOnLoadMethod
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |