본문 바로가기

프로그래밍131

Laravel 4 bootstrapper 설치하기 https://github.com/patricktalmadge/bootstrapperhttp://bootstrapper.eu1.frbit.net/ composer.json 에 다음을 추가합니다. "require-dev": { "patricktalmadge/bootstrapper": "~5" } 아래의 명령어를 실행합니다. composer update app/app.php 에 프로바이더를 등록합니다. 'providers' => array( 'Bootstrapper\BootstrapperServiceProvider' ); 그리고 aliases 를 추가할 수 있는데, 네이밍이 겹치는 것을 방지하기 위하여 설명에 도움말에 나와있는 것과 달리 모두 "B"를 붙였습니다. 'aliases' => array( 'BAc.. 2015. 1. 15.
Laravel 4 서브 디렉토리 구조 구현 - 마이그레이션 설치된 Laravel 에서 데이터베이스를 여러 사용할 경우 아래의 문서를 참고합니다. http://fideloper.com/laravel-multiple-database-connections app/config/database.php 파일 안에 새로운 커넥션 정보를 추가합니다. 'mysql_ais' => array( 'driver' => 'mysql', 'host' => '주소', 'database' => 'artgais', 'username' => 'artg', 'password' => '비밀번호', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 추가된 데이터베이스의 마이그레이션을 설치합니다. php artisan m.. 2015. 1. 13.
Laravel 4 의 동적 속성(Dynamic Properties) 어려서부터 파스칼을 해온터라 형(Type)에 대해선 습관적으로 까다로운 편입니다. 그런 저를 반나절 넘게 멘붕에 빠지게 한 녀석이 있었으니... class ProjectPrice extends \Eloquent { protected $fillable = []; protected $table = 'project_prices'; protected $primaryKey = 'dpr_id'; 2015. 1. 8.
Laravel 4 Eloquent 클래스는 어디에? Laravel 이 어느 정도 손에 익으니 기본 매뉴얼을 벗어나 API 를 살펴보게 되었습니다. http://laravel.com/api/4.2/ 그러다 Eloquent 네임스페이스는 있어도 클래스는 없다는 것에 이상함을 느꼈습니다.;; 살짝 멘붕에 빠지려할 때, 설정파일(app/config/app.php) 에서 답을 찾을 수 있었습니다. 'aliases' => array( 'App' => 'Illuminate\Support\Facades\App', 'Artisan' => 'Illuminate\Support\Facades\Artisan', 'Auth' => 'Illuminate\Support\Facades\Auth', 'Blade' => 'Illuminate\Support\Facades\Blade', 'C.. 2015. 1. 8.
Laravel 개발환경 구축하기 - 2 - Windows 7, Sublime Text 2 이제 Larvel-4-Generators 를 사용하기 위하여 generator 명령어를 설치합니다. 먼저, 프로젝트 루트 디렉토리의 compser.json 파일에 다음의 내용을 추가합니다.(Seed 를 위하여 Faker 도 사용합니다.) "require-dev":{ "way/generators": "2.*","fzaninotto/faker": "1.3.*" }, 명령프롬프트에서 Composer update 를 실행합니다.(서버에서도 적용을 해주어야합니다.) composer update --dev 실행이 완료되면, app/config/app.php 파일의 providers 에 다음을 추가합니다. 'Way\Generators\GeneratorsServiceProvider', 정상적으로 설치되었는지 확인하기위.. 2014. 8. 27.
Laravel 개발환경 구축하기 - 1 - Windows 7, Sublime Text 2 서버에 Laravel 을 설치(2014/08/25 - [프로그래밍/언어 - PHP] - Composer & Laravel 설치하기 - CentOS 6.x, nginx, php-fpm)하고 난 후, SFTP 의 Sync Remote 기능으로 관련 소스들을 다운로드할 수 있지만... 파일이 많아서인지 정상적으로 동기화되지 않았습니다. 하여, Windows 7 에서 Laravel 을 직접 설치하고 개발할 수 있도록 환경을 구성해 보았습니다. 먼저, PHP 를 설치하여야합니다. 본인의 Windows 에 알맞는 파일을 다운로드(http://windows.php.net/download/)한 후, 특정 폴더에 해당 파일의 압축을 풉니다. 설치된 폴더에서 php.ini-production 파일을 복사하여 php.ini.. 2014. 8. 26.
Composer & Laravel 설치하기 - CentOS 6.x, nginx, php-fpm 본 포스팅은 아래 링크를 참고하여 작성하였습니다. https://getcomposer.org/doc/00-intro.md? Composer 를 다운로드합니다. curl -sS https://getcomposer.org/installer | php 만약, 특정 경로에 설치하여 사용하고 싶으면 다음과 같이 실행하여도 됩니다. curl -sS https://getcomposer.org/installer | php -- --install-dir=설치할경로 일단 서버에 전역적으로 설치하여 사용할 생각이므로, 다운로드한 composer.phar 파일을 PATH 가 지정된 경로로 복사합니다. mv composer.phar /usr/local/bin/composer 준비가 모두 되었으면, 작업할 디렉토리로 이동한 후 .. 2014. 8. 25.
XE6, 파이어몽키 그리고 TWideMemoField 버그 수정 델파이 XE6 버전 이후, 처음으로 파이어몽키를 사용해볼 생각을 하게되었습니다. 일단, 과거 2006년경 작업했던 프로그램을 재작성해보고 있는데요. 여기저기 문제점들이 터져나오네요. ^^ 기존 프로그램 구성은 홈페이지 + 웹서비스 미들웨어(ISAPI) + 클라이언트 입니다. DB 는 MySQL 입니다. 과거 델파이 2005 에서 작업한 프로그램인데요. 일단, 새로이 추가된 DataSnap Server 로 미들웨어를 구성하고 파이어몽키로 다이내믹한 UI 작업을 해보고 있습니다.(추후, 정리해서... 별도 포스팅하겠습니다.) 일단, Frame 으로 별도 창을 만들어 사용해보았는데요. 탭키로 컨트롤 간 이동이 되지 않더라구요. 관련 버그는 Update 1 에서 고쳐졌다고하는데 아직 확인해보지 못했습니다.(12.. 2014. 6. 30.
node.js, express 파일 업로드 처리하기 보통 node.js 로 파일 업로드를 처리할 때, bodyParser 를 많이 사용합니다. 하지만, 아래 포스팅을 읽어보면 별 생각없이 사용한 이 방법에 문제가 있다는 것을 알 수 있습니다. http://andrewkelley.me/post/do-not-use-bodyparser-with-express-js.html 실제~ 서버 임시 디렉토리에 모든 POST 요청에 대하여 쓰레기 파일들이 생성되어있음을 확인할 수 있습니다. 하여, 기존 소스를 변경해보았습니다. 이전app.use(express.bodyParser()); 이후app.use(express.json());app.use(express.urlencoded()); 그리고, multipart 처리를 위하여 formidable 을 사용하였습니다. npm.. 2014. 6. 30.
Ghost 블로그에 댓글 기능을 추가하기 node.js 를 사용한 블로그 Ghost 를 설치(2014/05/01 - [프로그래밍/서버관리] - CentOS, node.js - Ghost 설치하기)한 후, disqus 의 댓글 기능을 추가해보았습니다. http://disqus.com 초기화면에서 "Add Disqus to Your Site" 버튼을 클릭합니다. 아직 가입을 하지 않은 상태라 회원 가입을 하였습니다. 중간에 가입 확인을 위한 이메일이 전송됩니다. 인증을 위해 수신받은 메일의 링크를 클릭합니다. 다시 disqus 홈페이지로 돌아와서 댓글을 사용할 사이트의 정보를 입력합니다. 카테고리의 경우 애매하면 Auto 를 선택하면 됩니다. 등록이 끝나면 플랫폼을 선택하게 되는데... 댓글을 달 홈페이지 혹은 블로그의 종류를 선택합니다. Ghos.. 2014. 5. 16.
FPC 로 OS 커널 만들기... - 3 - 다른분들처럼 저 또한 세월호 참사로 인해 대부분 작업이 중지된 상황입니다. 지금 시점에서 무언가 집중해서 한다는 것이 많이 힘드네요. 부디 삼가 고인의 명복을 빌며... 일단, 지난 커널 작업에서 조금 개선되거나 수정된 내용이 있어 정리해봅니다. 먼저, GRUB 이랑 연동하는 부분인데... 부팅이 완료된 후의 시스템 상태는 다음과 같습니다. CS : 코드 세그먼트 디스크립터를 가리킴. Base Address 0, Limit 4G - 1 DS, SS, ES, FS, GS : 데이터 세그먼트 디스크립터를 가리킴. Base Address 0, Limit 4 G - 1 A20 : 활성화 됨. Paging : 사용안함. 인터럽트 : 중지. IDT : 등록되지 않음. GDT : 크기 및 위치, 셀렉터의 값이 정해지.. 2014. 4. 30.
A20 게이트 포트 I/O(2014/04/18 - [프로그래밍/OS] - 포트 I/O)에 이어 A20 게이트 또한 인텔 프로세스의 특징입니다. 사실, 지저분한 유산이지요. 인텔의 8086 CPU 핀을 보시면, A0 부터 A19 까지 어드레스(주소) 핀이 존재합니다. 즉, 20비트 주소 체계를 가지고 있다는 얘기입니다. 2진수 11111111111111111111 => 2^20 = 1048576 즉, 1048576 번지까지 주소 지정이 가능하며, 이를 KB 로 환산하면 1024KB 즉 1MB 가 됩니다. 하지만, 다들 아다시피 8086, 8088, 80286 은 16비트 CPU 입니다. 레지스터에 담을 수 있는 것은 16비트이며 이 레지스터를 통하여 주소 접근을 하여야합니다. 4 비트가 모자란 셈이죠. 그래서 나온 개념.. 2014. 4. 20.
포트 I/O 포트 I/O 에 대한 내용이 자세하지 않아 여기저기 자료를 찾아보았습니다. 아래는 시스템 버스(어드레스 버스, 컨트롤 버스, 데이터 버스) 를 나타낸 그림입니다. 보시면 아시겠지만 I/O 어드레스가 별도 존재합니다. 입출력 장치의 컨트롤러는 시스템 버스와 연결되는데 이때 메모리 영역처럼 고유한 주소를 가지게되며 이를 I/O 어드레스라 부릅니다.(메모리 어드레스와 구분해야합니다.) 예를 들어 Port I/O 에서 0x60, 0x64 번지의 경우 키보드와 관련되지만... 메모리(램) 에서 해당 번지는 전혀 다른 공간에 위치하고 있습니다. 이와 같이 분리된 형태를 Port I/O 라고 부르며 인텔 프로세서들이 주로 사용하는 방식입니다. 반면, 메모리의 특정 공간에 I/O 주소를 매핑하여 사용하는 방식(I/O .. 2014. 4. 18.
x86 CPU 메모리맵 참고 http://wiki.osdev.org/Memory_Map_(x86) Low Memory (1MB 미만) 아래의 설명 중 사용할 수 없다는 뜻은 코드를 배치하거나 임의의 데이터를 배치하는 등의 용도로 사용할 수 없다는 뜻입니다. 0x00000000 부터 0x0009FFFF 까지의 640KB 는 Conventional Memory 라고 불립니다. 앞 부분의 0x00000000 부터 0x000003FF 까지의 1 KB 의 영역에는 IVT 가 존재하며, 0x00000400 부터 0x000004FFh 까지의 256 바이트는 BDA 로서 사용할 수 없습니다.(리얼모드에서 IRQ가 활성화된 경우, BDA 영역의 일부 값들을 overwrite 하기 때문. 하지만 보호 모드로 넘어간 후~ IVT 와 BDA 영역을.. 2014. 4. 17.
FPC 오브젝트(object) 형 최초 객체지향 프로그래밍(OOP)이 소개되었을 때, 터보 파스칼(TP)은 record 를 확장한 object 형을 사용하였습니다. 현재 델파이의 경우 class 를 주로 사용하지만 여전히 object 형을 지원하고 있으며 이는 프리 파스칼(FPC) 도 마찬가지입니다. 다음은 레퍼런스 문서에 있는 내용을 제 개인적 기준으로 요약 정리해 보았습니다.^^ 매뉴얼에서는 멤버 변수를 field 로 지칭하고 있습니다. 1. Declaration type TObj = object private Caption: ShortString; public constructor Init; destructor done; procedure SetCaption(AValue: String); function GetCaption: Str.. 2014. 4. 17.