본문 바로가기
반응형

개발878

Mac) Operation not permitted ( 권한이 없는 경우 ) Operation not permitted ( 권한이 없는 경우 ) Mac에서 터미널로 명령어를 실행하다보면 접하는 'Operation not permitted' 이라는 권한설정에 대한 내용이 나온다. [설정] - [보안 및 개인 정보 보호] - [개인정보 보호] - [전체 디스크 접근 권한] - [터미널]을 보안을 해제하며 된다. 위의 cannet access parent directories : Operation not permitted 라는 오류가 사라진다. ★☆☆☆☆ 2020. 11. 19.
용어정리) 힌팅(Hinting) 힌팅(Hinting) 글자를 표현할 때는 폰트(Font)라는 걸 통한 데이터를 그래픽 이미지에 씌워서 표현을 한다. 글자의 크기가 변경이 되는 과정에서 '왜곡 없이 출력 결과를 얻게 되는 과정'을 힌팅이라고 한다. 좀 더 뚜렷하게 보이도록 글자의 모양 크기에 따라 조금씩 변경하는 기술이라고 생각하면 된다. 글자의 크기에 따라 글자를 표현하는 두께라던지, 간격이라던지, 세밀한 조정이 된다. 단순하게 스케일만 커지는 것이 아니다. 폰트는 가독성이 좋아야 좋은 폰트라고 할 수 있다. ★★☆☆☆ 2020. 11. 18.
Unity) TextMesh Pro Sprite Importer(이모티콘/이모지 ☝) TextMesh Pro Sprite Importer(이모티콘/이모지 ☝) Unity에서 TextMesh Pro(TMP)를 사용하면 여러 가지 이점이 있는데 텍스트 중간에 이미지(이모티콘/이모지)를 포함해서 표현이 가능하다. TextMeshPro가 무료로 풀리고 난 이후에 Package Manager에서 설치가 가능하다. 설치를 하게되면 TextMeshPro의 메뉴 항목이 생긴다. 하이어 라키의 [Packages] - [TextMesh Pro]-[TMP Essential Resources]를 클릭하면 샘플을 Import 가능하다. EmojiOne이라는 리소스의 속성을 변경한다. Sprite (2D and UI) / Multiple - Apply 한다. 해당 Sprite2D에서 마우스 오른쪽 해서 [Crea.. 2020. 11. 18.
기본기)DFD(Data Following Diagram) DFD(Data Following Diagram) DFD의 경우는 데이터를 중심으로 각 소프트웨어 내의 각 프로세스를 따라 흐르면서 변화되는 모습을 도식화한 다이아그램이다. DFD는 가장 보편적으로 사용되는 다이아그램 중 하나로써 데이터의 전체적인 흐름을 알 수 있기 때문에 여러모로 활용 가능성이 높다. 특성은 다음과 같다. 도형이 그려지는 그림 중심의 표현이다. 다차원적(Multidimensional) 의 표현이다. 자료(Data)기반이기 때문에 제어(Control)에 대해서는 기술문서가 필요하다. 표현하기 힘든 시스템은 하위 항목으로 DFD를 구성하기도 한다. 말로 표현하기보다는 도식화하면 한눈에 알 수 있다. ★★☆☆☆ 2020. 11. 16.
Unity)AndroidNative) 진동 설정하기(Vibration) 진동 설정하기(Vibration) Unity 에서 Native 로 Android에 있는 기능을 접근하기 위한 메소드인 AndroidJavaClass를 통해서 진동값을 설정한다. 진동을 설정하기 위해서는 권한을 등록해야한다. AndroidManifest.xml에 값을 추가한다. 그리고 프로젝트의 하이어라키의 경로를 추가한다. [Plugins]-[Android] AndroidManifest.xml은 빌드하는 과정에서 생성되는데 위의 경로에 있으면 덮어쓰기를 한다. 그리고 Vibration의 클래스를 작성한다. using UnityEngine; using System.Collections; public class Vibrate { #if UNITY_ANDROID && !UNITY_EDITOR public An.. 2020. 11. 12.
Unity) LINQ 쿼리 (using System.Linq) LINQ 쿼리(using System.Linq) C#에 서도 LINQ를 지원한다. LINQ 기술은 개체(LINQ to Objects), 관계형 데이터베이스(LINQ to SQL) 및 XML(LINQ to XML)에 대한 일관성 있는 쿼리 환경을 제공합니다. 쿼리를 작성하는 개발자의 경우 LINQ에서 가장 눈에 잘 띄는 "언어 통합" 부분은 쿼리 식입니다. 쿼리 식은 선언적 쿼리 구문으로 작성됩니다. 쿼리 구문을 사용하면 최소한의 코드로 데이터 소스에 대해 필터링, 정렬 및 그룹화 작업을 수행할 수 있습니다. 특정 데이터 코드에 의한 필터링 정렬 및 그룹화를 매우 쉽고 빠르게 할 수 있다. 실제 성능 테스트에서도 많은 효율을 보인다. (일반적인 상황) SQL에서 많이 사용하는 문법은 다음 4가지 이다. f.. 2020. 11. 11.
Xcode)해결)iOS Xcode Build Error(ERROR ITMS-90704) iOS Xcode Build Error(ERROR ITMS-90704) "Missing App Icon. An app icon measuring 1024 by 1024 pixels in PNG format must be included in the Asset Catalog of apps built for iOS, iPadOs, or watchOS, Without this icon, apps cannot be submitted for review ICON이 등록되어 있지 않으면 빌드 시 나는 에러로 Xcode에서 images.xcassets에 Icon을 선택해주면 된다. 이때 PNG가 포함되면 또 에러가 날 수 있다. 파일을 선택하고 내보내기를 통해서 PNG(알파)를 해제하고 저장하면 된다. ★☆☆☆☆ 2020. 11. 9.
Xcode)해결)IOS Xcode Build Error (ERROR ITMS-90503) IOS Xcode Build Error (ERROR ITMS-90503) "Invaild Bundle. You've included the "arm64" value for the UIRequiredDeviceCapating key in your Xcode project, indicating that your app may only support 64-bit, Your binary, '패키지명' must only contain the 64-bit architecture slice, Xcode 를 빌드하는 과정에서 arm64의 옵션을 선택 해야 해당 이슈가 없어진다. Unity - Project Setting -Architecture 의 항목에 ARM64를 선택한다. 다시 빌드하면 해당 빌드가 사라진다. ★.. 2020. 11. 8.
개발) 자주 사용하는 유용한 Git 명령어 정리 (Git Command) 자주 사용하는 유용한 Git 명령어 정리 (Git Command) Git 을 명령어를 입력으로 진행해야하는 상황이 생겼다. 우리가 사용하는 Source Tree같은 Git 연동 툴은 버튼같은 UI를 누르면 명령어를 실행하도록 만들어졌다. 명령어를 직접 입력하는것과 결과는 동일하다. 자주 많이 쓰이는 명령어를 알아보도록 하자. Git Bash를 실행한다. Git Bash도 Cmd 명령어가 다 실행이되기 때문에 CMD 명령어를 사용한다. 주로 많이 사용하는 명령어는 다음과 같다. 명령어 설명 ls 현재 디렉토리의 list 보기 pwd 현재 디렉토리 확인 cd 디렉토리 경로 이동 clear 커맨드 창 정리/초기화 cat 파일 내용 보기 Git Bash에서 gitconfig 파일이 있는 경로로 디렉토리를 이동한.. 2020. 11. 5.
Unity) Memory Profiler Memory Profiler Unity를 개발하는 과정에서 최적화나 퍼포먼스를 확인할 때 사용하는 툴 중 'Memory'영역을 프로파일링 해주는 툴이다. [Window] -[Package Manager]에서 Memory profiler라고 검색한다. 검색할 때 나오지 않으면 advaned라고 옆의 설정을 변경하면 검색이 된다. 다운로드한 이후에는 [Window]-[Analysis]-[Memory Profiler] 메뉴가 생긴다. 클릭하게 되면 창이 한 개 뜬다. 현재를 기준으로 메모리를 확인하고 싶은 화면에서 Swap을 눌러서 SnapShot을 찍는다. 그러면 다음과 같이 항목이 무수히 많이 나온다. 여기의 항목을 세분화해서 보고싶으면 클릭하면 더 상세하게 나온다. 많은 항목들이 보여서 정신이 없긴하지만.. 2020. 11. 3.
개발용어) TCP(Transmission Control Protocol) Flag 종류 TCP Flag(Transmission Control Protocol) FlagFlag 종류 TCP에서의 각종 Flag의 종류에 대해서 정리한 포스팅이다. 종류는 다음과 같다. (URG, ACK, PSH, RST, SYN, FIN) TCP(Transmission Control Protocol)의 동작은 3-WAY Handshake 방식을 통해 두 지점 간에 세션을 연결하여 통신을 시작하고 4-WAY Handshake를 통해 세션을 종료하여 통신을 종료한다.세션 연결과 해제 이외에도 데이터를 전송하거나 거부, 세션 종료 같은 기능이 패킷의 FLAG 값에 따라 달라지게 되는데, TCP FLAG는 기본적으로 6 가지로 구성된다. TCP FLAG 순서는 다음과 같다. | URG | ACK | PSH | RST .. 2020. 11. 2.
기본기)c#) WeakReference Class WeakReference Class c#에서의 가비지 수집에 의거해서 수집되는 항목에 포함될 수 있도록 개체의 연관성을 '약한 참조'의 형태로 선언하는 방식이다. 네임스페이스:System 어셈블리:System.Runtime.dll using System; using System.Collections.Generic; public class Program { public static void Main() { // Create the cache. int cacheSize = 50; Random r = new Random(); Cache c = new Cache(cacheSize); string DataName = ""; GC.Collect(0); // Randomly access objects in the c.. 2020. 11. 2.
잡학지식) 잠수함 패치(undocumented) 잠수함 패치(undocumented) 서비스의 버전을 업그레이드하는 과정에서 비공식적으로 수치나 기능이 변경되는 패치를 잠수함 패치라고 표현한다. ('잠수함처럼 알지 못하게 적용된다'라는 뜻을 가진 것 같다.) 패치 노트와 업데이트 내역에는 포함되어 있지 않기 때문에 유저들은 모른다고 생각하는 패치인데 실상은 노출되면 문제 및 이슈가 될 패치내역인 경우가 대다수이다. 이런 잠수함 패치는 유저들이 플레이하면서 까발려지는? 케이스가 많다. 공개되지 않는 부분은 잠수함 패치라고 판단되고, 설령 범위에 들어간다 해도 실수로 빼먹는 경우 등등 에도 잠수함 패치 취급을 받게 된다. 사소한 경우에는 개발자의 실수나 공개하기 애매한 내용이라 생각하고 넘어갈 수 있으나, 심한 경우에는 게임에 대한 신뢰도가 떨어지기에 나.. 2020. 10. 28.
Unity) 로그 파일 경로 ( Log File Path ) 로그 파일 경로 ( Log File Path ) Unity에서는 문제가 발생하는 것을 대비해서 Log라는 정보를 남긴다. 운영 체제 별로 위치 경로가 다르다. 문제가 나는 경우 Log File이 많은 도움을 주는데 경로를 알아보도록 하자. 각 상황마다 경로다 다른데 가장 많이 보는 것은 Player일 것이다. Editor에서는 대부분 console 창에 기록을 남기는 경우가 많다. 크래쉬가 계속 나지 않는 이상 코드에서 Debug.Brake()를 사용해서 라던지 추적이 어느 정도 가능하다. 경로에 들어가게되면 실제 Log File은 txt로 기록되는 것을 확인 가능하다. Unity Documentation Log Files : [링크] Unity - Manual: Log Files Low-level na.. 2020. 10. 28.
Unity)해결) InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings. Unity 프로젝트에서 실행하면 Standlone Input Module에서 에러가 나는 경우가 존재한다. 에러코드를 추적해보면 Input Manager를 사용하지 못한다고 다음과 같이 에러가 발생한다. InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings. UnityEngine.Input.get_mousePosition () (at :0) 위와 같이 에러가 나는 경우는 프로젝트를 그냥 열어서 프로젝트에서 Switch Platform을 사용해서.. 2020. 10. 27.
반응형