[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

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

  • 【PHP8.0】PHPでJITが使えるようになる - Qiita

    2020/06/26追記:アルファ版がリリースされたので実際に試してみた JITのRFCが2019/03/21に投票開始されました。 締切は2019/03/28ですが、2019/03/27時点で賛成48反対2でほぼ導入確定です。 JITとは JIT is 何? PHPは現在は、アクセスが来るたびにソースコードを全部読み取って、opcodeに変換して、順番に逐次実行して、実行が終了したら全てのコードを破棄するというインタプリタ型のプログラミング言語で、処理速度は遅いです。 遅いと言っても、やってる内容からすれば異常なまでに早いんですけどね。 opcodeはCPUやOSなどの実行環境によらず同一のコードが生成されます。 逐次実行するときはさらに実行環境ごとのネイティブコードに変換して実行されます。 OPcacheは、この変換後のopcodeをメモリに保存しておいて、次のリクエストでも使い回すと

    【PHP8.0】PHPでJITが使えるようになる - Qiita
    shin1x1
    shin1x1 2019/03/28
  • xUnit Test Patternsから学ぶ12個のユニットテストの原則 - Qiita

    エントリは、xUnit Test Patterns: Refactoring Test Codeという書籍の「Chapter5 Principles of Test Automation」の内容をベースに、12個のユニットテスト原則についてまとめていきます。この書籍は、2007年に販売されたものですが、今でも十分役に立つユニットテストに関する原則を伝えています。 ウェブでは、次のURLでも内容を見ることができます。 自動ユニットテストの原則 ここで紹介されるものは、ユニットテストで確認したい quality のリストです。ですので、直接適用する「パターン」ではありません。 「何をやるか」よりも「なぜやるのか」という観点においてまとめられています。 エントリでは、xUnit Test Patterns: Refactoring Test Codeで紹介されている12個の原則をベースに、ほ

    xUnit Test Patternsから学ぶ12個のユニットテストの原則 - Qiita
  • Pharパッケージ管理ツール「Phive」を試す - Qiita

    株式会社エイチームライフスタイルでWebエンジニアをしています、@okonomiと申します。 Ateam Lifestyle x cyma Advent Calendar 2018 11日目は、「Phive」について書いてみたいと思います。 この記事で書くこと Phiveって何?なんで必要なの? Phiveの基的な使い方 こんな人におすすめ ComposerでphpstanなどのPHP製ツールをインストールしたら依存関係の衝突で苦労した .pharファイルをダウンロードしたけど管理するのが面倒 Phiveって何? Phiveとは、Pharを管理するパッケージマネージャです。 Pharとは何かというと、複数のファイルからなるPHPプログラムを.pharとしてひとつのファイルにまとめる仕組みです。 公式ドキュメントがわかりやすいので詳しくはそちらをご覧ください。 .pharファイルとして提供

    Pharパッケージ管理ツール「Phive」を試す - Qiita
    shin1x1
    shin1x1 2018/12/11
  • Goでサーバー開発するときのMakefileを晒してみる - Qiita

    はじめに この記事は、Go3 Advent Calendar の4日目の記事です。 Goで開発する際にはテストの実行やlintの実施といった細々としたコマンドを Makefile にまとめることが多いと思います。 これにはコマンド入力の手間を省くのももちろんですが、チーム内でコマンド実行の方法を統一するという意味もあります。「手元でのテストはReadmeに書いてある通りに実行してね」と伝えるよりも、Makefileにまとまってる方が親切です。 ということで、何番煎じか分かりませんが今回は業務で使っている Makefile を晒してみたいと思います。 ちなみに主に以下のツールを利用しています。 パッケージ管理: dep 自動リロード: realize DB migration管理: goose Makefile 以下の物を使用しています。 setup: go get -u github.co

    Goでサーバー開発するときのMakefileを晒してみる - Qiita
  • GO + Revelで開発していたものをLaravel + nuxtで置き換える - Qiita

    Goでの小さいweb開発について 依頼されて開発をして、3年近く小さめのwebサイトをGo + Revelで運用してきて正直そこまで恩恵を受けれなかったように感じる。ので以下のように構成変更した。 Before 言語: Go v1.9 パッケージ管理: dep フレームワーク: Revel v0.21.0 ORM: GORM ミドルウェア: なし、cacheはrevel cache DB: MYSQL 開発環境: Docker CI/CD: CircleCI こうなるまでにも3年間でいろいろしたんですが、いろいろ問題がありました。 Beforeの問題点 Revelが思ったほど盛り上がらなかった GoでのフルスタックなMVCフレームワークとして前は盛り上がってたけど・・・ Web開発のためのモジュール追加があまりなかったので自前で実装した部分がとても多かった Goの変遷がめんどかった Go

    GO + Revelで開発していたものをLaravel + nuxtで置き換える - Qiita
  • PHP7.3はこれまでよりもさらにパフォーマンスが向上している - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2018/11/22にPHP7.3.0 RC6がリリースされました。 計画ではこれが最後のRCで、次は2018/12/06にPHP7.3.0正式版がリリースされる予定です。 そのRC6のパフォーマンスを測定してる記事を見つけました。 以下はPHP 7.3 Performance Benchmarks Are Looking Good Days Ahead Of Its Releaseの日語訳です。 PHP 7.3 Performance Benchmarks Are Looking Good Days Ahead Of Its Rel

    PHP7.3はこれまでよりもさらにパフォーマンスが向上している - Qiita
    shin1x1
    shin1x1 2018/11/29
  • TypeScriptでVuexを型安全に扱うライブラリを作りました - Qiita

    はじめに こんにちは。 みなさんVue&Vuex&TypeScript やってますか? Vueクラススタイルコンポーネント向けのライブラリのなかで vuex-classというライブラリがすごく気に入ったのですが型安全ではありません。 ↑ リポジトリを見るとIssueは立ってるようです そこで今回、車輪の再発明を承知でライブラリを作りました! vuex-class的な使い心地で型安全なものを目指します コード まずは作ったものはこちら vuex-map-decorators 基的にデコレータを実装しているので、 実装内容より先に使い方を説明します。 使い方 シンプルな使い方 import { State, Mutation } from 'vuex-map-decorators'; interface SampleState { count: number; } interface Hog

    TypeScriptでVuexを型安全に扱うライブラリを作りました - Qiita
  • 「さようなら ImageMagick」の考察 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    「さようなら ImageMagick」の考察 - Qiita
  • サービスメッシュについて調査してみた件 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 最近、Kubernetesを中心としたコンテナ環境やマイクロサービスの文脈において、「サービスメッシュ」「Istio」というキーワードを聞く機会が増えています。 「Istio」は、2018/7/31にバージョン1.0に到達したことが発表され、ますます注目されるオープンソースソフトウェアとなっています。また、自分が所属しているSIerであっても、最近「サービスメッシュ」という言葉を聞く機会が増えてきています。 記事では、サービスメッシュの概要から、サービスメッシュを実現するソフトウェアについて、Web上の情報などを元に調査した

    サービスメッシュについて調査してみた件 - Qiita
  • GolandでDocker上のサーバーをRemote Debug - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    GolandでDocker上のサーバーをRemote Debug - Qiita
  • 計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。今回は計算量オーダーの求め方について書きます。 0. はじめに 世の中の様々なシステムやソフトウェアはアルゴリズムによって支えられています。Qiita Contribution ランキング作成のために用いるソートアルゴリズムのような単純なものから、カーナビに使われている Dijkstra 法、流行中のディープラーニングに用いられている確率的勾配降下法など、様々な場面でアルゴリズムが活躍しています。アルゴリズムとはどんなものかについて具体的に知りたい方には以下の記事が参考になると思います: アルゴリズムとは何か ~ 文系理系問わず楽しめる精選 6 問 ~ アルゴリズムを学ぶと $O(n^2)$ や $O(n\log{n})$ や $O(2^n)$ といった計算量オーダーの概念が登場します。こうした記法を見ると

    計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita
  • Javaのサポートについてのまとめ2018 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Javaのサポートについてのまとめ Javaのライセンスやサポート状況について混乱が発生しているように思います。Javaのサポートを各団体がどのように行なっているかをまとめてみます。 知っておいてほしいのは、Javaの実装やサポートはOracle JDKかOpenJDKの二択、ではなくAdoptOpenJDKやAzul Zulu、Corretteなど多くの選択肢があるということです。 ここでサポートはバグやセキュリティに対応したパッチがリリースされることを表しています。 Javaのリリースサイクル これまで、Javaは3年ごとを目標に結

    Javaのサポートについてのまとめ2018 - Qiita
    shin1x1
    shin1x1 2018/05/09
  • システムで「性別」の情報を扱う前に知っておくべきこと - Qiita

    0は性別に関する情報が得られない場合に使います。性別に関する情報はあるのだけど1とも2とも言えない場合は9を使います。要は「0でもなくて1でも2でもなければ9」です。 これを知っていればMだとかFだとかを議論をせずに済みますね。 国際規格に従うべき理由 国際規格に従うことは色々と利点があります。まず、どうしてそういうコード体系にしたのかを説明しやすいです。また多言語対応する際も規格通りに書けば伝わるはずなので迷わずに済みます。別システムへのデータの移行や、異なるシステム間でのデータの統合もコード体系が同じならラクラクです。もしかしたら別のプロジェクトで書いたコードをそのまま使いまわせるかもしれません。技術者に対するトレーニングも不要です。 対して、わざわざ国際規格に反する実装をする場合は上記のメリットがそのままひっくり返ってデメリットになりはしますが、もちろん、それなりの理由があれば規格と

    システムで「性別」の情報を扱う前に知っておくべきこと - Qiita
  • dev.toに匹敵する速度を出せるWordPressテーマを開発した話 - Qiita

    日、無料WordPressテーマ Godios. をリリースしました。 公式サイトを見ていただけるとわかると思うのですがページが一瞬で遷移しています。 どうでしょう、dev.toと同じくらい速いんじゃないでしょうか。 この記事ではテーマを高速化するにあたって用いたテクニックを書いていきたいと思います。 圧縮 テーマに含まれている画像・CSS・JSファイルの圧縮。 画像はOptimizilla・TinyPNG、CSSCSS Minifier、JSはJSCompressを使用しました。 CSS・JSファイルの遅延読み込み レンダリングをブロックするファイルが大量にあると表示が遅くなりますので、JSファイルはdeferまたはasync属性を付与し、CSSファイルはインライン、またはJSで非同期に読み込んでいます。 無駄なSQLクエリを減らす データベースへのアクセスが多いと負荷が掛かる上、速

    dev.toに匹敵する速度を出せるWordPressテーマを開発した話 - Qiita
  • Haskellにおける型レベルプログラミングの基本(翻訳) - Qiita

    概要 IOHKのHaskell及び暗号通貨の集中講義に参加したのですが、その中でも苦戦したのが型レベルプログラミングです。 そんな時に非常に助かったのがMatt Parsons氏のブログにて掲載されていたBasic Type Level Programming in Haskellです。是非この記事を翻訳し、日のHaskellコミュニティの方とも共有したいと人に伝えたところ、快く承諾を得られましたので以下にその文を掲載させて頂きます。 実装したコードはGitHubにもアップロードしているのでそちらも参照してみて下さい。 https://github.com/HirotoShioi/Basic-Type-Level-Programming 注意点 なお私はまだHaskellを始めたばかりなので誤訳、誤解しているところがあるかもしれません。それらを指摘して頂けると非常に助かります! 始めに

    Haskellにおける型レベルプログラミングの基本(翻訳) - Qiita
  • 軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita

    ざっくり言うと リスト構造のデータに対してランダムアクセスはしちゃだめだぞ。お兄さんとの約束だ! 発端 数年前に他部署の支援で作ったJavaのシステムに、ちょっとデカめのデータを突っ込んだらありえないほど遅いので助けてくれ、と連絡が入った。 まぁクエリとかインデックスをちょっと見れば直るっしょ・・・と鼻をほじりながら支援に向かった。 処理内容 遅い部分の処理は以下のようなものであった。 処理対象のデータをListで受け取る。 それをforループで1件ずつ前処理する。 処理結果をオブジェクトに格納し、ORマッパーでDBにINSERTする。 これだけ? そう、これだけだ。並列処理なんて高級なことはもちろんやってない。 インフラ調査 処理中のサーバのようすを調査する。今回のインフラは典型的な3層3サーバ構成。 WEBサーバはなにもかもが余裕。 APサーバではCPUを1つ使い切っている。 14コア

    軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita
  • 今さらProtocol Buffersと、手に馴染む道具の話 - Qiita

    Protocol Buffersは別に新しい技術ではない。同時にそれは、未だ知られざる、未だに可能性を秘めた先端のソフトウェア技術基盤である。 新しくないのは事実で、GoogleがProtocol Buffersをオープンソース化したのは2008年のことだし、オープンソース化前に社内で使われ出したのは更に昔に遡るだろう。たぶん。 デザイン的にもJSON対応は後付けで、将来JSONが隆盛を極めることなんか全然想定していなかったのが透けて見えて古くさい。 しかし、同時にどうも情報に聡い人であってもなかなかその真価を実感し得ておらず、ある意味で未知の技術であるらしい。ならば、Protobuf (Protocol Buffersの略)を解説した文書は幾多あれども、それに1を加えるのもやぶさかではない。 Protocol Buffersとは Protobufはスキーマ言語だ! 一般的にはProtob

    今さらProtocol Buffersと、手に馴染む道具の話 - Qiita
  • Goでのサービスロケータパターン - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ネストの深いプログラムを書くとき、 プログラム全体で共有したいオブジェクトをどうやって引き回すかというのはいつも悩む問題です。 グローバル変数 小さなプログラムの場合は雑にグローバル変数に入れてしまうのも悪くはないですが、 プログラムが大きくなるにつれ、このやりかたはつらくなります。 シングルトン シングルトンは基的にはグローバル変数と同じことです。 ただしファクトリ関数をうまく使えばグローバル変数をそのままつかうより柔軟な取り回しが可能になるかもしれませんが。 グローバル変数にせよシングルトンにせよプログラム全体で状態を共有しますが

    Goでのサービスロケータパターン - Qiita
  • React Redux の SPA を運用して得られた知見と実装例、開発フローもあるよ! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 以前 React Redux を用いた SPA 新規サービスを運用して得た知見と実装例 と言うテーマで発表した内容に、加筆修正して記事にしてみました。2年半くらい取り組んで見ての結果や感想をシェアできればと思います。 対象読者 SPA の開発に興味がある方 最近の WEB フロントエンド開発に興味がある方 ある程度 React や Redux を触ったことがある方、触りたい方 目的 具体的な実装例をもとに知見を共有し、Web 開発の役に立ててほしい おかしな実装や、もっと良い方法があれば、教えてほしい 内容 コードベースでの実装例の紹介

    React Redux の SPA を運用して得られた知見と実装例、開発フローもあるよ! - Qiita
  • Docker for Macのディスクスループットを約2倍にする - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2018-08-06 15:38 Stable版で復活のお知らせ Docker Community Edition 18.06.0-ce-mac70 2018-07-25 にて再度rawフォーマットが利用可能になりました。 Re-enable raw as the the default disk format for users running macOS 10.13.4 and higher. Note this change only takes effect after a “reset to factory defaults”

    Docker for Macのディスクスループットを約2倍にする - Qiita