GoのGenericsを使った効率的なキャッシュの実装 / Effective Generic Cache in Golang
![Kibanaを使う理由](https://cdn-ak-scissors.b.st-hatena.com/image/square/53fa8126731da5f8efb038651d4753eff41b79c1/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F2a0412c03efb0131bf07467a3fdfc5a9%2Fslide_0.jpg%3F2377926)
View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery Meta License: BSD License (BSD 2-Clause License) Author: Ionel Cristian Mărieș Tags debugging, manhole, thread, socket, unix domain socket Requires: Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.* Features Uses unix domain sockets, only root or same effective user can connect. Can run the
てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ!RubyRails ちょっと煽り気味のタイトルにしてみましたが、Railsで開発する時は意識的にOOPに寄せないとオブジェクトの力が活かせなくなるよってことと、Railsが提供しているクラスの責務を分割することを支援してくれる機能について話をします。 ActiveRecordの性質 Rails開発においては、モデル層にロジックを書いてコントローラーは薄くしろ、というのはしつこく言われているので、概ね浸透してきていると思います。 それに加えて、最近私が結構しつこく主張しておきたいのが、モデル = ActiveRecordでは無いよ、ということです。 ActiveRecordは成り立ちから言うと、ロジックとDBへの永続化をまとめてカプセル化するアーキテクチャパターンから来ています。
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
CentOS 6.4から6.5にupgradeかけたあとから yum実行したら、下記のエラーが出て動かなくなった。 There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: /usr/lib64/libcurl.so.4: undefined symbol: ldap_init_fd Please install a package which provides this module, or verify that the module is installed correctly. It's possible that the above module doesn't match the current versi
Python Advent Calendar 2013 の4日目です。 Python 3.4 で標準ライブラリに追加される asyncio を触ってみます。 なお、 Tulip とは asyncio のリファレンス実装のプロジェクト名です。 背景 Python はよく非同期 I/O プログラミングに使われます。 Twisted, Tornado, gevent, eventlet, pyuv などのフレームワークがあります。 これらのフレームワークの問題点として、ライブラリの再利用性の低さが挙げられます。 たとえば Twisted 用に書かれた XMPP ライブラリは、そのままでは Tornado で 利用することができません。 この問題の解決策として、良くイベントループの乗り入れが行われます。 GUIアプリケーションに組み込む場合などを考えて、多くのフレームワークが最初から イベントルー
最初に僕のポジションは表明しておくけど、今までbackbone.js, というかそのラッパーであるchaplin.jsべったりの環境で開発してて、今のプロジェクトをゼロから作り直す機会があるので次バージョンのためのライブラリ選定のためにとりあえず比較として angularを試した見た程度の人間なので、深くは理解してない。 Angularのメリット 僕の浅い理解と勉強会での話を総合した感じ レールに乗り切った時の開発効率が半端ない レールがしっかり敷かれているので開発者の能力差が問題にならない HTMLがテンプレートなので意味的な乖離が少ない ビューモデルに対する操作が一貫していてテスタビリティがある 自分もモジュラリティがあるHTML/CSSは幻想だと思っているので、HTMLに直接属性を書くのは別に構わないと思っている。 ただ、集団開発でも開発者の能力差が問題にならない、という発表をしてい
DI (Dependency Injection)ってのは日本語では依存性注入とも呼ばれ、大雑把に言うとAngularJSがコントローラなどに必要とされているコンポーネント(オブジェクト)をいい感じに渡してやる機能です。 ここでは特にAngularJSのDIがどのような仕組で動いてるか、そしてその独特なDIの実装にまつわるトラブルケースを説明します。 AngularJSのコントローラの書き方 まずはAngularJSの中心的な機能であるコントローラの書き方には、簡単版と面倒版の複数の書き方があることを抑えておきましょう。 パターン1(グローバル関数パターン) サンプルとかでよく見るのは↓こういうグローバル関数の形のコントローラです。
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 時間はどんどん流れていってしまうもので、止めることは誰にもできません。しかし流れていった時を振り返って形にすることはできます。その一つが年表です。 自分のこれまでの歩み、歴史的事件、文明など様々な事柄を年表に表してみましょう。データをプロットするのが大変なイメージがありますが、Lifeを使えば簡単です。なぜならデータフォーマットがMarkdownだからです。 例えばサンプルのMarkdownファイルは次のようになっています。 life.md @USERNAME' life =============== - 24/02/1955 Born - ~1968 Summer job - 03/1976 Built a computer - 01/04/1976 Started a com
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
うちの部署に入れる新しい業務システムの構築の担当になって、昨日から打合せが始まった。今までエクセルで管理してたものが多くて結構表組みで管理したいものがたくさんあったから、そういう要望を業者に伝えたら「いや~、、ハハハ・・(だったら今まで通りエクセルでやれば?)」みたいな反応。例えばフィルターとか超使ってるし、タブをドンドン増やしてハイパーリンクでつないで元データから引っ張ってきて計算して表組みを作成するとかいつもやってるような作業が新システムだと厳しい(=できないor莫大な時間と金がかかる)らしい・・。帳票は固定になりますね、帳票増やすと増やした分だけ金かかります、みたいな感じ。いちばんビビったのがコピーペーストができないって言われたこと。列ごとコピーしてデータ貼り付けて表作るっていう単純なことが、何百万だか払って作るシステムではできないとか・・。(CSVで保存してアップロードしてください
Previously on Jepsen, we explored two-phase commit in Postgres. In this post, we demonstrate Redis losing 56% of writes during a partition. Redis is a fantastic data structure server, typically deployed as a shared heap. It provides fast access to strings, lists, sets, maps, and other structures with a simple text protocol. Since it runs on a single server, and that server is single-threaded, it o
naoya さんのポータブルな Web アプリケーションを受けて最近思ってることをば。140 文字で時々書いてるんだけど、まとまりがないので一回まとめておきます。 12-factor app ステートフルなアプリケーションについては、Heroku の人が提唱してる 12-factor app というのが現在の状況をよく表してます。 The Twelve-Factor App The Twelve-Factor App(日本語訳) Heroku や他の PaaS によってもたらされたこうした一種の”制約”によって、アプリケーションの新しいカタチが生まれてきています。引き算によって新しい価値が生まれてきているわけですね。 とはいえ、PaaS は PaaS でそれぞれに独自の仕様を持っているわけですが、Heroku の buildpack という仕組みを使って、Heroku とインタフェース仕様
この記事はMySQL Casual Advent Calendar 2013 3日目の記事です。 はじめに 以前にSELECT ... FOR UPDATEとロックの挙動 - walf443's blogの記事にTwitterで少し言及したんですが、それの補足というか、InnoDBのロックの範囲について僕はこう理解していますよという話です。 MySQLといえば、InnoDBをネットワークサーバとして使うためのフレームワークであり、SQLはInnoDBのインデックスにアクセスするためのDSLといっても過言ではないでしょう。 InnoDBのロックとはつまるところインデックス行のロックなので、InnoDBのロックの範囲を理解するためにInnoDBのインデックスについて少し前置きしておきます(だいぶ端折ったけど長くなった…)。 クラスタインデックスとセカンダリインデックス すでにInnoDBのイン
pyfes/201311.rst at develop · pyspa/pyfes Python Developers Festa 2013.11 - connpass Pyfesに行ってきました。土日に昼まで寝ている自分としては9時45分の開場期限に間に合っただけで快挙でしたが、Go, HTTP2.0, ストレージ, 構成管理と、今個人的に興味のある分野の話が聞けて有益な一日でした。会場のオラクル青山センターはトイレがオシャレでした。以下、発表内容メモ(聞き漏らし聞き間違いあり) Go ハンズオン @ymotongpoo 教材:Talks - The Go Programming Language P2Pチャットシステムを実装するハンズオン。自分は参加資格であるA Tour of Goが半分までしか終わらなかったので、参加するでもなく話を聴いてました。A Tour〜終わらせてから改めて挑
twosheds¶ Release v0.1.0. (Installation) twosheds is a library for making command language interpreters, or shells. While shells like bash and zsh are powerful, extending them and customizing them is hard; you need to write in arcane inexpressive languages, such as bash script or C. twosheds helps you write and customize your own shell, in pure Python: >>> import twosheds >>> shell = twosheds.Shel
140文字で書ききれなかったのでブログに殴り書き。 Heroku のアプリケーションを人に渡す 昨日、「naoyaさんが作ってるiOSアプリのバックエンドサーバーに相乗りさせてもらえないか」という話をいただいた。自分でも同じようなAndroidアプリを作っているけど、サーバーサイドは作ってないからということらしい。 対して「githubにコードあるからgit cloneしてheroku pushすれば動くし、自分で heroku にデプロイしてよ」と応えた。相乗りしてもらってもよかったのだけど、こちらでコードを書き換えたりメンテしたときに先方のアプリが停止することを考えると同じコードベースでサーバーは自分で立ててもらう方が何かと良い。 対象になったソフトウェアは Heroku で動かしていたので、Heroku Ready な形、つまり、必要な外部パッケージの一覧やサーバーの起動手順なんかは
って聞いたことありますか? 2013/11/12にバージョン1.0.0がレッドハット社からリリースされました。 Ceylon公式ページ Javaに非常に影響を受けて作られている言語で ほぼJavaに近い感覚で書くことが出来ます。 JVM上で動く言語です。 その他にJavaScriptで出力し、 JavaScriptエンジン上(Node.js上など)で動かすことが出来ます。 読みはセイロンだと思われます。 (セイロンティーとかのセイロンだと思います。 ジャワティー JAVA Teaインスパイアかなと想像) Javaキラーとも呼ばれているようですがCeylon言語の開発者は Javaが大好きなようで、そのJavaの問題を解決しつつも 最近流行のScalaの言語仕様の複雑さを出来るだけ押さえたいと言う方針のようです。 最近の関数型言語の中でJavaと相性のいいScalaが流行ってきていますが 個
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
THE INTERVIEWS がサービス終了ということで、一つだけ消えるには惜しいというか懐かしい記事があったので少し加筆修正して転載します。JHackers でも似たようなことを話してますね。 Perl XS を書くようになったきっかけ、また、どのようにして今のような XS マジシャンになったのか。そのあたりの事をお聞かせください 2000年頃の話です。ぼくはCGIスクリプトでちょっとしたゲームデータの集計サイトをやりたくてプログラミングを覚えたのでした。これがそこそこ重い処理で、次第にもっと高速にしたいと考えるようになりました。一方、当時ぼくはお金もなくVPSも一般的でなかったので、CGIスクリプトしか選択肢はありません。そこで初心者ながらいろいろ調べることにしました。 とりかかったのは行指向のテキストで保存していたデータをSQLiteにすることでした。しかし当時はWindows上で開
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く