タグ

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

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

    テキストでUMLやシーケンス図、クラス図などを作成できる言語です。 ダイアグラムをテキストで記述できるため、Gitで管理することもできます。 Visual Studio Codeでは、次のようにPlantUMLプレビューでダイアグラムを確認しながら作成できます。 まず、Visual Studio Codeが端末にない人はインストールをしてください。 Visual Studio Code – Code Editing. Redefined また、Javaもインストールが必要となります。 無料Javaソフトウェアをダウンロード インストールが完了したら、Visual Studio Codeで拡張機能としてPlant UMLを追加します。 Marketplaceから「plantuml」と検索してインストールします。 下のリンクからでもインストールできます。 marketplace.visuals

    Visual Studio Code ではじめるシーケンス図
  • jQueryで簡単にドラッグ&ドロップのソートを実装する方法

    読む:3分 試す:15分 はじめまして、4月にアシアルへ入社した噂の好青年こと高橋です。 今日はjQuery UIを使ったオシャンティなソートを紹介します。 まずはデモをご覧ください。 「こんなメンド・・・大変そうなUIできるかなぁ?」 心配ご無用!jQueryさんはやってくれます!! まずは必要なソースを準備します。 下記からそれぞれ最新版をダンロードしてください。 http://jquery.com/download/ (24/7/19時点で ver 1.7.2) http://jqueryui.com/download (24/7/19時点で ver 1.8.21) ファイル構造・読み込み等は割愛します。 今回覚えるべき、たったひとつのシンプルなキーワード 「sortable」 まずはHTMLいきます <table class="table table-striped table-b

  • GDとImageMagickの画質比較

    <?php $image_file = 'sample.jpg'; $img = new MyImage($image_file); $img->resizeImage(500, 500); $img->createImageFile('.', 'gd_sample.jpg'); header('Content-type: image/jpeg'); readfile('gd_sample.jpg'); class MyImage { var $img; var $width; var $height; var $font_path; function MyImage($image_path, $font_file_path = null) { $this->img = imagecreatefromjpeg($image_path); $this->width = imagesx($th

    GDとImageMagickの画質比較
  • (PHPで)指定ディレクトリ以下を全部チェックしてファイル一覧を取得する方法

    こんにちは。宇都宮です。 「特定ディレクトリ以下のファイル全てに対して処理を行うプログラム」を書く機会というのは、たまにありますね。 「PHP ファイル 再帰的」といったワードで検索すると、色々引っかかります。それぞれ一長一短あります。「特定ディレクトリ以下のファイル全てに対して処理を行うプログラム」の様々な実装例を紹介します。 1. scandir()とis_file()/is_dir()を組み合わせる <?php function getFileList($dir) { $files = scandir($dir); $files = array_filter($files, function ($file) { // 注(1) return !in_array($file, array('.', '..')); }); $list = array(); foreach ($files

    (PHPで)指定ディレクトリ以下を全部チェックしてファイル一覧を取得する方法
    kathew
    kathew 2016/09/17
  • PHPで行う簡単画像リサイズと速度検証

    こんばんは、笹亀です。 最近、暑い日が続きクーラーを節電で控えるという生活をしております。 最近の暑さでは下手したら寝ながらにして熱中症になるなんてことも起こそうです。 節電も身体を壊してまでするものではないので適度に頑張ろうと思います。 さて、日はPHPでの画像処理について記述をまとめてみたいと思います。 一般的にはPHPではGDなどが有名です。PHPのマニュアルを見てみると、画像処理にはGDの他にImageMagick、Gmagickなどの関数もデフォルトで用意されています。 私自身はImageMagickを利用することが多く、Gmagicというのはあまり使ったことが無いのでこちらの使用についても今回を機会に検証をしてみたいと思います。 日使用する画像:宮島の鹿さん(画像サイズ1.6M 1936 x 2592) ■GDにて画像リサイズ(スクリプト //元画像のサイズ $width 

    PHPで行う簡単画像リサイズと速度検証
  • セレクトボックスのoption要素を並び替えたい!

    こんちわ。松田です。 最近作っているシステムで、以下のようなお題が出されました。 問:セレクトボックスで選択した要素を↑↓ボタンで並び替えよ。ただし、CTRL選択による複数選択にも対応すること。(10点) JavaScriptのライブラリは腐るほど出回っているのでとりあえずググろうかと思いましたが、そもそもなんてキーワードで検索したらいいのか分かりません。 「セレクトボックス 並び替え」「selectbox 要素 移動」「selectbox move」・・・ うーん。。。 日語で検索して引っかからないと、英語ページに救いを求め、だんだんとシンプルな英単語でググっていくことになりますが、今回はなかなかいい結果が見つかりません。 そんなわけでこれは自分で実装してみることにしました。 まずは↓ボタンから作るか。ということで、クリックしたら呼び出される関数をとりあえず定義。 そして、<optio

    セレクトボックスのoption要素を並び替えたい!
  • CSSで印刷レイアウトをコントロール

    <article> <section> <h1>1ページ目</h1> </section> <section> <h1>2ページ目</h1> </section> <section> <h1>3ページ目</h1> </section> </article> 改ページ ここにCSSを当てていき印刷すると綺麗にページが分かれるように組んでいきます。 まず、<section>タグに.print_page、<article>タグに.print_pagesというクラスを付けていきます。 ついでにprint.cssというスタイルシートを読み込みます。 <link media="print" rel="stylesheet" href="print.css"> <article> <section class="print_page"> <h1>1ページ目</h1> </section> <sectio

    CSSで印刷レイアウトをコントロール
  • CakePHP2で簡単にACLを使う方法

    チョーシドウダ?カラダァ?どうも、高橋です! 今朝、CakePHP2.3.0-beta版がリリースされましたね! 今回のリリースでは、パフォーマンス、セキュリティ、使いやすさを向上させる新機能が追加されました。 また完全に下位互換があるので、2.2系からのマイグレーションは(おそらく)容易でしょう。 というわけで、早速Cake2.3を使ってACLを実現してみたいと思います。 イメージが掴みにくいと思ったのでデモを作成しました。(がんばりました! ログイン:http://s1.asial.co.jp/~yuya/blog/20121029/users/login username: adminuser / password: 0000 ACL管理 :http://s1.asial.co.jp/~yuya/blog/20121029/admin/acl またCakePHPのセットアップについて

    CakePHP2で簡単にACLを使う方法
  • PHPの無名関数を使って再帰処理を行う

    こんにちは、小川です。 今回はSymfonyではなくPHPのお話しです。PHP 5.3から無名関数が使えるようになりました。この無名関数、使い方によっては再帰なプログラムを書くことも可能なのです。 PHPの無名関数は次のようなものです。 <?php $greet = function($name) { echo "Hello, {$name}."; }; $greet('fivestar'); #=> Hello, fivestar. 無名関数というのは、その名の通り関数名が存在しない関数になります。JavaScriptなどではお馴染みですね。様々な使い方ができると思いますが、よく使うのはコールバック関数として使う方法が挙げられます。 例えばPHPにはarray_mapという標準関数があります。この関数は第1引数にコールバックを、第2引数に配列を指定し、指定した配列の各要素に対して第1引数

    PHPの無名関数を使って再帰処理を行う
  • CakePHP コントローラのメソッドをシェルで実行する方法

    <?php App::uses('AppController', 'Controller'); class BotController extends AppController { public function tweet() { return $this->Bot->tweet(); //つぶやいた内容をreturnするメソッドとする } } <?php App::uses('TwitterController', 'Controller'); class BotShell extends AppShell { public function startup() { parent::startup(); $this->TwitterController = new TwitterController(); } public function tweet() { $this->out(

  • ユニットテスト、ここどうするの?

    こんにちは、斉藤です。 前々回はTDDというユニットテストを使った開発方法、前回はユニットテスト実行の自動化と、触れてきました。 今回もやっぱりユニットテストについてということで、方法論などをtips形式でお送りします。 * プライベートメソッドのテスト ユニットテストでは、公開されているメソッドを呼び出して実行します。 クラスを書いたことがある方なら知っている通り、プライベートメソッドを外部から呼び出すことは出来ません。 そのため一般的にこれは、避けた方が良いと言われていますが・・・自分はテストしたい派なので、以下の方法をご紹介します。 – パブリックメソッドでプライベートメソッドを呼び出す 一番簡単な方法ですね。 ただしこの場合だと、公開APIと非公開APIの区別が出来なくなってしまいます。 クラスに手を入れることになり、テストのためだけのコードが混じってしまうことがデメリットです。

    ユニットテスト、ここどうするの?
  • Titanium で iPhone開発を始めるときに気をつけておきたいこと7つ

    こんにちは、亀です。 当は今日はアシアルの日常を書く、という名目のブログ当番なんですが、どうせエンジニアの日常なんてコード書いてますよね。 ということで、最近使ってみたTitaniumについて書いてみる事にしました。 さて、最近ちまたでTitanium Mobileがあつい!という話が出ていて、入門記事もいろんなところで上がり始めていますね。 Titaniumをご存じない方のために簡単に説明しておくと、JavaScriptを使ってiPhone/Androidアプリを作ってしまおう、という物です。 果たしてどんなもんか!と、手元で作成中だったアプリをTitaniumを使って再実装してみたのですが、世間で言われるとおり所々で凝った事をしづらいものの、想像していたよりはずっと、リッチ・簡単・高速に作れる印象でした。 早い、安い、うまいなんてぎゅうどn(ry その開発の際に、Objective

    Titanium で iPhone開発を始めるときに気をつけておきたいこと7つ
  • DateTimeクラスを使ったモダンな日付処理

    <?php $date = date('Y-m-d', strtotime('+3 months')); echo $date . "\n"; // => 2010-09-07

    DateTimeクラスを使ったモダンな日付処理
  • Underscore.js で JavaScript を楽にしよう

    こんばんは、サドルのない生活にも随分慣れた高橋です。 いきなりですが、JavaScript面白いですよね!んでガリガリ書いてコード膨らんでしまって若干依存があって分割めんどくせー!という経験をされた方はいませんか?もしかしたら「あんな事したいなぁ」が Underscore.js でスマートに解決するかもしれませんよ。 Underscore.js とはユーティリティライブラリです。非依存のため、稼働中のアプリケーションにも導入できます。 実績については Backbone.js に組み込まれているのもあって十分でしょうか。 使い方は _.size() みたいな書き方で超簡単。 ものすごいUnderscoreです・・・ さて、数あるライブラリの中でUnderscore.jsを使う理由なんですが、やはりドキュメントが充実していう点でしょうか。これに一度目を通しておけば、あれやこれやしなくて済むかも

    Underscore.js で JavaScript を楽にしよう
  • Twitter BootstrapでさくさくWeb開発 : アシアルブログ

    新年度です! 新入学、新入社を迎えるみなさん、おめでとうございます。 エンジニアのみなさんがWebアプリケーションを作るとき、一番悩むのはデザインではありませんか? カッコよくって統一的なデザインがほしい!でもデザインセンスないし…実は私もそうでした。 ですが、2月にメジャーバージョンアップしたTwitter Bootstrapを使うと、簡単にカッコいいサイトが作れます! Twitter Bootstrapとはなにか Twitter Bootstrap CSSのフレームワークです。 Web上に使ってみた!スゲー!等、たくさんのドキュメントが存在していますが、中には2月以前のバージョン(v1.4)について言及しているものもありますので、2系を使う方はバージョンの違いに気をつけて下さい(クラス名など結構ガラっと変わっています)。 今回ご説明しているのは、Twitter Bootstrap 2に

    Twitter BootstrapでさくさくWeb開発 : アシアルブログ
  • HTML5+CSS3の導入時に役立つ7つの設定

    こんにちは、鴨田です。 個人的に仕事の大半はスマートフォン関連なので、 最近のマークアップはほとんど全てHTML5+CSS3で行っています。 とはいえ、PC向けのサイトではまだまだHTML4.01、XHTML1.0、CSS2.1を使用している場合が多いと思います。 ですので、今回はHTML5+CSS3を導入するにあたって、役立つと思う7つの設定について、書きたいと思います。 1.HTML5の初期テンプレート案 <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>HTML5 初期テンプレート</title> <!-- reset.cssの設定 --> <link rel="stylesheet" media="screen" href="reset.css" /> <!-- Viewportの設定 --> <meta nam

    HTML5+CSS3の導入時に役立つ7つの設定
  • jQueryだけ使うのが馬鹿らしくなる。KnockoutJSに触れる

    久保田です。最近KnockoutJSというJavaScriptフレームワークを勉強しています。 KnouckoutJSはjQueryの上に構築されているフレームワークです。jQueryのみ使うのと比べてKnockoutJSを利用すると、ウェブページ上のインタラクションを圧倒的に簡単に記述できます。この記事では、簡単にKnockoutJSの概要を説明し、KnockoutJSを用いたデモを紹介します。 このフレームワークの特徴としてあるのは、HTML内に宣言的な記述を埋め込むことでインタラクションが実装できることです。HTML5のカスタム属性(data*属性)を用いて、その要素に関する処理を宣言してきます。裏側の処理は、JavaScriptでViewModelを定義し、そこにビューが必要とする値を管理します。 例えば、あるチェックボックスにチェックを入れると下の要素がトグルする簡単な例は、以下

    jQueryだけ使うのが馬鹿らしくなる。KnockoutJSに触れる
  • 1