it leader
article thumbnail
#5 Swift 딕셔너리
코딩공부/Swift 2016. 9. 20. 16:10

키- 값 방식으로 다수의 값다루기 딕셔너리 내 키는 유일 키 : 해쉬값을 제공할 수 있는 Hashable 배열 VS 딕셔너리 - 배열 인덱스 - 딕셔너리 : ‘1월’값, ‘2월’값 딕셔너리 객체 생성 Dictionary [Key : Value] 변수, 상수 var dic = [“1월” : “Jan”, “2월”:”Feb”, “3월”:”Mar”] var dic3 : Dictionary = [1 : “one”, 2:”Two”, 3: “Three”] var emptyDic = [Int:Int]() 항목접근 dic.count // 3 emptyDic.count // nil 원소 변경 원소 추가 - 새로운 키로 값설정 변경 - 있는 키 updateValue(“4월” , forKey : “5월”)

article thumbnail
http 프로토콜의 이해를 위핸 get 방식과 post방식
코딩공부/Server 2016. 9. 20. 14:04

get 방식 - 보안상 노출되어도 문제가 없는 속성들을 전송할 때 post 방식 - file 같이 크기가 큰 파일을 전송할 때 사용 post 방식 get 방식 형식 폼 데이터를 name = value 쌍 형식으로 묶어서 전송 ip:port/~/a.jsp?name=value&name=value 전송 방식 Stream file로 전송 ?(물음표) 앞은 url ?뒤는 Query String 보안성 보안성 좋음 낮음 전송 형태 문자, 파일 문자 속도 늦음 빠름

article thumbnail
#4 Swift 튜플( tuple), 배열
코딩공부/Swift 2016. 5. 30. 16:22

튜플(tuple)은 괄호를 이요해서 여러 값을 하나로 묶은 것으로 다양한 타입의 값을 다룰 수 있다. var one = ( 1, “one”, “일”) 튜플에 이름 설정 let two = (num : 2, eng : “two”, kor : “둘”) two. num //2 two.or //“둘 언더 스코어(_)이용 : 이름 무시 let two = (num : 2, eng : “two”, kor : “둘”) let ( num, _, _) = two num // 2 배열 - 인덱스 기반, 다수의 데이터 다루기 Array, 배열 변수, 상수 - var로 배열 생성 - 배열 내용 수정 가능 - let으로 배열 생성 - 배열 내용 수정 불가(immutable) 배열 생성 var intArray : [int] = [1..

article thumbnail
#3 Swift 변수, 상수, 문자열
코딩공부/Swift 2016. 5. 30. 16:17

변수 : 변경 가능 - var 로 선언 상수 : 변경 불가능 - let 으로 선언 타입 정보 필요( 선언 생략 가능 ) 변수 var i = 1 // 타입 선언 생략 var f : Float = 1.1 // 타입 선언 타입 에러 계산 값 var i = 1 + 1.2 // i의 값 타입선언이 생략 되어 있고, 값 입력이 정수와 실수의 합이므로 에러 발생 타입 에러 var intVal = 1 var floatVal = 1.2 var ret = intVal + floatVal ==> error 타입 불일치로 에러 발생 var var1 = 10 var1 = 3.14 ==> error : 10으로 정수 타입을 입력하고 실수를 대입하였으므로 에러 발생 상수 let constant = 123 constant = 456..

article thumbnail
#2 Swift 기초
코딩공부/Swift 2016. 5. 25. 16:24

소스코드 - 단일 파일, 확장자 : .swift 문장작성 - 세미콜론 생략가능, 여러문자 작성 때 사용 import - 프레임워크 import, 소스 단위 별 import 하지 않음 main 파일 - main 함수 없음, top 영역에 작성 콘솔 정보 출력 print 변수 출력 : \() var str = “hello, playground" print(“hello, \(str)" **버전에 따라 println 이 사용될 수있음 ( 1.0 버젼 ) 산술 연산자 - +, - , *, / , % - 나머지 연산자는 실수에 사용가능( 3.5 % 2 ) - ++ / — : deprecated ( Swift 2.2 ) 비교연산자 논리연산자 공백 위치에 따라서 연산자 다른게 인식 1 + 2, 1+2 ==> 일반적인 ..

