はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ hnw

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 25 / 43件)

PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

2021/01/10 このエントリーをはてなブックマークに追加 466 users Instapaper Pocket Tweet Facebook Share Evernote Clip 実装 ベンチマークテスト バージョン Ruby 以下

PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化... 続きを読む

Raspberry Pi の Wi-Fi パワーマネジメントモードについて調べた - hnwの日記

2020/10/11 このエントリーをはてなブックマークに追加 89 users Instapaper Pocket Tweet Facebook Share Evernote Clip Linux 挙動 無線ネットワーク オフ Wi-Fi

さいきんRaspberry Pi 4を買ったんですが、Wi-Fiだけで運用したときにRaspberry Piへのアクセスがイマイチ不安定、ということがありました。ネットの情報を調べるとLinuxの無線ネットワークの「パワーマネジメントモード」をオフにすれば平和になるような話が見つかるんですが、その挙動を解説した記事が見つからなかっ... 続きを読む

ユニットバスの天井裏に備え付けのL2スイッチを発見した話 - hnwの日記

2020/09/20 このエントリーをはてなブックマークに追加 517 users Instapaper Pocket Tweet Facebook Share Evernote Clip そいつ ユニットバス 顛末 本稿 スイッチ

私は同じ賃貸住宅に10年ほど済んでいるのですが、ごく最近になって自宅内に備え付けのL2スイッチが存在することに気づきました。ソイツはなんとユニットバスの天井裏にいたのです。 このスイッチをGbEスイッチにリプレースしたところ、自宅のコンピューティング環境を改善することができました。本稿ではその顛末を紹介... 続きを読む

PHP7から定数配列がOPcacheに乗るので巨大配列が使い放題という話 - hnwの日記

2020/08/12 このエントリーをはてなブックマークに追加 88 users Instapaper Pocket Tweet Facebook Share Evernote Clip 本稿 PHP OPcache コスト リリース

PHP 7.0のリリースから約5年が経過し、そろそろPHP 8.0のリリースも見えてきました。人によっては使い始めて5年目になるはずのPHP 7.xですが、いまだに新しい発見があったりして面白いですね。 本稿ではPHP 7.0から入った定数配列に関する性能改善について紹介します。 PHP 5時代は配列の組み立てコストが大きかった プ... 続きを読む

date-holidays という祝日ライブラリが良い意味で狂っていた - hnwの日記

2019/04/13 このエントリーをはてなブックマークに追加 458 users Instapaper Pocket Tweet Facebook Share Evernote Clip ライブラリ node.js 本稿執筆時点 マニア 祝日

世界には色々なマニアがいるなーという話を紹介します。 先日Node.jsで使える祝日ライブラリを探していたところ、複数の国や地域の祝日に対応しているライブラリ date-holidays を見つけました。 commenthol/date-holidays: worldwide holidays このライブラリは本稿執筆時点で143ヶ国379地域の祝日に対応しています。こ... 続きを読む

セキュリティの話題に丸腰で踏み込んでくる人を見た - hnwの日記

2018/03/21 このエントリーをはてなブックマークに追加 242 users Instapaper Pocket Tweet Facebook Share Evernote Clip セキュリティ 丸腰 日記 話題

Qiita上で「 ゲームでよくされるチート手法とその対策 〜アプリケーションハッキング編〜 」という記事がいいね数を集めているようですが、全セクションにツッコミどころがあるような印象です。私はセキュリティ本職というわけではありませんが、素人の私から見てもひどいと思ったところだけ個別にツッコミを入れてみます。 念のため補足しておくと、誰であろうと情報発信すること自体は大変良いことです。ただ、誤りを含... 続きを読む

Mackerelで家庭内ネットストーカーシステムを作ってみた - hnwの日記

2017/12/23 このエントリーをはてなブックマークに追加 150 users Instapaper Pocket Tweet Facebook Share Evernote Clip mackerel Slack 知見 無線LAN 本エントリ

本エントリは Mackerel Advent Calendar 2017 の23日目の記事です。 自宅の無線LANの利用状況をMackerelで監視するようにしたところ、予想以上にキモい仕組みができました。たとえば、家族の誰か(正確には誰かのスマートフォン)が外出するとSlackに通知を飛ばすことができます。 同じことをしている人は多くないと思うので、その知見を紹介します。 システム概要 まずは我... 続きを読む

