タグ

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

  • PHPで日付時刻の処理を書くなら Carbon がおすすめ

    どうも、筋トレにハマっているたきゃはしです。 日はPHPにおける日付時刻のライブラリについて書いていきたいと思います。 突然ですが、日付や時刻が絡む処理って意外とやっかいだと思いませんか?おそらく皆さんもいくつか思い当たるフシがあるかと思いますが、そんなやっかい事も Carbon(カーボン)を使えば解消できるかもしれません! Carbon - A simple PHP API extension for DateTime. Carbon とはPHPのDateTimeクラスを継承して拡張された日時操作ライブラリです。 「Carbonってどうなの?流行ってるの?」という方向けに予め補足致します。 Carbonはすでに人気のフレームワークに統合されていたり、GitHubで☆3000に迫る評価もありますのでDateTimeライブラリとしてデファクトになるんじゃないかと予想できます。 ではインスト

    PHPで日付時刻の処理を書くなら Carbon がおすすめ
    red_snow
    red_snow 2015/06/27
  • PHPからChromeにログ出力「Chrome Logger」

    こんにちは、中川です。 PHPでの開発中のちょっとしたデバッグに、echo や var_dumpで画面に値を出力して確認することがありますよね。 このデバッグ方法は簡単でいいのですが、出力した配列の値などはパッと見で確認しやすいとは言えませんし、画面の表示内容が崩れたりします。 画面に出力しない方法としては、 error_log関数を使ってapacheログやファイルに出力する方法もありますが、 この場合は、サーバ側にログインしてtailなどでファイル内容を確認する必要がでてきます。 そんなちょっとした問題を解決してくれるツール 「Chrome Logger」をご紹介したいと思います。 Chrome Loggerを使えば、JavaScriptのconsole.logのように、 表示画面には影響を与えないでブラウザのデベロッパコンソールにPHPから値を出力できます。 ■Chrome Logge

    PHPからChromeにログ出力「Chrome Logger」
  • Standard PHP Libraryの例外クラスを活用しよう!

    はじめに 今回はPHPでの例外の扱い方、特にSPL (Standard PHP Library)の例外クラスの使い方を見ていきます。例外を投げる際には、エラー種別により例外クラスを切り替え、受け取る側での処理も分けます。Javaなどではごく当たり前です。しかし、PHPプログラマの中には、そこまで切り分けない人も意外といます。Exceptionクラスだらけのコードもしばしば見かけます。 SPLの例外クラス アプリケーションによっては、例外クラスを独自に作成することもあります。とはいえ、いきなり例外クラスを複数定義して使いまわすことは、若干ハードルが高いかもしれません。まずは、SPL (Standard PHP Library)の例外クラスを使ってみましょう。SPLでは以下の例外クラスを提供しています。 SPL 例外クラスツリー LogicException (extends Exceptio

    red_snow
    red_snow 2013/01/25
  • PHPで行う簡単画像リサイズと速度検証

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

    PHPで行う簡単画像リサイズと速度検証
    red_snow
    red_snow 2012/05/15
    速度より、クオリティの違いを調べないと
  • PHP+Kestrel+Supervisorでお手軽タスクキューイング

    こんにちは、久保田です。 ウェブサービスでは、ユーザのアクションに従ってバッチ処理を行わなければならないケースがままあります。この記事では、バッチ処理の手法の一つであるタスクキューイングをPHPとKestrelとSupervisorを利用して行うやり方の導入を紹介します。 なぜなにタスクキューイング ウェブサービスでは、ユーザのアクションに従って非同期にバッチ処理を行うようなケースがよくあります。 例えばflickrのような写真を共有するウェブサービスで言えば、ユーザが写真をアップロードしたあとに非同期でその画像の複数のサムネイル生成や加工をしなければならないケースがあります。 よく見られるのは、DBにバッチ処理のためのタスクデータを入れておいて、後でcronで定期的に起動するワーカープロセスからバッチ処理を行う方法です。このやり方には、ワーカーを複数プロセスで扱いづらい、処理がリアルタイ

    PHP+Kestrel+Supervisorでお手軽タスクキューイング
  • jQueryだけ使うのが馬鹿らしくなる。KnockoutJSに触れる

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

    jQueryだけ使うのが馬鹿らしくなる。KnockoutJSに触れる
  • Gitを使い始めたらやっておきたい便利な設定いろいろ

    こんにちは、中川です。 Gitを使い始めてから、Subversionを使う機会がめっきり減ったこの頃です。 Gitだとローカルだけで簡単に使い始められるのもいいですが、気軽につくれるbranchや、mergeのしやすさがたまりませんね。 インストール直後の状態でも普通に利用できますが、 ちょっとした設定でさらに使いやすくなる方法をご紹介したいと思います。 ※今回ご紹介する内容はいずれも私のMacBook上での動作確認となり、Windows環境は考慮していませんがご容赦ください。 ■ユーザー名とE-mailアドレスの設定 まずは、最初にユーザ名と、メールアドレスを設定してしまいましょう。 $ git config --global user.name "yoshiki" $ git config --global user.email "yoshiki@example.com"

    Gitを使い始めたらやっておきたい便利な設定いろいろ
    red_snow
    red_snow 2011/09/02
  • PHPの開発時になかなか使えるauto_prepend_file設定

    こんにちは、中川です。 PHPの開発を行っていると、自分の開発用だけの便利関数や、一時的な設定・各種パラメータの変更を行いたいなどあると思います。 そんな時に、実際のプロジェクトファイルに追加してしまうと、 番環境に誤ってそのままコミットしてしまったり、他の開発者にはゴミ扱いされたりとなかなか大変ではないでしょうか。 そんな時に便利な auto_prepend_file という設定をご紹介したいと思います。 PHPにはメインファイルの前に、自動的に付加するファイル名を指定する、 auto_prepend_fileという設定があります。 これを使えば、プロジェクト内のファイルには一切手を加えなくても、PHPで前処理を行うことができます。 ※なお、プログラムの後処理を加えたい場合は、auto_append_file という設定もあります。 設定自体は非常に簡単で、apacheのconfigフ

    PHPの開発時になかなか使えるauto_prepend_file設定
    red_snow
    red_snow 2011/07/15
    これいいな、コミットしちゃいけないものまでコミットしてますし
  • jQuery Mobileを試してみました

    初めまして。4月からアシアルに入社した志田と申します。 大学院時代は、グループウェアと呼ばれる複数人で知識共有するシステムをメインに研究・開発を行ってきました。 みなさん、どうぞよろしくお願いいたします。 さて、今回はjQuery Mobileを使って簡単なブログページを作ってみたいと思います。 今回は、手元にAndroid端末であるIS03があるので、IS03の標準ブラウザで表示しながら説明していきます。 ブログ記入画面 まず、ブログ記入画面を作ってみます。 ここがトップで、リストをクリックすると ページ内の各ページにジャンプします。 このトップページから各ページは、実は1つのHTMLファイルの中にすべて書かれています。 別ページのように見えていますが、ページ内リンクで実現しています。 各ページを表しているのが、divタグにつけられた data-role="page" というクラスです。

    jQuery Mobileを試してみました
  • Subversionのリポジトリ下でgitを使ってみよう

    こんにちは、熊谷です。 今まで長い間バージョン管理システムとしてSubversionを使っていました。特に不満もなく使い慣れているシステムなのでずっと使っていたのですが、あるとき、こういう環境でSubversionを使うのはちょっと不便かもしれないという状況が生まれ、いろいろ考え調べてみた結果、gitが使えるのではないかという結論に達しまして、早速使ってみました。 そもそもSubversionとgitの違いは何なのか。Subversionは集中型、gitは分散型のバージョン管理システムで、Subversionは中央のリポジトリに対してコミットを行っていくのですが、gitは各ユーザが持つローカルのリポジトリに対して行います。そして、ローカルのリポジトリの内容を中央のリポジトリに反映したり、別のユーザが持つリポジトリを取得したり反映したりといったことが出来ます。 また、既にSubversion

    Subversionのリポジトリ下でgitを使ってみよう
  • PHPでリフレクション

    こんにちは、小川です。たまには文句でも書いてみます。 先日ふと「スパイシーチキン」という単語を聞いて、昔のアシアルブログを思い出しました。 スパイシーチキンという単語を便りに検索をしてみると、スパイシーチキンの絶頂期は2006年から2007年の初めごろ。 僕は2006年の12月18日にアシアルにアルバイトとして入社したため、スパイシーチキン時代のアシアルを知っています。 むしろ、スパイシーチキンがあったからこそアシアルに入社したといっても過言ではありません。 しかし、今はどうでしょう。日常が垣間見えるのは、おおよそ月に1度投稿される阿部さんのブログくらい・・・。 symfonyの話しかしない人もいるし。そんなだからいつまでたっても彼女ができないんですよ! ああ、、、あの頃のアシアルブログはどこへいってしまったのでしょうか。 やはりここはアシアルブログ再建のためにも、再度スパイシーチキンに登

    PHPでリフレクション
    red_snow
    red_snow 2010/10/05
    試してみようと思って忘れてたのです
  • MemcachedではなくRepcachedをセッション管理に使用する(ついでにTokyo Tyrantについても少し)

    森川です。 複数台のWebサーバでセッション管理をする場合、NFS・DB・Memcachedなんかが一般的ですが、今回はMemcachedじゃなくてレプリケーションができるRepcachedを使ってみよう!というお話です。 まずは、Repcachedの話です。といってもMemcachedにレプリケーション機能が追加されたものというものです。 RepcachedはKLab株式会社さんのクラブラボで公開されています。インストール方法などについては、リンク先のページを見ればわかると思います。 今回のエントリで重要なのは、 ・高速であること (Memcachedと遜色ない) ・レプリケーションができること (1台が落ちてもデータが失われない) ・Memcachedのクライアントが使えること(設定を変更する必要がない) ということです。 ただし、割り当てたメモリを超えてデータを保存した場合には、デー

    MemcachedではなくRepcachedをセッション管理に使用する(ついでにTokyo Tyrantについても少し)
  • 3キャリア対応ケータイXHTMLのTIPS 8つ : アシアルブログ

    最近ケータイサイトの開発を行っているのですが、キャリアや機種によって動作にいろいろと違いがあり、なかなか面倒ですね。 キャリアごとにテンプレートを分けて記述するのは手間なので、基的に共通テンプレートで記述したいところですが、どうしても振り分けをしないと駄目なこともあるため、今回やってみて気がついた違いなどについてまとめてみました。 なお、いわゆる第三世代携帯電話(DoCoMo FOMA, au WIN, SoftBank/Vodafone 3G)でXHTML対応機種のみを対象としています。 ■文字コード UTF-8で統一して大丈夫そうなのですが、DoCoMoのみ特定の文字(三点リーダーや丸数字など)をフォームから入力した場合に消えてしまったりするようですので、DoCoMoは入出力をShift_JISにする必要があります。 ※上記で特定の文字のひとつとしてあげました三点リーダーですが、UT

    3キャリア対応ケータイXHTMLのTIPS 8つ : アシアルブログ
  • 1