일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- adfit
- 패스트캠퍼스후기
- 환급챌린지
- DotsTween
- 2D Camera
- 샘플
- 가이드
- Unity Editor
- job
- 오공완
- Custom Package
- RSA
- Dots
- sha
- 직장인자기계발
- unity
- C#
- Tween
- 직장인공부
- ui
- 커스텀 패키지
- 패스트캠퍼스
- 프레임워크
- AES
- Framework
- base64
- 암호화
- 최적화
- Job 시스템
- TextMeshPro
- Today
- Total
목록전체 보기 (197)
EveryDay.DevUp

게임에서 사용하는 암호화를 실제 코드로 구현하여 프레임워크에 추가 자세한 이론은 하단의 링크를 참고 https://everyday-devup.tistory.com/24 [Unity] 게임 암호화 게임의 암호화는 유저의 데이터를 지키고, 게임을 서비스 하면서 안정적인 운영을 할 수 있도록 도와주는 것 ▶ 메모리 핵, 앱 변조, 스피드 핵, 데미지 핵과 같은 많은 핵들이 존재하고 방어하는 입장 보다는 공.. everyday-devup.tistory.com Class를 생성 Static 으로 암복호화 함수 추가 ▶ 단방향 암호화는 SHA256을 사용 public class Crypto { static SHA256 _sha256 = null; public static string SHA256Base64(stri..

게임에서 사용하는 암호화를 실제 코드로 구현하여 프레임워크에 추가 자세한 이론은 하단의 링크를 참고 https://everyday-devup.tistory.com/24 [Unity] 게임 암호화 게임의 암호화는 유저의 데이터를 지키고, 게임을 서비스 하면서 안정적인 운영을 할 수 있도록 도와주는 것 ▶ 메모리 핵, 앱 변조, 스피드 핵, 데미지 핵과 같은 많은 핵들이 존재하고 방어하�� everyday-devup.tistory.com Crypto Class를 생성 Static 으로 암복호화 함수 추가 ▶ 양방향 암호화 중 대칭형 암호화는 AES 를 사용 : 게임에서 사용할 AES의 키 값과 IV 값을 Base64로 저장할 변수를 생성 using System.Collections; using System...

싱글톤으로 사용하는 GameObject가 있을 때 자식 GameObject도 남아있는지 확인. : 이론상으로 상위 부모가 사라지지 않았기 때문에 자식 GameObject도 남아있는 것이 맞음 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class Game : Singleton { private void Start() { SceneManager.LoadScene( "TestScene" ); } } ▶ Start 시에 TestScene을 로드하도록 코드를 추가

자세한 이론은 하단의 링크를 참고 https://everyday-devup.tistory.com/24 [Unity] 게임 암호화 게임의 암호화는 유저의 데이터를 지키고, 게임을 서비스 하면서 안정적인 운영을 할 수 있도록 도와주는 것 ▶ 메모리 핵, 앱 변조, 스피드 핵, 데미지 핵과 같은 많은 핵들이 존재하고 방어하�� everyday-devup.tistory.com Crypto Class를 생성 Static 으로 암복호화 함수 추가 ▶ Base64 public class Crypto { public static string EncodingBase64(string plainText) { Byte[] strByte = Encoding.UTF8.GetBytes( plainText ); return Conv..

게임의 암호화는 유저의 데이터를 지키고, 게임을 서비스 하면서 안정적인 운영을 할 수 있도록 도와주는 것 ▶ 메모리 핵, 앱 변조, 스피드 핵, 데미지 핵과 같은 많은 핵들이 존재하고 방어하는 입장 보다는 공격하는 입장이 좀 더 수월한 편 ▶ 클라이언트만으로는 완벽한 암호화를 할 수 없으며, 클라이언트의 암호화는 뚫기 번거롭고 귀찮게 만드는 역할을 하는 정도라고 보는 것이 좋음 ▶ 가장 좋은 것은 모든 데이터를 서버에서 관리하는 것이지만 현실적으로 그렇게 하기엔 부하가 심하기 때문에 중요한 데이터는 서버에서 관리 ● 암호화 방법 ▶ Base64 : Base64는 암호화라기보다는 바이너리 데이터를 아스키 문자열로 표한하는 인코딩 방식 중의 하나. 하지만 Base64를 통해 데이터의 직접적인 확인을 막고, ..