MySQLのFLOAT型を使う理由が見つからない件 - hnwの日記

2017/12/21 このエントリーをはてなブックマークに追加 248 users Instapaper Pocket Tweet Facebook Share Evernote Clip 文中 類似 混乱 根拠 小数点

MySQLのデータ型としてFLOAT型という型があるのですが、これを採用するのは混乱の元ではないか?と感じたので、その詳細を紹介します。 そもそもこの話のきっかけは「 MySQLで6桁までの小数点を丸めずに扱うならFLOAT型を使うべき理由 」という記事が目に止まったことです。それなりに人気を集めている記事のようですが、私の読んだ限りではFLOAT型を使うだけの根拠が文中から読み取れず、さらに類似... 続きを読む

PHPの連想配列は常にin_arrayより速いのか - hnwの日記

2017/05/21 このエントリーをはてなブックマークに追加 99 users Instapaper Pocket Tweet Facebook Share Evernote Clip Array 連想配列 PHP 辞書 習慣

プログラムを書いていると、入力値が辞書に含まれているかを調べたいようなことがあります。たとえば、ユーザーに都道府県名を入力させて、それが正しい都道府県名であるかどうかを調べたい、というようなことがあるかもしれません。 このような内容をPHPで書く際、キーに都道府県名を持つような連想配列を作る習慣がある人は多いはずです。これは典型的な連想配列の使い方といえるでしょう。 $ prefs = array... 続きを読む

ポートノッキングで10秒間だけsshdを公開する設定 - hnwの日記

2017/03/28 このエントリーをはてなブックマークに追加 569 users Instapaper Pocket Tweet Facebook Share Evernote Clip Twitter sshd 反応 皆様 10秒間

先日Twitterに次のような書き込みをしたところ思ったより反応が良かったので、詳細の設定を紹介します。 UDP53番、TCP443番、UDP123番とポートノッキングをするとTCP443番に10秒だけsshdが現れる、という中二病全開の設定をした。皆様にもお勧めしたい。 — hnw (@hnw) 2017年3月26日 といっても特殊なことをしたわけではなく、knockdでポートノッキングの設定を... 続きを読む

第七回闇PHP勉強会でrealpathキャッシュとデプロイの話をしました - hnwの日記

2016/12/12 このエントリーをはてなブックマークに追加 86 users Instapaper Pocket Tweet Facebook Share Evernote Clip デプロイ PHPアプリケーション 皆さま 以下 発表資料

昨日12月11日に 第七回闇PHP勉強会 を開催いたしました。私を含め発表者6人ということで、とても盛り上がった勉強会になりました。発表者の皆さま、またご参加いただいた皆さま、本当にありがとうございました。また会場提供いただいたピクシブ株式会社さまにも大変お世話になりました。 以下が私の発表資料です。 PHPアプリケーションをsymlink切り替えでデプロイしているとrealpathキャッシュ絡み... 続きを読む

PHPにおけるシンボリックリンクを使ったデプロイの危険性について(「realpath_cache」和訳) : KLabGames Tech Blog

2016/10/31 このエントリーをはてなブックマークに追加 211 users Instapaper Pocket Tweet Facebook Share Evernote Clip シンボリックリンク デプロイ 和訳 了解 PHP

この文書は @julienPauli さんによる記事「 realpath_cache 」の日本語翻訳です。元々は @gilbite さんがKLab社内向けに翻訳したものでしたが、日本語では見たことがない指摘を含んでおり今でも有用だと考えたため、@julienPauliさんの了解を取った上で @hnw が修正・追記して公開するものです。 はじめに PHP に realpath_cache_get()... 続きを読む

PHPプログラムを書いたらマイナス21億行目あたりでエラーが出た - hnwの日記

2016/10/05 このエントリーをはてなブックマークに追加 318 users Instapaper Pocket Tweet Facebook Share Evernote Clip users int 重箱 毎度おなじみ PHPプログラム

毎度おなじみ、意図的に重箱の隅をつついてみたよって話です。あるPHPプログラムを実行したら次のようなエラーに遭遇しました。 $ php over-2g-lines.php int(0) PHP Fatal error: Uncaught Error: Call to undefined function var____dump() in /Users/hnw/over-2g-lines.php:2... 続きを読む

