Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

WEBプログラミング

JavaScript関数もオブジェクトなのでプロパティを追加できる

JavaScriptの関数はオブジェクトなのでプロパティを追加できます。 名有り関数を定義して呼び出しています。 関数名が自分自身の関数オブジェクトを表します。 1) 関数内部で識別子プロパティを追加するケース function obj() { obj.fuga = 4; print( obj.fu…

JavaScriptでthisに渡されるもの

JavaScriptでのthisはどのようにして呼ばれるかによって、それが指すものが決まる。 1. トップレベルコードで呼び出した場合はthisにはグローバルオブジェクトが渡される。 printf( this ); // [object global]; グローバルオブジェクトはただ一つ存在するも…

JavaScript get演算子/set演算子

get演算子/set演算子 オブジェクトにプロパティを追加する時に使用できる。 見た目がメソッドのように見えるがメソッドではないので注意。 var coffee = { get price() { return 3; }, set milk( val ) { // do something } } print( coffee.price ); // 3 c…

JavaScript動作仕様確認のためのspidermonkeyをMacOSXにインストールする

JavaScriptの動作仕様確認のため、いちいちブラウザを使わなければいけないのは面倒です。 なのでいわゆるJavaScriptREPL環境としてのspidermonkeyをMacOSXにbrewを使っていれました。 $ brew install spidermonkey $ js js> var hoge = "fuga"; js> print( …

JavaScript関数イディオム

JavaScript関数イディオムを分かりやすく解説している教科書が見当たらないので、自分用にメモしておく。 なおputs関数は以下のJavaSciprt REPL環境で動作させた場合を想定した環境独自の関数である。 JavaScript REPL 1.グローバル関数を定義し呼び出す // …

MacOSX 10.9(Mavericks)にnginx+php簡易開発環境を作る最短手順

MacOSXで時間をかけずにphp動作検証環境を作る手順書です。 環境 MacOSX 10.9.5(Mavericks) brewはインストール済 MacOSXログインユーザーはpebble8888でドキュメントルートは/Users/pebble8888/wwwを使う。 php-fpm,nginxは手動で起動する。 $ sw_vers Prod…

JavaScript文法メモ

rubyのハッシュ、Objective-CのNSDictionaryに相当するものはObject型であり var obj = {}; obj['foo'] = 'bar'; var obj = { foo : 'bar', baz: 'piyo', }; のように作る。 ruby,Objcと異なり、Object型はクラスのようなものなので、関数も追加できる。 配…

CentOS7にnginxをインストールする

systemdになっていろいろ変わって面倒だね。 起動は速くなるので、慣れるしかないわな。 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm sudo yum -y install nginx sudo systemctl start ngin…

CentOS7にmysqlをインストールする

参考記事の通りですが、メモ。 # rm -rf /var/lib/mysql # yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # yum -y install mysql # yum -y install mysql-devel # yum -y install mysql-server # yum -y install mysq…

Linux 一般ユーザーからrootユーザーになれるようにする設定

ルートユーザーで以下コマンドを打つとviが立ち上がるので、一文を追加する。 ここではpebbleユーザーにrootになる権限を与えている。 #visudo pebble ALL=(ALL) ALL あとはpebbleユーザーをwheelグループに追加する方法でもいけた気がする。

mysqlチューニング

mysqlをまったくチューニングしておらず、デフォルト状態で使っていたので、チューニングしてみた。 /etc/my.cnf 1) 2つのパラメータを追加した。 デフォルトの値はそれぞれ、128M、48Mらしいので、4倍、2.6倍である。 ちなみにサーバのメモリは1GBだが、半…

DNS設定

DNSの設定で少しハマってたので忘れないようにメモ。 1) レジストラはお名前.comを使う。 2) digital oceanのVPSを使用する。固定グローバルIPとDNSが利用できる。 DNSはお名前.comではなく、digital oceanのものを使う。 3) digital ocean側は別エントリを…

git branch -lf master origin/master

現在、master以外のブランチにいるとして、ローカルのmasterブランチを強制的にorigin/masterに移動するコマンド。 他の人がpush -f したブランチをそのまま反映したい場合に利用する。

git clean -df

現在の作業ブランチをフォルダも含めてクリーンする。

コマンドラインでbase64文字列をデコードする

$ base64 -D -i a.txt -o b.txt

git permission ignore

$ git config core.filemode false

Digital Oceanでのサブドメインの設定方法

Digital Oceanでのサブドメイン設定方法です。 ここではメインドメインがpebblesky.com サブドメインがwordhoard.pebblesky.comとambienttrip.pebblesky.comの2つです。 Digital Oceanの設定画面でDNSのタブで、Aレコードを追加します。 ちなみにドメインは…

railsでmysqlのデータベースの指定テーブルをローカルファイルにバックアップする

Gemfileに以下を追加します。 gem 'backup' gemをインストールし、pathを通す。 $ bundle install $ rbenv rehash Railsのルートフォルダで以下を実行する。 $ backup generate:model --trigger file_backup --archives --storages='local' --config-path='b…

好きなソフトウェア技術書TOP5

ネタがないので、本棚にある好きなソフトウェア技術書でも紹介することにする。 あまり本マニアではないので、多分すごく偏っていると思う。 1) Effective-C++ Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI)作者: スコットメイヤーズ,小林健一…

