タグ

2017年12月13日のブックマーク (11件)

  • 意図的にプログラムの動きをランダムにしてバグを早期発見するテクニックについて|Rui Ueyama

    プログラムを書いていると、素直に実装した結果として毎回特定の条件が満たされているけど、来それは誰も保証してないという場面に出くわすことがよくある。保証されていない偶然の動作に依存することで生じるバグというのはかなり多い。 例えば最近では、ドラゴンボールZ ドッカンバトルというゲームで、2回SQL文を実行した結果が同じ順序で並んでいるという誤った期待をしているコードがあったせいで、ガチャの確率表示がめちゃくちゃになってしまって、運営が確率操作しているのではないかという騒動が発生したことがあった [1]。データベースでは空のテーブルにデータを追加してその直後に読み返すと、データを追加した順番に結果が返ってきたりしがちなので、問題のコードはきれいなテスト環境では偶然うまく動いてしまったのだろうと思う。 上のようなバグを防ぐために最近よく使われているのは、来保証しないところをわざと壊すという方

    意図的にプログラムの動きをランダムにしてバグを早期発見するテクニックについて|Rui Ueyama
  • Amazon Auroraの先進性を誰も解説してくれないから解説する - Qiita

    TL;DR; Amazon AuroraはIn-Memory DBでもなくDisk-Oriented DBでもなく、In-KVS DBとでも呼ぶべき新地平に立っている。 その斬新さたるやマスターのメインメモリはキャッシュでありながらWrite-BackでもなくWrite-Throughでもないという驚天動地。 ついでに従来のチェックポイント処理も不要になったのでスループットも向上した。 詳細が気になる人はこの記事をチェキ! Amazon AuroraAWSの中で利用可能なマネージド(=運用をAWSが面倒見てくれる)なデータベースサービス。 ユーザーからはただのMySQL、もしくはPostgreSQLとして扱う事ができるのでそれらに依存する既存のアプリケーション資産をそのまま利用する事ができて、落ちたら再起動したりセキュリティパッチをダウンタイムなしで(!?)適用したりなどなどセールストー

    Amazon Auroraの先進性を誰も解説してくれないから解説する - Qiita
  • 選択的夫婦別姓への反論に反論します|青野慶久

    先日、選択的夫婦別姓を実現するために訴訟を起こすことを決めました。その内容は、今回担当していただきます作花弁護士のブログを参照いただければ幸いです。(追記:私のこちらのエントリーにもまとめました。) ちなみに作花弁護士は、2年前に再婚禁止期間で違憲判決を勝ち取り、民法改正につなげた敏腕弁護士です。(参考記事:「再婚禁止期間」は憲法違反 最高裁大法廷) 今回、私たちが訴訟することが毎日新聞のニュースになり、ヤフージャパンのトップページで取り上げられたり、検索ランキングで瞬間的に1位になったり、はてなブックマークが800以上もついたり、大きな反響がありました。 はてブのコメントを見てもわかるように、選択的夫婦別姓に賛成・応援する方が多数派のようです。しかし、一部からは懸念や反論をいただいていますので、さらに議論を進めます。 ただし、2つの原則を前提とします。それは、 1. 一人ひとりのニーズを

    選択的夫婦別姓への反論に反論します|青野慶久
  • Go言語のHTTPリクエストのレスポンスボディーとEOF - プログラムモグモグ

    Reader interface の Read 関数は、どのタイミングで io.EOF を返すのでしょうか。 まずは strings.Reader で見てみましょう。 package main import ( "fmt" "strings" ) func main() { r := strings.NewReader("example\n") for { var b [1]byte n, err := r.Read(b[:]) fmt.Printf("%d %q %v\n", n, b, err) if err != nil { break } } } 結果 1 "e" <nil> 1 "x" <nil> 1 "a" <nil> 1 "m" <nil> 1 "p" <nil> 1 "l" <nil> 1 "e" <nil> 1 "\n" <nil> 0 "\x00" EOF Readの結

    Go言語のHTTPリクエストのレスポンスボディーとEOF - プログラムモグモグ
  • AWSの次世代JavaScriptライブラリ「AWS Amplify」の概要とReactアプリに導入する手順 #serverless #adventcalendar | DevelopersIO

    AWS Amplifyとは? 記事はServerless Advent Calendar 2017の13日目の記事です。よろしくお願いします。 AWS Amplifyは、2017年11月に公開されたAWSを利用するWebアプリケーション向けのJavaScriptライブラリです。サインアップやサインイン、MFA、追跡またはメトリクスの分析、コンテンツ管理、またはサーバーレスAPI統合などの実装が容易にできるように設計されています。 AWS Amplify は、クラウドサービスをスケーラブルかつ保護された方法で使用して一般的なアクションを実行するクライアント開発者に、宣言型インターフェイスを提供するように設計されています。これらの新機能を使用して、開発者は JavaScript アプリケーションを作成して一般的な抽象化を使用したベストプラクティスをプログラムによって適用し、最終的に開発サイク

    AWSの次世代JavaScriptライブラリ「AWS Amplify」の概要とReactアプリに導入する手順 #serverless #adventcalendar | DevelopersIO
  • Gyazo 開発環境の Docker 化 - r7kamura - Medium

    The easy way to save screenshots, GIFs, and websites. Make everyone happy by sharing smarter, faster, and with your… 単純にスクリーンショットを保存するだけなら OS の機能だけでも十分ですが、GIF 動画を保存できたり、いつどこでどんなアプリケーションを利用しているときに撮影したのか、あるいは画面にどんな文字が写っているかといった情報を元に検索できたり、保存した画像をコレクションという単位でまとめて共有できたりと、Gyazo を使って保存しておくと意外と便利なことが多く、個人的にも重宝しているサービスの1つです。 我々が開発環境で Docker を使うメリットGyazo のサーバサイドの実装には、プログラミング言語の観点で見ると RubyGoJavaScript などが

  • 【Day-12】時系列分析の良リソースまとめ&基礎チュートリアル - プロクラシスト

    データ分析ガチ勉強アドベントカレンダー 12日目。 今までは、時間に依存しないデータについて取り扱ってきました。 しかし、世の中のデータは時間に依存したデータも多いのが事実です。 時間に依存しないデータは、その分各データを独立に扱うことができますが、時系列データはそういうわけにはいきません。なので、なかなか難しいのです。 今日は時系列のさわりをまとめて、また、時系列予測のチュートリアルをしていきます。 参考にできるサイト メタ的な記事 pythonの実装も含めて ディープラーニング系 読みたい論文(積読) Toeplitz Inverse Covariance-Based Clustering of Multivariate Time Series Data WAVENET: A GENERATIVE MODEL FOR RAW AUDIO 基礎チュートリアル データの用意 定常性のチ

    【Day-12】時系列分析の良リソースまとめ&基礎チュートリアル - プロクラシスト
  • ちょっとだけ良い英語を書く - /dev/null/onishy

    eeic Advent Calendar 13日目の記事です。 インターン・就活用の書類、論文など、そろそろ英語でポエムを書かなきゃと思っている人も多いでしょう。 良い英語のためには、当はちゃんと文法を勉強した方が良いです。 でもそんなことは言ってられないと思うので、とりあえず英文を書く上で、知っておくだけでいつもよりちょっとだけ良い英語を書けそうなテクニックをいくつか挙げます。割と当たり前のことを言っているかもしれない。 当は例文とかも色々挙げたかったけど、あまり時間がなかったので気が向いたら。 類義語辞書を使う(重要) 同じ表現を多用するのはボキャ貧です。アカデミック界隈の礼儀はあまり知らないが、therefore連弾が来ると普通の人はボキャ貧ワロスってなると思う。 例えば英語には順接の接続詞や副詞がたくさん用意されています。therefore, thus, hence, as a

    ちょっとだけ良い英語を書く - /dev/null/onishy
  • 長文日記

    長文日記
  • DOTSプロトコルを使ってDDoS対策を自動化してみたい! - Qiita

    NTTコミュニケーションズアドベントカレンダー 12日目。 今日は、荒ぶるDDoS攻撃1からサービスを防御するための新しいプロトコル DOTS (DDoS Open Threat Signaling)を紹介します。 DOTSプロトコルについての詳しい日語の記事は初めてなのではないかと思います。 DOTSとは? DOTSとはIETFで策定中のDDoS対策のためのプロトコル DDoS対策の自動化と標準化を実現するよ OSSによる実装がでているよ この記事では、OSS実装である go-dots を使って、DOTSプロトコルの利用方法を紹介します。 これからのDDoS対策の話をしよう DDoS攻撃は2つの方向で脅威が進化しています。 大規模化: Arbor社によると、2016年のリオオリンピックでは、500Gbpsを超えるDDoS攻撃があったとのことです。IoTなどインターネットに接続される機器

    DOTSプロトコルを使ってDDoS対策を自動化してみたい! - Qiita
  • schema.rbにROW_FORMATの記載が出てきてびっくりしたのでまとめてみた! - Qiita

    グロービスでは2022年までの5年間、「アジア化」をテーマに、Edtechを推進し、日初の学習プラットフォームの提供を行っています。サーバーサイドエンジニアとしてRailsを書いてます。Let's go global♬ …今日はそんな開発中にdb/schema.rbに膨大なdiffが出てビビった話w 「innodb_file_format」と「row_format」って? Railsの開発やっている時、DBで気にするのは、character_setくらいでした。 ゼロからRailsのアプリ作って、MySQL立てて…って何も考えずやると、 $ show variables like "chara%"; +--------------------------+----------------------------+ | Variable_name | Value | +----------

    schema.rbにROW_FORMATの記載が出てきてびっくりしたのでまとめてみた! - Qiita