タグ

ブックマーク / blog.asial.co.jp (47)

  • Visual Studio Code ではじめるシーケンス図

    こんにちは、渡辺です。 シーケンス図を書くときにお世話になっているPlantUMLが、 Visual Studio Codeで簡単に利用できるようになったので、紹介したいと思います。 テキストでUMLやシーケンス図、クラス図などを作成できる言語です。 ダイアグラムをテキストで記述できるため、Gitで管理することもできます。 Visual Studio Codeでは、次のようにPlantUMLプレビューでダイアグラムを確認しながら作成できます。 まず、Visual Studio Codeが端末にない人はインストールをしてください。 Visual Studio Code - Code Editing. Redefined また、Javaもインストールが必要となります。 無料Javaソフトウェアをダウンロード インストールが完了したら、Visual Studio Codeで拡張機能としてPlan

    Visual Studio Code ではじめるシーケンス図
  • 透過がサポートされたnode-webkit(NW.js)でガジェットを作ろう

    こんにちは、古見澤(コミザワ)です。 今回は、前回記事にした node-webkit が透過をサポートし始めたので、HTML5やJavascriptCSSなどのWeb系の言語でガジェットのようなモノを作ってみようという内容となります。 ↓ツイッターから情報を取得して表示するだけの単純なものですが、こんな感じのものを作れます。 動画 node-webkitって何?という方は、前回の記事も合わせてお読みください。 HTML5+CSS3+JSでネイティブGUIアプリが作れる、node-webkitを触ってみる ※エントリーはWindows環境(Win7 Professional x64)での話になります。 (透過機能はMacLinuxでも使えます、後述するマニュアルを参照ください。) また、Windows環境では、デスクトップウィンドウマネージャーが有効である必要があるため、 Aero機能

    透過がサポートされたnode-webkit(NW.js)でガジェットを作ろう
  • Webスクレイピングが捗るGoutteを使ってみる

    <?php // first.php require_once './vendor/autoload.php'; $client = new Goutte\Client(); $crawler = $client->request('GET', 'http://blog.asial.co.jp/'); // 抽出 $targetSelector = 'h2.lh1_2em'; // アシアルブログの見出しのセレクター $crawler->filter($target)->each(function ($node) { echo $node->text() . "\n"; }); ~/Sites/prac/goutte  php first.php 外部コンテンツをiframeサイズで拡大縮小させたり、固定幅コンテンツをウィンドウサイズでピッタリ表示させる方法 「Monaca for Hyb

    Webスクレイピングが捗るGoutteを使ってみる
  • ダミーデータをhogehogeしないでFakerで生成する

    こんにちは、高橋です。 最近はLaravel4を使った開発をしています。テストやシーダーでダミーデータを扱う際には、Fakerというライブラリを使っているので、今回はそのFakerについて簡単に紹介したいと思います。 Faker(https://github.com/fzaninotto/Faker)とは様々なフォーマットでデータ(数値や文字列)を生成できるライブラリです。「hogehoge」といった汎用データより意味のあるデータで検証したい時にとても便利です。PerlのData::FakerやRubyのFakerから影響を受けているようです。 インストール composer.json

    ダミーデータをhogehogeしないでFakerで生成する
  • REST APIのテストをFrisbyで自動化する

    どうも、中(特に冷やし五目味噌タンメン+バター)にハマっている高橋です! 最近のアプリケーション開発といえば、フロントエンドはサーバサイドが準備したAPI経由でデータを取得したり保存したりという構成が人気のようです。そこで「API、ちゃんと動いてるんかなぁ?」というテストを書いて、実際にリクエスト&レスポンスで検証してみようと思います。 今回テスティングフレームワークとして使用する Frisby(フリスビー) は簡単に書けて高速に動作するというのが持ち味の REST API のテスティングフレームワークです。投げて返ってくるFrisbeeと掛けているのでしょうか?これドヤ顔で言われるとちょっと腹立ちますが、こういうネーミングセンスには関心させられます。笑 ◯インストール 今回は「frisbytest」というディレクトリ内で作業をしていきたいと思います。 コンソールを起動したら以下のコマン

    REST APIのテストをFrisbyで自動化する
  • 最近のJavaScript開発まとめ

    こんにちは、中川です。 ここ1・2年ですが、私の担当するプロジェクトでは、 PHPよりもJavaScriptの開発が多い状態が続いております。 JSのプロジェクトを重ねるにつれ、開発環境も段々と整理されてきましたので、 一旦、最近のJS開発で利用しているライブラリやツールなどをまとめてみました。 フレームワーク ●Backbone.js http://backbonejs.org/ JavaScriptのMVCフレームワーク。 何も使わない(もしくは我流)よりは、これを使って欲しいと思えるフレームワークです。 利用者が多く日語情報も豊富にあるのと、フレームワーク自体が1500行程度と軽量なため、学習コストを低く抑えることができます。 ●AngularJS http://angularjs.org/ データバインディングを備えたフレームワーク。 高機能なテンプレートや、DIの仕組み、ルーテ

    最近のJavaScript開発まとめ
  • PostgreSQLのレプリケーション機能をつかってみた

    ■同期 マスターと1台のスレーブのディスクへのWALを書き込み後にユーザにレスポンスする ■メモリ同期 マスタのディスクと1台のスレーブのメモリへのWALを書き込み後にユーザにレスポンスする ■スレーブ非同期 マスターのディスクへのWALを書き込み後にユーザにレスポンスする(スレーブへの書き込みは確認しない) ■完全非同期 マスター・スレーブともにWAL書き込みを待たずにユーザにレスポンスする(WALはマスターのメモリ上のみ) スレーブ非同期がMySQLにて弊社でもよく使っているレプリケーションの同期設定です。 今回の設定も「スレーブ非同期」にて設定をしていきます。 レプリケーションの設定(マスター側) それでは実際にマスター側のPostgreSQLの設定をしていきます! 1.レプリケーションをするためのPostgreのユーザを作成する psqlコマンドでログインをして、下記のコマンドでユ

    PostgreSQLのレプリケーション機能をつかってみた
  • PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回

    こんにちは、久保田です。 皆さん正規表現は使っていますか? PHPに限らずどんな言語を使っていても、正規表現にお世話になっていないプログラマはいないと思います。しかし、その正規表現がどのように実装されているかについては知らない方が多いのではないのでしょうか。 この記事では、その正規表現エンジンの実装方法の一つである仮想マシンによる正規表現エンジンの実装方法を解説しつつ実際に簡単な正規表現エンジンを作っていきたいと思います。 正規表現エンジンの実装方法 正規表現エンジンの実装方法はいくつかあるのですが、それの一つに仮想マシンによって正規表現のマッチング処理を実行するやり方があります。PHPで利用している正規表現エンジンであるPCREはこの方式を採用しています。 仮想マシンによる実装方法は、正規表現というよりもプログラミング言語の実装方法の一つとして知られています。Rubyの最もメジャーな実装

    PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回
  • rinseで手軽にRPM系ディストリのchroot環境作成

    こんにちは、前回のブログのはてブ数がすごいことになって、恐れおののいている高橋です。 どー考えてもそれを超えるようなネタなんか思いつかないので、いつも通りサラッと流されるようなネタを気楽に書いてみたいと思います。 さて、いろいろと開発を行っていると、 ・PHP5.1 + PostgreSQL8.1 ・PHP5.2 + PostgreSQL8.3 などのように、プロジェクトによってソフトのバージョンが違うことがあります。 それぞれの開発マシンが個別に用意されているときは問題ありませんが、一台しか開発マシンがない場合はどうされていますか? XenやVMwareなどの仮想化マシンで構築するのが楽かと思いますが、メモリやCPUパワーが潤沢でないと厳しいですよね。また、大抵の場合、そこまで完全に独立した環境が必要なわけでもありません。 /usr/local/以下に複数のバージョンをインストールし、ポ

    rinseで手軽にRPM系ディストリのchroot環境作成
  • 戦うプログラマによる戦略的アイデア量産テクニック

    はじめまして!アシアルで開発を担当している四方と申します。 海上自衛隊SIer勤務を経てアシアル株式会社に入社というちょっと変わった経歴を持っています。 そんな訳で私のエントリーでは通常の技術記事とはちょっと違った視点から開発Tipsを伝えて行けたらと思います。 戦略的にアイデアを量産するテクニック ITに限らず何かを作り始めるとき必要になるのがアイデアです。 今回は、私が前職でデスマっている際に偉い人から「1週間後までに、10億稼げる新事業のアイデアを50個出せ!」と言われた時に編み出したアイデア量産テクニックをお伝えします。 1.身近にある「不便」の解決 最もオーソドックスなアイデアの発想法です。 ハイマン・リップマンという人は、鉛筆と消しゴムを交互に使っているうちに消しゴムをよく失くしてしまうので、消しゴムと鉛筆をくっつけた消しゴム付き鉛筆を発明しました。 消しゴムと鉛筆をくっつけ

    戦うプログラマによる戦略的アイデア量産テクニック
  • JavaScriptで日付を扱うならこれ!「moment.js」

    ■ つかいかた(基礎編) ダウンロードしたmoment.jsをscriptタグで読み込ませたら準備完了です。 あとは下記のような実装で使用できます。 // momentオブジェクトを初期化して・・・ var m = moment(); // formatで出力! var output = m.format("YYYY年MM月DD日 HH:mm:ss dddd"); console.log(output);  // => 2013年05月15日 12:34:56 Wednesday // 現在時刻 moment(); // ミリ秒で指定 moment(1368543600000); // タイムスタンプ(秒)で指定 moment.unix(1368543600); // Date.parseで解析可能な文字列を指定 moment("May 15, 2013"); // Dateオブジェクトか

    JavaScriptで日付を扱うならこれ!「moment.js」
  • Privoxyで透過型書き換えプロキシを作ってみた

    64Kbpsのモデムで通信していた時代、全く更新がないページをダウンロードするのは無駄以外の何者でもないので、一度見たページはプロキシサーバを使用してキャッシュして高速化という使い方もありましたが、最近は回線が太くなりプロキシを経由するボトルネックの方が大きくなって来ました。 そこで、今導入する利点を挙げて見ました。(自分が思いつく限り) ・フィルタリング IPレイヤではできない、HTMLの内容を見て判定。 今回の記事で解説。 ・通信の圧縮 ziproxyあたりを入れて、通信を圧縮したり画像の画質を下げて軽くする。 スマートフォンでこのプロキシを使用して快適に見るとか出来ます。 OperaTurboもこれを使用。 ・匿名性の確保(?) こちらもだいぶ昔から言われている利点で、サーバ側の設定によってはクライアントの情報をすべて隠蔽できる。(サーバ側のものになる) ターゲットサイトの管理者レベ

    Privoxyで透過型書き換えプロキシを作ってみた
  • ちょっと便利なJavascriptオブジェクトの作り方

    今回は、ちょっと便利なJavascriptオブジェクトの作り方をご紹介します。いわゆるモジュール・パターンと呼ばれている方法です。 はじめに 最近、HTML5への注目と共に、Javascriptを使用する機会が増えてきました。以下のように適用範囲は多岐に渡っています。 通常のWebサイトでのユーザビリティ向上 スマートフォン用Webサイト開発 HTML5アプリによるクライアント・アプリ開発 スマートフォンのハイブリッドアプリ開発 Node.jsによるサーバサイド・プログラミング このように、Javascriptが基幹となる仕組みが広がっています。クライアント側とサーバ側を同じ言語で作れることは、開発側にとってはとても有難いことです(学習コストの低減、人的リソース配分の柔軟性など)。もちろん、発注者やエンドユーアにとっても開発速度などの面で利益が生まれます。 Javascriptプログラミン

    ちょっと便利なJavascriptオブジェクトの作り方
  • JavaScriptでうっかりやってしまいそうなこと色々

    こんにちは、中川です。 今回はJavaScriptで開発していると、うっかりハマってしまうちょっとした罠たちを紹介したいと思います。 JavaScriptでの開発経験者であれば、どれか一度はひっかかったことがあるのではないでしょうか? String ●String#replace()は文字列指定では全部置き換えない 対象文字列を一括して置き換えたいなどでString#replace()を使いますが、 検索対象を文字列で指定してしまうと最初に一致した部分しか置換しません。

  • MySQLのストアドプロシージャと生PHPによるパフォーマンス比較

    皆さん、こんばんは。笹亀です。 7月もあっという間に10日間が過ぎて、夏真っ盛りになってきました。 自分も夏対策でアイス眠というマットレスを購入して夏を乗り越えようと思っております。 さて、日はストアドプロシージャについて検証をしてみたいと思います。 ストアドプロシージャとは、一連のSQL文や処理に名前をつけて保存したものです。 PHPの関数と同じでSQLを関数みたいにしたものがストアドプロシージャになります。 MySQLではストアドプロシージャはMySQLでは5.0から利用が可能です。 今回はMySQLのストアドプロシージャの使い方だけではなく、 生PHPで記載したときとのパフォーマンスを比較してみたいと思います。 MySQLのストアドプロシージャを呼び出して処理をするPHPプログラムとストアドプロシージャで作成したものと同じSQLを実行するPHPプログラムを作成します。 上記2つのプ

    MySQLのストアドプロシージャと生PHPによるパフォーマンス比較
  • もうアイコン画像はいらない! Webフォントを使って、iOS風タブバーとアイコンを作成する方法

    こんにちは、鴨田です。 最近、アイコンがセットされたWebフォントを使うことで、 画像を使わずにアイコンを表示するという手法が流行っていますね。 すごく興味はあったのですが、なかなか使う機会もなく、 便利そうだなと思っていただけで、今まで使ったことがありませんでした。 しかし、先日、とある案件でやっと使う機会に恵まれたので、やり方をご紹介いたします。 (プロトタイプだけ作って、結局プロダクトとしては使いませんでしたが・・・) 最近話題になっていたこちらのサイトがとても便利です。 Fontello - http://fontello.com/ 使いたいフォントを選択します。 ここでは、「Entypo」フォントから5つ選択します。 選択が終わったら、上部のタブから「Edit codes」をクリックします。 アイコン画像の上部のバーをクリックして、アイコンに割り当てる文字列を決めます。 英語で頭

    もうアイコン画像はいらない! Webフォントを使って、iOS風タブバーとアイコンを作成する方法
  • JavaScriptのテストランナー「testem」を試してみました。

    こんにちは、中川です。 今回は「インタラクティブなJavaScriptテストフレームワークTestem 」にて紹介されていた、 JavaScriptのテストランナー「testem」を試してみたいと思います。 ※動作確認は、Mac OS 10.7、Node-v0.8.0 にて行ないました。 ■testem https://github.com/airportyh/testem ■インストール

    JavaScriptのテストランナー「testem」を試してみました。
  • 続・イラストでわかるgit入門の入門:ブランチを切る

    こんにちは!志田です。 最近ドラクエモンスターズを購入しました。 だいあくまの書・シュプリンガー・メッサーラのパーティでがんがんいってます。 配合を繰り返していると、「この組み合わせ、AにもBにもなるのに!どっちが強くなるんだろう?」ということがたびたび起こります。 そんなときに使えたらいいのが、今回ご説明するブランチです。 前回のあらすじ 前回の記事では、バージョン管理と基的な動作について、ご説明しました。 ・バージョン管理にgitを使おう! ・コミットを繰り返し、キリのいいところでプッシュする ・コミットを重ねることでバージョン管理ができる こんな経験ありませんか みなさん、これまでの経験で、こんな経験ってありませんか? ・直すことによる影響範囲が広いため、もしきちんと改修できて、テストもできたら安定バージョンに含めたい 今まで何度もコミット・プッシュを重ねてきたプロジェクト。現在は

    続・イラストでわかるgit入門の入門:ブランチを切る
  • JavaScriptのコーディング規約を気軽にチェック

    こんにちは、中川です。 今回は「Google JavaScript Style Guide」を気軽にチェックできるClosure Linterをご紹介したいと思います。 http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml Google JavaScript Style Guideのいいところですが、 規約だけでなく、しっかりしたツールも揃っているところが素晴らしいと思います。 コーディング規約はあったとしても、それに従っているか定期的に簡単にチェックする方法がないと、 いつしか守られないまま開発されてしまうことになりますね。 ※今回の内容はMacにて動作確認を行なっています。

    JavaScriptのコーディング規約を気軽にチェック
  • 使えるとちょっと便利なSSHのTIPS

    こんにちは、牧野です。久々の、9か月以上ぶりのブログです。。 仕事では、ここ1年近くずっっとインフラ関係のことをやっていました。 今日は、SSHに関するTIPSを紹介します。 1. 特定のサーバーにSSHログインする時に、特定の設定を使用する ホームディレクトリ/.ssh/configファイルに設定を書いておくと、特定のサーバーにログインする時に、自動的に特定の設定を使うようにできます。 SSHのオプションをサーバーによって分けたい時に入力が楽になります。 以下は、xxx.yyy.zzz.aaaでアクセスする時に使う秘密鍵をid_rsa_testに設定しています。 .ssh/config Host xxx.yyy.zzz.aaa IdentityFile /home/asial/.ssh/id_rsa_test 2. ホストキーをチェックしないようにする LinuxからサーバーにSSH接続

    使えるとちょっと便利なSSHのTIPS