タグ

2019年4月2日のブックマーク (4件)

  • 繋がりを可視化する グラフ理論入門|es

    個人的に、一番面白いデータ構造であり探索アルゴリズムです。 ここで言うグラフは円グラフや、棒グラフのことではないです。プログラミングで扱うのは、図のように、点と線を繋げたものです。 ズバリ、人と人の繋がりを表現できます。 今回もJavascriptで実装します。 グラフ理論は、SNSだったり、レコメンドだったり、地図の経路だったり ルーティングだったり、点と点の繋がりを可視化します。繋がりを表現するデータ構造です。 巨大なインターネットもそうです。 そいう意味で、すごく身近なアルゴリズムですよ。 グラフの基は次の2点で構成されています。 ・ノード:node(vertex) -  点(人、物、場所) ・エッジ:edge  - 辺(繋がり、経路) 上の図を見ると一目瞭然ですね。ノードを人だとしたら、エッジが関係性です。まずは、これだけ理解できれば大丈夫です。 ちなみに、方向がない辺を無向グラ

    繋がりを可視化する グラフ理論入門|es
  • エンジニアが何か問題にぶつかったときにあるといい力を5個 - Mitsuyuki.Shiiba

    最近ちょこちょこ相談されることがあって、直接のスキルではないけど、こういうのもスキルだよなぁって思ったので、思いついた順に書いてみる。5個になった。 ## 1. 問題を切り分ける力 「これがなぜか動かない」って相談されたときって、いくつかの要素が絡んでることが多い。 なので「ここは明らかに問題ないでしょう」という一番土台のところからチェックを始める。そうすると「え?そこは問題ないと思いますよ?」って言われるので「うん、それを『問題ないと思う』じゃなくて『問題ない』って断言できるようにしようと思って」みたいな会話をよくする。 可能性をひとつずつつぶしていくと「ここだなぁ」って場所が見つかって、そしたら、もうあとはそんなに難しくない。ひとつずつ確認していくのって遠回りに見えるけど、結局その方が確実ではやいと思う。 ## 2. 想像と事実を切り分ける力 ↑と絡んで、想像や思い込みなのに、「ここは

    エンジニアが何か問題にぶつかったときにあるといい力を5個 - Mitsuyuki.Shiiba
  • Rubyは果たして死んだのか

    世の中には、数多くのプログラミング言語が存在する。Wikipediaの「プログラミング言語一覧」というページには300以上の言語が列挙されている。現在よく使われている言語に絞っても10や20はあるだろう。 C言語やJavaといった言語の名前を知っている人は多いかもしれない。少し詳しい人なら、JavaJavaScriptは名前こそ似ているものの全く異なる言語だということも知っているはずだ。 そうした中で、とかく「死んだ」とか「オワコン(終わったコンテンツという意味)」と言われがちな言語がある。オブジェクト指向言語の一種である「Ruby」だ。 2017年には「The death of Ruby?」という海外の記事が話題になった。Rubyの人気が以前よりも落ちているのではないかという記事だ。根拠にしていたのは、プログラミング言語別の求人数のランキングや米国電気電子技術者協会(IEEE)が公表し

    Rubyは果たして死んだのか
  • Slack - Qiita

    Slack Slack は必要なメンバーから情報、ツールまで一元化するメッセージプラットフォームと、そのアプリ開発用プラットフォームを提供しています。

    Slack - Qiita