컴퓨터에서의 모든 처리는 전기 신호의 On/Off를 통해 작동. On을 1로, Off를 0 으로 사용하여 1, 0의 나열된 정보가 하나의 데이터가 됨 1 bit : 1,0을 가질 수 있는 최소 데이터의 단위 1 Byte : 1,0을 표현할 수 있는 1bit를 8개 묶은 것으로, 1 byte은 8bit가 됨. 2의 8승 개의 데이터를 가질 수 있으며 0 - 255까지 표현이 가능 1 KB : 1000 Byte 1 MB : 1000 kb 1 GB : 1000 mb 1 TB : 1000 GB 참고 자료 : https://ko.wikipedia.org/wiki/%EB%B0%94%EC%9D%B4%ED%8A%B8 바이트 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 ..

Character Encoding 은 사람이 사용하는 글자를 컴퓨터에서 사용할 수 있도록 변환하는 것 ▶ 기계는 0, 1로만 데이터를 저장하기 때문에 "안녕하세요" 같은 단어를 컴퓨터에 저장한다고 하면 특정한 규칙에 따라 0, 1로 변환되는 과정이 필요. ● 문자 인코딩의 종류 ▶ ASCII ( 아스키 ) : 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계 : 1바이트로 문자를 표현하는데, 그 중 1bit는 통신 오류 검출용, 7bit가 문자를 표시 : 2의 7승인 127개의 문자 표시가 가능. ( 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수문자, 그리고 하나의 공백 사용 가능 ) 참고 자료 : https://namu.wiki/w/%EC%95%84%EC%8A%A4%ED%82%A4..

코딩 규칙은 혼자 개발할 때는 중요하지 않지만, 다른 사람들과 협업을 할 때 매우 중요한 요소. - 일관성 있는 코드 규칙을 통해, 확인하는 사람으로써 빠른 이해가 가능할 수 있게 함 - 코드의 유지 보수가 용이 해짐 ▶ Visual Studio를 사용하는 경우 도구 -> 설정 가져오기 및 내보내기 를 통해 자신의 설정을 내보내거나, 다른 사람의 설정을 가져올 수 있음 : 이를 통해 팀원 간의 환경을 맞출 수 있음 ● 코드 표기법 ▶ 카멜 표기법 : 첫 단어의 첫 글자는 소문자로, 이후 단어의 첫 글자는 대문자를 사용 ex ) testCamel ▶ 파스칼 표기법 : 모든 단어의 첫 글자는 대문자를 사용 ex) TestPascal\ ▶ 헝가리안 표기법 : 변수 및 함수 앞에 데이터 타입을 표기 ex) iV..

Unity에서 가이드하는 GC 최적화 1. GC 호출 시기를 짧은 주기로 반복적으로 실행 ▶ GC가 필요 이상 호출되지만, 짧은 주기로 실행되기 때문에 그 사이에 쌓인 메모리가 적어 빠르게 GC가 수행됨 2. 초기 큰 힙 메모리를 설정 ▶ Mono는 런타임에 힙을 확장하는 것을 최대한 회피하려고 하기 때문에, 수동으로 큰 배열을 만들어 강제로 힙 메모리를 키움 ▶ 초기 메모리가 크게 할당 되기 때문에 메모리 부족으로 인한 GC 호출을 최소화 할 수 있음 3. 재사용 가능한 오브젝트 풀 생성 ▶ 반복적으로 생성/삭제 되는 게임 오브젝트를 Pool로 관리함으로써 최소한의 오브젝트 생성으로 메모리를 관리 4. 점진적 가비지 콜렉션 사용 ▶ Unity에서 현재 프리뷰로 제공하는 기능으로써, GC의 수행을 분할하..

유니티를 사용하다보면, 익스펙터 창에 추가로 보여주고 싶은 UI가 생길 수 있게 됨 예시 ) Camera2D 스크립트에서 Unity 실행 중에는 변화된 카메라의 사이즈를 보여주고 싶은 경우 실행 전에는 보이지 않던 Cam Size가 실행 후에 보이는 것을 확인 할 수 있음 using UnityEditor; using UnityEngine; [CustomEditor( typeof( Camera2D ) )] public class Camera2DEditor : Editor { Camera2D _cam2D; Vector2 _camSize = Vector2.zero; private void OnEnable() { _cam2D = (Camera2D)target; } public override void OnIns..