タグ

2020年3月10日のブックマーク (12件)

  • Let's EncryptがはまったGolangの落とし穴 - ぼちぼち日記

    0. 短いまとめ 300万以上の証明書の失効を迫られたLet's Encryptのインシデントは「Golangでよくある間違い」と書かれているようなバグが原因でした。 1. はじめに、 Let's Encryptは、無料でサーバ証明書を自動化して発行するサービスを行う非営利団体として2014年に設立されました。 2015年にサービス開始されると証明書の発行数はぐんぐん伸び、先月末のプレスリリースでは累計10億枚のサーバ証明書を発行したことがアナウンスされました「Let's Encrypt Has Issued a Billion Certificates」。CTLogの調査から、2020年2月末の時点では有効な全証明書の38.4%がLet's Encryptの証明書であるとみられています「Certificate Validity Dates」。 無料の証明書を提供してもらえるのは非常に嬉し

    Let's EncryptがはまったGolangの落とし穴 - ぼちぼち日記
    nilab
    nilab 2020/03/10
    「300万以上の証明書の失効を迫られたLet's Encryptのインシデントは「Golangでよくある間違い」と書かれているようなバグが原因でした」
  • REST API開発に特化したWebフレームワークがもたらす生産性の向上 | IIJ Engineers Blog

    皆さんはREST APIの開発にどのようなフレームワークをお使いでしょうか? これまで、個人的には Flask 等の軽量なWebフレームワークを使って開発することが多く、REST API開発に特化したWebフレームワーク(以下、APIフレームワークと呼ぶ)を使った経験はありませんでした。 しかし先日、業務で Django REST Framework に触れる機会があり、REST APIの実装に必要な機能の多くが提供されていて、圧倒的に少ないコーディング量で開発が完了することを実感できました。例えば、フィルタリング(URLクエリストリングで検索条件等を指定し、取得する値を絞り込む)機能は、一から実装するとなると文字列をパースして、バリデーションして、クエリに渡して……、と結構面倒ですが、Django REST Frameworkではビルトイン機能として提供されているので、最小限のコードで実

    REST API開発に特化したWebフレームワークがもたらす生産性の向上 | IIJ Engineers Blog
    nilab
    nilab 2020/03/10
    「ほとんどのAPIフレームワークが、汎用的なWebフレームワークを基盤として実装されています」
  • Apache Hive で Apache Beeline を使用する - Azure HDInsight

    この記事では、コマンド ライン Apache Beeline クライアントを使用して、SSH 接続を介して Apache Hive クエリを作成および実行する方法について説明します。 バックグラウンド Beeline は、HDInsight クラスターのヘッド ノードに含まれている Hive クライアントです。 この記事では、このツールの使用方法を、Hive クエリと HiveQL ファイルを使用した例を通じて説明します。 HDInsight クラスターにインストールされている Beeline クライアントに接続したり、Beeline をローカルにインストールしたりするには、Apache Beeline との接続またはインストールのガイドに従ってください。 Beeline は、JDBC を使用して、HDInsight クラスターでホストされる HiveServer2 サービスに接続します。

    Apache Hive で Apache Beeline を使用する - Azure HDInsight
    nilab
    nilab 2020/03/10
    「Beeline は、HDInsight クラスターのヘッド ノードに含まれている Hive クライアントです」「Beeline は、JDBC を使用して、HDInsight クラスターでホストされる HiveServer2 サービスに接続します」
  • Best practices for API versioning?

    This is a good and a tricky question. The topic of URI design is at the same time the most prominent part of a REST API and, therefore, a potentially long-term commitment towards the users of that API. Since evolution of an application and, to a lesser extent, its API is a fact of life and that it's even similar to the evolution of a seemingly complex product like a programming language, the URI d

    Best practices for API versioning?
    nilab
    nilab 2020/03/10
    "The topic of URI design is at the same time the most prominent part of a REST API and, therefore, a potentially long-term commitment towards the users of that API."
  • 翻訳: WebAPI 設計のベストプラクティス - Qiita

    これは Enchant の開発者である Vinay Sahni さんが書いた記事「Best Practices for Designing a Pragmatic RESTful API」1を、ご人の許可を得て翻訳したものです。 RESTful な WebAPI を設計しようとすると、細かなところで長考したり議論したりすると思います。また、他の API に倣ってやってはみたものの、当にそれでいいのか、どうしてそうしているのか分からない、何てことも少なくはないと思います。 この記事では、そのようなハマリどころについて Vinay さんなりの答えを提示し、簡潔かつ明快に解説してくれています。 今後 WebAPI を設計される方は、是非参考にしてみてください。 なお、誤訳がありましたら編集リクエストを頂けると幸いです。 まえがき アプリケーションの開発が進むにつれて、その WebAPI を公

    翻訳: WebAPI 設計のベストプラクティス - Qiita
    nilab
    nilab 2020/03/10
    「API 設計に関する議論は、少しアカデミックすぎたり、個々人の曖昧な主張が入り混じっていて」「開発者に親切な作りにすること。また、ブラウザのアドレスバーから叩けるようにすること」
  • 「WebAPI 設計のベストプラクティス」に対する所感 - Qiita

    「翻訳: WebAPI 設計のベストプラクティス」を読んで色々と思うところがあったので書きました。 上記の記事は訳文でありますので、正しくは「Best Practices for Designing a Pragmatic RESTful API」に対する所感と述べた方が良いのかもしれませんが、日語で通して読めるよう Qiita に投稿された訳文に対する所感として書いています。 以下では「翻訳: WebAPI 設計のベストプラクティス」並びに「Best Practices for Designing a Pragmatic RESTful API」は「当該記事」と表現します。 観点 当該記事では「○○とした方がよい」との意見に対してそうすべき理由が明らかになっていないか、もしくは表現が曖昧な場合が目立っていると感じました。設計は実装のようにプログラム言語仕様が制約を与えられないため、意図

    「WebAPI 設計のベストプラクティス」に対する所感 - Qiita
    nilab
    nilab 2020/03/10
    「そうすべき理由が明らかになっていないか、もしくは表現が曖昧な場合が目立っていると感じました。設計は実装のようにプログラム言語仕様が制約を与えられないため、意図を明確にすることが何よりも重要です」
  • Bootstrap 5のリリースはもうすぐみたい!注目の新機能、jQueryは削除、IE10のサポートは終了へ

    Bootstrap 5のリリースがいよいよ近づいてきたようです。 Bootstrap 5では、jQueryは削除され、IE10のサポート終了が予定されており、注目すべき新機能を紹介します。 Bootstrap 5 release date and what's new about it by @zolidev 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに Bootstrap 5がリリースされる日 Bootstrap 5で注目の新機能 jQueryの削除 😱 IE10のサポート終了 📺 SVGのカスタムアイコン 🚀 JekyllからHugoへ切り替え 🔝 JavaScriptCSSのアップデート はじめに Bootstrapがリリースされてから8年が経ち、現在では世界で最も人気のあるCSSフレームワークとなり

    Bootstrap 5のリリースはもうすぐみたい!注目の新機能、jQueryは削除、IE10のサポートは終了へ
    nilab
    nilab 2020/03/10
    「Bootstrapがリリースされてから8年が経ち、現在では世界で最も人気のあるCSSフレームワークとなりました。約1,800万ものWebサイトで使用されており、その数は現在でも増え続けています」
  • 新型コロナに苦慮するイベント主催者がオンラインイベントをやってみた

    新型コロナに苦慮するイベント主催者がオンラインイベントをやってみた:中止? 延期? オンライン?(1/4 ページ) 新型コロナウイルス感染拡大が続く中、全国でイベントの中止や延期が相次いでいる。2月20日には、厚生労働省からイベント開催の必要性を改めて検討することを求める声明が出されたが、一律の自粛要請は行われなかった。26日になり、政府は今後2週間で開催されるイベントの中止や延期、規模縮小を要請する考えを示した。 企業やコミュニティーのイベント主催者は、感染のリスクに関して正確な情報が得られないまま、健康・安全面のリスク、レピュテーションリスク、そしてイベント中止によって発生する損失へのリスク、その全てに同時進行で対応するという課題に直面した。 実は2月25日にリアルイベントを控えていたアイティメディアのイベントチームもその当事者だ。2月17日までは、感染予防対策を強化するなどして会場で

    新型コロナに苦慮するイベント主催者がオンラインイベントをやってみた
    nilab
    nilab 2020/03/10
    「2月20日には、厚生労働省からイベント開催の必要性を改めて検討することを求める声明が出された」「26日になり、政府は今後2週間で開催されるイベントの中止や延期、規模縮小を要請する考えを示した」
  • トイレットペーパーを「買い占める」ほうが“合理的”であるシンプルな理由

    トイレットペーパーを「買い占める」ほうが“合理的”であるシンプルな理由:古田拓也「今更聞けないお金とビジネス」(1/2 ページ) トイレットペーパーは不足していません!――。先月末に異例の声明を出した厚生労働省と経済産業省の努力もむなしく、全国各地の小売店で紙製品が入手困難な状況が続いている。 きっかけは「中国でトイレットペーパーなどの紙製品が生産されなくなり、日で大規模な不足が発生する」というインターネット上でのデマだ。この影響で、一部ではミネラルウォーターやレトルト品、米なども品薄になっている状況が確認されており、さながら1970年代のオイルショックを想起させるパニックぶりとなっている。 デマと判明しても続く買い占め行動。これを「大衆の愚かな行動」と断じるメディアが多いが、果たして当にそうだろうか。SNS上でも、買い占めに走る人々に対して「デマに踊らされている」と見下す投稿がよく

    トイレットペーパーを「買い占める」ほうが“合理的”であるシンプルな理由
    nilab
    nilab 2020/03/10
    「例えば農作物を自分で作るより、力づくで他人から奪う方が経済的には合理性があるのかもしれないが」「では、買い占めを制限する規制があるかというと、現状ではほとんどない」
  • 第49回 MySQLのAUTO_INCREMENTについて | gihyo.jp

    AUTO_INCREMENTとは、それを指定したカラムに対してMySQLが自動的に一意のシーケンス番号を生成する機能です。MySQLではおなじみの機能で、サロゲートキーとしての役割や値をそのままユーザIDなどのデータとして使用することも多いと思います(SQLアンチパターンで有名な“⁠IDリクワイアド⁠”になる場合もありますが⁠)⁠。 今回はこのAUTO_INCREMENTについて、いくつか紹介したいと思います。ストレージエンジンによって動作に違いがありますが、今回はMySQL5.7.18のInnoDBストレージエンジンを使用した前提で説明します。 AUTO_INCREMENTについて AUTO_INCREMENTは、CREATE TABLE文やALTER TABLE文内でカラム名とデータ型を指定した後に記述することで設定できます。1テーブルに対してAUTO_INCREMENTカラムは1つの

    第49回 MySQLのAUTO_INCREMENTについて | gihyo.jp
    nilab
    nilab 2020/03/10
    「全件DELETEしたあとにMySQLを再起動することで,AUTO_INCREMENTが0にリセットされてしまった,という予期しない事象が起きる」「MySQL8.0.0時点では最新値をディスク上に保存するになり,再起動後も最新値が保たれる」
  • 【MySQL】auto_incrementの罠

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

    【MySQL】auto_incrementの罠
    nilab
    nilab 2020/03/10
    「データベースの主キーは、単にレコードを識別するためのものであって、「それぞれの行で一意である」以上に意味をもたせるのは良くないことです」「「連番でないと気持ち悪い」という気持ちもわからないではない」
  • MySQLのAUTO_INCREMENTの自動採番の仕組みを考察

    MySQLで新規にテーブルを作って、プライマリーキーをAUTO_INCREMENTに設定したときに調べたことをメモ。AUTO_INCREMENTを1番から採番するパターンと特定の番号の連番で採番したいパターンが出てきたので調査。 データベースはMySQLのバージョン5.6.38で試しました。select version();のSQL文で確認。 mysql> SELECT version(); +-----------+ | version() | +-----------+ | 5.6.38 | +-----------+ テストデータを作成 とりあえずテストデータを作成します。キノコ好きなので、キノコテーブルを作成。 mysql> CREATE TABLE mashroom (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100)); 出

    MySQLのAUTO_INCREMENTの自動採番の仕組みを考察
    nilab
    nilab 2020/03/10
    こういう感性いいなって思う。「キノコ好きなので、キノコテーブルを作成」