jnstのブックマーク (304)

  • 全身転移のがんが消えた…常識破り「副作用のない抗がん剤」誕生秘話(奥野 修司) @gendai_biz

    末期がんなのに元気 昔、「エイリアン」というSFホラー映画があったが、これはがん細胞からヒントを得たと言われている。 実際、宿主の人間を動けなくしておいて、身体をべ尽くすところがエイリアンにそっくりだが、決定的に違う点がある。それは、エイリアンはみんな同じ顔をしているが、がん細胞は、場所や人によって顔つきがまったく違うことである。 原因は、正常細胞の遺伝子がランダムに損傷を受けてがん細胞になり、長い年月の間にさらに変異を繰り返してきたからだ。分子標的薬が効かないのも、がん細胞はカオスのように変異だらけだからである。 P-THPは、理論的にどんながんもやっつけられそうだが、そうならないのは、がんはカオス的世界だからである。 たとえば、山藤ひろ子さんである。彼女は64歳のときに直腸がんが見つかった。 外科手術で取れたが、4年後に肺に転移したため抗がん剤治療を始めた。それ以来、1年半にわたって

    全身転移のがんが消えた…常識破り「副作用のない抗がん剤」誕生秘話(奥野 修司) @gendai_biz
    jnst
    jnst 2017/01/12
  • Writing An Interpreter In Goを読んだ

    Thorsten Ballによる“Writing An Interpreter In Go”を読んだ. 技術界隈のブログを見ているとたまにSteve Yeggeの「If you don’t know how compilers work, then you don’t know how computers work」という言葉に出会う.その度に学生のときにコンパイラの授業を受けなかったこと後悔し,社会人になって挑戦しようとして挫折したことを思い出して悲しい気持ちになる.@rui314さんのCコンパイラをスクラッチから開発してみたを読んではかっこいいなと思いつつ僕には無理だなあと心が折れていた. どの言語を書いていてもコンパイラ(もしくはInterpreter)は切っても離せないものであり内部の動きがどうなっているかを知っておきたいという欲求はプログラマーなら誰しもあると思う(少なくとも僕に

    jnst
    jnst 2017/01/12
  • マイクロサービスシステムにおける認証ストラテジ

    ソフトウェアのセキュリティは複雑な問題だが,それぞれのサービスがセキュリティを扱わなくてはならないマイクロサービスを採用することで,さらに複雑なものになる – 先日ロンドンで開催されたMicroservices ConferenceでDavid Borsos氏は,マイクロサービスベースのシステムにおける4つのエンドユーザ認証方法を評価した自身の講演の中で,このように説明した。 従来のモノリシックなアーキテクチャでは,ひとつのサーバがすべてのユーザ情報を保持することで,認証されたユーザの検証とHTTPセッションの生成を行なうことが可能だ。マイクロサービスアーキテクチャでは,ユーザはサービスの集合体と対話するため,それぞれのサービスがユーザが誰であるかを知る,潜在的な必要性がある。単純な解決方法は,モノリシックなシステムと同じパターンをマイクロサービスシステムにも適用することだが,すべてのサー

    マイクロサービスシステムにおける認証ストラテジ
  • Googleの肩に乗ってShellコーディングしちゃおう - Qiita

    はじめに GoogleさんがShellスタイルガイドを共有していたので、いくつか気になった点をピックアップしました。 自分のShellスタイルはかなり我流なので、自省の意味も込めてコメントも併記します。 Googleスタイルガイドの元ネタ (Python/C++/Java/Rとかだけでなくdocumentガイドなど色々あります) https://github.com/google/styleguide Shellスタイルガイド (今回はこちら) http://google.github.io/styleguide/shell.xml 当は人間がチェックするのではなくcpplintのためXML定義なのかもですが、気にしない気にしない。 (見たところcpplintc++だけだと思ってます) commitフックでshell系のlint走らせろっていうのが今風なのかもしれませんが、キニシナイキ

    Googleの肩に乗ってShellコーディングしちゃおう - Qiita
    jnst
    jnst 2017/01/08
  • プログラミングスキル習得のためにHour of Codeをやってみたらとてもよかった - あしたの人事の話をしよう

    最近言われているようにプログラミングは必修化の方向にある。 文科省でも、まじめにその在り方を議論してきているくらいだ。 小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ):文部科学省 僕はもともとキャリアの最初でプログラミング(大規模システム開発プロジェクトでコーディングしたり仕様書を書いたりすること)に携わっていたし、振り返ってみれば小学六年の頃(1980年頃だ)からNECPC-8001でBASICのプログラミングをしていたので、いわゆるプログラミングスキルはある方だと思う。 でも、自分はたまたま興味があってそういうスキルを身につけたけれど、自分の子どもに教えるとなるとなかなか難しいなぁ、と考えていた。 というのも、すでに完成されたアプリが多すぎるからだ。 僕が初めてPCに触れた1980年台といえば、もちろんwindowsなんかなくて、真っ黒な画面のコマンドプロン

    プログラミングスキル習得のためにHour of Codeをやってみたらとてもよかった - あしたの人事の話をしよう
    jnst
    jnst 2017/01/08
  • コンシステントハッシュ法 - Wikipedia

    コンピュータ科学の分野で、コンシステントハッシュ法(Consistent hashing)とは、ハッシュテーブルのサイズが変更された時、をキーの数、をスロット数とすると、平均個のキーのマッピングの変更のみでハッシュテーブルの機能を提供することのできる、特殊なハッシュ法である。それに対して、その他の多くのハッシュ法では、キーとスロット間のマッピングがモジュラ演算によって定義されているため、ハッシュテーブルのスロット数が変化するとほぼすべてのキーが再マッピングされてしまう。分散システムの一形態である分散キャッシュなどで利用されている。 コンシステントハッシュは、ランデブーハッシュ(英語版)(HRWハッシュとも呼ばれる)と同じ目的を達成するハッシュ法であるが、2つの手法は異なるアルゴリズムを使用しており、同時に独立して開発された。 アルゴリズム[編集] スロットのハッシュ値をソートしてリストに管

  • 偶然でも必然でもない世界を生きるということ、動き続けることの大事さ – 佐藤航陽のブログ

    定期的に自分の思考を言語に変えていく作業は必要だなぁと感じて、年末に時間が空いたのでこの1年半ぐらい考えていたことをまとめてみることにしました。 以前ブログで、世の中は連立方程式のようなもので、3つ(お金・感情・テクノロジー)の異なるメカニズムが併存し相互に影響を及ぼしており、それらが未来の方向性も決めている、という話を書きました。3つの要素がそれぞれ違うベクトルを指して進んでいます。それらの先端を結んだ三角形の中間が「現在」であり、その軌道が「未来」の方向性であると。3つのベクトルではお金が最も強く、次に人間の感情、最後にテクノロジーの順番としていました。 ただ、この時はまだモヤモヤしていて、もう少し掘り下げればより普遍性のある構造が隠れているように感じていて、この1年半は日々のビジネスで試行錯誤しながら、ずっとこのテーマを考えていました。書籍やブログではテクノロジー系の話ばかりしていて

    偶然でも必然でもない世界を生きるということ、動き続けることの大事さ – 佐藤航陽のブログ
    jnst
    jnst 2017/01/04
  • Build a serverless URL shortener with AWS Lambda and API Gateway services - Dave Konopka

    Build a serverless URL shortener with AWS Lambda and API Gateway services I’ve had my eye on Amazon’s Lambda and API Gateway services for a few months. Running a web application without the costs or headaches of maintaining servers is attractive. Of course, no platform is without tradeoffs. So to get myself familiar with the finer points of serverless apps I decided to launch a simple project: a U

    Build a serverless URL shortener with AWS Lambda and API Gateway services - Dave Konopka
  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

    大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita
    jnst
    jnst 2016/12/28
  • 業務でWebサービス開発をする際に気をつけたいこと(新卒向け) - Qiita

    趣味でも業務でも日々Webサービスを開発しているzaruです。こんにちは。ついにアドベントカレンダーも最終日です。まだサンタとしての仕事が残っています。さて今回は仕事としてWebサービスを開発するときに気をつけたいポイントを紹介します。まぁ仕事に限った話じゃないですが…参考になれば幸いです。特に新卒プログラマあたりに読んでもらえればと思います😀 なお僕の業務上インフラ周りはAWSが多いです。 RASISという指標 RASISという指標があります。コンピュータシステムの評価指標5つの頭文字を取ったものです。 Reliability(信頼性) Availability(可用性) Serviceability(保守性) Integrity(保全性) Security(機密性) 今回はこの5つの指標に沿ってポイントを紹介していきます。RASIS自体については色々なところで解説されていると思うので

    業務でWebサービス開発をする際に気をつけたいこと(新卒向け) - Qiita
    jnst
    jnst 2016/12/27
  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

    さくらインターネット Advent Calendar最終日は、硬派にLinuxのメモリに関する基礎知識についてみてみたいと思います。 最近はサーバーを意識せずプログラミングできるようになり、メモリの空き容量について意識することも少なくなりましたが、いざ低レイヤーに触れなければいけないシチュエーションになった際に、OSを目の前に呆然とする人が多いようです。 基的にLinux のパフォーマンスについて、メモリをたくさんつめばいいとか、スワップさせないほうが良い とか、このあたりは良く知られたことだと思います。 ただ、なんとなく ps コマンドや free コマンド などの結果を見るだけでなく、もう少しメモリのことについて掘り下げてみてみたいと思います。 メモリとキャッシュ Linux におけるメモリの状態を大きく分けると「使用中のメモリ」「キャッシュ」「空きメモリ」「スワップ」の 4 つに分

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
    jnst
    jnst 2016/12/26
  • Retty流『2200万ユーザを支える機械学習基盤』の作り方 - Qiita

    みなさん、こんにちは。Retty CTO の樽石です。 この記事は Retty Advent Calendar 25日目です。メリークリスマス。 昨日は @ttakeoka の『MFIにむけてRettyの取り組み』でした。 今年も残りわずかになりました。いかがお過ごしですか? Retty はこの 1 年でエンジニアがほぼ倍増しました。それによって、情報発信者が増え、Advent Calendar に参加出来るようになりました。みんな楽しそうにしていて、うれしいです。 Retty Inc. Advent Calendar 2016 - Qiita さて、今年最後の Retty Advent Calendar 記事を書くということで、はじめは 1年のまとめ的内容にしようかと思いましたが、それでは平凡で面白くありません。そこで、ネタになりそうなマニアックな技術的記事で締めくくりたいと思います。

    Retty流『2200万ユーザを支える機械学習基盤』の作り方 - Qiita
    jnst
    jnst 2016/12/26
  • RBD Layering — Ceph Documentation

    RBD Layering¶ RBD layering refers to the creation of copy-on-write clones of block devices. This allows for fast image creation, for example to clone a golden master image of a virtual machine into a new instance. To simplify the semantics, you can only create a clone of a snapshot - snapshots are always read-only, so the rest of the image is unaffected, and there’s no possibility of writing to th

    jnst
    jnst 2016/12/26
  • 物理サーバを選定する際のポイント – Eureka Engineering – Medium

    エンジニアとしてのものづくりの楽しみ方とモバイルエンジニアとしての開発の面白さ」を論じる。スキル向上に悩めるモバイルエンジニアへの参考として価値を期待し、モバイルアプリ開発の奥深さに考えを巡らせることで強い動機を持ち、次の挑戦が見えてくる。

    物理サーバを選定する際のポイント – Eureka Engineering – Medium
    jnst
    jnst 2016/12/25
  • Go でリアルタイム通信ゲームサーバーを作っている話 - Qiita

    この記事は Go (その2) Advent Calendar 2016 の24日目の記事です。 この記事では 去年からずっと趣味Go を使ってリアルタイム通信ゲームサーバー作っていて、それなりに動くものができたので、それを紹介したいと思います。 リポジトリはこちらです。 https://github.com/shiwano/submarine 一部 Unity の有償アセットを除いている以外、クライアントもサーバーもすべてのコードをここで公開しているので、もし気になる実装があったら見てみてください。 以下、簡単なディレクトリの説明です。 . ├── art # デザインまわりのファイル置き場 ├── client # Unity クライアント (C#) ├── contract # 通信定義ファイル置き場 (TypeScript) ├── server │   ├── api # Ra

    Go でリアルタイム通信ゲームサーバーを作っている話 - Qiita
    jnst
    jnst 2016/12/25
  • AbemaTVにPrometheusというモニタリングシステムを導入した話

    この記事はCyberAgent Developers Advent Calendar 2016 24日目の記事です。23日目はdekatotoroさんの「Apple TV – tvOS入門」でした。 こんにちは、AbemaTVサーバサイドエンジニアのギアです。 去年は新卒のiOSエンジニアとして、「ReactiveCocoaとMVVMモデル」という記事を書きましたが、今年はサーバサイドに関することを書きます。 はじめに この前にAbemaTVはモニタリング・アラートのため、主にStackdriver, Bugsnag, StatusCakeというサービスを使っています。しかし、Stackdriverはデフォルトである程度のGCP (Google Cloud Platform) 上のリソースに対するメトリクスしかありません。各マイクサービス間の通信やサービスのカスタマイズメトリクスなどのアプ

    AbemaTVにPrometheusというモニタリングシステムを導入した話
  • High Performance Go Workshop

    High Performance Go Workshop Mercari 11 April 2018 Dave Cheney License and Materials This presentation is licensed under the Creative Commons Attribution-ShareAlike 4.0 International licence. The materials for this presentation are available on GitHub: github.com/davecheney/high-performance-go-workshop You are encouraged to remix, transform, or build upon the material, providing you give appropria

  • Atom と PlantUML で快適シーケンス図駆動開発ライフ | DevelopersIO

    サーバーサイド開発担当のエンジニアが「設計と実装を進めようとしている」という背景で話を進めます。 PlantUMLは強い 「認識合わせ」という名目でホワイトボードに図を書いて会話することがよくあります。共通言語で会話してあいまいなところを少なくしたら、マネージャーも安心感がありますし、プログラマも自分がやるべきことに集中できますね。 …3日経ちました。あのとき描かれていたホワイトボードの図のとおりに、実装することになりました。認識の齟齬をなくしてくれた貴重な図です。写真に撮りました。どこに保存してたっけ。やっぱり変更したくなったらどうしましょう。またホワイトボードに書き起こす?DRYじゃないですねえ。 そこで、UML図 が登場します。表現したい図を電子データで作成、保存できて、あとで見るときも役に立ちますね。が、しかし、UML図はそれはそれでやや手間がかかるところもあります。作図を助けてく

    Atom と PlantUML で快適シーケンス図駆動開発ライフ | DevelopersIO
    jnst
    jnst 2016/11/30
  • シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた

    シェルスクリプトは長くなると処理の境界が不鮮明になりがち。 コメントで処理の境界を表現する工夫はよく見かけるが、もっと良い方法はないか考えてみた。 :コマンド、&&演算子、複合コマンド()や{}を組み合わせて書くと、処理の境界線がはっきりする。

    シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた
    jnst
    jnst 2016/03/29
  • Goのプログラミングパターン

    QCon London 2016において、Peter Bourgon氏は「Successful Go Program Design, 6 Years On」というプレゼンを行い、Goでプログラミングするときに使うべきパターンと避けるべきパターンについて説明した。 GOPATH: 環境変数PATHにGOPATH/binを加え、関係バイナリを簡単にアクセスできるようにする。Bourgon氏は一つのグローバルなGOPATHを使うことを推奨する。たいていの場合、これでうまくいく。自分のコードと外部依存のコードを明確に分離したい人は、2つのGOPATHを作るのが好みだろう。gbを使って、環境変数をセットせずにプロジェクトごとに構築するという選択肢もある。 リポジトリ構成: リポジトリの構成はプロジェクトに依存する。プライベートなプロジェクトで決して公開しないなら、好きな構成で構わない。オープンソース

    Goのプログラミングパターン