mysqlインストール後に行うrailsのDB環境構築

DB環境構築のためのrailsのスクリプトは全て整っていることを前提とします。 mysqlルートユーザーでログイン $ mysql -u root -p mysql上にユーザーを作成する。 mysql>create user 'username'@'localhost' identified by 'password'; 作成したユーザーにデ…

Mac OSX 10.9にbrewでmysqlをインストールする

全て一般ユーザーで実行します。 1) 中身を確認してから rm -rf /usr/local/var/mysql 初回のインストールであればもちろん不要です。 2) brew install mysql 3) mysql.server start 4) mysql_secure_installation

vimでgit編集中のパスが深い複数のファイルを開く

再生できない方はこちら gitで深いフォルダ構造内のファイルを扱っているとき、commit前に自分が行った修正差分を一通りチェックしますよね? git diffを使ったり、SourceTreeを使ったりすることもありますが、ソースファイル全体をみたいときもあります。 …

mysql コマンド覚え書き

mysql久々にいじったらコマンド完全に忘れていたのでメモ。 ルートでログイン。パスワート要入力。 $mysql -u root -p データベース名リストアップ mysql>show databases; テーブル名リストアップ mysql>use {データベース名}; mysql>show tables; OSXでbrew…

gitkを改良してWindow位置を復元する

私の開発環境の一つはMacBookProと27Inch Thunderbolt Displayを使ったデュアルディスプレイ環境です。 頻繁に使うコマンドの一つにgitk --allがあるのですが、 このgitkコマンド君、ウィンドウ位置を復元してくれません。 普通に実行すると、MacBookProの本…

sshのユーザー鍵のクライアント側の設定について

完全に忘れていてはまったのでメモ。 ssh周りで調査をするときは ssh -Tv username@serverhost ってやるといい。 クライアントのユーザー鍵を作るときは $ mkdir ~/.ssh $ chmod 700 ~/.ssh $ cd ~/.ssh $ ssh-keygen 鍵の名前をデフォルト(id_rsa)から変え…

Amazon Web ServiceのAmazon LinuxにGitLabをインストールする手順書

AWSにgitlab5.3をインストールまでの備忘録です。 めっちゃ長いです。あしからず。 この手順書ではシステム全体に入っているruby1.8には手をつけず、 gitユーザー環境のみにruby2.0を入れていますが、修正作業が増えるので 問題がない場合はシステム全体のru…

AWS無料枠

AWSが無料キャンペーンをやっていたので、使ってみた。 25$分の無料クーポンゲットらしい。 元々1年間は以下の範囲で無料のようです。 EC2) Linux 750H/Month マイクロインスタンス(メモリ613MB,32/64bit) ちなみに24h30=720H マイクロインスタンスはディス…

MacOSX 10.8 + VirtualBox4.2.14 + CentOS 6.4 64bit(+Guest Addition) +フォルダ共有

いろいろやっていて、結局、最新版使えば問題なかったってオチだった。 Vagrantとか必要なかった。 最新MacBookProおよびAirはUSB3ハブなのでUSBメモリは使えないがホストOSの共有フォルダが使えれば十分だ。 以下、インストール手順 1) VirtualBox 4.2.14 f…

Virtual Box4.2.10+CentOS6.3(64bit)+Guest Addition インストール

CentOS6.3のguest additionのインストールでコケる。 Building the main Guest Additions module [FAILED] ログを見るとmakeがないというエラー。 んん?makeコマンドは入っとるぞ。 ググりまくって回答を見つけた。 カーネルソースパスへのシンボリックリン…

vagrantとVirtualBox4.2.14の相性

WEB+DB Vol.75の記事(ChefとVagrantによるインフラのコード化)の通りにやったら、 vagrant upコマンドで失敗した。 ~$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... [default] Importing base box 'centos'... There was an err…