タグ

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

  • 【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
    yut148
    yut148 2019/03/28
    >PHP7.4には入りませんでした。 ちゃんと調べていて非常にいい。
  • Twitterで話題のC++ quiz time!の解説を誰も書かないので書く - Qiita

    問題 C++ quiz time! Without checking, what does this print (assume an LP64 / LLP64 system): short a = 1; std::cout << sizeof(+a)["23456"] << std::endl; — Richard Smith (@zygoloid) March 18, 2019 こんなツイートが人気を博していた。 #include <iostream> #include "typename.h" int main() { short a = 1; std::cout << sizeof(+a)["23456"] << std::endl; } 答えは四択で1,3,4,6のどれですか?というもの。 だれか解説書くだろと思ったが、みんなTwitter上で満足してしまったらしい(見落としてた

    Twitterで話題のC++ quiz time!の解説を誰も書かないので書く - Qiita
    yut148
    yut148 2019/03/22
    編集しないと某国家機関OBにやられそうだ。
  • Googleが提唱するTestSizeとJava,MavenによるTestSizeの実現方法について - Qiita

    TestSizeとは テストから見えてくる グーグルのソフトウェア開発やGoogle Testing Blogによると、Googleは開発者のテスト区分を統一する(それまではシステムテスト、EtoEテスト、UIテスト、Seleniumテストなどいろいろな表現があり、そのどれもがどのようなテストか明確に定義されない)ために、TestSizeという概念と導入し、それぞれ以下のように定義している。 S(Small)テスト M(Medium)テスト L(Large)テスト E(Enormous)テスト

    Googleが提唱するTestSizeとJava,MavenによるTestSizeの実現方法について - Qiita
  • Google+API終了!devise✕omniauth-google-oauth2でGoogle+APIを利用せずにrailsのgoogleログインできるようにする - Qiita

    Google+API終了!devise✕omniauth-google-oauth2でGoogle+APIを利用せずにrailsgoogleログインできるようにするRailsdeviseoauth2Google+APIomniauth-google-oauth2 背景 自分が開発していたrailsアプリケーションでomniauth-google-oauth2のgemgoogleログインを実装していたのですが 他の記事を参考に、Google+APIを有効にしてgoogle側の認証の設定をしていました。 参考:爆速ッ!! gem omniauth-google-oauth2 で認証させる [Rails] Facebook/Twitter/Googleでのユーザー登録をDevise & Omniauthを使って爆速で実装する など。 Google+APIの終了 ところが、Google+API

    Google+API終了!devise✕omniauth-google-oauth2でGoogle+APIを利用せずにrailsのgoogleログインできるようにする - Qiita
  • Vueでちゃんと作っていくにはElementUIよりBulmaの方が良くないか - Qiita

    Vueのアドベントカレンダーをウォッチしていてて、Nuxt.jsであるアプリを作っている途中です。 色々な記事でElementUIが取り上げられているので、私も使ってみましたが正直微妙になってきたので止めることにしました。 単体でレスポンシブのサイトは簡単に作れない。 ElementUIUIパーツのライブラリです。 レイアウトも部品として影響していますが、提供している部品の数はさほど多くありません。 そして、モバイル向けに配慮した機能は全く提供されません。 そのため、レスポンシブ対応するためには、一からやるか他のCSSフレームワークを組み合わせる必要が出てくると思います。 タイポグラフィ、レイアウトなどが簡単にできるわけではない ElementUIはあくまでもUIライブラリです。 私はコレを最初に見た時、Bootstrapみたいだから簡単にきれいなレイアウトが整うんだろうなと思っていまし

    Vueでちゃんと作っていくにはElementUIよりBulmaの方が良くないか - Qiita
  • [ver 1.2] Git でよく使われるコマンドにイラストによる説明を加えて1枚のチートシートにまとめてみた - Qiita

    題のチートシートはこちら PNG SVG https://d.kuku.lu/6b5cc7b0a9 から DL できます 作った理由 git って他人に概念を説明するのって難しいし、自身も何度も反復させないと定着しなかったなあという感覚を持っていたので作ってみました 所感 こちらの Git チートシートですが、この中に盛り込めなかった内容で 第2段 を作成しようか考え中です 皆さまのオススメの便利コマンドとか、この内容は必須だろ!的なものがあればをご教示いただければ幸いです もし誤りがあれば、作者の心が折れない程度にご指摘いただければ幸いです あとがき ここまで反響を頂けるとは思っておらず、嬉しい限りです・・・当にありがとうございます・・・!! また、図は全て自作です。図における言語は英語、説明は日語、と言う形に統一しました。(吹き出し部分だけ日語になっていたのでこちらは修正しまし

    [ver 1.2] Git でよく使われるコマンドにイラストによる説明を加えて1枚のチートシートにまとめてみた - Qiita
  • systemd サービスユニット覚書 - Qiita

    initはもはや昔のしくみで、OS起動・停止時の制御はsystemdが行う。initよりも並列度を高める設計思想なので、HWの進化ともあいまって最近のOS起動はとにかく速い。 操作には冪等性があるし、Pre/Postといったライフサイクルフックな仕組みもあるので、応用の幅は旧式のinitと比べるとかなり広がっている。独自にシェルを組まずとも、ユニットファイルと呼ばれる定義ファイルをsystemdわせてやるだけでよい。 やはりなによりも統一されたインタフェースでサービスを操作可能というのがいい。起動・停止はsystemctlコマンドだけで済む。 というわけで、systemdサービスユニットファイルの覚書。 変更履歴 2019-02-26: Type=forkingで複数子プロセス生成時にcgroup内のプロセスが終了した場合の挙動を追加 2019-02-26: journal.confの

    systemd サービスユニット覚書 - Qiita
  • モダンなC++におけるコンパイル時間削減のテクニック - Qiita

    はじめに C++は他の高級言語と比べると、run-time性能で優れています。C++11、C++14ではテンプレートを使ったテクニックが多く登場し、静的型言語特有のデメリットを大きく解消することとなりました。 しかし... ... ... ... ............. 遅い!!! コンパイルが終わらない!!! 複雑なテンプレートテクニックを使用したライブラリとかだと、どうしてもコンパイル時間が肥大化してしまう。 というわけで今回は、C++11以降の「モダンなC++」においてコンパイル時間を削減させるテクニックをいくつか紹介します。 対象となる読者 C++のテンプレートや共有ライブラリを使用した経験があり、C++の優れたテンプレートの機能を活用したいが、コンパイルに時間がかかって困っている人。あるいは、C++で書かれたライブラリの開発に携わっている人。 コンパイル時間削減のためのテクニ

    モダンなC++におけるコンパイル時間削減のテクニック - Qiita
  • 📃 Webページをそのままの状態でローカルに保存するツールを作った話 - Qiita

    はじめまして。yamaimo (@yarnaimodev) です。Qiita 初投稿...というかネット上にちゃんとした記事を上げるの自体初めてな気がします。 1998 年生まれで、プログラミングとか Web デザインは独学で 3 年ぐらいやってます。TypeScript / Firebase / Node.js / React あたりが特に好きです。 この前 coliss で紹介された Can't Unsee を試してみたら 1 回目が 7,630 点、2 回目が 7,930 点でした。1 小規模ですが Mastodon インスタンスを管理してます。あと Helix キーボード をこの前組み立てた2んですがキー配列を変えたのがなかなか覚えられなくて死んでます。 開発環境は基的に WSL + Hyper + fish shell と VSCode です。 今回 Puppeteer を使っ

    📃 Webページをそのままの状態でローカルに保存するツールを作った話 - Qiita
  • 新人ではないがGit初心者であるエンジニアが「このリポジトリをフォークしてローカルで開発できるようにしておいて!」と言われた時にやること - Qiita

    新人ではないがGit初心者であるエンジニアが「このリポジトリをフォークしてローカルで開発できるようにしておいて!」と言われた時にやることGitGitHub フォークとは GitHubのヘルプページには、こうある。 フォークは、リポジトリのコピーです。 リポジトリをフォークすると、元のプロジェクトに影響を与えずに自由に変更を試すことができます。 最も一般的には、フォークは他人のプロジェクトへの変更を提案するか、 他人のプロジェクトを自分のアイデアの出発点として使用するために使用されます。 ↓を見ると、もう少しざっくりとイメージすることができるかも。 https://qiita.com/matsubox/items/09904e4c51e6bc267990 お断り GitHubを使っていることが前提の話です。 あくまで自分の経験でのやり方に尽きるので、これやって現場で怒られても責任は持てません

    新人ではないがGit初心者であるエンジニアが「このリポジトリをフォークしてローカルで開発できるようにしておいて!」と言われた時にやること - Qiita
  • DNS over HTTPSの必要性について - Qiita

    なぜ今までのDNSでは問題があるのか インターネット上の通信の多くは、ブラウザを利用したウェブによるものです。 セキュリティ向上のため、GoogleやFireFoxといった大手ブラウザベンダーが平文通信であるHTTPから暗号通信であるHTTPSへの移行を推奨し、盗聴・改竄・なりすましといった問題を解決することが出来ます。 しかしながら、そのHTTPS通信をする前のDNSによるドメイン解決は暗号化されておらず盗聴でアクセスするホスト名を把握される、なりすましで偽の応答を返されるといった可能性があります。 それを防ぐための方法の1つが、DNS over HTTPSです。 DNS over HTTPSとは 今までDNSサーバ(フルリゾルバ)の(主に)UDPポート53番に対して行われていたDNSによる名前解決を、TCPポート443番に対するHTTPS(HTTP/2 over TLS)通信上で行うプ

    DNS over HTTPSの必要性について - Qiita
  • Piping Server を介した双方向パイプによる,任意のネットワークコネクションの確立 - Qiita

    nwtgck 氏によって HTTP を用いて2つのホスト間でパイプを構成するサーバ実装が公開されました. https://qiita.com/nwtgck/items/78309fc529da7776cba0 名前を Piping Server と呼ぶそうです. nwtgck 氏は 枯れた技術である HTTP 上に実装されている HTTP 上に実装されているため,ウェブブラウザ,wget,curlなどの慣れ親しんだツール群でデータのやり取りができる パイプ経由で効率的にデータを転送でき,従って送信側・受信側ともにコマンドライン上でパイプをつなげることによりデータの加工がバイトストリーム上で行える データの送信者,受信者ともに TCP ポート番号80または443への外向きのコネクションさえ確立できれば良い といったあたりが Piping Server のアピールポイントであると主張されていま

    Piping Server を介した双方向パイプによる,任意のネットワークコネクションの確立 - Qiita
  • target="_blank"には気をつけよう - Qiita

    経緯 aタグにtarget="_blank"をつけると危険だよと言われたので、忘れないうちにメモメモ。 危険な理由 「リンクを開いた先のページでのJavaScriptによって、開いた元のページを操作できてしまう」 大抵のブラウザでは、 target=blank_によって"別タブで開かれたページ"が手前に表示され、 "元のページ"は裏に残る。 "別タブで開かれたページ"にて、 が実行されると、裏で"元のページ"が画面遷移される。 オリジンが違ったとしても、リンクをたどってきたユーザを任意のサイトに誘導することが可能。 ※ window.openerは、"別タブで開かれたページ"を開いた"元のページ"への参照を返すらしい。。。 window.opener フィッシング詐欺攻撃の例 リンクのへの rel=noopener 付与による Tabnabbing 対策 ESLint(eslint-plu

    target="_blank"には気をつけよう - Qiita
  • go-pear.pharにバックドアが仕込まれていた - Qiita

    半年以内にgo-pear.pharを使った人は必ずチェックしましょう。 2019/01/19 PEAR公式Twitterアカウントからツイート。 このアカウント全然活動してない。 https://twitter.com/pear/status/1086634389465956352 A security breach has been found on the https://t.co/dwKlscDEFf webserver, with a tainted go-pear.phar discovered. The PEAR website itself has been disabled until a known clean site can be rebuilt. A more detailed announcement will be on the PEAR Blog once i

    go-pear.pharにバックドアが仕込まれていた - Qiita
  • 追伸。そろそろおまえもseabornヒートマップを使うように。 母より - Qiita

    はじめに seabornのヒートマップの使い方をまとめました。 記事タイトルは相変わらずコピーメカに考えてもらってます。 母はヒートマップを暖房器具か何かだと思っているのかな? seaborn ヒートマップの使い方 今回はseabornのflightsというデータを使っていきます。 import seaborn as sns; sns.set() import pandas as pd flights = sns.load_dataset("flights") display(flights.head())

    追伸。そろそろおまえもseabornヒートマップを使うように。 母より - Qiita
  • Raspberry Piで自宅にかかってきた電話番号をLine通知してみた - Qiita

    年末のAmazonサイバーマンデーにのせられて、RaspberryPiキットをポチってしまったのです。せっかくなので、何かに使えないかということで、冬休みの宿題に取り組みました。 うちは共働きなので、家の固定電話にかかってきた電話が全部留守番電話に溜まり、気が付くと10件以上になっていることも。電話がかかってきたときに通知してくれれば、必要に応じて折り返しできるなということで、家電にかかった電話をLine通知するようにしてみました。 #環境や前提条件 Raspberry Pi 3 Model b+:アマでポチってしまったやつ。実際はキットで買いました。ABOX Raspberry Pi 3 Model b+ ラズベリーパイ 3 b+【2018新型】 光電話:うちはBiglobe光電話ですが、NTT回線の光電話で借りている宅内ルータがPR-400KIというやつでした #宅内ルータの設定 宅内

    Raspberry Piで自宅にかかってきた電話番号をLine通知してみた - Qiita
  • 誰でも爆速でマッチングサービスが作れる方法と対策 - Qiita

    誰でも爆速でマッチングサービスが作れるようになるかなーと思い記事化しました 「あなたこそシンデレラ」というマッチングサービスを作る上で手間取ったことを中心にご紹介します ▼この記事でわかること マッチングサービスを作る流れ 警察署へ提出すべき書類 Appleへアプリの審査を出す際に気をつけること サーバーサイドで気をつけること 全体的な費用とかもわかります ▼はじめに 街を歩くと「クリぼっちの人ですね!」と言われるようになったおかむーです。嬉しいですけど、なんだか切ない気持ちになります笑 「今年こそクリぼっちを救えるのか!~今年はクリぼっちが少ないらしい その2~」 12月に「あなたこそシンデレラ」というマッチングサービスを個人でリリースしたのですが、 法的な手続きや各種申請などが予想以上に大変だったので他の方の参考になればと記事にしています これからマッチングサービスを作る方の参考になれ

    誰でも爆速でマッチングサービスが作れる方法と対策 - Qiita
  • 今年、JavaScriptでの仕事の幅を広げた技術6選 - Qiita

    こんにちは。久しぶりのQiita投稿です。 今回は「ex-KAYAC Advent Calendar」の13日目の記事として寄稿させていただきます。 さて、改めて私の今やっていることを紹介させていただきますと、独立してから株式会社Lucky Brothers & co.という会社を設立し、主にWebの受託制作を行っています。 かれこれ3期目に突入致しました。 アドベントカレンダーということで改めて2018年という年を振り返ってみたのですが、一言で言うと「今年はフロントエンドエンジニアにとって大きな当たり年であった」と言えるのではないかと思います。特に私達の会社では、今までのいわゆる「Webサイト制作」だけの単一事業形態から脱し、他のあらゆるアプリケーション制作にも手を拡げられた年になりました。 そんな話をしようと思います。 Nuxt.js Vue.js製のフレームワークであるNuxt.js

    今年、JavaScriptでの仕事の幅を広げた技術6選 - Qiita
  • CVE-2018-1002105 の issue を読んで kube-apiserver に詳しくなろう! - Qiita

    CVE-2018-1002105 の issue を読んで kube-apiserver に詳しくなろう!kubernetes 脆弱性と聞くとワクワクしてきますね。実際にどんな悪さができてしまうのか、Criticalとなる脆弱性とはいかほどのものなのでしょう??実際のところ、ZDNet の記事においては、 「デフォルト設定では、すべてのユーザー(認証の有無にかかわらない)に対して、この権限昇格を可能にするディスカバリAPI呼び出しの実行が許可されている」という。つまり、この脆弱性について知っている人物であれば 誰でもKubernetesクラスタを手中に収めることができる。 みたいなことが書いてあっていかにも怖そうです。当でしょうかね? Kubernetes API Server (kube-apiserver) 今回の CVE の対象コンポーネントは kube-apiserver です。

    CVE-2018-1002105 の issue を読んで kube-apiserver に詳しくなろう! - Qiita
  • Windows7環境なのにdocker入れて開発することになった話【②システム構成編】 - Qiita

    はじめに 1章では、環境構築をしてきました。しかし、どのようなアプリケーションを作るか、何も考えていませんでした。基盤は整ったものの、何を作るか決めないことにはシステムは開発できません(当たり前)。そこで、章は以下の順序で記述していきたいと思います。 要件の検討 システム構成の検討 不足していたライブラリ・ソフトウェアの導入 動作確認 まだまだタイトルのdockerに触れるには時間がかかりそうで、タイトル詐欺もいいところですが、是非一読ください。1章同様、指摘・要望お待ちしております。 辞書整理 文章(第2章)を読む上で頭に入れておいたほうが良い文言をピックアップ。文中分からない文言が出たら見返してください。(不足あれば、コメントいただけたら追記していきます) スクレイピング WebページからHTMLデータを収集・抽出し、整形・加工すること。 似たワードにクローリングがあるが、クローリ

    Windows7環境なのにdocker入れて開発することになった話【②システム構成編】 - Qiita