ブックマーク / qiita.com (14)

  • PHPのpthreads(マルチスレッディング)でソケットを捌く - Qiita

    まえおき pthreadsはPHPでマルチスレッディングを扱うための拡張モジュールです。 色々と触っていたのですが、PHP7.2(pthreads 3)から大幅に刷新され、非常に使いやすい拡張モジュールとなっています。 以前まではプリミティブな値(いわゆる serializable なもの)のみしかコンテキストに渡せませんでしたが、pthreads3から多くの型を渡すことが可能となりました。 渡せるようになった値の一部 無名クラス 無名関数 リソース(ファイル・ソケットなど全般) pthreads2のときと比べだいぶ敷居が下がりました。 記事について 記事ではPHPのpthreadsでのソケットの扱いについて触れます。 ソケットの扱いについて 以前(pthreads 2)同様pthreads3にも幾つか制約はあり、例えばAコンテキストからBコンテキストのソケットをいじると SEGV や

    PHPのpthreads(マルチスレッディング)でソケットを捌く - Qiita
  • 2018年の最先端バックエンドエンジニアに必要なスキルについて考えてみました。 - Qiita

    @rana_kualuさんの2018年の最先端バックエンドエンジニアになろうという翻訳記事がとても興味深かったのですが、記事内で提示されているロードマップに関して微妙に違和感を感じる部分もありましたので、 記事に記載されているスキルは現場でどの程度必要なのか 記事に記載されていないが現場において重要なスキルは何か といった辺りを、自分なりの意見を交えてちょっと書き出してみました。 自分をエンジニアとして最先端だとは全く思っていないのですが、最近のバックエンドのトレンドに一応多少なりともきちんとキャッチアップしてるかなとは思うので、若い方や、まだ経験の短いエンジニアの方たちのご参考になりましたら幸いです。 言語 ロードマップに記載されていた言語のうち、私は一応 Elixir Scala Java .NET (C#とVB.NET) Python Ruby PHP TypeScript Gola

    2018年の最先端バックエンドエンジニアに必要なスキルについて考えてみました。 - Qiita
    odap
    odap 2018/06/01
    いろいろ煽られたけれど、DDD関係の話がないのはいかがなものか。
  • PHPにおけるvoidとは何か - Qiita

    PHPの文脈ではvoidはいくつかの異なる意味で利用されます。 そもそもvoidってなんだ void(ボイド)は、プログラミング言語において、「何もない」といった意味の型などに使われる名前である。プリミティブとしてキーワードないし予約語であることも多い。 (void (コンピュータ) - Wikipedia1より引用) C言語では「引数を受け取らず、引数を返さない」関数のプロトタイプを void f(void); のように記述できますね。 PHPマニュアルにおけるvoid PHP: ドキュメントにおける疑似的な型および変数 - Manualに記載があります。 返り値の型が void である場合は、 返り値に意味がないことを表します。パラメータ一覧で void が使用されている場合は、 その関数がパラメータを受け付けないことを表します。 具体的には以下の通りです。 header (PHP

    PHPにおけるvoidとは何か - Qiita
    odap
    odap 2018/02/22
  • 作業ブランチではcomposer.lockの変更を最小化してください - Qiita

    お疲れ様です。田中です。 PHPプロジェクトの作業ブランチ内で、追加のライブラリが必要になったとき composer.json に変更を入れますよね。このときおもむろに composer update を叩くと composer.lock に派手な差分が発生するので、絶対にしないでください。 composer update はすべてのパッケージについて、現時点で可能な限り高いマイナーバージョンに上げようとします。当然、自分が master からブランチを切った時点でインストールされていたパッケージのバージョンは、現時点より古くなっています。直接使っているものだけでなく、その依存パッケージも上がります。 いちど composer.lock に大きな差分が発生すると、コミットログが無駄に大きくなるばかりでなく、その後のりベースやマージに支障をきたします。後のリベース/マージ後はつねにフルの

    作業ブランチではcomposer.lockの変更を最小化してください - Qiita
    odap
    odap 2018/02/22
  • 「中年の危機」ど真ん中のオッサンがWEBサービス作ってみた。 - Qiita

    自己紹介 こんにちは。 Hirozといいます。 タイトルにある「中年の危機」は、かっこよく言えば「ミッドライフ・クライシス」と言うそうです。 私は、そんな中年の危機ど真ん中の文系非エンジニアのアラフォーおっさんです。 35歳くらいから「このままでいいのか」と思うようになり、葛藤の迷宮に入り込んでしまいました。 今もまだ抜け出せていません、たぶん。 その過程で「組織の肩書きによらない素の自分の力でやってみたい」、「直接人の役に立つ実感が得られることがしたい」と思うようになり、それを具現化する手段としてWEBサービスを造ってみたいと思うようになり、2017年12月にWEBサービスをリリースしました。 自分でプログラミングを習得しながら作るぞと思ったのが2017年の2月。 開発環境作りなどのトラブルに翻弄され、格的にコードを書き始めることができたのは2017年の5月末。 そこからコツコツと開発

    「中年の危機」ど真ん中のオッサンがWEBサービス作ってみた。 - Qiita
    odap
    odap 2018/02/21
  • PHPExcelが非推奨になったので後継のPhpSpreadsheetを使ってみる - Qiita

    $php vendor/phpoffice/phpspreadsheet/samples/index.php Requirement check: PHP 5.6.0 ... passed PHP extension XML ... passed PHP extension xmlwriter ... passed PHP extension mbstring ... passed PHP extension ZipArchive ... passed PHP extension GD (optional) ... passed PHP extension dom (optional) ... passed <?php require 'vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice

    PHPExcelが非推奨になったので後継のPhpSpreadsheetを使ってみる - Qiita
    odap
    odap 2018/01/14
    さて、CSVダウンロードの代わりに、こちらを使う場面が出てくるのかどうか。
  • 機械学習案件を納品するのは、そんなに簡単な話じゃないから気をつけて - Qiita

    はじめに 昨日のTwitterで書いたこちらが非常に反響を呼びました。 半年間かけたデータ解析の仕事が全くうまくいかなかった 今回の失敗は契約書に納品物を明記していなかったこと 機械学習の依頼は学習済みモデルのファイルを納品しただけでは、先方は検収できず、結果支払いを受けられない この教訓をひとりでも多くの人に知ってもらいたい — キカガク代表 吉崎亮介 (@yoshizaki_kkgk) 2017年11月20日 そうなんですよね。 全く先方が悪いわけでもなく、私自身が「機械学習のお仕事=解析」だと思いこんでいたことが失敗の始まり。 結局のところ、機械学習系のプロダクトを依頼されて、学習済みモデルを作成して即納品とはいかず、検証結果を示されないと検収できないよとなってしまうので、結局アプリケーション側まで組み込まないと納得感はないんですよね。 この検証とは、訓練データと検証データを分けた時

    機械学習案件を納品するのは、そんなに簡単な話じゃないから気をつけて - Qiita
    odap
    odap 2017/11/22
  • LaravelでIDE補完を有効にする - Qiita

    補完が無いIDEなんてIDEの意味ないじゃない。 ということで今流行りのLaravelでIDE補完機能を有効にする設定を行います。 当方PhpStormを使用していますがEclipse等でも同じやり方で補完がきくようになるはずです。 ではやっていきます。 Laravel IDE Helper Generatorなる便利なものがあるのでこちらを使用します。 Laravel IDE Helper Generator 最近はComposerを使用するのがナウいようなのでcomposerを使用してLaravel IDE Helperを導入します。 LaravelをComposerで導入した人はすでにComposerが入っていると思いますが、まだ入っていないよーという人はComposerの公式ページ通りやってくださいな。curlで取ってきて実行するだけです。 Composer ではではcompose

    LaravelでIDE補完を有効にする - Qiita
    odap
    odap 2017/09/06
  • Laravel 5.4 変更点のメモ - Qiita

    5.4 リリースおめでとうございます。 see: https://laravel.com/docs/5.4/releases なお、いつものことのように後半は力尽きていってます。 Markdown based email and notification see: https://laravel.com/docs/5.4/mail#markdown-mailables Markdownが標準で使えるようになりました。ボタン装飾などは @component を使うみたいです。 sample: @component('mail::message') # Order Shipped Your order has been shipped! @component('mail::button', ['url' => $url]) View Order @endcomponent Next Steps

    Laravel 5.4 変更点のメモ - Qiita
    odap
    odap 2017/02/05
  • バックエンドにLaravel5.3,フロントにVue.js2.1.1とVuex2.1.1を採用した簡単なWebサイトを作ってみる - Qiita

    バックエンドにLaravel5.3,フロントにVue.js2.1.1とVuex2.1.1を採用した簡単なWebサイトを作ってみるLaravelVue.jsVuex はじめに 2016年もあっという間に終わってしまいましたね. 2017年もどういうライブラリが流行っていくのか楽しみにしております. 2017年しょっぱなからVue.jsとLaravelを使ってサイト構築したので,備忘録的に記録したいと思います. この記事でわかること Laravelのインストール方法 Vuexを使った基的な実装方法 参考 LaravelVue.js,Vuexと共に日語ドキュメントが充実しているので,基的なことはこちらを参考にしました.. Laravel ドキュメント Vue.js ドキュメント Vuex ドキュメント 作成するアプリの仕様 API部分 /api/vuexにリクエストがくると5秒後に["I

    バックエンドにLaravel5.3,フロントにVue.js2.1.1とVuex2.1.1を採用した簡単なWebサイトを作ってみる - Qiita
    odap
    odap 2017/02/05
  • イケイケなベンチャーの開発チームが、大企業的な開発チームになってしまう5つの兆候 - Qiita

    はじめに この記事は CrowdWorks Advent Calendar 2016 18日目の記事です。1 やすにしと申します。世間一般的に言う、ジャーマネ的なことをやらせていただいております。組織というのはナマモノでして、常に変化し、課題の種のようなものを見過ごすと、後々大変なことになることが多くあります。とはいえ、うまくいっても空気のように当たり前となりますし、うまくいかないと批判の的になるというなんとも世知辛い役割ですね。 我々も、5人ほどのエンジニアだった組織が、9ヶ月ほどで30人を超え、大きな変化を迎えました。人数が多くなるということは、課題が変容し複雑になるということ。当然ながらその複雑な課題に対して対処するわけですが、そこで多くの会社は「マネジメント」をしようとします。ただ、そのマネジメントもやり方を間違えると、活力や改善や変革をする芽を奪ってしまい、一気に硬直化し、数人だ

    イケイケなベンチャーの開発チームが、大企業的な開発チームになってしまう5つの兆候 - Qiita
    odap
    odap 2016/12/19
    遅まきながら読んだ。管理しやすい方法で管理しても、本当に管理したことにならないということでしょう。
  • フルスタックフレームワークから脱却してマイクロサービスライクにサービスを構築する - Qiita

    はじめに Ruby on Railsを代表とするフルスタックフレームワークを利用すれば、 手軽にWebサービスの構築を始める事ができます。 しかし、3年あるいはそれ以上続くWebサービスを構築する際は、フルスタックフレームワークを採用するかどうかは慎重に検討する必要があるでしょう。 ケースバイケースではありますが、マイクロサービスの考え方をフレームワーク・ライブラリ構成に応用すると メリットがある可能性があります。 フルスタックフレームワークのデメリット フルスタックフレームワークは、学習コストが高いですが、Webサービス構築に必要なほとんどあらゆる機能を提供しています。 人気のフレームワークであれば、コミュニティも活発なので、わからないこともググれば解決することがほとんどでしょう。 では、フルスタックフレームワークのデメリットとはなんでしょうか? ロックインされる 一番大きなデメリットと

    フルスタックフレームワークから脱却してマイクロサービスライクにサービスを構築する - Qiita
    odap
    odap 2016/10/27
    5年以上サポートが多いので、こんな感じで開発したいとよく思う。あとPSR7とか標準を使うとか。
  • さいきょうの二重サブミット対策 - Qiita

    この記事はシステムエンジニア Advent Calendar 2015 - Qiitaの記事です。 弊社アーキ部で@kawasimaさんに教えてもらったさいきょうの二重サブミット対策について書いていきます! 二重サブミットが発生するケース 不正な更新リクエストが発生するケースとして、以下のものが考えられます。 サブミットボタンをダブルクリックする 戻るボタンで戻って、再度保存ボタンを押す 完了ページでブラウザリロードする CSRF攻撃による不正な更新リクエスト 1. サブミットボタンをダブルクリックする 確定ボタンをダブルクリックすることによって、ユーザが意図していないリクエストが発生してしまうケース。 2. 戻るボタンで戻って、再度保存ボタンを押す 処理完了画面から戻るボタンで前の画面に遷移し、再び確定ボタンを押すケース。 来は入力➡︎確認➡︎完了の画面遷移が適切だが、その画面遷移にな

    さいきょうの二重サブミット対策 - Qiita
    odap
    odap 2015/12/23
    マウスの真ん中ボタンにダブルクリックを関連付けて、何でもダブルクリックする人がいたけど、ボタンdisableで対策になるのかな。
  • JavaScript for OSX Automation AppleScriptの代替をJavaScriptでやるサンプルのカレンダー | Advent Calendar 2014 - Qiita

    OSX Yosemite で AppleScript がJavaScriptで書けるようになったので アドベントカレンダーで、たくさんサンプルを書いていきたいと思います。 JavaScriptですべてを加工して書こう。 windowsがCOM / ActiveX で成し得なかった、夢ですね。 Windows/ OSX / ブラウザ ・・・すべてをJSで記述するという夢でした。 JSこそ、人類の夢なのだ。

    JavaScript for OSX Automation AppleScriptの代替をJavaScriptでやるサンプルのカレンダー | Advent Calendar 2014 - Qiita
    odap
    odap 2014/12/18
    これは面白そう。これでつまらない作業を自動化できる。でもJavaScriptだと作ってみたくなるのはなぜだろう。使いやすい言語とは思えないけど、よく知ってるし使わざるを得ないからかな。
  • 1