タグ

ブックマーク / dqn.sakusakutto.jp (13)

  • PHP5.6からPHP7にアップグレードして実際にはまった点9個 · DQNEO日記

    仕事で使っているPHPアプリケーションをPHP7 beta1で動かしてみたらそのままでは動きませんでした。 私が実際にはまった点を紹介します。 なお、PHP7の変更点についてはhnwさんの記事に詳しく網羅されているのでご一読ください。 PHP7で変わること - hnwの日記 Apacheのモジュール名が変わっていた ApacheにPHPを組み込むためのモジュール(俗にいうmod_php)のモジュール名・ファイル名が変更になっていました。 LoadModule php5_module modules/libphp5.so ↓ LoadModule php7_module modules/libphp7.so memcache extensionがインストールできない PHPからMemcachedを使うためのExtensionには2つあります。 memcache memcached memca

    PHP5.6からPHP7にアップグレードして実際にはまった点9個 · DQNEO日記
    k-holy
    k-holy 2015/07/17
    うちの利用環境的には問題なさそう
  • [jQuery]$(form).submit()が効かないときの対処法 · DQNEO日記

    jQueryで、$(form).submit()とか$(form).trigger('submit')とかしてもフォーム送信されない現象に遭遇しました。 <input type="submit" id="submit" value="送信ボタン" /> とか <input type="submit" name="submit" value="送信ボタン" /> のような要素があると、ダメみたいです。 idとかnameに"submit"という文字列を使わない方がいいみたいですね。

    [jQuery]$(form).submit()が効かないときの対処法 · DQNEO日記
    k-holy
    k-holy 2015/01/07
    これハマったの二度目…
  • [php]本当は怖いcomposer (require-devの落とし穴について) · DQNEO日記

    composer.jsonの"require-dev"という仕組みには落とし穴があります。 使うときは十分気をつけましょう。 そもそも"require-dev"とは何か? 番環境で必要のない開発環境用のパッケージを記述する場合に使います。 { "require": { "symfony/http-foundation": "2.4.*", }, "require-dev": { "phpunit/phpunit": "3.7.*" } } 例えばこのように記述すると、番では"http-foundation"のみを使い、開発環境ではそれに加えて"phpunit"も使う、というようなことが可能になります。 うっかり"require-dev"パッケージを呼び出すコードを書いてしまうと事故になる。 例えばプロジェクトYAMLファイルを扱いたいと思って"symfony/yaml"を呼び出すコー

    [php]本当は怖いcomposer (require-devの落とし穴について) · DQNEO日記
    k-holy
    k-holy 2014/07/29
    アプリケーションコードにsymfony/yamlへの依存があるなら、それをcomposer.jsonに書き込むのが正道では
  • 20万行の大規模サイトのPHPを5.1から5.4に上げた話の続き · DQNEO日記

    「ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ」の続きです。 前回記事の反響が予想以上に大きく、たくさんの人に読んでいだたきました。 はてぶやTwitterで感想をいただいたみなさんありがとうござました。 補足を書きます。 「3年」を強調しすぎたかも 着手しはじめてから完了するまでが2年9ヵ月だったので「3年」と書いたわけですが、「3」という数字にインパクトがありすぎたようです。 実際には途中で心が折れて放置してた時期が数か月あります。 他にも、バージョン管理システムをSubversionからGitに移行するのに5ヵ月かかってる(これも日々の開発・運用の片手間でやった)ので、その間はPHPバージョンアップ作業は止まってました。 って移行プロジェクトばっかりやってるなw 仕事で使ってる巨大SVNレポジトリをGithubに移管するためにやったことま

    20万行の大規模サイトのPHPを5.1から5.4に上げた話の続き · DQNEO日記
    k-holy
    k-holy 2013/11/20
    セキュリティ確保のためには恒常的なコストをかける必要がある、ということが常識になるといいですね
  • やってみよう!PHPの内部構造の動きをC言語レイヤーで見る方法 · DQNEO日記

    GDBで実際の挙動をみて確認する まずPHPを--enable-debugでコンパイルします。 wget http://jp2.php.net/get/php-5.4.14.tar.gz/from/jp1.php.net/mirror -O php-5.4.14.tar.gz tar xfz php-5.4.14.tar.gz cd php-5.4.14 ./configure --disable-all --enable-debug make 次に、gdbphpバイナリを起動します。(gdbが入ってない場合はyum/aptなどでインストールしてください。) gdb sapi/cli/php 起動したら、print_rにブレークポイントを仕掛けます。 (print_rでなくても他の関数でもよいです。) 組み込み関数にはzif_という接頭辞をつけるという暗黙のルールがあります。 (gdb)

    やってみよう!PHPの内部構造の動きをC言語レイヤーで見る方法 · DQNEO日記
    k-holy
    k-holy 2013/06/24
  • Gitで、リモートにあるブランチを削除する方法 · DQNEO日記

    削除されたか確認 $ git branch -r origin/HEAD -> origin/master origin/fuga 解説 $ git push --delete origin hoge 普通はこっちを使えばよいでしょう。 コロン記法と動作は同じです。 $ git push origin :hoge この構文の覚え方を説明します。 2つポイントがあります。 なぜ"git push"でブランチが削除されるのか。 なぜブランチ名を":hoge"と書くのか なぜ"git push"でリモートブランチが削除されるのか。 考え方としては、「"無"を送りつける」「nullで上書き」です。 Linuxいう/dev/null みたいなものです。 なぜブランチ名を":hoge"と書くのか よい質問です。 そもそも、git pushの構文を確認しましょう。 git push [remotenam

    Gitで、リモートにあるブランチを削除する方法 · DQNEO日記
  • Gitでexportするときはgit archiveとgit checkout-indexのどちらがよいか · DQNEO日記

    masterブランチをエクスポートしたいとします。 mkdir /tmp/foo git archive master | tar -x -C /tmp/foo (必ず先に空のディレクトリを作っておきましょう。) export-ignoreが便利 export-ignoreという便利なオプションがあって、例えばexport時に"test"ディレクトリだけ除外するということができます。 $Id$展開もしてくれる ident属性が設定してあればファイル中の$Id$をキーワード展開してくれます。 $Id$ ↓ $Id: 547efb313cdee8eb3e37371f800f3bee3479c166 $ 参考:Git-のカスタマイズ-Git-の属性#リポジトリをエクスポートする mkdir /tmp/foo git checkout-index -a --prefix=/tmp/foo/ --p

    Gitでexportするときはgit archiveとgit checkout-indexのどちらがよいか · DQNEO日記
    k-holy
    k-holy 2012/11/19
    git archive
  • 仕事で使ってる巨大SVNレポジトリをGithubに移管するためにやったことまとめ · DQNEO日記

    動機 Subversionで困ってない ぶっちゃけSubversionで全然困っていませんでした。 コードレビューはちゃんとやっていたし、マージ・ブランチングも自作シェルスクリプトのおかげてスムーズにやれていました。 よく「Gitはマージが賢い、ブランチ作成が一瞬でできる」とかいわれますが、Subversionだってちゃんと使えばコンフリクトなんかめったに起きないし、ブランチ管理・マージだって全然めんどくさくない。 特にver1.7からはサーバもクライアントも大幅に高速化されたし、.svnディレクトリが.gitみたいに1個になったし、rebaseみたいなことだってできる。(sync merge & reintegrate) ただ、世の中が一斉にGitにシフトしている中でいつまでもSubversionを使っててよいのかという不安がありました。 また、月から金までSubversionにどっぷり

    仕事で使ってる巨大SVNレポジトリをGithubに移管するためにやったことまとめ · DQNEO日記
    k-holy
    k-holy 2012/10/22
  • そろそろAliceとBobで例えるのはやめたらどうか · DQNEO日記

    NobitaとShizuka メリット コンピュータを扱う世代でドラエモンを知らない世代はほとんどいない。 知名度ほぼ100%。 NobitaがやったミスをShizukaが直してあげる、などのシナリオが容易に想定できる。 悪意の第三者を登場させたいときはGaianが使える。 デメリット なんとなく昭和的世界観なので、平成生まれだと感情移入しにくいかも? MarioとPeach ファミコン世代からNintendo 3DS世代まで幅広く通用する。 グローバルで通用する。 もともとコンピュータ上に存在するキャラクタなので、プログラマには親近感がわきやすい。 悪意の第三者はKoopa。 SheetaとPazu これも知名度バツグン。 劇中で海賊のおばさんが暗号を解くシーンがあるので、実感がわきやすいかも。 悪意の第三者はMuska。 GokuとBuruma 知名度はかなりある。 しかしなにぶん肉体

    そろそろAliceとBobで例えるのはやめたらどうか · DQNEO日記
    k-holy
    k-holy 2012/10/15
    太郎冠者と次郎冠者でいいんでないの
  • Git超入門:"git push origin master"の"push"と"origin"と"master"の意味がわからないあなたへ · DQNEO日記

    Home Subscribe この2行のコマンドを見て((;゚Д゚))ガクブルした経験はないでしょうか? 私は恐怖を感じました。 "remote"と"add"と"origin"と"push"と"master"の意味がわからん!! 人間(というか私は)は、わからないものが3つ以上同時に登場すると、ストレスを感じるものです。 この場合は5つもあるのでものすごいストレスです。 でもご安心を! これから超わかりやすく解説します! git remote add origin ... の意味は? ずばり、 URLに"origin"という短縮名(ニックネーム)を付ける したがって、git remote add unko .... と書いてもかまいません。 慣習上、"origin"という名前が使われることが多いというだけのことです。 そして、ここが重要なのですが 別にニックネームをつけなくてもよい。(

    Git超入門:"git push origin master"の"push"と"origin"と"master"の意味がわからないあなたへ · DQNEO日記
    k-holy
    k-holy 2012/09/05
    git remote add unkoでもいいんだー!!( ゚∀゚)
  • .bash_profileと.bashrcの違いが覚えられないあなたへの処方箋 · DQNEO日記

    なぜ、「.bash_profileと.bashrcの違い」をすぐ忘れてしまうのか? ずばり、 「どっちに書いても、実用上は対して変わらない」 からでしょう。 ちょこっと環境変数を定義する程度なら、どっちに書いても動くのです。 どっちに書いてもそれなりに動く → 違いがわからない → 忘れる これが魔の忘却ループです。 .bash_profileと.bashrcの違いを絶対に忘れない方法 ではどうすればよいか? 「違いを自分の目ではっきりと見ること」 これに尽きます。 これから、一緒に手を動かして簡単な実験をしてみましょう。 5分ほどで終ります。 準備はいいですか? ① .bash_profileにechoを書いてみる .bash_profileの最下行に1行追加します。 echo "\(うぇるかむようこそプロファイル)/" ② .bashrcにechoを書いてみる .bashrcの最下行に

    .bash_profileと.bashrcの違いが覚えられないあなたへの処方箋 · DQNEO日記
    k-holy
    k-holy 2012/08/21
    なるほどなるほど!!
  • cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック · DQNEO日記

    なお、時間設定方法や書式についてはここでは解説しません。 拙作「くろんメーカ」をお使いください。 くろんメーカ - crontab用のコマンドを自動で生成します。 そのままコピペしてお使いください。 crontab -e で直接編集しない 有名な話ですが、crontab -r とやってしまうと全てが一瞬で消え去ります。 まさにバルス! 間違えて crontab -r してしまい、crontab をふっとばしてしまった。つか、隣同士にある -e と -r で編集と削除とか、酷いよ><。。。 crontab -r を安全にする - antipop 必ずローカルファイルに設定を書いたうえで、それを反映させるようにしましょう。 $ crontab -l > ~/crontab # 現在の設定をバックアップ $ vi ~/crontab # ローカルファイルを編集 $ crontab < ~/cro

    cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック · DQNEO日記
    k-holy
    k-holy 2012/06/18
  • Git/Github超入門:猿でもできるPull Request · DQNEO日記

    Git/Github初心者のみなさんこんにちわ! Pull Requestを送ってみたいけど、やり方がわからない? 間違ったPull Requesするのがこわくて躊躇している? もったいない! そんなみなさんに、Pull Requestを送るための最小の手順をご紹介します。 昨日ちょうどEthnaにPull Requestを1件送ったので、これを題材にして説明します。 以下、Githubのアカウント取得、gitのインストール、SSH鍵の設定は終わっているものとして解説をすすめます。 Pull Requesを送る最小手順 1.ブラウザでプロジェクト画面を開きます。 例:https://github.com/ethna/ethna 2.forkボタンを押します。 3.以下、自分のPCで作業 git clone git@github.com:DQNEO/ethna.git cd ethna

    Git/Github超入門:猿でもできるPull Request · DQNEO日記
    k-holy
    k-holy 2011/10/28
    gitはローカルで使うのみだったけど、GitHubのPull Requestがようやく分かったかも。相変わらずコマンドは覚えられないけど
  • 1