프로그래밍
-
[Unity] Easy Save Plugin to PlayerPrefs프로그래밍/C# + Unity 2019. 11. 4. 14:23
Easy Save 플러그인 Unity에는 EasySave라는 저장을 편리하게 해주는 유료 플러그인이 있다. Easy Save의 특정 기능을 꼭 써야만하는게 아니라면, Unity 내장 함수인 PlayerPrefs와 JsonUtility만으로도 EasySave의 거의 모든 기능을 사용할 수 있다. 소스 코드 EasySave의 암호화 후 저장기능을 사용하지 않을 거라면, 파일 읽기/쓰기를 하는 아래의 코드는 같은 결과를 내놓는다. //쓰기 ES3.SaveRaw(savedata, inputField.text + ".sav", settings); File.WriteAllText(inputField.text + ".sav", savedata); //읽기 result = ES3.LoadRawString("Save/"..
-
매개변수 List<T>의 비밀프로그래밍/C# + Unity 2019. 8. 27. 22:01
C#의 List는 Array를 간편하게 .Add/.Insert/.Remove/.Clear 해주며 비슷한 기능을 하는 Arraylist보다 더 안전하고 더 잘 수행한다. 하지만 List를 매개변수로 사용하게 되면 함정이 존재한다. List는 참조 형식의 클래스이므로, 매개변수로 사용하고 값을 변경하게 되면 서브루틴 뿐만 아니라, 루틴에도 영향을 끼친다. 쉽게 설명하자면, List b = a;라는 코드를 작성하고 b를 변경하면 a도 함께 변경된다. 이는 참조형식의 클래스에서 나타나는 특징이다. 이를 해결하는 방법은 간단하다. 참조 형식이므로 새로 객체를 만들어주면 그만이다. ※ 반목문으로 일일히 복사하는 방법도 있겠지만, 추천하지 않는다. 1 List copy = new List(original); cs
-
[Unity] UnityWebRequest POST 헤더와 값 넣기프로그래밍/C# + Unity 2019. 8. 7. 11:44
Unity는 문서화가 잘 되어 있는 언어중 하나이지만, 가끔 설명이 빠진 경우도 있다.UnityWebRequest에 POST 헤더를 넣어 전송하는 경우인데, 문서에는 값을 넣어서 전송하는 경우만 알려주고 있다. https://docs.unity3d.com/kr/current/Manual/UnityWebRequest-SendingForm.html HTTP 서버로 양식 보내기(POST)(Sending a form to an HTTP server (POST)) - Unity 매뉴얼HTML 양식으로 포맷된 서버에 데이터를 전송하기 위한 두 가지 기본 함수가 있습니다. WWW 시스템에서 마이그레이션하는 경우 아래의 WWWForm 사용을 참조하십시오.docs.unity3d.com 의외로 해..
-
Apache MINA와 WebSocket으로 통신하기.프로그래밍/Java 2019. 5. 28. 14:56
Apache MINA의 구조Apache MINA는 아래와 같은 구조를 띄고 있다.IoService와 IoHandler사이에 IoFliter들을 추가하여 원하는 스타일의 소켓 통신을 할 수 있다.WebSocket같은 경우에도 HandShake과정과 같은 구현을 IoFliter를 추가함으로서 쉽게 해결할 수 있다. 하지만, 기본적인 Protocol들은 자체 Fliter로서 구현이 되어 있지만, WebSocket은 자체적으로 구현이 되어 있지 않다.또한, https://tools.ietf.org/html/rfc6455에 모든 내용이 기록되어 있다. https://github.com/syudal/Apache-Mina-IoFilter-WebSocket syudal/Apache-Mina-I..
-
[PHP] cURL을 사용하여 file_get_contents 사용하기프로그래밍/Web(CSS + HTML + JS + PHP ) 2019. 5. 20. 11:17
PHP에서 웹상 파일 읽기 php로 웹상(원격)에 있는 파일을 읽는 방법으로는 보통 아래와 같은 방법을 사용하여 파일을 읽는다. fopen() 함수 사용 file_get_contents() 함수 사용 curl 사용 하지만, 대부분의 웹 호스팅에서는 file_get_contents()을 지원하지 않는다. 물론 curl을 지원하지 않는 웹 호스팅도 있지만, 많은 호스팅에선 아직 지원하므로 curl을 이용하여 php에서 웹 상 파일을 읽어오는 file_get_contents 함수를 curl로 구현했다. 소스 코드 file_get_contents()를 사용 할 자리에 위의 소스를 복사하여 적당한 위치에 두고 file_get_contents_curl()을 호출하면 file_get_contents()와 같이 작동한다.
-
[html] iframe을 사용하지 말아야 할 이유. (단점)프로그래밍/Web(CSS + HTML + JS + PHP ) 2019. 5. 10. 15:14
이유 1. 보안 위험을 유발함 iframe을 사용하여 구성 요소를 구현하면 사이트 간 공격(XSS)에 취약해집니다. 사용자의 개인 데이터를 피싱하여 제출할 수있는 악의적 인 웹 양식을 얻을 수 있습니다. 악의적인 사용자가 플러그인을 실행할 수 있습니다. 악의적인 사용자가 원본 사이트 URL을 변경할 수 있습니다. 악의적인 사용자가 사용자의 클릭을 도용 할 수 있습니다. 악의적인 사용자가 사용자의 키 입력을 가로챌 수 있습니다. 이유 2. 사용성 문제를 일으킴 iframe 태그는 사용성 문제를 자주 일으킵니다. 브라우저의 "뒤로가기"버튼을 간헐적으로 작동되지 않게 합니다. 새로운 브라우저 창에서 갑자기 iframe으로 다른 콘텐츠를 로드하여 사용자를 혼란스럽게 만듭니다. iframe 내의 콘텐츠를 연산한 ..
-
[PHP] IE 브라우저 접속 검출하기프로그래밍/Web(CSS + HTML + JS + PHP ) 2019. 4. 19. 15:44
IEIE(Internet Explorer)는 윈도우에 기본 탑재되어 편리한 웹 생활을 담당해주었던 인터넷 브라우저의 일종이다.하지만 윈도우 10이 발표되고 Edge Browser(엣지 브라우저)가 발표됨에 따라 IE의 지원은 끊겼다. 따라서 IE에 탑재된 Trident엔진은 CSS를 정확히 지원을 못하고, 예상치 못한 오류들을 보여주고 있다. 소스 코드php에서 IE로 접속했는지 검출하려면 '$_SERVER['HTTP_USER_AGENT']'을 사용하면 된다.아래는 $_SERVER ['HTTP_USER_AGENT']를 사용하여 짠 함수다. location.replace('./NotSupportBrowser.html');"); }}?>다른 php헤더에 include하고 i..
-
[CSS][HTML] <div> 세로 정렬하기프로그래밍/Web(CSS + HTML + JS + PHP ) 2019. 4. 5. 20:42
CSS에서 가로 정렬은 굉장히 쉬운 일이지만, 세로 정렬은 굉장히 까다롭다. 특히 width(높이)와 height(너비)를 100%로 설정한 경우에는 더더욱히 말이다. 머리를 싸매고 구글링을 하고 여러 시도를 거듭한 끝에 성공적으로 작동되는 코드를 만들어 냈다. 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 31 32 33 34 35 36 37 38 39 Not Have Data! html, body { margin: 0; padding: 0; height: 100%; } .table0 { width: 100%; height: 100%; background-color: #888888; } .data { po..