본문 바로가기

코딩과 알고리즘

유니티 3D - 에셋 스토어로 마을을 꾸며보자! 지난 챕터에서는 에셋 스토어에서 공짜로 구매한 자모 로봇 캐릭터의 스크립트를 수정하는 방법을 살펴보았는데요. itadventure.tistory.com/405 유니티 3D - 아셋 스토어 캐릭터 스크립트 수정 - 스카이 워킹! 지난 챕터에서는 유니티 아셋 스토어에서 자모라는 로봇 캐릭터를 공짜 구매, 유니티의 씬에 배치해보았었습니다. itadventure.tistory.com/404 유니티 3D - 아셋 스토어 캐릭터 사용하기 지난 시간에는 itadventure.tistory.com 이번 시간에는 에셋 스토어의 건물팩을 무료로 구매해서 나만의 마을을 꾸며보는 시간을 가져보도록 하겠습니다. 지난 시간의 연장선상으로 진행하도록 할텐데요. 에셋 스토어에는 막대한 컨텐츠가 있습니다. 대부분은 유료이지만요. 무료.. 더보기
몽고DB(mongodb) PHP 에서의 맵리듀스(mapReduce) 사용하기 몽고DB PHP 에서의 맵리듀스(mapReduce) 사용하기 지난 시간에 이어 이번에는 콘솔창이 아닌 PHP 에서의 맵리듀스를 사용하는 방법을 알아보겠습니다. 우선 지난번의 샘플 데이터 입력과 share.php 소스가 먼저 생성된 단계에서 시작하겠습니다. itadventure.tistory.com/384 executeCommand('DB명', $command); $cursorArr = $cursor->toArray(); mapReduce 든, 중복을 제거하는 distinct 든, 그룹을 지어주는 group 든 다양한 통계 기능이 이 함수를 거쳐서 사용됩니다. $command 파라미터에는 MongoDB\Driver\Command 클래스로 정의된 오브젝트가 입력이 되는데요.. 맵 리듀스를 실행하고자할 경우 .. 더보기
몽고DB 콘솔에서 맵리듀스(MapReduce) 기술 지난 챕터에서는 몽고DB의 가장 기본 중의 기본, CRUD 에 대해 다루어 보았는데요. itadventure.tistory.com/383 그리고 아래 파일은 share.php 와 같은 폴더에 mongo_sample.php 로 저장해 주세요. 이 샘플코드는 앞의 3개의 학과와 각각의 학급 정보를 입력해 줍니다. 트리 구조로 입력하여 주고 각각의 학급은 배열형태로 입력됩니다. 이제 웹브라우저에서 퍼블릭URL/mongo_sample.php 를 실행하면 아래와 같은 결과가 보이실 겁니다. var_dump 함수보다는 좀 더 보기 쉽지요? :) 여기서 nUpserted=>3 으로 3개의 자료가 업서트된 것을 확인하실 수 있습니다. 모든 학과를 삭제하고 새로 입력합니다. object(MongoDB\Driver\Wri.. 더보기
PHP + 몽고DB 크루드! ( CRUD ) '크루드'하면 웬지 "딴-딴-딴딴 따라다~' 배경음악이 등장하는 미션 임파서블'의 '톰 크루즈'가 생각이 납니다 :) 톰 크루즈는 불운한 어린 시절을 보냈지만 이를 극복하고 결국 멋진 연기 인생을 꽃 피우게 되지요. 하지만 단순히 운이라고 할 수 없을만한, 많은 팬들에게 사랑받는 힘은 가히 말로 설명할 수 없는 '이른바 목숨을 건 연기' 의 힘이 크다고도 합니다. 스턴트맨 없이 안전와이어도 없이 직접 암벽 등반을 해내거나 세계에서 가장 높은 부르즈 할리파라는 빌딩에서 뛰어내리는 액션을 해내는 그 밖에도 톰크루즈 주연의 여러 액션 영화에서 기막히고 위험한 액션들은 톰 크루즈가 직접 해낸 것이라고 합니다. 관객들은 정말 이 겂없는 배우의 연기에 집중하는 것보다도, '임파서블한 미션'에 집중하는 것이 더 크지.. 더보기
보안기능활성화 모드의 PHP + 몽고DB 지난 시간에는 몽고DB에서의 관리자 계정 설정에 대해서 다루어 보았습니다. itadventure.tistory.com/381 몽고DB, 데이터베이스별 관리자 계정 생성 이번 시간에는 지난번의 몽고 DB 최고관리자 계정 생성에 이어, 데이터베이스별로 각각 관리자 아이디를 생성하는 방법을 알아보도록 하겠습니다. itadventure.tistory.com/380 몽고DB, 계정 보안! 최고 itadventure.tistory.com 특히 최고관리자 계정과 데이터베이스별 관리자 계정을 생성하고 패스워드를 설정하는 방법에 대해 살펴보았었는데요. 그러다 보니 원래 PHP 에서 잘되던 몽고DB 접속이 한가지 문제가 발생되었습니다. PHP 에서 몽고 DB에 접속할 때 만일 몽고DB에 아이디, 패스워드가 걸려 있는 경우.. 더보기
몽고DB, 데이터베이스별 관리자 계정 생성 이번 시간에는 지난번의 몽고 DB 최고관리자 계정 생성에 이어, 데이터베이스별로 각각 관리자 아이디를 생성하는 방법을 알아보도록 하겠습니다. itadventure.tistory.com/380 몽고DB, 계정 보안! 최고관리자 계정 만들기 이번 시간에는 몽고DB 의 계정 보안에 대해 살펴보겠습니다. 관계형 데이터베이스 대부분은 데이터베이스에 로그인할 때 관리자 계정이라는게 있습니다. 보통 mysql(or mariadb)과 mssql 계열은 root, itadventure.tistory.com 1대의 서버를 여러 다중 목적으로 사용한다고 생각해 봅시다. 이를 테면 대학교 홈페이지, 도서관, 건설사 홈페이지를 한대의 서버에 폴더를 따로 두어 각각 도메인을 세팅하여 서비스 한다고 가정해 볼까요? ※ 이를 가상 .. 더보기
몽고DB, 계정 보안! 최고관리자 계정 만들기 이번 시간에는 몽고DB 의 계정 보안에 대해 살펴보겠습니다. 관계형 데이터베이스 대부분은 데이터베이스에 로그인할 때 관리자 계정이라는게 있습니다. 보통 mysql(or mariadb)과 mssql 계열은 root, 오라클은 sys이지요. 몽고DB도 관리자 계정이란게 있긴 하지만 처음 몽고DB를 설치하면 관리자 계정 없이 로그인이 됩니다. 계정 인증 기능이 없는게 아니라 기본으로 비활성화(disable) 되어 있기 때문이지요. 이는 사실 외부 해킹의 소지가 있습니다. 그것도 매우 큽니다. 만일 해커가 몽고 DB의 진입 입구까지만 도달할 수 있다면 그 후부터는 아무런 비밀번호 없이 들어갈 수 있으니 아파트 문을 열어둔 셈이나 마찬가지입니다. 그래서 처음에는 이 보안설정을 해주어야 합니다. 연습하는 수준이라면.. 더보기
AWS 과금되다! 음? 프리티어인데? 요금내역서 보는 방법 AWS 를 며칠 테스트하다 보니 EC2 프리티어로 테스트만 진행해서 서비스 용량에는 훨씬 못 미치는데 0.7$(약 700~800원)의 과금이 부과된 것을 확인할 수 있었습니다. 이게 어떻게 된 것일까요? 그것은 바로 'Elastic IP Address'에 있었습니다. 바로 '고정IP주소 서비스'인데요. AWS에서는 이를 탄력적 IP로 해석하고 있습니다 :) EC2로 인스턴스를 할당받으면 기본적으로 유동 IP 서비스를 제공합니다. 그래서 인스턴스를 중지후 재시작하면 항상 변경이 되는데 그것도 완전 다른 IP로 바뀌어 버립니다. EC 서비스 중 '탄력적 IP'라는 서비스가 있어서 대략 고정 IP를 제공해주는 서비스구나 감이 외서 시도해보았었는데요. 비용은 그리 비싸지는 않지만 처음에는 뭔지 모르니 약간 불안.. 더보기