タグ

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

  • Titanium で iPhone開発を始めるときに気をつけておきたいこと7つ

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

    Titanium で iPhone開発を始めるときに気をつけておきたいこと7つ
    t_tsuru
    t_tsuru 2011/10/27
  • 「似ている」を探そう

    今日から8月ですね!我が家のも夏毛に生え替わるようで、私も毛だらけです。志田です。 さて、今回は「似ている」を探したいと思います。なにかとなにかがどのくらい似ているのか、という情報があれば、それが役に立つシーンはたくさんありますよね。 ブログの似ている記事を探したり、趣味の似ているユーザを探したり、用途は様々です。 「何が似ているのか」という尺度にも様々あるように、類似度というのはいろいろな観点から調べることができます。 今回は、アシアルブログから似ている記事を探してみたいと思います。 手順としては、Mecabというライブラリを使って記事を形態素解析し、単語に分けます。 そして、元となる記事とその他の記事全体を見て、コサイン類似度という手法を用いて記事同士の類似度を測定し、似ている記事を3件見つけます。 (1) ブログ記事を取得する ブログ記事を取得し、ディレクトリに保存しておきます。

    「似ている」を探そう
    t_tsuru
    t_tsuru 2011/08/02
  • サーバの基本的な設定ファイルとCentOS、Debian比較

    ■デーモン自動起動の設定 ○違いがあるもの ・自動起動の追加 /sbin/chkconfig --add (デーモン名); /sbin/chkconfig (デーモン名) on /usr/sbin/update-rc.d (デーモン名) defaults ・自動起動の解除 /sbin/chkconfig (デーモン名) off /usr/sbin/update-rc.d (デーモン名) remove ・自動起動設定の確認 /sbin/chkconfig --list Debianはない? ○共通 ・起動時に実行される デーモン名には、/etc/init.d内のシェルスクリプト名が入ります。 これは、CentOSの方が便利な気がします。 ■iptables ○ファイアウォール設定 /etc/sysconfig/iptables CentOSでは、ファイアウォール設定が上記ファイルに保存されま

    サーバの基本的な設定ファイルとCentOS、Debian比較
    t_tsuru
    t_tsuru 2011/04/19
  • 【ぐぬぬ】iPhoneアプリのこんなとき、どうするの??

    こんにちは、iPhone大好き橋です。 今日はiPhoneアプリの作成に関する「こんなときどうするの??」という疑問にお答えするべく、小技をいくつか紹介したいと思います。 1. 文字サイズに合わせてUILabelのサイズを変えたい。 UILabelを作成するときに、Labelに表示する文字によってUILabelのサイズを変えたいということ無いですか??ただ、UILabelを作成するときはframeのサイズを指定しなきゃいけませんよね。 こんなとき、どうするの?? そんなときには、UILabelにこんなカテゴリを書いちゃいましょ。 @interface UILabel (resize) - (void) resizeWithPoint: (CGPoint)point; - (id) initWithText:(NSString *)text andFont:(UIFont *)font;

    【ぐぬぬ】iPhoneアプリのこんなとき、どうするの??
  • ionCubeを使用したライセンス管理

    こんにちは、牧野です。最近は製品関係をメインにやっています。 昨日からionCube7.0の販売を開始いたしました。 今回はあらためてionCubeの機能の一部を紹介したいと思います。 ちなみに、今回のバージョンアップでは、PHP5.3プログラムへの対応と、WindowsGUIが改良されているのが注目ポイントです。 ionCube PHP Encoderは、PHPのプログラムを暗号化する製品です。 ただ、暗号化してプログラムのコードを読めなくする機能だけでなく ・スクリプトを実行できるサーバを制限する ・ライセンスファイルがない場合に実行できなくする など、他にもいろいろ強力な機能が搭載されています。 詳しくはこちらからionCubeのページをご覧下さい。 今回は、PHPプログラムを配布する際、クライアントごとに有効期限を設けたライセンスを発行して管理するための方法を、GUI版を使って紹介

    ionCubeを使用したライセンス管理
    t_tsuru
    t_tsuru 2011/01/28
    ionCubeは本家から直接買う場合と値段が大きく違う
  • Twigでカスタムタグを追加する

    あけましておめでとうございます。小川です。 日はTwigでカスタムタグを追加する方法を紹介します。 ■Twig TwigはPHPで実装されたテンプレートエンジンの1つで、Python製のテンプレートエンジンのJinjaとほぼ同じ構文を持っています。 Webアプリケーションフレームワークsymfonyの次期バージョンでもあるSymfony2で採用されることが決定しており、Symfony界隈を中心に注目を浴びているテンプレートエンジンです。 <h1>Categories</h1> {% if categories|length > 0 %} <ul> {% for category in categories %} <li>{{ category.name }}</li> {% endfor %} </ul> {% endif %} 上記がTwigを使ったサンプルコードです。「{% %}」や

    Twigでカスタムタグを追加する
    t_tsuru
    t_tsuru 2011/01/13
  • DateTimeクラスを使ったモダンな日付処理

    こんにちは。小川です。 今回はPHPのDateTimeクラスについてご紹介します。 ----------------------------------- 最初に告知です。日Symfonyユーザー会を設立しました! ユーザー会の活動として、 - 入門者向けのサポート活動 - メーリングリストの運営 - ドキュメントの整理 - 公式ドキュメントやブログの翻訳 - 勉強会などのイベントの開催 などを行っていきます。また、昨晩に第1回 Symfonyユーザー会IRC集会を行いました。今後も定期的にIRCで集会を行います。内容はsymfonyに関する質問にお答えしたり、議論をしたりなど様々です。次回は6/20(日)の21時~23時開催を予定していますので、ぜひぜひご参加ください! ※ちなみにアシアルとしては金銭の管理やサーバーの提供などを行っています。Webサイトのデザインもアシアルのデザイナー

    DateTimeクラスを使ったモダンな日付処理
    t_tsuru
    t_tsuru 2010/06/07
  • symfonyアプリケーションをデプロイするためのCapistranoレシピ

    とすれば、symfony体とpluginsを除く、プロジェクトのファイル群を更新してくれます。 普段のリリース作業は、ほぼこれだけになると思います。 ざっと基的な使い方を説明したところで、Capistranoのインストールからの利用手順と、各タスクの紹介を順にしていきます。 なお、Capistorano自体の基的な説明は http://www.oiax.jp/rails/capistrano.html http://builder.japan.zdnet.com/sp/open-source-software-moonlinx-2009/story/0,3800096543,20396188,00.htm といったあたりをご覧ください。 一度どちらかでも目を通しておいて貰ったほうが、全体の理解が進むと思います。 では、ひとまずCapistrano自体の説明は上記のサイトを読んでもらう

    symfonyアプリケーションをデプロイするためのCapistranoレシピ
  • ドキュメントスキャナで本を電子化

    ドキュメントスキャナでを電子化 最近、紙媒体が陶しく思えてきました。 現在、コミックやラノベが合わせてかなりの数になり、読みたいものがすぐに出てこないことが多々あり困っています。 (読んでからしばらくして新刊が発売されたが、ストーリーをほとんど覚えていなかったので見返そうと思ったら、棚の奥深くに・・・) 買ったものはデータベース化しているので、買ったか買っていないかは分かっても、肝心のモノが出てこない。 さらに部屋は狭いので、保管場所に苦労する羽目に。(むしろ、そろそろ置く場所がなくなり平積みにしています) PCならば、古いファイルでもとりあえずfindとgrepがあれば検索出来るのに・・・。 それなら電子化すればいい! ということで、少々考えてみました。 電子化のメリット ・検索がすぐ出来る ・すぐに出てくる ・iPhoneなどのモバイル機器で見ることが出来る(転送orWEBアプリで

    ドキュメントスキャナで本を電子化
  • Subversionのリポジトリ下でgitを使ってみよう

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

    Subversionのリポジトリ下でgitを使ってみよう
  • DoctrineのMaster&Slaveのコネクションを操作するクラスを作成する方法

    こんにちは。笹亀です。 symfonyはバージョン2かはSymfonyと頭文字が大文字表記となるとのことで、1.0のころに間違えてSymfonyと書いてツッコミを入れられたことを思い出しました。 さて日はDoctrineのコネクションをMaster(更新 INSERT,UPDATE,DELETE)とSlave(選択 SELECT)で切り替えを行うProjectConfigurationとDoctrine_Connectionを継承したコネクションを操作するクラスを作成する方法について、ご紹介していきたいと思います。 ある程度の規模の開発をするときにどうしても必要になり、PropelにはあるのになぜDoctrineにはないのだと思い、いろいろソースとWebページを参考に調べながら作成しました。 config/ProjectConfiguration.class.php <?php requ

    DoctrineのMaster&Slaveのコネクションを操作するクラスを作成する方法
  • Symfony 2のアプリケーション構成を読む

    こんにちは。小川です。 今週からアシアルのオフィスの一部でフリーアドレス制度が導入されました。 もしフリーアドレスを実施している会社にお勤めの方がいましたら、導入のアドバイスとか、おすすめのグッズなどがあれば教えてください! (今までは机の上にぬいぐるみなどを置いていたりしたのですが、移動が面倒になった分遊び心がもてなくなってしまい面白くないので、そのあたり工夫されていることがあればぜひ!) さて、今回のテーマはSymfony 2です。先月なかごろにプレビュー版がリリースされました。ご存じの方もいらっしゃると思います。 今回はSymfony 2の特徴に加え、実際にSymfony 2で作るアプリケーションの構成はどのようになるか、ということをお話ししたいと思います。 ------------------------------------------ 追記 Symfony Component

    Symfony 2のアプリケーション構成を読む
  • symfonyのFormで確認画面を実装する方法

    こんばんは。 笹亀です。 現在使用している旧MacBook(白)が最近スペックがとてもショボく見えてきましたので、 新しくパソコン(MacBookPro)を新調しました。 インテル製のSSDも入れ変えて快適生活に浸かっています。 さて、今回はsymfonyのFormで確認画面を挟んだシンプルな流れのシステムの作り方です。 いろいろと見てみた感じでちょっとわかりにくい感じでしたので、 最初にsymfonyを始める方のためにもまとめてみたいと思います。 まずは流れについてですが、 確認画面を挟む実装というのは「入力フォーム→確認画面→完了画面」の流れで処理を行うことです。入力画面で情報を入力し、確認画面で入力内容を確認し、完了画面を表示する流れをsymfonyのFormを使って作成していきます。 まずはサンプル用に作成するスキーマ情報は下記のような感じで作成しました。 ※モデルの生成などは割愛

    symfonyのFormで確認画面を実装する方法
  • PHPの名前空間と主要フレームワークの対応について

    こんにちは、小川です。 以前、「モダンPHP勉強会」でPHP 5.3から採用された名前空間について話したことがあるのですが、今日はその時の内容の中から、主要フレームワークの名前空間の対応に関するお話しについてご紹介したいと思います。 さて、皆さんPHP 5.3はお使いになりましたか?まだまだ少ないのではないかと思うのですが、PHP 5.3にはとても魅力的な新機能がたくさんあります。以前、「PHP5.3.0がついにリリース」という記事を書きましたので、PHP 5.3の新機能についてはぜひこちらをご覧ください。 PHP 5.3の新機能の中でも目玉と言っていいのが名前空間です。先に挙げたモダンPHP勉強会で、「もっと知りたい名前空間」というテーマで発表を行いました。細かい仕組みについてはプレゼンの中で解説しますので置いておくとして、早速主要フレームワークの対応などをご紹介していきたいと思います。

    PHPの名前空間と主要フレームワークの対応について
  • PHPでコマンドライン・アプリケーションを簡単に作成する

    こんにちは、小川です。 日は、PHPで簡単にコマンドライン・アプリケーションを作成できるライブラリをご紹介します。 (日ご紹介するライブラリは実際には開発途中のものでドキュメントなども存在しません。こういうものがある、程度でとらえていただければ幸いです。) さて、みなさんsymfonyはご存じでしょうか。symfonyといえば仏Sensio社が提供するオープンソースのPHPフレームワークです。symfonyはいわゆるフルスタックフレームワークでMVCをベースに様々な機能が提供されています。symfonyにはsymfonyコマンドが存在しており、実際の開発ではこのsymfonyコマンドをもちいて、アプリケーションの雛形やデータベース操作などをコマンドラインで行うことが可能です。 こういったコマンドラインでアプリケーションの雛形を生成したりする機能は、symfony以外のフレームワークでも

    PHPでコマンドライン・アプリケーションを簡単に作成する
  • symfonyのフォームフィルターの活用 +α

    こんにちは。小川です。今日はsymfonyのフォームフィルターをご紹介します。 題に入る前に、symfonyに関連するお知らせが何点かあります。 まず、12月1日にsymfony 1.3/1.4がリリースされました! symfony 1.3は1.2までとの互換性を保ち古い機能を残したバージョン、symfony 1.4は1.3から古い機能を削除したバージョンになります。 大きな変更点として、以下のような内容があげられます。 ◆SwiftMailerメール送信ライブラリを標準で搭載 ◆フォームクラスの改良 ◆標準のORMがDoctrineに変更 ◆Doctrineが1.0から1.2、Propelが1.3から1.4へバージョンアップ 詳しいことについては、以下のリンクをご参照ください。 symfony 1.3/1.4 の新しい機能 プロジェクトを1.2から1.3/1.4にアップグレードする あ

    symfonyのフォームフィルターの活用 +α
  • sfSslRequirementFilter似のプラグインを作成しました+おまけ

    こんばんは。 アシアル笹亀です。 先週の金曜日にアシアル技術陣とKLab様で合同勉強会に参加させていただきました。とても刺激的で充実した勉強会となり、とても楽しい時間を過ごさせていただきました。 この場をお借りして、KLab様の皆様へ御礼申し上げさせていただきます。 ありがとうございました。 さて、勉強会の当日は発表する機会を与えていただきました。 発表した内容について今回は解説させていただきます。 ※Q4M (Queue for MySQL)については次回にしたいと思います。 symfonyのプラグインでsfSslRequirementがあります。 sfSslRequirementはモジュールやアクションのために、 SSLによる暗号化のサポートを提供するsymfonyのプラグインです。 上記のプラグインを元にサイトの用途にあわせたオリジナルのsfSslRequirement(trainS

    sfSslRequirementFilter似のプラグインを作成しました+おまけ
  • PDOを使ってMySQLにSSL接続するパッチ

    こんにちは、熊谷です。 PHPからMySQLに接続するドライバはいくつかあります。MySQL拡張モジュールやMySQL改良版拡張モジュール、または抽象化レイヤであるPDOを通して。 最近はPDOを使用して接続するのが一般的なのかなと思ったりするのですが、symfonyを使用する場合、どうしても選択肢はPDOをになってしまいます。今までPDOを使っていて何の問題もなかったのですが、最近一つの問題に突き当たりました。それはMySQLへのSSL接続です。 MySQLは5.0からSSLでの暗号化接続が比較的簡単に行えるようになっています。SSLでの接続方法についてはいろいろ検索すると出てきますので、そちらを参照してください。 そんなMySQLのSSL接続ですが、現時点、PHPから行うにはMySQL改良版拡張モジュールしか対応していないようで、PDOではSSL接続を行うことが出来ません。ということは

    PDOを使ってMySQLにSSL接続するパッチ
    t_tsuru
    t_tsuru 2009/09/14
  • Doctrine2.0がアルファリリースされたので使ってみた

    こんにちは、小川です。 日Doctrine2.0のAlphaバージョンがリリースされました。簡単なチュートリアルも公開されているので、日は実際に動かしてみたいと思います。 今回のリリースについては以下の記事をご覧ください。 Doctrine - Doctrine 2 Preview Release 以前僕が書いた、「Doctrine2.0について」という記事をご覧になった方でDoctrine1.xをご存じの方はわかるかと思うのですが、Doctrine2.0は全くの別物です。 上記の記事にも書いてあるとおり、実に90%以上ものコードが書き直されています。とはいえ現在はAlphaバージョン。実装されているのはまだまだ最低限の機能でしかありません。CLIやビヘイビアといった機能が実装されるのはまだ先のことでしょう。 さて、題に入っていきましょう。実際に動かすにあたって、PHP5.3が必要に

    Doctrine2.0がアルファリリースされたので使ってみた
    t_tsuru
    t_tsuru 2009/09/04
  • symfony1.2のCSRF対策について

    こんにちは、小川です。 symfony1.2ではsfFormクラスを用いてフォームのレンダリングや入力項目のバリデーションを行います。このsfFormクラスにはCSRF対策も実装されているのはご存じでしょうか。 今回はこのCSRF対策が具体的にどのように行われているかをお話ししたいと思います。 先にどのような手法で対策を行うかですが、フォームごとに異なるトークンをHTML上に埋め込み、その値をバリデーション時にチェックするという方法で対策を行っています。 具体的にどのようにトークンが生成され、どのようにチェックを行っているかは後ほど詳しく説明します。 CSRF対策を有効にするためにはどうすれば良いでしょうか。Jobeetなどでsymfony1.2について学んだ方はご存じかと思います。 CSRF対策は各アプリケーションごとに設定可能で、アプリケーション作成時に以下のようにすることで有効になり

    symfony1.2のCSRF対策について