タグ

2019年5月6日のブックマーク (7件)

  • JavaScriptの数値型完全理解 - Qiita

    数値というのはプログラミングにおいて極めて基的な対象です。ほとんどのプログラミング言語は何らかの形で数値の操作を行うことができ、もちろんJavaScriptにおいても例外ではありません。 プログラミングにおける数値の特徴的な点は、往々にしてその性質に応じた複数の型1が与えられている点です。まず、数値は整数か小数かによって分類されます。さらに、値を表すのに使われるビット数、また整数に関しては符号ありか符号なしかという分類ができます。例えば、Rustという言語ではこれらの分類が分かりやすく表れています2。Rustにおける数値の型はi32, i64, u32, u64, f32, f64などがあり、見ただけでどのような特徴を持つ数値なのかが分かりやすくなっています。iというのは符号あり整数、uというのは符号なし整数、fは小数で、その後の数字がビット数ですね。 では、JavaScriptにおいて

    JavaScriptの数値型完全理解 - Qiita
  • BIGLOBE WiMAXの評価は?BIGLOBE WiMAXについて口コミと評判から解説

    『Soldi』は、複数の企業と提携しており、当サイトを経由して商品への申込みがあった、もしくは当サイトへの情報掲載依頼があった場合には、各企業から報酬を受け取ることがあります。ただし当サイト内のランキングや商品の評価に関して、提携の有無や支払いの有無が影響を及ぼすことはございません。また当サイトで得た一部収益は、サイトを訪れる皆様により役立つコンテンツを提供するために、情報の品質向上・ランキング精度の向上等に還元しております。

  • 競技プログラミングで使う有名グラフアルゴリズムまとめ

    0. はじめに AtCoderなどでは、グラフを扱った問題が多く出るが、その度に一から実装していると時間が掛かりすぎてしまうため、有名なものをあらかじめ持っておく必要がありそう。そこで、Pythonを用いて、ダイクストラ法、ベルマンフォード法、プリム法、クラスカル法、ワーシャルフロイド法を実装した。 コメント、意見等ある方は是非! お待ちしてます! 1. ダイクストラ法 1.1. ダイクストラ法(defaultdictで実装) defaultdictで実装すると、リストで実装するよりも、ノード数$N$が大きい際には高速に動作する。ただし、経路復元の関数は、うまく書けなかった......。 (2019/7/6 追記)結局できました。1.1.1. を参照してください。 import collections import heapq class Dijkstra: def __init__(se

    競技プログラミングで使う有名グラフアルゴリズムまとめ
    mukaken
    mukaken 2019/05/06
  • ビル・ゲイツが選んだ、いま読むべき「テクノロジー書」10冊

    読書家としても知られるビル・ゲイツ氏が「2019年版ブレークスルー・テクノロジー10」の選定にあたって参考にしたテクノロジー関連書籍を紹介する。 by Bill Gates2019.05.05 228 49 43 0 何かをより深く知りたくなったとき、私はいつもを手に取る。それが国際保健であれ、量子コンピューティングであれ、あるいは世界史であっても、私は読書から新しいことを学ぶのが好きだ。以下は、今年の「ブレークスルー・テクノロジー10」を選ぶのに役立った、10冊の書籍である。 『Life 3.0』 マックス・テグマーク著 人工知能AI)がどのように世界を形作るのかを議論したいなら、このを読むべきだ。物理学者のテグマークは科学的なアプローチをとり、私たちにあれこれ指図することはしない。その結果書は、AIが形作る世界についてのすばらしい基的な知識を与えてくれる。 『Should W

    ビル・ゲイツが選んだ、いま読むべき「テクノロジー書」10冊
    mukaken
    mukaken 2019/05/06
  • DBマイグレーションを行う技術 - 発明のための再発明

    データベースのスキーマを変更するということはデータをいじる行為であり、最悪の場合データが消えます。 最悪の事態にはならなくとも、思わぬ場所に影響が起きたり、データの不整合が発生する恐怖と戦う必要が有ります。 テストや切り戻しを含めて計画し、大きな変更の場合にはダウンタイムまで考慮する必要があります。 そこで、RDBを対象にデータベースの変更を行う方法について書いていきます。 スキーマ変更 まずは、スキーマ変更について、 カラムを追加する 一番簡単で、影響も少ない変更です。 気をつけるのは、 ソースコードの変更よりも前にスキーマ変更を完了させる (長時間)ロックがかからない方法を選ぶ といったところでしょうか。 大抵の場合は、スキーマの変更とソースコードの変更の順番にさえ気をつければ問題は発生しません。 カラム名を変更する 「ALTER」でさくっと変えたくなりますが、ソースコードの変更が同時

    DBマイグレーションを行う技術 - 発明のための再発明
    mukaken
    mukaken 2019/05/06
  • コンテナはなぜ安全(または安全でない)なのか - sometimes I laugh

    CVE-2019-5736を覚えていますか?今年の2月に見つかったrunc(Dockerがデフォルトで利用しているコンテナのランタイム)の脆弱性で、ホストのruncバイナリを好き勝手にコンテナ内部から書き換えることができるというものです。 脆弱性の仕組みに興味があったので調べたところ、コンテナを攻撃する方法というのは他にもいろいろあって、runcは頑張ってそれを塞いでいるようです。これまとめると面白いかも、と思ったので以下のようなおもちゃを作りました。 Drofuneは簡単なコンテナランタイムです。drofune runとかdrofune execなどでコンテナを起動したり、入ったりすることができます、といえば想像がつくでしょうか。 これだけでは何も面白くないので、Drofuneはわざと安全でない実装になっています。なので、今回発見されたCVE-2019-5736を利用した攻撃も成立します

    コンテナはなぜ安全(または安全でない)なのか - sometimes I laugh
    mukaken
    mukaken 2019/05/06
  • 新しいWebの双方向通信 "WebTransport" について - ASnoKaze blog

    関連記事 WebTransport over QUICのサンプルサーバを試してみる - ASnoKaze blog WebTransport over HTTP/2 の仕様について - ASnoKaze blog WebTransport over QUIC について - ASnoKaze blog WebTransportという新しい双方向通信フレームワークの議論が始まっている。 GoogleのPeter Thatcher氏らによって、W3C WICGにプロポーザルが投げられています。 discourse.wicg.io WebTransportは、WebSocketのようなAPIをもち、QUICやHTTP/3上で多重化されたストリームを利用し、ヘッドオブラインブロックのない通信を行えるようにするというのがモチベーションのようです。(実際に使用する"トランスポート"はプラガブルな設計にな

    新しいWebの双方向通信 "WebTransport" について - ASnoKaze blog
    mukaken
    mukaken 2019/05/06