PHPのround関数とは一体なんだったのか - hnwの日記

2016/07/02 このエントリーをはてなブックマークに追加 380 users Instapaper Pocket Tweet Facebook Share Evernote Clip dis 四捨五入 round関数 パク 記述

PHPのround関数について、ネット上で次のような記述を見つけました。 PHP 四捨五入の計算を間違える唯一の言語として畏れられていましたが、そのバグは治っているかもしれません(治ってないかもしれません) 主要なプログラミング言語8種をぐったり解説 - 鍋あり谷あり 各言語を面白おかしく紹介する内容とはいえ、ずいぶん雑な理解だなーという印象です。ゆるふわな話だけでPHPがdisられ続けるのもどう... 続きを読む

PHP7から文字列の無駄なコピーが減った話 - hnwの日記

2015/12/13 このエントリーをはてなブックマークに追加 54 users Instapaper Pocket Tweet Facebook Share Evernote Clip 変数 エントリ 本稿 メモリ メリット

このエントリは 闇PHP Advent Calendar 2015 の14日目です。 本稿では、PHP7の zend_string 構造体導入によるメリットの話をします。 PHP5とPHP7の文字列型の扱い PHP5では、文字列型の変数は次のようにメモリに割り当てられます(横幅いっぱいが8バイト)。 一方、PHP7では次のようになります。 これだけ見ると、PHP7では参照カウンタ refconun... 続きを読む

PHP7の内部実装から学ぶ性能改善テクニック

2015/09/04 このエントリーをはてなブックマークに追加 160 users Instapaper Pocket Tweet Facebook Share Evernote Clip 内部実装 PHP7 パク KLab株式会社 カレー

PHP7の内部実装から学ぶ性能改善テクニック 1. A remarkable improvement on data structure in PHP7 PHP7の内部実装から学ぶ
 性能改善テクニック hnw Developers Summit 2015 KANSAI (2015/9/4)発表資料 2. 自己紹介 ❖ @hnw ❖ 勤務先:KLab株式会社 ❖ カレーとバグが大好物 ❖ PHP歴... 続きを読む

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

2015/07/16 このエントリーをはてなブックマークに追加 299 users Instapaper Pocket Tweet Facebook Share Evernote Clip DQNEO起業日記 PHP7 実際 モジュー Apache

仕事で使っているPHPアプリケーションをPHP7 beta1で動かしてみたらそのままでは動きませんでした。 私が実際にはまった点を紹介します。 なお、PHP7の変更点についてはhnwさんの記事に詳しく網羅されているのでご一読ください。 PHP7で変わること - hnwの日記 Apacheのモジュール名が変わっていた ApacheにPHPを組み込むためのモジュール(俗にいうmod_php)のモジュー... 続きを読む

PHP勉強会10年の歴史をふりかえる - hnwの日記

2015/06/24 このエントリーをはてなブックマークに追加 60 users Instapaper Pocket Tweet Facebook Share Evernote Clip 歴史 日記

