반응형
반응형
오래전에 제로보드라는 것이 있었다. 지금의 XpressEngine의 전신이라 할 수 있는데, 당시에는 대부분의 사이트들이 제로보드로 만들어졌다고 할 수 있다. 처음 PHP를 공부할때 제로보드는 좋은 교재였다. 독학으로 검색해가며, 여러 가지 게시판 프로그램의 소스를 분석하고 나름 기술 트렌드를 따라 하려 노력했었다. 처음 단독, 혼자서 지역 커뮤니티 사이트를 만들때 함수보다는 클래스, OOP를 적용하여 만들었고 싱글톤이라는 디자인 패턴도 적용했었다. 그렇게 그 커뮤니티 사이트는 게시판, 중고장터, 중고차 정보, 부동산 정보, 지역 상가 정보, 회원 개인의 일정, 메모, 미니 홈페이지 등의 기능을 만들어 가면서 의도치는 않았지만, 필요에 의해서 코드들이 구조화되고 그룹화되어 프레임워크 개념이 어느 정도 담..
요즘 재미나게 읽고 있는 책!! 페르시아의 왕자:개발일지 - 조던 매커너 요즘 게임개발에 관심이 생겨 공부해볼까 하다가 게임 개발 프로세스는 어떻게 되는지 궁금해서 이리저리 검색해보다가 반가운 제목"페르시아의 왕자"이 눈에 띄여 구매했다. 30년전에는 게임을 과연 어떻게 개발했을까 하고 궁금해 하며 보고 있는데, 게임개발을 해보지는 않았지만 큰 틀에서는 어쩌면 지금과 같을지도 모르겠다. 그때보다 복잡한 것은....많이 발전한 기술만큼이나 다양한 분야가 적용되었기 때문일지도... 그때도 VHS 비디오를 이용해서 모션캡쳐를 했다니 놀라울 따름이다. 그리고 저자가 게임을 개발해가며 작성한 일기를 읽는 재미가 있다. 이제 1/3 읽었는데 다 읽고 정리해서 올려봐야 겠다. 페르시아의 왕자 플레이 영상
유럽등의 고서에서 위의 이미지처럼 첫글자만 크거나 무늬로 꾸며져 있는 것을 영화등에서 본적이 있다. 저부분만 따로 span 으로 씌워서 만들어야 하나? 하고 의문을 가지다가, CSS로 첫글자 꾸미기 또는 첫글자만 대문자로 만들기를 찾아 봤다. 다시 말해 무슨 말이냐 하면 바로 윗줄의 "C" 부분처럼 문장의 첫번째 글자만 꾸미는 것을 말한다. 해결 방법은 ":fisrt-letter" 선택자이다. p.first-letter-deco:first-letter{font-size:20px} 이제 first-letter-deco를 클래스로 가지는 모든 p 태그의 첫번째 글자 크기는 20px로 된다. 그런데 여기서 궁금한 것! "first-letter" 가 있으니 당연히 "last-letter"도 있겠지 했는데 없다...
컨포넌트의 종류컨포넌트 생성 방법에는 클래스형과 함수형 컨포넌트가 있다. 함수형 컨포넌트는 state와 라이프사이클api 를 사용할 수 없으며, prop을 이용하여 값을 랜터링하여 출력만 가능하다. 클래스형 컨포넌트는 React 컨포넌트를 상속받은 클래스이며 라이프사이클api, state를 사용할 수 있다. Propsprops는 부모가 자식 컨포넌트를 호출(실행)할때 전달하는 "인자값"이며, 호출된(자식) 컴포넌트에서는 값을 변경할 수 없다. defaultProps로 컨포넌트 블록 내부 또는 블록 외부에서 초기화가 가능하다. 또한 상속받은 컨포넌트는 생성자(constructor) 에서 부모 컨포넌트에 props를 전달해야 한다. 컨포넌트 호출시 컨포넌트 태그사이에 값(문자)가 있으면 자식 컨포넌트에서는 ..
윈도우 노트북과 맥북에 공용으로 사용하려 무선키보드를 샀다. kanex 제품으로 (https://www.kanex.com/products/item.aspx?id=5343) 후기를 보니 맥과 윈도우에 붙여서 사용하기 좋다기에 거금 7만원이나 주고 샀다. 그런데 윈도우에서 한영키 인식이 안된다. 검색을 해보니 키타입? 레지스트리를 수정해서 성공했다는 사람도 있다. 그렇게 따라 해봐도 안된다 오히려 노트북 키보드가 먹통이 되어 버렸다. 또 맥에서도 한영키가 안되는 것은 마찬가지였다. 그래서 로지텍의 키보드를 하나더 샀다. https://www.logitech.com/ko-kr/product/multi-device-keyboard-k380 이 제품인데 윈도우에서 한영키는 작동 되는데 맥북에서 한영키가 안된다. ..
맥에 React-Native (RN) 을 설치하기 위한 명령어 1. brew 설치윈도우의 chocolatey(https://chocolatey.org/) 와 유사한 기능으로 맥에서 패키지를 관리한다.공식사이트(https://brew.sh/index_ko)에 접속하면 아래의 코드가 있는데 터미널에서 실행하면 된다. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2. node.js 설치공식사이트(https://nodejs.org/ko/download/) 에서 다운로드해서 설치 또는 터미널에서 설치하는 방법이 있다. brew install node brew install watch..
충돌 = 두 개의 물체가 부딪히는 현항 = 두 개의 게임오브젝트가 부딪히는 현상 유니티에서의 충돌은 Rigidbody(물리엔진)을 가지고 움직이는 게임오브젝트가 Collider를 가진 게임오브젝트를 만나는 것. 1. 충돌의 종류1) Collision 충돌(1) 두 물체 모두 Collider(2D)를 가지고 있다.(2) 둘 중 적어도 하나는 Rigidbody(2D)를 가지고 있다.(3) Rigidbody(2D)를 가진 오브젝트가 움직인다.2) Trigger 충돌(1) 두 물체 모두 Collider(2D)를 가지고 있다.(2) 둘 중 적어도 하나는 Rigidbody(2D)를 가지고 있다.(3) 둘 중 적어도 하나는 Collider(2D)의 IsTrigger 옵션이 체크되어 있다.(4) Rigidbody(2D..
유니티 인터페이스(화면) 구성 Project프로젝트에 사용되는 파일들(이미지, 음원, 스크립트, 등)을 관리하는 창탐색기와 같은 역할을 하며 드래그드랍으로 파일을 이동, 추가 가능하다.Hierarchy씬과 씬에 속하는 게임오브젝트를 관리(생성,이동,삭제,선택)하는 창트리형식으로 구성되어 있으며 드래그드롭으로 이동이 가능하다.게임오브젝트의 계층구조를 설정한다.Inspector하이어라키 창에서 선택한 씬 또는 게임오브젝트, 그리고 프로젝트창에서 선택한 에셋의 속성을 설정하는 창게임오브젝트의 속성(이름, 태그, 레이어, 위치, 투명도 등)과 컴포넌트를 추가, 수정, 삭제가 가능하다.Scene씬에 속하는 게임오브젝트의 선택, 위치 조정 등을 하는 창Game씬의 미리보기 창 실행시 게임창에서 실행이 된다. 2D ..
유니티 프로젝트(게임)의 구성 1. 프로젝트 : 프로젝트는 게임 그 자체라 볼 수 있다.2. 씬(Scene) : 프로젝트는 여러개의 씬(Scene, 장면, 화면)으로 구성되어 있다.예 : 레벨별 장면이 다를 수 있고, 던전도 하나의 씬이고, 아이템 구매창도 씬이다.3. 게임오브젝트(GameObject) : 씬을 채우는 최소 단위이며, 각각의 성질과 역할을 가지고 있다.예 : 캐릭터, 버튼, 벽, 팻, 배경, 적, 몹4. 컴포넌트 : 게임오브젝트의 성질과 역할을 정의하고 수행한다.예 : 위치를 정의 하는 컴포넌트, 소리를 정의하는 컴포넌트, 이미지를 움직이게 하는 컴포넌트 등 단순하게 자동차를 선택해서 앞뒤로 가는 게임을 만든다면 아래와 같은 프로젝트 < 씬 < 게임 오브젝트 < 컴포넌트 들이 구성되어 진..
파이썬 스터디 환경 구축- 파이썬 설치 - 1. 설치 방법 파이썬 설치를 위한 2가지 방법이 있다. - 파이썬 공식 사이트(https://www.python.org/)에서 내려받아 설치 하는 방법. - 아나콘다 사이트(https://www.anaconda.com/download/)에서 내려받아 설치 하는 방법. 파이썬 공식 사이트에서 내려받을 경우 패키지 설치를 위한 "pip"만 포함된 파이썬을 받게 되는데 필요한 패키지는 pip를 이용해서 직접 설치, 관리해야 한다. 아나콘다는 패키지관리 툴과 함께 설치가 되는데 각종 유용한 패키지를 쉽게 설치할 수 있으며 버전관리 등도 유용하다. 2. 설치 버전(파이썬 버전 2 vs 3)파이썬은 2버전과 3버전이 있다. 몇가지 문법과 기본(내장)함수의 사용법이 다르다..
두 개의 테이블 간에 필드 값 일괄 업데이트 하기 문제테이블 Table_A 와 Table_B 가 있다.Table_A 의 pk가 3이상인 행에서 필드 field_a 는 Table_B의 field_b 값으로 업데이트되어야 한다. 해결join 으로 해결 UPDATE Table_A as A left outer join Table_B as B ON A.pk = B.pk SET A.field_a = B.field_b WHERE A.pk >= 3 참고복잡한 구조인 경우 조인을 이용한 셀렉트문으로 각 필드가 정상적으로 조회 되는지 확인을 우선하고 시행한다. SELECT A.field_a, B.field_b FROM Table_A as A left outer join Table_B as B ON A.pk = B.pk W..
Life is too shortto wake up in the morning with regrets.So love the people who treat you right,forgive about the ones who don't and believe that everythinghappens for a reason.If you get a chance, take it.If it change your life, let it.Nobody said that it'd be easy,they just promisedit would be worth it 아침마다 후회하기에는 인생은 너무 짧다.당신에게 잘 대해주는 사람을 사랑하고,그렇지 않는사람들은 용서하라.그리고 그런것에는 이유가 있음을 믿어라.기회가 오면 잡아라.당..