Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
![[sudoも使いたい]PhpStormでVagrant上のCLIのPHPをXdebugする - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/9c9a62ff944b963c289b26550d4b3493624a20c2/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkYwJTJGMTAzODUzJTJGcHJvZmlsZS1pbWFnZXMlMkYxNjI0NDA5OTE5P2l4bGliPXJiLTQuMC4wJmFyPTElM0ExJmZpdD1jcm9wJm1hc2s9ZWxsaXBzZSZiZz1GRkZGRkYmZm09cG5nMzImcz05ODliMWFiNjA1ZDA3MjJhMmQ2N2ViZjFkMjIwYTA0OQ%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D825fddc09c68a783c61a62f9c60d0fbd%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JTVCc3VkbyVFMyU4MiU4MiVFNCVCRCVCRiVFMyU4MSU4NCVFMyU4MSU5RiVFMyU4MSU4NCU1RFBocFN0b3JtJUUzJTgxJUE3VmFncmFudCVFNCVCOCU4QSVFMyU4MSVBRUNMSSVFMyU4MSVBRVBIUCVFMyU4MiU5MlhkZWJ1ZyVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1wYWQ9MCZzPWE4ZjU0OGU1MGM3OGU0MmFiZTJkZGMzNzBiODExYTFk%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBHcm8mdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtcGFkPTAmcz0yYWQ3ZjBlZjE0ZmZkZGIyNWQ4MzE5ZDdmYTM5NmJiZA%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3Dfb0f0d13a92ab80d8ea9982f43391fc0) 
      
  
 
  
  バッチ処理で JSON カラムの連想配列内部を書き換えて更新するような処理を回していたら、見事に全く更新されておらず、呆然としてしまったので、原因を調査して対応したことをメモ。 CakePHP 3.x で発生しただけの話で、他のフレームワークの ORM でも同様の事象が発生するかどうかは不明ですが、もし、似たような事象が起こり、この記事に辿り着き、同じ観点で調査対象を絞れたりすることを期待し、少し大げさなタイトルを付けてしまいましたが、ご了承願います。 原因 JSON カラムで作られた property の連想配列内部が更新されても、該当する model entity の property が更新された (汚された) と検知できておらず、 save メソッドを実行しても更新処理が skip されてしまっていた。 対応 JSON カラムで作られた property の連想配列を更新する場合、
 
      
  会社ではgoとかjavaとかkotlinを書いています。 前職でphp書いてました。 このエントリーはcakePHPでサブクエリの書き方についてです。フィールドにサブクエリを書こうとした時、あまりエントリーもなくcakeのドキュメントも不親切だったので、メモついでに書くことにしました。 CakePHPサブクエリのコード いきなりコードを載せます。 // とあるmodelでの記述です。 // データソースを定義 $db = $this->getDataSource(); // ここからサブクエリの記述 $subQuery = $db->buildStatement( array( 'fields' => ['cate2.c_title'], 'table' => 'publish_categories', 'alias' => 'cate2', 'conditions' => ['cate2
 
      
  環境と経緯 Mac (OS X El Capitan 10.11.6)で、PHPUnitをインストール中のトラブル 最近、PHPを5.5.36にアップグレードした。 Zend Framework 2のPHPUnitサポートを試した。composerでPHPUnitをインストールするものの、バージョンが違うとランタイムエラー。これはこれで、別の話題。(うまくいったら書くかもしれないし、書かないかもしれないし・・・。組み合わせがあちこちでごちゃごちゃしすぎていて、まだ整理しきれていない。) PHPUnitのバージョンを変えて試す途中で起きた現象。 解決策を忘れそうなのでメモ。 現象 wget https://phar.phpunit.de/phpunit.phar で、最新のphpunit.pharを取得しようとしたら dyld: Library not loaded: /usr/local/
 
      
  前提 Windows10+VSCodeの環境でRustを書く上でデバッグ接続できる環境を整える。 いくつかプラグインや設定の選択肢があって迷ったけど、なんとか欲しかった環境が整ったのでそのメモ。 環境 Windows10 VSCode: 1.25.1 Rust: 1.29.0-nightly rustup: 1.13.0 ツールチェイン: x86_64-pc-windows-msvc できるようにすること panic時に停止して、コールスタックを見る コールスタックのソースファイルや行番号の確認や、そこへのジャンプ ブレークポイントを置いて停止 停止時にローカル変数の中身を確認 停止後にステップ実行 使用したプラグインと設定 C/C++ for Visual Studio Code C++用のプラグインだが、Rustのデバッグにも使える。 設定ファイル { "version": "0.2.
 
      
  まえがき std::processはポータブルな実装だがにここではunix着目する プロセス起動 新しいプロセスを立ち上げてプログラムを実行する サブプロセスと言ったりもする プロセス プログラムを実行している主体 いろいろ状態をもってる メモリ空間 ファイルディスクリプタ 環境変数 prcess::Command プロセス起動を行うためのAPI 実装はポータブル(Posix/Windows) UNIXでいうfork-execを行う シェルを経由する専用APIは用意しない newやargの引数に sh -c を渡せばできる イメージ 以下の例ではシェルを経由して実行 output で出力を受け取るまで暗黙にwait デザイン Command::new 時点ではプロセスを生成しない spawn などを呼ぶまでの間にやりたいことを設定 引数の追加(arg/args) リダイレクト(stdin/
 
      
  Rust+UEFIでOS作りたいので、はりぼてOSのメモリアロケータをRustに移植できないかなーと思ってやってみた。(あるものを流用した方が楽だよね。) 双方向線形リスト化するなどの改良が入ってるけど本質は同じもの。 このGitHubに上げてます。 ざっくりとした使い方はこんな感じ // インスタンスを生成する let mut manager = PageMemoryManager::new(); unsafe{ // UEFIのメモリマップとかから、情報をもらって // メモリ管理モジュールにメモリの空き情報を登録する manager.free_page_frames(memtranse(0x10000,0x1000)); manager.free_page_frames(memtranse(0x14000,0x2000)); manager.free_page_frames(memt
 
      
  trait Foo<'a> { type Out: 'a; fn call(&'a self) -> Self::Out; } このトレイトは関連型 Out を持ち、(トレイトのパラメータとして与えられた)call() のレシーバのライフタイム 'a を制約として持っている。そのため、このトレイトの実装では Out として Self やフィールドへの参照を持つことが可能となる。 struct Value(String); impl<'a> Foo<'a> for Value { type Out = &'a str; fn call(&'a self) -> Self::Out { self.0.as_str() } }
 
      
  WSL や仮想環境、VPS上で作業をする場合、cargo doc --open が使用できないので何かしらの手段で target/doc 内のコンテンツを配信する Web サーバを起動する必要があります。この手の簡易 HTTP サーバは探せばいくらでも出てくるのですが、cargo doc と組み合わせてコマンド一発で実行したかったので、cargo サブコマンド作成の練習がてらドキュメント生成とサーバが一つにまとまったコマンドを作ってみました。 https://github.com/ubnt-intrepid/cargo-docserve 現段階では次の機能を実装しています。 ドキュメント生成後、target/doc 内のコンテンツを配信する HTTP サーバを起動する (--watch オプションをつけると)src/ 内のファイル変更を監視しドキュメントの再生成とサーバの再起動を自動で行う
 
      
  当記事ではActix frameworkについての概要と使い方について説明します。 前提 actix: 0.7.3 Actix ActixとはRustにおけるアクターモデルのフレームワークです。 アクターモデルの詳細については触れませんが、それぞれが専用のメールボックスを持ち、並行して非同期で動作するアクターと呼ばれる構造体群を起動させて、アクター同士でメッセージを送受信して処理を行う方式になります。 アクターとメッセージがオブジェクト指向におけるクラスとメソッドに似ていますが、アクターは並行性を兼ねている点が異なります。 メッセージは個々のアクターが持つメールボックスにキューイングされて、アクターが処理可能なタイミングで一つずつ取得して処理を行います。 そのため、アクターの処理自体はマルチスレッドにおけるロックなどの排他処理は考えずにシングルスレッドで構築することが出来ます。 また、アク
 
      
  リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く