article thumbnail
#1 Swift 개요
코딩공부/Swift 2016. 5. 24. 15:16

swift란 애플이 만든 새로운 언어, 오픈소스로 누구나 손쉽게 iOS, OSX, tvOS 앱을 제작할 수 있습니다. 특징 Modern, Safety, Fast and Powerful - 타입 세이프, 타입체크 강화 - nil(null ) 에 대한 강박증에 가까운 처리 - 클로저, 튜플, 제네릭, 함수형 프로그래밍 - 플레이그라운드 ( 컴파일 하지 않아도 실행가능 ) Swift실습환경 - 플레이 그라운드 - iOS, OSX 프로젝트 - 콘솔 기반 실행 - 웹 코딩 ( bluemix swift ) IBM - Bluemix Swift IBM Swift SandBox 실행 --> 웹에서 코딩 가능 어떤 가입절차도 필요없이 바로 가능하다. 페이지로 이동 화면은 아래와 같다 setting에서 버젼과 테마를 선택할..

article thumbnail
[Unity3D] 싱글턴 패턴에서 인스턴스가 중복하여 생성되는 것을 방지하는 방법
코딩공부/Unity3D 2016. 5. 13. 16:45

싱글턴 패턴으로 생성한 객체를 다시 인스턴스화 하였을 때에 오브젝트가 재생산 되는 것을 방지하기 위한 코드 1234567891011121314 void Awake(){ if( instance != null) { Destroy(this.gameObject); // 해당 스크립트를 삭제 return; } instance = this; DontDestroyOnLoad(this); Application.targetFrameRate = 60; //최대 프레임수를 60으로 지정 }Colored by Color Scriptercs 하단에 Application.targetFrameRate = 60; 이부분은 크게 주제와 관계는 없어 보인다. 싱글턴 패턴 사용법이 궁금하신 분들은 아래 링크 참조 2016/05/13 - ..

article thumbnail
[Unity3D] 싱글턴 패턴 사용법
코딩공부/Unity3D 2016. 5. 13. 16:43

싱글턴 패털 사용법이 여러종류가 있습니다. 간단하게 싱글턴으로 만들 클래스 도입부에 싱글턴 선언을 하여 사용하는 방법 12345678910111213141516171819202122232425262728293031323334353637383940414243444546using UnityEngine;using System.Collections; public class SingletonTest : MonoBehaviour { private static SingletonTest instance; private static GameObject container; public static SingletonTest GetInstance(){ if(!instance){ container = new GameObject..

article thumbnail
[Unity3D] XML 데이터 저장하기, 불러오기
코딩공부/Unity3D 2016. 5. 2. 15:04

XML 데이터 불러오기 / 저장하기 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152using UnityEngine;using System.Collections;using System.Collections.Generic; using System.Xml; public class RecItem{ public string Name; public int Level; public float Critical;} public sealed class ItemIO{ public static void Write(List ItemList, string filePath) { XmlDocument Docum..

article thumbnail
[Unity3D] Invoke 사용법
코딩공부/Unity3D 2016. 4. 25. 10:44

Invoke(methodName:string, time:float)- methodName 메소드를 time 초 후 호출합니다. InvokeRepeating(methodName:string, time:float, repeatRate:float)- methodName 메소드를 time 초 후 호출합니다. 첫 호출 후 repeatRate 초 마다 반복 호출합니다. CancelInvoke()- 이 스크립트에 있는 모든 Invoke 를 취소합니다. CancelInvoke(methodName:string) - 이 스크립트에 있는 methodName 을 호출하는 모든 Invoke

article thumbnail
[ Unity3D] 충돌체크관련 메쏘드 정리 ( OnCollision , OnTrigger )
코딩공부/Unity3D 2016. 3. 16. 01:00

Unity3d 에서 충돌 체크 할 때 사용되는 메쏘드에 대한 정리 충돌체크를 할 때 필요한 것은 두 오브젝트 모두 Collide를 Component를 가지고 있어야 한다. 그리고 둘중에 한 오브젝트는 RigidBody Component를 포함하여야 한다. Collision , Trigger 의 차이점 Collision- 충돌하였을 때 RigidBody를 포함한 오브젝트에 변화가 있다.- 매개변수 타입이 Collision Tirgger- 충돌하였을 때 어떤 변화도 없다.- 매개변수 타입이 Collider- Collider 옵션에 isTrigger 체크하여야 한다. Collision 메쏘드 OnCollisionEnter( Collision col) - Collision에 들어 갔을 때OnCollisionSt..

article thumbnail
[Unity3D] List 사용법 및 매쏘드 정리
코딩공부/Unity3D 2016. 2. 27. 14:20

List 선언 List 변수명 = new List(); List num = new List(); 배열 추가 Add List num = new List(); num.Add(2); 배열 중간에 집어 넣기 Insert ex ) list.Insert(인덱스, 요소 ); class Program{ static void Main() { List dogs = new List(); // Example list. dogs.Add("spaniel"); // Contains: spaniel. dogs.Add("beagle"); // Contains: spaniel, beagle. dogs.Insert(1, "dalmatian"); // Spaniel, dalmatian, beagle. foreach (string dog i..

article thumbnail
[Unity3D] 안드로이드 기기에서 back버튼 사용하여 앱 종료하기
코딩공부/Unity3D 2016. 1. 26. 17:04

unity에서 백버튼으로 앱을 종료시키려면 간단한 방법과 좀 복잡한 방법이 있다. 간단한 방법은 종료버튼 입력을 받았을 시에 앱을 종료시키는 방법과 복잡한 방법은 안드로이드 Native에 접근하여 앱을 종료시키는 것이다. 복잡한 방법은 현재 필자가 시험 중에 있으므로 테스트가 무리없이 잘되면 올리도록 하겠다. 간단한 방법은 다음의 코드를 추가 하면 된다. Update(){ //if UNITY_ANDROID if(Input.getKeyDown(KeyCode.Escape)) { Application.Quit(); } //endif } 혹시 iOS와 안드로이드 동시에 빌드할 경우를 대비하여 전처리기를 설정해 줍니다. ( preprocessor ) 간단히 앱을 종료하는 방법을 알아보았습니다. 복잡하게 하는 방법..

[Unity3D] 타이머 사용 방법 ( stopwatch / Time.deltaTime )
코딩공부/Unity3D 2016. 1. 23. 12:01

unity에서 시간 측정하는 방법 1. Stopwatch를 이용한 측정 using System.diagnotics; using debug = UnityEngine.Debug; Stopwatch sw = new Stopwatch(); sw.Start(); sw.Stop(); sw.Reset(); 메서드를 이용하여 시간을 측정할 수 있다. 내부적으로 타이머가 돌아가기 때문에 확인을 하려면 로그를 찍어봐야 된다. Debug.Log(" sw : "+ sw.ElapsedMilliseconds.ToString() +"ms"); 이렇게 로그를 넣어주면 몇 ms가 걸렸는지 확인 할 수 있다. 단!!!!! diagnotics를 사용하기 때문에 UnityEngine.debug와 System.diagnotics.debug ..

[Unity3D] 최적화 방법 자료 [ 펌 ]
코딩공부/Unity3D 2016. 1. 19. 15:31

슬라이스 쉐어에 올라온 자료 입니다. 유니티 프로젝트 최적화 방법 [데브루키/141206 박민근] 유니티 최적화 테크닉 총정리 from MinGeun Park 좋은 꿀팁이 많아서 전체적으로 다 보면 좋겠지만 시간이 없는 사람을 위한 요약 병목 파악cpu너무 많은 DP call복잡한 스크립트나 물리연산Vertex Processing너무 많은 버텍스들버텍스당 너무 많은 연산( Vertex shader )Fregment Processing너무 많은 픽셀, 오버 드로우 ( OverDraw)프래그먼트당 너무 많은 연산 ( 프래그먼트 셰이더/ 픽셀 셰이더 ) Band Width크고, 압축되지 않은 텍스처고해상도 프레임 버퍼 1. 스크립트 최적화- 오브젝트 풀링 : 오브젝트를 동적으로 생성 / 해제 하는 것은 부하가..

[Unity3D] 사운드 관련 매쏘드정리
코딩공부/Unity3D 2016. 1. 12. 16:50

사운드를 재생하기 위해서는 두가지가 필요하다. public AudioSource audio;public AudioClip jumpSound; 두가지 오브젝트가 필요하다. 처음 접하는 사람은 어려울수 있지만.. 이렇게 생각하면 편하다. 사운드를 재생하기 위한 오디오 플레이어와 CD가 필요한 것이다. AudioSource = 오디오플레이어AudioClip = CD 또는 파일 위와 같이 전역 변수로 선언 해준다음 this.audio = this.gameObject.AddComponent(); AudioSource 컴포넌트를 추가해 준다. 그다음 부터 this.audio는 AudioSource의 기능을 사용할 수 있게 된다. 오디오에 파일 연결this.audio.clip = this.jumpSound; 사운드의..

[Unity3D] PlayerPrefs를 이용한 데이터 저장, 불러오기
코딩공부/Unity3D 2015. 12. 24. 18:17

PlayerPrefs를 이용해여 데이터를 로컬에 저장하는 방법 저장 PlayerPrefs.Set자료형(“문자열 키값”, 저장하고자 하는 값 ); PlayerPrefs.SetInt(string key, int value); PlayerPrefs.SetFloat(string key, float value); PlayerPrefs.SetString(string key, string value); //ex) //최근 점수라는 키값으로 저장을 하고자 할 떄 (tmpScore); int score = 10; PlayerPrefs.SetInt(“tmpScore”, score); 2. 불러오기 PlayerPref.Get자료형(“저장했던 키값”, 초기화값); PlayerPref.GetInt(string key, int ..

[Unity3D] c# 변수형변환 int, float, string
코딩공부/Unity3D 2015. 12. 19. 16:20

c# 변수의 형변환 ( Type Convertion) 실수, 정수의 문자변환int a = 3;string str = a.ToString(); flaot b = 3.0f;string str = b.ToString(); 정수 -> 실수 변환int -> float int a = 3; float b = (float)a; 실수 -> 정수 변환float a = 3.0f;int b = (int)a; double c = 123.45; int d = (int)c; 문자열 -> 실수, 정수 변환string e = "123;string f = "123.456"; int g = int.Parse(e);float h = float.Parse(f); 또는 int g = Convert.ToInt32(e);float h = Conv..

[Unity3D] Attributes 설명 모음
코딩공부/Unity3D 2015. 12. 12. 13:43

[Unity3D] Attributes 설명 모음ATTRIBUTES알고 있으면 생산, 작업 효율성을 매우 높일 수 있는 attribute들을 unity에서 제공한다. 1) AddComponentMenu 기본적으로 스크립트는 유니티의 Component->Scripts 메뉴에 자동추가된다. 자동추가말고 아무데나 맘대로 넣고 싶으면 AddComponentMenu를 사용한다. [AddComponentMenu("Transform/Follow Transform")] public class FollowTransform : MonoBehaviour { } 2) ContextMenu 스크립트를 우클릭시 뜨는 context menu에 커맨드를 추가할 수 있다. public class ContextTesting : MonoB..

펌] Unity 데이터 패스
코딩공부/Unity3D 2015. 12. 10. 19:16

각 플랫폼별로 Application 클래스의 프로퍼티들이 지정하는 경로와 엑세스에 대해 정리해보았습니다.테스트한 기기에 따라 결과가 다를 수 있는데, 미진한 부분들은 댓글 남겨주시면 감사하겠습니다. [윈도우 에디터]Application.persistentDataPath : 사용자디렉토리/AppData/LocalLow/회사이름/프로덕트이름파일 읽기 쓰기 가능Application.dataPath : 프로젝트디렉토리/AssetsApplication.streamingAssetsPath : 프로젝트디렉토리/Assets/StreamingAssets파일 읽기 쓰기 가능 [윈도우 응용프로그램]Application.persistentDataPath : 사용자디렉토리/AppData/LocalLow/회사이름/프로덕트이름파일..