タグ

ブックマーク / bashalog.c-brains.jp (22)

  • PHP で祝日の情報を扱うライブラリ Yasumi | バシャログ。

    2丁目から同じ町の1丁目に引っ越す kagata です。 さて、今回は表題のとおり、PHP で祝日を取り扱うのにたいへん便利なライブラリ Yasumi をご紹介します。日国内ではまだあまり使われていないのか、「PHP 祝日」みたいなキーワードでぐぐってみてもなかなか使用例が出てきません。すごく使い勝手がよいので、ぜひ広まってほしいとの願いを込めてお送りします。 Yasumi のいいところ オフライン対応 祝日の情報を取り扱う方法のひとつに、Google Calendar API をはじめとする外部のリソースからカレンダーを取得する、というものがあります。 これはこれでお手軽なのですが、インターネットに接続できない隔離された環境ではこの手が使えません。また、実装によっては外部 API サービスが落ちているせいで使えなくなる、なんてことも起こるかもしれません。 Yasumi は祝日それぞれの

    PHP で祝日の情報を扱うライブラリ Yasumi | バシャログ。
    oppara
    oppara 2018/09/26
  • 【Review Apps】GitLab CI を使って、自動デプロイ・自動レビュー環境作成を実現する | バシャログ。

    こんにちは、tanakaです。ゴールデンウィーク中は、ダラダラと過ごさないためにコワーキングスペースの勉強会とかに参加してました。 参加した日以外はダラダラと過ごしていました…。 今日はGitLab CI で Review Apps を使って、gitリモートリポジトリへの反映と同時に自動デプロイしたり、ブランチからレビュー環境を構築する方法を紹介します。 面倒な作業は自動化して、プログラミングなどの作業に集中できるようにしたいですね。 前提 静的ブログジェネレータ Hexo を使ってコンテンツを生成します 生成したコンテンツを rsync で公開サイトやレビュー環境にコピーします master ブランチへの更新は自動的に公開サイトにアップされます。ブランチの更新はレビュー環境にアップされます。(ブランチごとにレビュー環境が作成されます) ブランチが master にマージされたり、削除され

    【Review Apps】GitLab CI を使って、自動デプロイ・自動レビュー環境作成を実現する | バシャログ。
    oppara
    oppara 2018/03/07
  • 【アクセシビリティ】HTML/CSSで突っ込まれた点をメモメモ | バシャログ。

    来週遅めの夏休みをいただき、東北へ旅行の予定を立てている kouraku です。おはこんばんちは。 さて今回は、とある案件でアクセシビリティ:AA レベルのサイト制作を行ったとき、専門の方から色々と指摘をいただいて、その対応に苦労したり、そんなことしないといけないのか!と思った内容のいくつかを忘れないようにメモしておこうと思います。 ・・・とその前に、アクセシビリティって何? 「アクセシビリティ」の意味と混同しがちな言葉が「ユーザビリティ」です。ユーザビリティとは、W3Cでは次の内容で定義されています。 Extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specifie

    【アクセシビリティ】HTML/CSSで突っ込まれた点をメモメモ | バシャログ。
    oppara
    oppara 2017/09/11
  • GitLab Meetup Tokyo #1 に参加しました | バシャログ。

    この記事は GitLab Pages で公開した GitLab Meetup Tokyo #1 に参加しました と内容は同じです。 GitLab Meetup Tokyo #1 - connpass GitLab Meetup Tokyo #1 #gitlabjp - Togetterまとめ GitLab をまだまだ使いこなしたい tanaka です。 2017/03/02(木) にピクシブ株式会社オフィス(千駄ヶ谷)で行われたGitLab Meetup Tokyo #1に参加しました。ブログ絶対書く枠で参加したので GitLab Pages でレポート公開します! 参加のモチベーション 業務用のプライベートな Git リポジトリとして GitLab を使っていて、社内の技術情報共有でも使っている 制作フローの省力化、自動化のため GitLab CI を試していて、ノウハウを集めたかった。

    GitLab Meetup Tokyo #1 に参加しました | バシャログ。
    oppara
    oppara 2017/05/14
  • CircleCIで始めるCakePHP3アプリの継続的インテグレーション(2) - MySQL DBを用いたテスト | バシャログ。

    月末にウワサされている某イベントに期待を膨らませているtanakaです。 前回の記事(CircleCIで始めるCakePHP3アプリの継続的インテグレーション)に続いて、 データベースを使ったテストをCircleCIで実行できるようにします。 目次 前回のおさらい Step 0)設定の管理について Step 1) ローカル開発環境でMySQL接続設定を行う Step 2) データベースを使ったテスト(1) マイグレーションファイルを作成する(accountsテーブルの作成) Step 3) データベースを使ったテスト(2) 実装およびテスト Step 4) CircleCIMySQLデータベースを使ったテストを行う まとめ 前回同様、ローカル環境でテストできるようにしてから、CircleCIの設定を書きますので、「ローカルではできてるよ!」という場合はStep 4までジャンプしてOKで

    CircleCIで始めるCakePHP3アプリの継続的インテグレーション(2) - MySQL DBを用いたテスト | バシャログ。
    oppara
    oppara 2016/11/07
  • 【5 Stepでわかる】CircleCIで始める、CakePHP3アプリの継続的インテグレーション | バシャログ。

    こんにちは、Apple Watch Series 2を買いましたtanakaです。心拍数、歩数、消費カロリーなどを数値化してくれると、日常がゲームのように感じられて楽しいですね。 最近のプロジェクトで、CakePHP3アプリをCircleCIでビルドする環境を構築しましたので、 アプリを作成するところからCircleCIでビルドするまでをご紹介します。 リポジトリがGitHubで公開されても良いなら、無料で試せますヨ。 目次 継続的インテグレーション(Continuous Integration)とは 前提 Step 1) CakePHP3アプリの作成 CircleCIでビルドするまでの流れ Step 2) GitHub上のリポジトリにPushする Step 3) CircleCI にアカウント登録 Step 4) プロジェクトを選択して、最初のビルドを実行 ビルドで何をやっているか St

    【5 Stepでわかる】CircleCIで始める、CakePHP3アプリの継続的インテグレーション | バシャログ。
    oppara
    oppara 2016/11/07
  • CakePHP 3 Routingの_name オプション が便利すぎる。 | バシャログ。

    どうもfujiharaです。 日で1年の4分の3が終わったわけですが早くないですか? 昨年の日のハロウィンがーーって話がつい最近の気がしてなりません。 日はCakePHP 3 の新しいRoutingで凄い便利だったものをご紹介致します。 抜粋:ルーティングは URL をどコントローラーのアクションと関連付けてマッピングするか決める機能です。 ルーティングより抜粋 例えば /login にアクセスが有った場合にAccountsコントローラのloginメソッドを実行するなどの指定が可能です。 CakePHP2 の場合は以下のように設定していました。 //CakePHP2の場合 Router::connect( '/login', ['controller' => 'accounts', 'action' => 'login'], [] //option ); CakePHP3の場合も基

    CakePHP 3 Routingの_name オプション が便利すぎる。 | バシャログ。
    oppara
    oppara 2016/11/07
  • Vagrant+ItamaeでPHPアプリケーション開発環境を作る | バシャログ。

    マウスといえばロジクール!なtanakaです。先日発売されたMX Master、もちろん買いました。数えてみるとVX Revolutionから始めて、7台は買ってました。先代のM950にくらべて形が少し変わりましたが、軽くなって操作しやすくなったと思います。 今日は、PHPアプリケーションの開発環境をVagrantとItamaeを使って構築する方法を紹介します。 Itamae について Itamaeとはサーバーの構成管理をするツールです。作成したサーバの設定を自動化してメンテナンスしやすくするために使います。設定ファイルの記述がシンプルなのが特長です。 私は、ITエンジニア向けイベントCROSS 2015のセッション インフラエンジニア睡眠時間を確保する方法 ~Infrastructure as a Code時代のインフラ運用~に参加していて、Twitterに流れてきたコメントで知りまし

    Vagrant+ItamaeでPHPアプリケーション開発環境を作る | バシャログ。
    oppara
    oppara 2016/04/19
  • Vagrant+CentOS ゲストOS内にItamae をセットアップする | バシャログ。

    三大キャリアからIIJMioに切り替えたら、通信速度が気持ち遅めになり通信料が節約できてるtanakaです。 今回はVagrant + Itamae の話をします。ローカル開発環境を構築するときには Vagrant + vagrant-itamae プラグイン をよく使います。しかし自動化になれて Resource の数が増えてきて変更点がなくても10分以上かかることが多くなりました。 そこで仮想マシン内にItamae環境を作り、sshログイン後ローカルで itamae local コマンドを実行する用にしたところ、10~20秒に短縮できましたので方法をご紹介します。 前提 プロジェクトのディレクトリにファイルは以下のように配置されているものとします。 ├── Vagrantfile └── itamae ├── recipe.rb └── node.json Vagrantfile に次

    Vagrant+CentOS ゲストOS内にItamae をセットアップする | バシャログ。
    oppara
    oppara 2016/04/19
  • これって使えたっけ?今だからこそ IE8 対応コーディングのポイントをおさらい | バシャログ。

    こんにちは。Latinです。 今年は長めの夏休みが取れそうなので、旅行でも行こうと画策しております。 さて今回は、久々にコーディングネタです。 弊社の最近の案件では、対象ブラウザがIE8+という案件がほとんどになってきました。 「安心してください。IE10以上です。」 なんて言われたら嬉しい限りなんですが、まだまだ少ないのが実状です。 「悪夢のIE7対応」を考えなくて良くなっただけでもコーディングはだいぶ楽になりましたが、「IE8」は「IE8」でいろんなクセを持ってますよね。 今回はそんな今だからこそ、「IE8対応のポイント」をまとめてみます。 【IE8の仕様編】 HTML5に対応していない HTML5のサイトで「IE8対応」が必要になってくる場合、ポピュラーな方法としては二つあります。 html5shiv.js などの拡張ライブラリを IE9 以下のIEで読み込ませる HTML5要素自体

    これって使えたっけ?今だからこそ IE8 対応コーディングのポイントをおさらい | バシャログ。
    oppara
    oppara 2015/07/17
  • PHP でパスワードを保存するなら Blowfish でハッシュしよう | バシャログ。

    今週末に劇場公開される『平成ライダー対昭和ライダー 仮面ライダー大戦 feat.スーパー戦隊』に草加雅人が登場するときいて期待よりも不安に駆られている kagata です。仮面ライダーが30人も出てくるお祭り映画で、彼の腐りきった性根もとい、複雑に屈折したキャラクターを描ききることができるのでしょうか。いきなりいい奴になってたらどうしよう…そう、たとえば劇場版ジャイアンのように…。 さて、今回は PHP とパスワードハッシュのお話です。パスワードを平文で管理していた時代は遠く過ぎ去りました(と思いたい)。またパスワードハッシュのアルゴリズムも、かつてよく使われた MD5 や SHA1 よりも安全とされるものが登場しています。そんな中、今現在のベストプラクティスはどうなっているのか、PHP マニュアルの公式(?)見解をひもといてみました。 PHP マニュアルの見解 PHP マニュアルにはその

    PHP でパスワードを保存するなら Blowfish でハッシュしよう | バシャログ。
    oppara
    oppara 2015/06/20
  • [Linux] ディレクトリ構成図作るのに便利だよ tree コマンド | バシャログ。

    今年も残す所あと 1 ヶ月!みなさん張り切っていきましょう~!どうもこんにちは nakamura です。 今回も Linux のちょいネタです。知ってる人は何を今更な tree コマンドのご紹介。たまにディレクトリ構成図とか作ることがあると思いますが、こいつを使えばズバッと一発で作れてしまうニクイやーつなのです。 オプション色々 よく使うオプションはこんな所でしょか。 -a ファイル名の頭にドットがつく隠しファイルも表示してくれるオプション。 -d ディレクトリのみを表示してくれます。 -l シンボリックリンクを辿ってくれます。 -P, -I -P は正規表現にマッチするファイル、ディレクトリのみを表示、-I はその逆です。 -F ディレクトリ名の末尾にスラッシュを付与してくれます。 -L 何階層目まで再帰的に表示するか指定できます。 -o 出力をファイルに書き出します。 よくやる使い方

    [Linux] ディレクトリ構成図作るのに便利だよ tree コマンド | バシャログ。
    oppara
    oppara 2014/07/07
  • Jenkins で CakePHP 1.3の自動テストを行う | バシャログ。

    仕事でCakePHP 1.3のユニットテストを書きました。 Jenkinsで自動実行させるのが、前にやったときより簡単にできたので 手順をご紹介します。 (職場はLinuxで、紹介するのはMac OS Xでの手順なのでいくつか違う点がありますが) 環境 今回は次の環境に自動テスト環境を作ってみました。 Mac OS Xにインストールしてみましたが、Cent OSにインストールしたときでも、Jenkinsのインストールとテスト実行コマンド以外はほとんど設定方法にかわりはありません。 なお、CakePHPの環境はすでに構築済みでSubversionでバージョン管理していることとします。 Mac OS X 10.7(Lion) PHP や ApacheはHomebrewで用意しました(PHP は5.3.10がインストールされています) CakePHP 1.x系のテスト結果をJenkinsに取り込

    Jenkins で CakePHP 1.3の自動テストを行う | バシャログ。
    oppara
    oppara 2014/03/11
  • どのテーマがお好き?【Web開発者向け】様々なエディタテーマがダウンロードできるサイト devthemez | バシャログ。

    どのテーマがお好き?【Web開発者向け】様々なエディタテーマがダウンロードできるサイト devthemez | バシャログ。
    oppara
    oppara 2013/09/03
    どのテーマがお好き?【Web開発者向け】様々なエディタテーマがダウンロードできるサイト devthemez | バシャログ。
  • 【CSS】擬似クラスの:(hoge)-child系と:(hoge)-type系の違いをここいらでしっかり覚えておこうか。 | バシャログ。

    対象になるグループの範囲は? :(hoge)-child系、:(hoge)-type系のいずれもグループ内での順番を判定します。 その対象となるグループは、同じ階層に並んでいるひと続きの要素群となります。 図にするとこのような感じ。 直属の親要素が異なると、別グループになります。 また、グループ内の要素の種類は一種類に限りません。 「:(hoge)-child」は並び順→要素、「:(hoge)-type」は要素→並び順 ポイントはここ。 :(hoge)-child系と:(hoge)-type系では、並び順と要素の判定順が逆になります。 :(hoge)-child系はまず並び順を見て、次にそれが要素と一致するかを見ます。 :(hoge)-type系は指定の要素だけにしぼって、その上で並び順を見ます。 最後のdt、1つ目のddにスタイルがあたらなくて困った場合、 dt:last-child {

    【CSS】擬似クラスの:(hoge)-child系と:(hoge)-type系の違いをここいらでしっかり覚えておこうか。 | バシャログ。
    oppara
    oppara 2013/07/04
    【CSS】擬似クラスの:(hoge)-child系と:(hoge)-type系の違いをここいらでしっかり覚えておこうか。 | バシャログ。
  • 【CSS】画像を上下中央に表示する(IE7以下にも対応させる) | バシャログ。

    娘が小学二年生になり、みまもりケータイ2を買い与えました ishida です。 娘がケータイのボタンを押すたびに、位置情報が送られてきて便利なのですが、 電話をかけたときにも、位置情報がメールで送られてきてちょっと通知頻度高すぎなんじゃね? さてさて、今回はとある案件で画像を上下中央に表示する機会がありまして、 忘れないように自分的メモです。 CSS3が使えるようになってからは、display: table-cell; で簡単に対応できるようになりましたよね。 例としては、こんな感じ。 HTML/CSSコードサンプル <div class="box"> <p class="image"><img src="image.png" alt="" width="200" heigh="200"><p> </div> .box { display: table; } .box .image { d

    【CSS】画像を上下中央に表示する(IE7以下にも対応させる) | バシャログ。
    oppara
    oppara 2013/04/08
    【CSS】画像を上下中央に表示する(IE7以下にも対応させる) | バシャログ。
  • 【jQuery】jQueryでパラパラアニメを実現するプラグイン | バシャログ。

    ノストラダムスのことも思い出してあげてください。minamiです。 jQueryを使ってちょっとしたアニメーションを作ることも多いかと思いますが、jQuery.animateのようにCSSのプロパティをいじってアニメーションするのに加えてちょっとだけgifアニメのようなことができたらな~ということでjQueryのプラグインを作ってみました。 まずはサンプルをごらんください。 サンプル アニメーションの出来はともかくとして、動いています。STOPボタンを押すと途中で止めることもできます。 しくみ 用意するもの アニメーション用png(スプライト) jQuery※サンプルではv1.8.2 jquery.backgroundpos.min.js jquery.limitAnime.js まずアニメーション用の画像ですが、下記のようにコマを均等な幅で作った一枚の画像を用意します。これを要素の背景画

    【jQuery】jQueryでパラパラアニメを実現するプラグイン | バシャログ。
    oppara
    oppara 2012/12/25
    【jQuery】jQueryでパラパラアニメを実現するプラグイン | バシャログ。
  • ビット演算を使ってスマートプログラミング(MySQL&PHP) | バシャログ。

    データベースのテーブルのID列にちょっとした意味を持たせ、ビット演算を使ってすっきりと条件抽出をする小技をご紹介します。 例題として、次のようなデータベースを考えます。 ユーザ情報とサービス情報のテーブルがあり、ユーザ情報には各々の利用サービス情報が登録されている。 サービスは3タイプ(A、B、C)×3期間の計9種類が存在する。 一般的な設計方法 通常、テーブルのID列を整数型にし、1から順に一意のID番号を振っていくようにするのがデータベース設計の基であり、もっとも簡単な方法になります。 ユーザ情報テーブル users +----+-----------------------+ | id | name | service_id | +----+-----------------------+ | 1 | sakai | 1 | | 2 | kimoto | 2 | | 3 | ish

    ビット演算を使ってスマートプログラミング(MySQL&PHP) | バシャログ。
  • vim から PHP_CodeSniffer を利用する方法 | バシャログ。

    ノートパソコンを、自転車に乗りながら持ち運べるように、バッグを買った tanaka です。 今日は、PhpStorm で CakePHP のコーディングスタイルを自動チェックする - バシャログ。に関連して、vimPHP_CodeSniffer を実行する方法を紹介します bpearson/vim-phpcs ・ GitHub を使う 実際使うにあたっては、プロジェクトごとにコーディングルールが自動設定できるか?という点が重要だと思います。bpearson/vim-phpcs ・ GitHubというプラグインを試したところ、後述する、vimrcの設定と組み合わせることで、できました。 とりあえずこれをインストールします。 インストールについては一般的なインストール方法と同じなので省略します。GitHubなので、Shougo/neobundle.vimGitHubを使って簡単にイ

    vim から PHP_CodeSniffer を利用する方法 | バシャログ。
  • [ステップアップ! CakePHP] Shell を使ってコマンドラインで CakePHP | バシャログ。

    こんにちは、inoueです。いよいよサッカーW杯!それ以上に水曜夜の「イナズマイレブン」と日曜朝の「GIANT KILLING」に私は夢中です。 さて、CakePHP 連載の8回目はコマンドラインでCakePHPを活用する方法の紹介です。 以前のエントリー「【CakePHP】ShellとTaskで作る簡単コンソールアプリ」では、 対話式アプリケーションの作り方についてお話しました。 今回はcronを使った定時実行で役立つ CakePHP Shellの使い方をお話したいと思います。 Shell の一番のポイントは、webアクセスと同じ設定を利用できる点です。 通常のPHPのコマンドラインスクリプトですと、includeするファイルなどを別途指定したりなどに手間がかかります。 CakePHPならば、appディレクトリのパスを指定するので、そのappの設定をコマンドライン上でも利用できます。 実

    [ステップアップ! CakePHP] Shell を使ってコマンドラインで CakePHP | バシャログ。