年明けの最初のタスクとして、年号表記を変更する人もいると思います。 フッタなどの年号表記をJavaScriptやPHPで、その年の表記に自動更新させる便利なコードを紹介します。 Update Your Footer ドメイン名、気合い入ってますね。 JavaScriptで年号表記を自動更新 PHPで年号表記を自動更新 JavaScriptで年号表記を自動更新 JavaScriptはクライアントサイドで機能するため、年号はユーザーの時間設定に依存して取得されます。
年明けの最初のタスクとして、年号表記を変更する人もいると思います。 フッタなどの年号表記をJavaScriptやPHPで、その年の表記に自動更新させる便利なコードを紹介します。 Update Your Footer ドメイン名、気合い入ってますね。 JavaScriptで年号表記を自動更新 PHPで年号表記を自動更新 JavaScriptで年号表記を自動更新 JavaScriptはクライアントサイドで機能するため、年号はユーザーの時間設定に依存して取得されます。
PHPはよくDISられることがあります。しかし、実際にはほとんどPHPを利用していない人が印象だけでDISってることが多いような気がします。 そこで、PHPがよくDISられている点について、実際どうなのかをPHP未体験者向けに解説していきたいと思います。PHPを触ったことない人でもわかりやすいようにシンプル目な仕様のRubyを例に説明していきたいと思います!( Ruby触ったことなくても、その他のOOP言語を触ったことあれば雰囲気は理解できるように書いています ) DIS例1 / PHPは配列操作がしづらい PHPの配列操作は扱いづらい等とDISる人たちがいます。実際のところどうでしょうか。 以下のような処理を配列への中間変数を用いず行うコードを例に考えてみます。
PHPerで使っていない人はいないというぐらい、メジャーなPHPの依存管理ツールComposer。 ですが、動作が遅いという欠点があります。 Composerが遅い原因は主に下記だそうです。 packagist.orgが日本から遠い composerのアーキテクチャ的に、小さなjsonファイルを少しずつダウンロードするため、ネットワークの遅延がもろに影響する composerがfile_get_contentsでjsonをダウンロードしていて、どうやらKeep-Aliveを使っていないし、並列ダウンロードもしていない Qiita またある日@cakephperさんがこんなことを呟いていました。 アメリカでcomposer installしたら高速すぎてビックリした— cakephper (@cakephper) 2015, 11月 17 そしたら、packagistのミラーサイト作ればいい
こういったインフラ周りは日頃触らず忘れやすいので、自分の備忘録としてまとめておきます。 環境はAmazon EC2です。 CentOS6.xと7の主な変更点 「service」コマンドと「chkconfig」コマンドが、「systemctl」コマンドに統合 「iptables」が「firewalld」に変更 「ntpd」が「chronyd」に変更 「ifconfig」が「ip」コマンドに変更 ユーザーを「centos」から「root」に切り替える方法 CentOS7の場合、初期ユーザが「centos」でした。 「root」になるには新しくパスワードを作成する必要があるようです。 Apachのインストール 「service」コマンドは「systemctl」コマンドに変わったので、以下になります。 chkconfig -listの代わりに 以下のコマンドで、自動起動設定を一覧で確認出来ます。
最近は開発環境を仮想化するケースが増えてきました。元々WindowsではPHPの開発時にVMWare Playerを使ってLinuxを動かして開発することが多かったですが、それがMac OSXやLinuxであっても有益に使われています。一つのプロジェクトであれば環境をローカルに作ってしまっても良いのですが、プロジェクトごとに異なる環境を用意したり、LAMPだけに限らないアーキテクチャの場合に開発に携わる人員分、環境を作るのは大変です。 そこで今回はphpstackを紹介します。CoreOS上にDockerを使って様々なサービスをインストールして様々なプロジェクトに対応できるPHP開発環境を構築してくれます。リモートにログインせずとも使えるという利点があります。 必要なもの Docker Docker Compose オプションとして、 Vagrant VirtualBox があると便利です
知る者は言わず、言う者は知らず — 老子 世界で最も有名なプログラムの 1 つに、 hello world というものがあります。 <?php echo 'hello, world'; 出力先に対して「hello, world」という 12 字を書き込むだけの単純なプログラムで、プログラミング言語やライブラリの利用例を最小限の形で示すものです。 この記事ではメジャーな Web プログラミング言語の 1 つである PHP 処理系が、hello world をどのように実行するのかについて、簡単に解説します。 以下の 4 節で構成されています。 「PHP スクリプト実行の大体の流れ」は実行時の概略を箇条書きでまとめたものです。 「SAPI」では、PHP 処理系の起動のされ方についての基礎知識を解説します。 「Zend Engine とオペコード」は PHP 公式処理系の仮想マシンの命令と、PH
Habakiri Bootstrap ベースのシンプルな WordPress テーマ。レスポンシブ、多くのカスタマイズ機能。圧縮された CSS・JS を使用する高速化対策。Microformats 対応。Sass、クラスベースの functions.php。 公式サイトを見る 先日、WordPress の公式テーマディレクトリにテーマ Habakiri が掲載されました。以前掲載された Kotetsu に続き2つ目のテーマ掲載となります。 お使いの WordPress の管理画面にログインし、テーマインストール画面で「Habakiri」と検索すればすぐにインストールできます。このサイトも Habakiri を親テーマとして使っているので、だいたいの雰囲気はわかるかなと思います。 Habakiri の特徴 WordPress テーマ Habakiri には次のような特徴があります。 Boot
PHPカンファレンス関西2015での私のセッション「PHPに無いセキュリティ機能」のスライドです。 何が無いのか、知っていれば対応できます。 何が問題になっているのか、知っていれば対応できます。 セキュリティ対策は職人技敵(脆弱性対策をコード中に散りばめ、全体を把握しないと安全にできない作り方)ではなく、CERT/SANS/OWASPが推奨するセキュリティ対策を行い、エンジニアリング的(科学的、体系的な作り方)を行う方が簡単かつより安全、高品質なアプリケーションを作れます。 PDFをダウンロードしたい方はブログをご覧ください。 http://blog.ohgaki.net/missing-security-related-parts-of-phpRead less
最初に「読む」PHP(クジラ飛行机)を読みました。本書にはセキュリティ用語(クロスサイトスクリプティング、SQLインジェクション等)はほとんど出てきませんが、脆弱性についてよく配慮された記述となっています。しかし、その細部の詰めが甘く、脆弱性が混入してしまいました。その内容を報告したいと思います。 クロスサイトスクリプティング 出力時にHTMLエスケープするという原則を比較的早い段階で説明しています。その説明が素晴らしいと思いました。 ユーザーから送信されたデータを、PHPを使ってそのまま画面に表示することは、レイアウトの崩れや セキュリティ上の危険につながります。必ず、HTMLに変換してから表示します。そこで、画面に「(^o^)<Hello」と表示するプログラムを作ってみましょう。 「HTMLに変換して」という表現がとてもいいですね。難しくいうと、Content-Typeをtext/pl
どうも、筋トレにハマっているたきゃはしです。 本日はPHPにおける日付時刻のライブラリについて書いていきたいと思います。 突然ですが、日付や時刻が絡む処理って意外とやっかいだと思いませんか?おそらく皆さんもいくつか思い当たるフシがあるかと思いますが、そんなやっかい事も Carbon(カーボン)を使えば解消できるかもしれません! Carbon - A simple PHP API extension for DateTime. Carbon とはPHPのDateTimeクラスを継承して拡張された日時操作ライブラリです。 「Carbonってどうなの?流行ってるの?」という方向けに予め補足致します。 Carbonはすでに人気のフレームワークに統合されていたり、GitHubで☆3000に迫る評価もありますのでDateTimeライブラリとしてデファクトになるんじゃないかと予想できます。 ではインスト
Updated 2015.12.07 / Published 2015.04.04 Firefox OSやWindows Phoneの登場でユーザエージェント情報に依存して処理を行っている部分が相次いで見直しを迫られることになりますので、2015年版JavaScriptユーザエージェント判別・判定と同趣旨でPHPにてスマートフォン・タブレットまわりのユーザエージェントを判別・判定して分岐処理を行う手順をご紹介します。 <?php class UserAgent{ private $ua; private $device; public function set(){ $this->ua = mb_strtolower($_SERVER['HTTP_USER_AGENT']); if(strpos($this->ua,'iphone') !== false){ $this->device =
古い書籍に掲載されたPHP記述の掲示板ソフトを動かしていると、ログアウト処理がうまく動作していないことに気がつきました。チェックの方法ですが、ログアウト処理の脆弱性検査の簡単なものは、「安全なウェブサイトの作り方」別冊の「ウェブ健康診断仕様」に記載されています。 (J)認証 ログアウト機能はあるか、適切に実装されているか ログアウト機能がない、あるいはログアウト後「戻る」ボタンでセッションを再開できる場合 この仕様書にある通り、『ログアウト後「戻る」ボタンでセッションを再開できる』状態でした。 おそらくセッション破棄がきちんと書かれていないのだろうと思いログアウト部分のソースを見ると、以下の様な処理内容でした(オリジナルからはリライトしています)。 <?php // logout.php require_once('common.php'); // 共通の設定・処理 session_sta
(2015-04-22 追記) この記事は古くなっています。最新のベンチマーク結果は https://github.com/kenjis/php-framework-benchmark を参照願います。現在はベンチマークポリシーの一部を変更し、ベンチマーク対象フレームワークが増え、バージョンも更新されています。 CakePHP 3.0がついにリリースされ、CodeIgniter 3.0もBEAR.Sunday 1.0もリリース目前です。 そこで、以下の 9 10の最新PHPフレームワークをベンチマークしてみました。 Phalcon 1.3.4 CodeIgniter 3.0-rc3 Slim 2.6.2 Yii 2.0.4 FuelPHP 1.8-dev Silex 1.2.3 BEAR.Sunday 1.0.0-rc2 CakePHP 3.0.0 Symfony 2.6.5 Larave
Photo by Robyn Jay こんにちは。谷口がお送りします。 プログラミングをこれから学ぼうとしている方の中には、「PHPを使えるようになりたい」という方も多いかと思います。 PHPは日本国内に20万人もの開発エンジニアがいるともいわれ、求人案件も非常に多い言語です。広くWeb系のサービス開発、ゲーム開発などで利用されており、少し前までその多くがLAMP環境(Linux+Apache+MySQL+PHP)と呼ばれる組み合わせの開発環境で開発されていました。最近では、CakePHPやSymfonyといった、よりWebアプリケーションを素早く作れるフレームワークによる開発も増えています。 実際のサービスでは、Facebookは現在はHackというPHP互換の言語で作られていますが、少し前まではPHPで開発されていました。また、国内ではグリーやpixivなどのサービスもPHPで開発され
Photo by ITU Pictures こんにちは。谷口です。 プログラミング初心者の方々、プログラミングを学びたい方々は、普段どのような方法で学習をしていますか? 最近は、Web上でコーディングができるサイトや、プログラミングを学習できる動画コンテンツなど、独学での勉強に役立つサービスが増えてきました。そこで今回は、初心者でも独学でプログラミングの基礎を楽しく学べるサービスを11件ご紹介いたします。 ■初心者でもプログラミングして実行できる!学習サイト ◆1.Codecademy http://www.codecademy.com/learn 学習可能言語:HTML/CSS、Ruby、Python、PHP、JavaScript、jQuery 対応言語:英語(一部日本語) 料金:無料 Codecademyは、実行環境を構築しなくても、書いたコードを実行できます。サインインすると実際にW
やあPHP! 最近なんだかまともだなぁ PHP開発の上で実用的なツール群について、RubyやPythonほどには知名度がないので紹介したい。Windowsのことは知らないので、各自がんばってほしい。 筆者はもともとRubyの方から来たので、Rubyとの比較が多いのは留意されたい。 この記事の内容と直接関連はしないが、併せて読まれたい PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita 準備 MacだとHomebrewがあると依存ライブラリを集めるのが楽でべんり。 これは個人の趣味の話なのだけれど、自分でインストールする実行ファイルは$HOME/local/binに置くのが好きだ。 筆者はZ Shellユーザーなので https://github.com/zonuexe/dotfiles/blob/master/.zshenv#L1-L13 のようにしてる。 PHPBrew
2017/03/30 追記 新しいバージョン (v2.0) の記事を書きましたのでこちらもご覧ください fivestar.hatenablog.com この記事は PHP Advent Calendar 2014 の8日目の記事です。 コーディング規約が守れない方とお悩みの方も、チームメンバーがなかなか守ってくれないとお悩みの方も、 PHP CS Fixer があればもう安心。PHP CS Fixer が PHP コードをコーディング規約に沿って整えてくれるので、秩序ある PHP ライフが約束されるでしょう。 そんなこんなで PHP Advent Calendar 2014 の 8 日目ですね。みなさんこんにちは、 fivestar こと小川です。いつのまにかクロコスがなくなって Y の人になっちゃいましたね。 昨今は PSR (PHP Standard Recommendation) の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く