タグ

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

  • SassとLESSの違い ー CSSプリプロセッサ入門 ー

    豊富な機能がある CSSファイルの自動整形機能 コンパイル時にnested、expanded、compact、compressedからインデント形式が選択できます。上のscssをコンパイルした場合でそれぞれどうなるのかを見てみます。 nested

    SassとLESSの違い ー CSSプリプロセッサ入門 ー
    labunix
    labunix 2015/12/11
  • kvmでwindows7を入れてみました

    kvmでwindows7を入れてみました 仮想化といえば、VMWareやXenが有名ですが、 今回は割と新しいkvmを使用したいと思います。 kvmと言っても切替器ではなく、KernelbasedVirtualMachineのkvmです。 kvmとは http://ja.wikipedia.org/wiki/Kernel-based_Virtual_Machine 要は、軽量でシンプルな仮想化システムです。 kvm自身では何もできないので、フロントエンドとしてqemuを使用します。 ぐだぐだ書いてもおもしろくないので、百聞は一見にしかず。ぜひ試してみてください。 0・前提条件 ・カーネルは2.6.20以降が必要 ・AMD-V、IntelVTなどの仮想化機構が必要 ・~/vm/ にvmのディスクイメージを入れます ・~/win7.iso がwindows7のDVDイメージです 1・kvmのイ

    kvmでwindows7を入れてみました
    labunix
    labunix 2014/08/29
  • 【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作のスライドを公開します

    こんにちは、岡です。 先週のアシアル塾ではLinux超入門編を開催しました! WordPressコミュニティーでお世話になっているタイミングの北村さんにもご参加いただき、 Twitterでコメントを頂いたので、転載させていただきます。 独特のトークもあり、非常に面白かったので、個人的には是非定期スクールとかでやってほしいです。今迄敬遠していたターミナルを学びたい欲が今日はじめて出ました。 北村さんは東京デザイン事務所 TIMINGを経営されていて、 デザインやWordPress関係の書籍を多数書かれたり勉強会もよく開かれている方なのですが、 このように仰っていただけると、アシアル塾をはじめて良かったなと強く感じました。 さて、次回のLinux超入門編のご案内をさせていただきます。 第二回は仮想サーバー上にLAMPを構築して簡単なPHPプログラムを動かす講義を行います。 Linux超入門・

    【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作のスライドを公開します
    labunix
    labunix 2014/07/02
  • ZendEngine勉強会で「拡張ライブラリでなるべく簡単に構文を追加する方法」というタイトルで喋ってきました

    ご無沙汰しております、アシアル笹亀です。 ブログを書くのは、大変久しぶりになります。実はアシアルでは最近、noteもはじめております。アシアルの仕事の取り組み方、考え方、様々なメンバーについて知ることができます!是非、ご興味があるかたはこちらも一読いただけますと嬉しいです。 https://note.asial.co.jp/ 久しぶりにiPhoneアプリをアップデート申請をするときありますよね? iPhoneのアプリを継続的に保守管理をしていると、申請作業をクライアント様におまかせして、あまりエンジニア自身で長い間、アップデート申請をしてこなかった方々は何気に多いのではないかとおもい(自分もその1人)、ブログにも残しておこうとおもいました。 こまめに改修などを加えており、その度にアップデートの申請をされている場合には、あまり実感はないかもですが、1年振りとかにアップデートの申請をしたりする

    ZendEngine勉強会で「拡張ライブラリでなるべく簡単に構文を追加する方法」というタイトルで喋ってきました
    labunix
    labunix 2014/02/23
  • Debianを使ってシンクライアントっぽいものを作ってみました

    この間、開発に使用していたWindows機(Thinkpad T23)のHDDが異音を発してお亡くなりになりました。 カッコン・・・カッコン・・・カッ・・カッ・・・カツン。 となって、何かアクセスしようとするとブルーバックになってしまいました。 こうなれば当然再起動しても無駄、HDD交換しか直す方法はありませんが、当然IDE2.5inなんて予備があるわけもなく、新品HDDを買って復活させるほど価値があるわけでも無いので、机の上に放置していました。 先日、プロジェクトの表示テストのため、リモートデスクトップでWindowsにつないでIEのテストをしていましたが、 ひたすら、IE開く->確認->手直し->確認->ローカルのFireFox開く->確認・・・ 仮想デスクトップ使っても切り替えが面倒なので、もう一つ画面がほしい。 リモートデスクトップが動く程度のマシンを探してまわりを見渡すと、壊れた

    Debianを使ってシンクライアントっぽいものを作ってみました
    labunix
    labunix 2014/02/10
  • UMLを描こう - Vol.2 シーケンス図 - アシアルブログ

    ※より具体的な例は こちらの新しい記事 を参照してください。 シーケンス図とは? シーケンス図とは,オブジェクトの動的な相互作用を表現するためのUML図です。 オブジェクト指向は,一言で言えば「役割分担」なので,オブジェクト同士のコミュニケーションが重要です。 シーケンス図では,オブジェクト同士のコミュニケーションによるインタラクション(相互作用)の様子を明確に表すことができます。 シーケンス図においてインタラクションは,メッセージ送受信のシーケンスとして図示されます。 クラス図がクラスの静的な定義とするなら,シーケンス図はオブジェクトの動的な振る舞いの定義と言えます。 3秒で分かるシーケンス図の描き方 まずは登場するオブジェクトを並べます。 長方形の中に「オブジェクト名:クラス名」と書いてオブジェクトを表します。 オブジェクト名とクラス名のどちらか一方を省略してもかまいません。 オブジェ

    UMLを描こう - Vol.2 シーケンス図 - アシアルブログ
    labunix
    labunix 2014/02/02
  • UMLを描こう – Vol.3 ドメインモデル図

    プロジェクトの初期段階において最も重要なのは、 システムが取り扱う「もの」の概念について、チーム内で共通認識を築くことです。 これを怠りなんとなく実装を進めてしまうと、後半になって、 Aさん「あれ?この言葉ってこういう意味じゃないの?」 Bさん「え?そうじゃないよ。もしかして認識ずれてた?・・・」 ↓ 認識ズレ発覚!といった状況が発生することでしょう。 そこで、プロジェクト開始時にドメインモデル図を描くことで、 主要な「もの」の概念についてチーム内で共通認識を固めることができます。 ドメインモデル図とは、ユーザの視点で見た、システムに登場する「もの」の概念(ドメインクラス)を集めた図です。プロジェクトの用語集をクラス図風に表現した図ということにもなります。ドメインモデル図は自然言語で構成するため、要件定義や仕様の把握に有効です。 ここでは、ICONIX Process(ユースケース駆動型の

    UMLを描こう – Vol.3 ドメインモデル図
    labunix
    labunix 2014/02/02
  • UMLを描こう - Vol.4 ユースケース記述 - アシアルブログ

    ■要件定義の2つの柱 ユースケース駆動開発の要件定義では、2つのモデルを柱として要件を分析・定義します。 1つが振る舞いモデル、もう1つがドメインモデルです。 振る舞いモデルは、ユースケースモデルにあたります。 ユースケースとは、システムの利用例、つまりはユーザが利用できる具体的なサービスのことです。 例えば通販サイトでは、「商品をカートに追加する」「注文する」「配送状況を確認する」などがユースケースです。 それぞれのユースケースに対して、ユーザが何をしてシステムがどう振る舞うかをシナリオとして記述する必要があります。この記述をユースケース記述といいます。 なお、ユースケースモデルはあくまで「振る舞いに関する要件」ですので、 その他のパフォーマンス要件やセキュリティ要件などは、ユースケースにひも付けておく必要があります。 ドメインモデルについては、前回説明しました。 ドメインモデル図(以下

    UMLを描こう - Vol.4 ユースケース記述 - アシアルブログ
    labunix
    labunix 2014/02/02
  • UMLを描こう – Vol.1 クラス図

    こんにちは,浦です。 今回はUML(Unified Modeling Language)について取り上げたいと思います。 UMLとは? UMLとは,システムの設計を様々な切り口でモデル化し図示するためのグラフィカル言語です。 オブジェクト指向設計では,設計概念を表す何らかの設計図が必ず必要になります。 なぜならば,コードだけでは,コンポーネントの構成や,オブジェクトの相互作用を 分かりやすく表現できないからです。 特に,ある程度規模の大きなシステム開発においては,設計図が無い場合, 拡張性やメンテナンス性に乏しいクラスの山が作られがちです。 設計図が無いと,システムが要求を満たしていることを保証するユニットテストも行えません。 そこで,オブジェクト指向設計を,標準化された図として表現できるUMLが役に立つわけです。 最低限必要なのはクラス図とシーケンス図 UMLには10種類以上もの図があ

    UMLを描こう – Vol.1 クラス図
    labunix
    labunix 2014/02/02
  • UMLを描こう – Vol.5 ICONIXロバストネス図

    ■■前回までのまとめ■■ 要件定義で役立つ図: ・ドメインモデル図(概念モデル図) →自然言語レベルのクラス図のこと。用語整理に用いる。 ・ユースケース図 →機能一覧。各ユースケースに対してユースケース記述がある。 詳細設計で役立つ図: ・クラス図 →クラスとそれらの間の関係を表す静的設計図。 ・シーケンス図 →オブジェクトの振る舞いを表す動的設計図。 さて、それではどうやって要件定義から詳細設計への長いギャップを埋めればよいのでしょうか? 今回解説するロバストネス図は、まさにそのギャップを埋めるための図です。 ■■ロバストネス図を描こう■■ ロバストネス図とは、ユースケース記述を絵にした図で、以下の三兄弟アイコンを用います。 ・バウンダリ:画面 ・コントロール:システムが行う1つ1つの処理 ・エンティティ:ドメインモデルが実体化したもの では、『商品の詳細を表示する』ユースケースのロバス

    UMLを描こう – Vol.5 ICONIXロバストネス図
    labunix
    labunix 2014/02/02
  • UMLを描こう – Vol.6 ロバストネス図からシーケンス図を描く

    こんにちは、浦です。 今回はロバストネス図からシーケンス図を描く方法について、順を追って解説します。 シーケンス図の立ち位置 シーケンス図は、詳細設計の成果物の中で最も重要な図です。描く際はいきなりゼロから描くのではなく、ロバストネス図を参考にしながら描きます。下図に、開発プロセス全体におけるシーケンス図の立ち位置を示します。 ICONIX Processでは、設計プロセスを予備設計と詳細設計の2段階に分けて行います(これを2パス設計と呼びます)。まずは予備設計で、実際のクラスを気にせずに「システム全体としてどのような処理・対話をすべきか」を先に決めます。次に詳細設計で、具体的にどういったクラスにそれらの処理を割り振るかを決めていきます。事前にロバストネス図さえ描いていれば、要件定義にきちんと結びついたシーケンス図を描くことができます。詳細設計ではシーケンス図の他にも、必要に応じてクラス

    labunix
    labunix 2014/02/02
  • AWS SDK for JavaScriptでAmazon S3とDynamoDBをクライアントサイドJavaScriptのみで操作する

    AWS SDK for JavaScriptAmazon S3とDynamoDBをクライアントサイドJavaScriptのみで操作する 久保田です。 AWS SDK for JavaScriptのデベロッパープレビューがリリースされました。AWSは今までウェブサービスのサーバサイドからしか扱えませんでしたが、このライブラリを用いることで、AWSのサービスをクライアントサイドのJavaScriptからでも操作できるようになります。つまり、IaaSとして利用できるAWSをサーバサイドのプログラム無しでBaaSのように扱うことができます。最も有名なBaaSの一つであるParse.comもバックエンドにはAWSを利用していることが知られていますが、今回登場したAWS SDK for JavaScriptを用いるとParse.comのようなBaaSと同じようなことがAWSでもできるのではないかと注

    labunix
    labunix 2013/11/13
  • AngularJSに触れてみる その1

    AngularJSはGoogle社が開発しているJavaScriptのMVCフレームワークです。Webの技術を使うMonacaでももちろん使うことができます。また、jQueryなどの他のライブラリと併用することもできます。MVCとはModel(モデル)、View(ビュー)、Controller(コントローラー)の略称でありそれぞれのコンポーネントにアプリケーション中の役割を分割する思想、手法です。 Model:アプリケーション内で使うデータ構造。 View:マークアップなどアプリケーションのユーザーの実際に目にするもの。 Controller:アプリ内で使うデータを操作するコンポーネントであり、ModelとViewを操作するもの。 AngularJSのMVCに関して家ドキュメントへのリンクを貼っておきますので、詳しくはこちらを参照してください。 Model View Controller

    labunix
    labunix 2013/08/15
  • 非エンジニアにもオススメ。数学が苦手な統計初心者がR言語を触ってみる。

    こんにちは。海原です。 ここ最近、統計学が流行していますね。「統計学が最強の学問である」がきっかけになっているのでしょうか。数年前に比べてマーケティングが重要視される今日、統計の需要が増えたのかもしれません。私はまだこのを読んでいませんが、読もうと思った矢先にたまたま統計ツールRに出会いまして、調べながら少しいじってみました。Rを使った感触から申し上げますと、SQLを叩いて好きなデータをピックアップするよりもずっと簡単で小気味良いのです。 他の統計ツールには色々な種類があるようですが、よく知られるものとしてIBMのSPSS (IBM)(有償)があります。 その点、RはMac/Win両方に対応しており無償です。またSPSSに劣らない機能を備えており、統計学者の間でデファクトスタンダードとなっているようです。 Rに関して検索すれば丁寧な解説サイトがたくさんありますので、インストールから何の心

    非エンジニアにもオススメ。数学が苦手な統計初心者がR言語を触ってみる。
    labunix
    labunix 2013/07/20
  • 普段使っている何気ないgitコマンドに一歩踏み込む〜git clone編〜

    こんにちは増田です。 普段使っている何気ないgitコマンドに一歩踏み込んでみます。今回は git clone コマンドでリポジトリを取得する際に使用されるプロトコルの種類を解説します。記事は以下のサイトを参考にしました。 http://git-scm.com プロトコルの種類 git cloneをする際に使用することのできるプロトコルは以下の4種類です。 1. Localプロトコル 2. SSHプロトコル 3. Gitプロトコル 4. HTTP(S)プロトコル これらのプロトコルはgit cloneだけに関わらずGitにおけるデータ転送時に使用されるネットワークプロトコルです。 Localプロトコル ローカルマシンにあるリポジトリをローカルマシンの別のディレクトリにクローンするときにはLocalプロトコルが使われます。 使い方は以下の通りです。

    普段使っている何気ないgitコマンドに一歩踏み込む〜git clone編〜
    labunix
    labunix 2013/06/23
  • PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回

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

    PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回
    labunix
    labunix 2013/06/21
  • 初心者のコーダーでも簡単に実装出来るJavaScript/jQuery Tips

    こんにちは、鴨田です。 今更感はすごくあるとは思いますが、 コーダー初心者でも簡単なJavaScript/jQueryのコードで、 ちょっとした運用を楽に出来るTipsを紹介したいと思います。 1.現在見ているページのナビゲーションをアクティブにする JS if (document.URL.indexOf("001.html") != -1) { $("nav a.top").toggleClass("on"); } else if (document.URL.indexOf("002.html") != -1){ $("nav a.list").toggleClass("on"); }

    初心者のコーダーでも簡単に実装出来るJavaScript/jQuery Tips
    labunix
    labunix 2013/05/24
  • xdebugを使ったコードカバレッジ集計

    こんにちは、牧野です。久々のブログになりました。。 私事ですが、昨年末、鎌倉に引っ越しました。 今は毎日、鎌倉から1時間半くらいかけて会社に通っています。 前の自転車通勤と比べて片道1時間くらい余計にかかるのですが、通勤電車は混んでおらず(大体11時出社)、席に座って好きなことをして過ごせるので、かえって楽になりました。 会社が始まるのが遅ければ、鎌倉暮らしはおすすめです。 さて、今回はPHPのコードカバレッジについてです。 コードカバレッジとは、プログラムコードのうちどれくらいの割合実行されたのかを表すものです。 例えば、システムのテストをした結果、コードカバレッジが100%になっていれば、全てのプログラムを一通りテストできた、ということが言えます。 今回やりたかったのは、ウェブアクセスして動作確認を進めていく中で、全体のうちどれくらいの割合テストできたのか、どの部分がまだテストできてい

    xdebugを使ったコードカバレッジ集計
    labunix
    labunix 2013/04/19
  • CSSだけで簡単に吹き出しを作成する方法4つ!

    こんにちは、橋です。 今日はCSSだけでお手軽に吹き出しを作る方法をご紹介したいと思います。 今回ご紹介するサンプルは4つ 一般的な三角の吹き出し 一般的な三角の吹き出し(ボーダー付き) ぽわわーんとした吹き出し 丸い(曲線の)吹き出し 4つのサンプルの実行結果は、ここで確認できます。 IE9以上とIE以外のブラウザであればちゃんと表示されるかと思います。 IE8以下はborder-radiusが使用出来ないため、サンプル3とサンプル4がちゃんと表示されません。 それでは1つ1つ見て行きましょう。 1.一般的な三角の吹き出し まずはソースから。 <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <style type="text/css"> * { box-sizing: border-box; } .wrapp

    CSSだけで簡単に吹き出しを作成する方法4つ!
    labunix
    labunix 2013/03/05
  • http://blog.asial.co.jp/1134

    labunix
    labunix 2013/02/16