PHP勉強会@東京が今月で10周年の節目ということで、大変めでたいですね。僕にとっては初めて参加・発表した社外勉強会だったこともあり、不思議な感慨があったりします。 そこで、ふと思いついてPHP勉強会の10年を表形式でまとめてみました。古参の人が懐古する以外の用途はほぼ無いと思いますが、現在の参加者の方や他の勉強会の運営をしている方の参考になる部分が1%くらいはあるかもしれません。 (企業名などは... 続きを読む

PHP7で変わること ——言語仕様とエンジンの改善ポイント

2015/05/30 このエントリーをはてなブックマークに追加 398 users Instapaper Pocket Tweet Facebook Share Evernote Clip エンジン 言語仕様 PHP7 改善ポイント さいきん

Transcript 1. What’s new in PHP7 PHP7で変わること ̶̶言語仕様とエンジンの改善ポイント hnw PHPカンファレンス関西2015 (2015/5/30)発表資料 2. 自己紹介 ❖ @hnw ❖ 勤務先:KLab株式会社 ❖ カレーとバグが大好物 ❖ PHP歴15年 ❖ PHPや周辺エクステンションにバグレポ・PR多数 3. アジェンダ ❖ PHP7、さいきん... 続きを読む

PHP7で変わること - hnwの日記

2015/05/24 このエントリーをはてなブックマークに追加 164 users Instapaper Pocket Tweet Facebook Share Evernote Clip 基調講演 PHPカンファレンス関西 エンジン 土曜日 チケット

次の土曜日5/30のPHPカンファレンス関西2015で基調講演(10:30-11:15)をさせて頂くことになりました。タイトルは「PHP7で変わること——言語仕様とエンジンの改善ポイント」です。チケットは既に売り切れているそうですが、参加者の方は早起きして来て頂けると幸いです。 このところQiitaに「PHP7調査」というシリーズを連投していたのも発表を意識してのことです。PHP7の新機能を一つず... 続きを読む

PHPのJSONライセンス問題が一応決着 - hnwの日記

2015/04/19 このエントリーをはてなブックマークに追加 118 users Instapaper Pocket Tweet Facebook Share Evernote Clip 決着 PHP ライセンス ソフトウェア ソースコード中

2012年頃に、PHPのJSONエクステンションのソースコード中に次のようなライセンス文言が含まれていると話題になりました。 The Software shall be used for Good, not Evil. これはJSONライセンスと呼ばれるライセンスの一部です。「このソフトウェアを良いことに使うのはいいけど、悪いことには使っちゃダメ」といったところでしょうか。 これはフリーソフトウェ... 続きを読む

Javaで書かれたPHP処理系のJPHPが高速だった - hnwの日記

2015/01/17 このエントリーをはてなブックマークに追加 205 users Instapaper Pocket Tweet Facebook Share Evernote Clip Java 大半 既存 phpファイル phpコード

JPHPというJavaで書かれたPHP処理系があります。これは2013年10月にはじまった新しいプロジェクトで、大半をメイン開発者一人で開発しているようですが、既に一定以上の完成度です。また、内部的にはPHPファイルを解釈して直接Javaバイトコードにコンパイルしており、かなり高速なPHP処理系になっています。 他のPHP処理系と異なり、既存のPHPコードをWebサーバ上で動かすことを重視していな... 続きを読む

PHP7はなぜ速いのか(zval編) - hnwの日記

2014/12/06 このエントリーをはてなブックマークに追加 293 users Instapaper Pocket Tweet Facebook Share Evernote Clip phpng 本稿 PHP 動向 PHPカンファレンス2014

この記事はPHP Advent Calendar 2014の7日目です。 僕は先日のPHPカンファレンス2014でPHP7に関するLTをしました(参照:「PHPNGの動向」)。ただ、時間が限られていたこともあり、あまり踏み込んだ内容には触れませんでした。 本稿ではLTの内容から深掘りし、zvalという内部的な構造体がどう変わるのか、性能面のメリットにフォーカスして解説してみます。 PHPをとりまく... 続きを読む

PHPでHTTPの並行ダウンロードを実現する(Guzzle編) - hnwの日記

2014/08/24 このエントリーをはてなブックマークに追加 266 users Instapaper Pocket Tweet Facebook Share Evernote Clip HTTPクライアントライブラリ デファクトスタンダード

PHPで最近注目のHTTPクライアントライブラリにGuzzleがあります。日本での知名度はまだまだという印象ですが、かなり高機能かつ真面目にメンテナンスされている印象で、今後のデファクトスタンダードになりうるライブラリと言えるでしょう。 本稿ではこのGuzzleを使ってWebサーバから並行にダウンロードする方法を紹介します。Webブラウザのように同時に複数コネクションを管理しながらKeep-Ali... 続きを読む

PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記

2014/08/09 このエントリーをはてなブックマークに追加 412 users Instapaper Pocket Tweet Facebook Share Evernote Clip PHP PHPプログラマ ドキュメント パク 規則

PHPの==は両辺を適当に型キャストしてから比較するような演算子です。この型キャストの規則は難解すぎる上にドキュメントも不十分なため、PHPプログラマでも完璧に理解している人はほとんど居ないくらいの印象です。バグの原因になりかねないため、==をできるだけ使わないようにしているPHPプログラマも多いはずです。 ところで、この==演算子の挙動がPHP 5.4.4から変更されていることはあまり知られてい... 続きを読む

 
(1 - 25 / 43件)