サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
gomokulog.gomocool.net
文字化けの代表でよく上がる、〇〇からを表現する時などにつかう「波線」と呼ばれる「~」や「〜」が実は環境で違う案件。 なんのこっちゃ分からなかったけど、ざっくり分かった。 「~」と「〜」が実は違う文字 まず、「~」と「〜」が実は違う文字であるということ。 何を言っているのか分からないだろうし、俺も最初ちょっと意味分からなかった。 「一」と「壱」は意味は同じだけど、見た目も違うし内部的に持っている文字コード番号も違う。 「~」と「〜」は意味は同じだし、見た目もほとんど同じだけど、内部的に持っている文字コード番号が違う。 やっぱり何を言っている分からないな。 以下は、フォントを変えてみた物を並べてみた。環境によるが、微妙に違ったりするのが分かるだろうか。 ============================ sans-serif:「~」と「〜」 serif:「~」と「〜」 cursive:「
秘密鍵と共通鍵のセットを作る。 1.鍵作成コマンドを実行 ssh-keygen -t rsa -t オプション 鍵の種類 rsa1, dsa, ecdsa, ed25319, rsa (-tで指定しない場合はバージョンにもよるけど大抵rsaがデフォルト) 2.鍵の保存名を設定 Enter file in which to save the key (/home/gomokuro/.ssh/id_rsa): といった具合に聞かれるので、そのままEnterを押せば、()の中のパスに保存される。 任意の保存先ファイル名を続けて入力すればそこに保存される。 Enter passphrase (empty for no passphrase): 作成時に、パスフレーズを聞かれる。 パスフレーズは、秘密鍵を盗まれた時に秘密鍵をすぐには使えないようにするのが目的。 ちなみに、空エンターでパスフレーズ無し
関係データベースで出てくる、中間テーブルとはなんぞや。 ざっくりというならば、多対多をデータベースで表現するために必要なのが中間テーブルです。 (一対一とか一対多も良くわからんのに多対多かよ。とか思った人もこの後の例見ればちょっとは分かるかも?) 以前のデータベースの正規化の記事でも述べましたが、現実の関係性を2次元のテーブルに落とすためには、そのままじゃ無理なんですよね。 必ず行と列ので表現する必要があり、一つの項目に複数項目を入れることは原則できません。(配列カラムとかJSONカラムとかあるらしいけど原則使わない) なので、中間テーブルという物が必要になるんです。 例 例えば、男性と女性がいます。 それぞれ、男性テーブルと女性テーブルにいくつかデータが入っています。 男性テーブル id name
MySQLで別サーバーのデータをmysqldumpでダンプして、ローカルでリストアしたら下記のようならエラーが発生した。 The user specified as a definer ('root'@'%') does not exist Viewがうまくリストアできていないか、Viewへのアクセス権限が前のサーバーと違うのか、原因は分からないが、ViewにWebシステムからアクセスできずにいた。 また、これが原因で、各種SQLアクセスアプリケーション(HeidiやA5:SQL Mk-2等)でみれない状態になっていた。 SQLを直接実行時するとデータは取れていたので、WebシステムからはViewにアクセスする部分以外は動いていた。 それで、結果2つの解決方法があった。 どちらでも良いが、後者が楽。 ・Viewを作り直す。 ViewのCREATE文をもう一度流して作成し直すと治った。 ・権
イベントハンドラとはなんぞや。 イベントハンドラは、デリゲートです。 (デリゲートよく分からねーって人はコチラ。) 百聞は一見に如かず。 まずは、Windowsフォームアプリケーションを作成して、Formにボタンをひとつ配置して、ボタンをダブルクリックするなりしてイベントハンドラを自動生成し、MessageBoxを置く。 ボタンを押せば、Hellowとメッセージボックスが開く。 private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Hellow"); } ところで、このbutton1_Clickメソッドはなぜ、動くのか。 このメソッドを参照すると、下記のようにコードが自動生成されている。 this.button1.Click += new System.EventHandler(this.butt
C#のマルチスレッド(非同期処理)に関して、いつものように「ざっくり」説明。 C#のマルチスレッドは、何種類か書き方があるが、主に4つのパターンがある。 Threadでデリゲートを動かす。 基本。でも、.NetFramework4以降では使わないと思う。 ThreadPoolで1をもう少し効率よくする。 1の方法だと、スレッド数が多くなったりすると、場合によっては逆に遅くなる。 なのでThreadPoolを使うことで効率アップできるが、書き方がめんどいし、なんだか分からなくなる。 Taskクラスに1とか2の中身をお任せ (.Net Framework4) 1の感覚で裏ではThreadPoolを使ってくれる。 .NetFramework4以降はこれだけ覚えてればよい。 async await で、シンプル非同期処理 (.Net Framework4.5) シンプルな記述で非同期処理を書ける。
フォーム(Form)による認証機能を追加する。 ユーザーテーブルは、前の記事を参考に。 AppController.phpのinitializeメソッドに認証関連のコンポーネントを設定。 public function initialize() { parent::initialize(); $this->loadComponent('Flash'); //認証 $this->loadComponent('Auth',[ 'authenticate' => [ 'Form' => [ 'fields' => [ 'username' => 'email', 'password' => 'password' ] ] ], 'loginAction' => [ 'controller' => 'Users', 'action' => 'login' ] ]); } Authコンポーネントをロー
データベースを扱うには正規化というものを行う必要がある。 その正規化とはなんぞや。 正規化とは、「効率よくデータを扱うために、整理すること」かな。 なぜ、そんなことをしなければならないか。 データを管理する方法はいくつかあるが、主に世の中で使用されているものは、行( タプル, レコード )、 列( カラム、 属性 )で関係 を表現する、関係データベース( リレーショナルデータベース ) と言われるものである。 この関係データベースは、行、列の2次元構造である。 実際の仕事で使用されているような情報は、2次元で表現するには複雑すぎる。 それを無理に関係データベースにすると、色々と残念なことが起きる。 それを上手く管理するためのデータへと分解するのが正規化という手法なんだと思う。 ここからは、具体的例を用いて説明する。 非正規形 例えば、武器や防具等を売る商いをしているGomoCool商会とい
C#で動的配列を使いたい時に、ネットで調べると、ArrayList と List <t> が、選択肢にあがる。 ハッシュテーブルだと、 Hashtable と Dictionary<TKey, TValue> があがる。 今まで、さほど何も考えず使っていたが、ちょっと使うことが多くなったのでざっくり調べてみた。 結論だけ先に書くと、 「今後は ArrayListは使うな、List<T>を使え、HashTableを使うな、Dictionary<T>を使え。」 ってことだった。 他にも SortedList<T> とかあるんだけど、とにかく <T> とついた物を使っていきましょー。 らしい。 んでは、なぜかをざっくり解説。 今回は双方向Listを例にとって説明する。 Listというのは、追加、削除、並び替えを実現できるアルゴリズム(手段・方法)を実装したものである。 その中身は、以下の3つのデ
Vagrantを使う方法をざっくりと説明する。 Windows7 か Windows8.1での環境を想定。 (例はWindows7を使うが、Windows8.1でも大きくは変わらない。) 構築する環境のOSはCentOS。 ターミナルアプリには、PutTTYを使用する。 (PuTTYのインストールや使い方は省く。) VirtualBoxのインストール まずは、BIOS画面からVT-X (Intel Virtualization Technology )、もしくはAMD-V がEnableになっているかを確認。 仮想化支援機能といって、これがEnableになっていないと、そもそもVirtualBoxは使えない。 BIOS画面は各PC環境によって、起動方法や画面や項目が違うので、詳しくは説明できないが、要は、VirtulaizationどうのこうのがEnableなっているかを見ればよい。 次に
小難しい講釈を省いて、ざっくり言うと、デリゲートとは関数を入れられる変数です。 では、Visual Studio でコンソールアプリケーションを作成し、hellowとだけ出力するプログラムを作ってみます。(* .NetFramewokr4.0を想定しています。) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace delegateConsole { class Program { static void Main(string[] args) { string word; word = "hellow"; Console.WriteLine(word); Console.ReadLine();
今までPHPは本格的に触ったことはなく、必要があれば、テキストエディタでゴリゴリ書いて、アップロードかVimで直接編集が基本だった。 しかし、今後のことも考えて、PHPのIDE環境を構築してみる。 PHPのIDE環境はいくつかあるが、今回はNetBeans7.3を使うことにした。 ローカル側のOSは、Windows 7 64bit。 Apache, PHP, MySQLなどのインストールにはXAMPPを使用する。 ( Windows8.1の場合: PHP開発環境を作る(NetBeans + XAMMP + Windows 8.1) ) XAMPPインストール まずは、ローカルでにApache, PHP, MySQL 環境を作るためにXAMPPをインストールする。 XAMPPの日本語サイトに行き、最新版のXAMPP 1.8.2 インストーラーをダウンロード。 なんか、ウィルスソフト入ってるか
Microsoft SQL Server Management Studio (SSMS) は、デフォルトではSQLの整形機能はない。 自分で一から作ったSQLは見やすく作っているが、くそッたれデータセットに入ると、頑張ったSQLが毎回グッチャグチャになる。 もう、あきらめて、クエリビルダなるものから頑張ってみるけど、なんだか分かりにくいし、狭いし。 結局SQLをコピーして、SSMSで修正して・・・。 ってやってたら、毎回、Web上のSQL整形サービスにコピーするのもしんどくなったので、SSMSにアドインを入れることにした。 アドインの名前は、Poor Mans’s T-SQL Formatter 直訳すると、 ちょっとしたT-SQL用の整形機能 って感じ? SSMSに限らず、Visual Studio 、 WinMearge、Notpad++ など用もあるみたい。 今回は、SSMS とつ
前回、Windows7に開発環境を作ったが、Windows 8.1 の環境にも、PHP開発環境を構築することになった。 OS : Windows 8.1 XAMMP 1.8.3 NetBeans 8.0 環境は上記の通り。 XAMPPインストール まず、Apache, PHP, MySQL の環境を自分のPCに作るためにXAMMPをインストール。 XAMMPの日本語サイトに行き、最新版の1.8.3のインストーラーをダウンロード。 (ファイル名はxampp-win32-1.8.3-4-VC11-installer.exeだった。) あとは、ウィルスソフトが入っていると、どーのこーのとか、Program Files 直下だとUACで動かないかもといった感じの注意がでるので、OKと次へでひたすら進める。 コントロールパネルが立ち上がったら、ApacheとMySQLの横のStartを押して立ち上げ
CakePHP2.4で、見せたくないページにちょっとベーシック認証を掛けたかっただけなのに、妙にハマった。 「CakePHP2では、簡単にベーシック認証をかけれる。」らしいのに・・・。 実際、なんということはなかったが、他の認証の情報とか、CakePHP1と勘違いしたりで、ハマった。 さて、CakePHP2でのベーシック認証だが、ステップは以下のとおり。 データベースにusersテーブルを作る。 usersテーブルに対応したUserモデルを作る。 Userモデルに対応したUsersContollerを作って、ユーザーを作る。 見せたくないページにAuthコンポーネントでBasicをかける。 とりあえず、手順をざっくり記述していく。 1.データベースにusersテーブルを作る。 こんなかんじかな。 CREATE TABLE IF NOT EXISTS users( id bigint uns
このページを最初にブックマークしてみませんか?
『gomokulog.gomocool.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く