Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方 (in PostgreSQL)
(PostgreSQL Advent Calendar 2015 10日目) こんちは!最近、「多対多なら双方にリストを持たせれば関連テーブルが消えてテーブル数が減らせるよ!」という記事を見つけて、頭を抱えてしまいました!これもO/Rマッパーの弊害かと思いましたが、どちらかというと難しいプログラミング言語をやってる人はその勉強に時間をとられて、テーブル設計その他を勉強する時間がないんでしょうね。...
View Article高速なルーティングを実現するための正規表現
(Ruby Advent Calendar 2015 6日目) Ruby 用の高速なルーティングライブラリ Rack::JetRouter 1.0.0 をリリースしました。 Rubygems: https://rubygems.org/gems/rack-jet_router GitHub: https://github.com/kwatch/rack-jet_router これは Rails より...
View Articleルーティングの高速化は大いに意味があります!
こんちは!コミュ障って、単に性格の問題かと思っていたけど、もしかしたら読解力や理解力の問題なのかもと思えてきました! @todesking ルーティング速くしてもあんま意味ないの本人もみとめてるし、決定の後に決定機構の外部からああやってあおるの端的にいって最悪のクズなんじゃないでしょうか — 旧姓ハラダ (@ssig33) October 28, 2015...
View ArticleRailsより100倍速いフレームワークをさらに速くする方法
Ruby が遅いとか Rails が遅いとか言う奴根本的に頭が悪すぎるので相手にしてもしょうがなくて、その根本的に頭悪い人門前払いする方法ないから文字列の仕様アレするという話でしょ、あのおじさんなんかおかしい — 阿澄佳奈と回転する炎の剣 (@ssig33) October 28, 2015 おかしいくらい高速なフレームワーク「Keight.rb」をさらに高速化する方法を紹介します。 可変 URL...
View ArticleRailsの問題をRubyにすり替えている困った記事たち
どうも! 100 倍速いコードを書いて実証してみせても「意味がない」と難癖つけられるとは、世間は厳しいですね! だから既存の実装が遅いと言うとき、きちんと互換性を保ったパッチを書けるのならその批判は意味があるけど、そうでないなら何言ってんだという話になる、のであのエントリはなぜRailsのrouterのパッチを書かなかったのかと思う — tagomoris (@tagomoris) October...
View ArticleRailsより100倍速いフレームワークをRubyで作ってみた
Rails より 100 倍、Sinatra より 20 倍速いフレームワーク「Keight.rb」を作りました。Ruby 用です。 https://rubygems.org/gems/keight https://github.com/kwatch/keight/tree/ruby ただし、α版なのでまだいろいろ足りない点があります。ご了承ください。 ベンチマーク “hello world”...
View Article関数型の記事に出てる命令型のコードがコレジャナイ感満載な件について
どうも!クックパッドのエンジニアに業務命令で焼きそばを焼かせたらやっぱり会社辞めちゃうのか、私、気になります! 余談ですが、会社や上司に不満があれば、たとえ小さなことでも不満材料になるんだなというのは勉強になりました...
View Article「なぜ関数型プログラミングは難しいのか?」という特集がろくに関数型プログラミングの難しさを掘り下げてなかった件について
(長い文章が読めない人はここで回れ右しような。訪問ありがとうございました。) どうも、ペアノ数が何なのかさっぱり知らない底辺プログラマです。 とある技術雑誌で「なぜ関数型プログラミングは難しいのか?」という特集が組まれていました。...
View Article[db] 「O/Rマッパーがなぜ悪いか?」がなぜ頭悪いか?
もう昔のことになりますが、「SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?」という資料を公開しました。 みんな大好きはてなブックマークでは賛否両論あったんですが、ピント外れな意見も多くありました。 そしてピント外れな批判をしてる人は、そもそも O/R マッパー (以下 ORM) をろくに知らずに批判してるららしい、ということも分かりました。...
View Article[postgresql] MySQLユーザに捧げる、ポスグレの特徴的な機能12選
(これは PostgreSQL Advent Calendar 2014 参加エントリですが、Advent Calendar なんてただのブログ記事の延長でしかないので、過度な期待はしないでください。) 主に MySQL ユーザを対象として、PostgreSQL にはこんな機能がありますよー、という紹介記事です。 乗り換えを勧めるわけじゃないけど、MySQL と PostgreSQL...
View Article[python] Benchmarker.pyこそPython界最強のベンチマークツールである
(これは Python Advent Calendar に参加してますがただのブログ記事です。) ベストセラー書籍からのパクリタイトルで申し訳ありません。 Python用のベンチマークツール Benchmarker.py ver 4.0 をリリースしたので紹介します。 https://pythonhosted.org/Benchmarker/ Benchmarker.py の概要...
View Article[ruby] いろいろ難点のあるERBよりもBabyErubisを使ってみよう、という話
(これは Ruby Advent Calendar 2014 参加エントリです。) BabyErubis ver 2.0.0 をリリースしました。 BabyErubis は、2007年 RubyKaigi での発表で使ったサンプルコードをもとにした、とてもコンパクトな eRuby 処理系です。 baby_erubis (rubygems.org) source code (github.com)...
View Article[postgresql] 『内部構造から学ぶPostgreSQL』という本がとても良い
(これは PostgreSQL Advent Calendar 2014 参加エントリです。) 『内部構造から学ぶPostgreSQL – 設計・運用計画の鉄則』 (技術評論社, 2014) という本がとても良いです。 まだ全部を読めたわけではないのですが、それでも良い本であることがよくわかりました。 PostgreSQL を使う人にはぜひ読んで欲しいと思うので、紹介します。 どんな本か?...
View Article[python] 細かすぎて伝わりにくい、Pythonの本当の落とし穴10選
Pythonを書き始める前に見るべきTips – Qiita Pythonは何かとトラップが多い言語で、引っかかるとなんてゴミ言語と感じてしまうことが少なからずある。 などという記事(*)が出回りましたが、あの記事で挙げられている中で Python の「トラップ」と言えるのは新旧スタイルのクラスぐらいであり、他は決してトラップでもゴミでもありません。...
View Article[ruby] Erubisの弟分「BabyErubis」1.0.0 リリース
BabyErubis というのを作りました。ご想像の通り、eRuby処理系です。 (rubygems.org) baby_erubis (github.com) kwatch/baby_erubis at ruby-1.0 Erubisと比べ、機能を絞るかわりにコードサイズを大幅に削減しています。...
View Article[python] Python2.7の公式サポートはもはや期待できないから、とっととPython3に移行したほうがいいよ
Python2.7は、公式には「2020年までサポートされる」とアナウンスされています。 なので、諸般の事情でPython3に移行できない人は、当面はまだPython2.7を安心して使い続けるつもりでしょう。 しかし、この「サポートする...
View Article[java] Javaの正規表現ってクソ使いにくいよね?ね?なので使いやすくするラッパーを作ってみた
Java の正規表現ライブラリである java.util.regex パッケージは、大変使いにくいことで有名です。そのせいで、「Java で正規表現が使いにくいのは正規表現リテラルがないせいだ」と勘違いする人も出てくる始末です。 そこで、java.util.regex パッケージを wrap して使いやすくしたライブラリ「benry.rexp」を作ってみたので、紹介します。 特徴:...
View Article[python] 年末大感謝祭!初心者脱出のためのPythonTipsを50個紹介
(本投稿は Python Advent Calendar 2013 参加作品です。前日の記事は @atsuoishimoto 氏による「Python 3.4 のオブジェクト開放処理」でした。) Python初心者が知らないかもしれないPythonのTipsを50コほど紹介。 長いので、ブックマークだけしてあとで読めばよろし。 (追記:2013-12-10)...
View Article[ruby] Rack 1.5 新機能「ハイジャックAPI」について
みんな大好き Rack の最新バージョンである Rack 1.5.0 がリリースされました。 その新機能として「ハイジャック API」なるものが導入されたそうなので、紹介します。 なお本稿は The new Rack socket hijacking API の内容を基にしています。 ハイジャック API とは? ハイジャック API とは、ソケットを使って HTTP...
View Article[PHP] ジェネレータ導入記念:PHP上級者こそ知ってほしい、なぜforeach文が重要か?
(PHP Advent Calendar 25日目参加エントリです。前の日は @mugeso さんによる「PHPerのMVCの一体どこが間違っていたのか」でした。) 年末三日間の聖戦に向けて聖夜は休息にあてているみなさん、こんにちは。 今日は、ジェネレータをより有効に使うべく、foreach 文のファンタスティックな使い方を紹介します。 ジェネレータの風が吹けば foreach 文が儲かる...
View Article