rmanzokuのブックマーク (295)

  • Go 1.11 のバグと DNS の障害の合わせ技でハマった件 - bearmini's blog

    Go で書いたプログラムで、HTTP(S) による通信を行うとなぜか10秒間プログラム (goroutine) がストールして、その後正常に通信が行えるという謎な現象に悩まされ、無事解決できたのでここにメモしておきます。 といっても、解決のためにやったことといえば、Go のバージョンを 1.11.1(バグが修正されたバージョン)に上げただけなのですが😅 「同様の問題にハマっている人が多いみたいなので知見を共有すればよいのでは」という同僚の id:moznion のすすめもあって書いてみることにしました。 TL;DR 問題の内容と、解決に至るまでの経緯を時系列順に書き下してみます。 まず問題に気づいたのは、私が関わっているある Web サイトのログインなどの処理がやけにもっさりしているという報告を受け、それを私も確認したタイミングです。 エラーになるわけではないのですが、特定の API

    Go 1.11 のバグと DNS の障害の合わせ技でハマった件 - bearmini's blog
    rmanzoku
    rmanzoku 2018/10/29
  • elm-upgradeに従ってElmのバージョンを0.18から0.19へ上げる - Studyplus Engineering Blog

    ForSchool事業部の石上です。ウェブのフロントエンドを中心にStudyplus for Schoolの開発に携わっています。 あるアプリケーションのElmのバージョンを0.18から0.19に上げる対応をしました。今回はこのことについて書きます。 背景 Studyplus for School で新たにちょっとしたサブシステムが必要になり、その小さなSPAのためのウェブフロントエンドの言語として今回、Elmを採用しました。 弊社のプロダクトのほとんどは、サーバーサイドはRuby on Railsで作られており、ウェブフロントエンドJavaScriptTypeScriptです。Elmでウェブのフロントエンドを書くことはけっこう挑戦的でしたが、会社としても他の言語に手を伸ばしていきたいという話もあり、CTOとチームリーダーから許しをいただきElmでの実装に至りました。 ある程度実装が終

    elm-upgradeに従ってElmのバージョンを0.18から0.19へ上げる - Studyplus Engineering Blog
    rmanzoku
    rmanzoku 2018/10/29
    elmだ
  • 【dapps】Metamaskを使いサーバ側にてユーザ認証する方法 | 未経験からエンジニアに転職してもいいじゃない

    rmanzoku
    rmanzoku 2018/10/26
  • JWTをセッション管理に転用するのはあまり良いアイデアではない(認証だけならいいよ) - id:anatooのブログ

    どうしてリスクアセスメントせずに JWT をセッションに使っちゃうわけ? - co3k.org JWT認証、便利やん? - ブログ JWT 認証のメリットとセキュリティトレードオフの私感 - ..たれろぐ.. JWTをセッションに使うことに関して最近少し議論があったので、自分のお気持ちを表明したいと思います。 私は以前SPAを書く時にJWTをセッション管理に使おうとしたことがありましたが、仔細に検討していくとJWTをセッション管理に使うのは無意味にセキュリティ上のリスクを増やすだけで、伝統的なクッキーを使ったセッション管理を使った方が良いという結論に至りました。 前提を整理するためにあらかじめ前置きすると、「JWTをセッション管理に使う」というのは認証APIなどで返ってきたJWTをlocalstorageなどJavaScriptからアクセスできるストレージに保管しておいて、ajaxでサーバ

    JWTをセッション管理に転用するのはあまり良いアイデアではない(認証だけならいいよ) - id:anatooのブログ
    rmanzoku
    rmanzoku 2018/10/26
    “JWT 認証のメリットとセキュリティトレードオフの私感 - ..たれろぐ..”
  • JWT認証、便利やん? - ブログ

    どうして JWT をセッションに使っちゃうわけ? - co3k.org に対して思うことを書く。 (ステートレスな) JWT をセッションに使うことは、セッション ID を用いる伝統的なセッション機構に比べて、あらゆるセキュリティ上のリスクを負うことになります。 と大口叩いておいて、それに続く理由がほとんどお粗末な運用によるものなのはどうなのか。最後に、 でもそこまでしてステートレスに JWT を使わなくてはいけないか? とまで行っていますが、JWT認証のメリットはその実装のシンプルさとステートレスなことにあります。現実的には実際はDB参照とか必要になったりするんですが、ほとんど改ざん検証だけで済むのは魅力的です。トレードオフでリアルタイムでユーザー無効化ができないことくらいですかね。ライブラリなんて使う必要ないほどシンプルだし、トレードオフさえ許容できればむしろ、なぜこれ以上に複雑な認証

    JWT認証、便利やん? - ブログ
    rmanzoku
    rmanzoku 2018/10/26
  • JWT 認証のメリットとセキュリティトレードオフの私感 - ..たれろぐ..

    2020/5/9追記: 考えた結果、Authorization Bearer ヘッダを使った正規のJWTの場合、同一ドメイン下で読み込む全 JavaScript が信用できる場合でないとブラウザ上で安全にトークンを保持できないのでブラウザからのAPIアクセス時の認証用には使うべきではないというところに着陸しました。ブラウザからのアクセスでは http only cookie にトークンを入れ、 CSRF 対策も忘れずにというこれまで通りの定石が手堅いように思います。 JWTを使うのはトークンの安全な保管ができる非ブラウザなネイティブクライアントからのAPIアクセス時に限った方がよさそうです。 APIサーバ側ではアクセス元に合わせて認証方法を使い分ける両対応が要求されるので手間は増えますが手抜きできる場所でもないので仕方なしと。 React(SPA)での認証についてまとめ - エンジニア

    JWT 認証のメリットとセキュリティトレードオフの私感 - ..たれろぐ..
    rmanzoku
    rmanzoku 2018/10/26
  • トークンを利用した認証・認可 API を実装するとき Authorization: Bearer ヘッダを使っていいのか調べた - Qiita

    トークンを利用した認証・認可 API を実装するとき Authorization: Bearer ヘッダを使っていいのか調べたAPIOAuthWeb TL;DR HTTP でトークンを利用した認証・認可をする手法として RFC 6750 がある OAuth に限らず、トークンを利用して認証・認可する機構の一部として Authorization: Bearer ヘッダを使うことができる 使い方について詳しくはこの記事の下のほうに書いた 要求 トークンを利用した認証・認可機構を持つ API を作りたい クライアントがトークンを HTTP リクエストに含めて送信し、サーバはトークンを検証してリソースへのアクセスを許可したい Authorization: Bearer トークン ヘッダでトークンを送る API あるよね、ああいうやつ 疑問 Authorization: Bearer ヘッダは OA

    トークンを利用した認証・認可 API を実装するとき Authorization: Bearer ヘッダを使っていいのか調べた - Qiita
    rmanzoku
    rmanzoku 2018/10/26
  • EIP 191 Signed Dataを使ったサイドチェーンへのログイン機能 – My Crypto Heroes – Medium

    MCHバトルベータでは、大部分の実装をLoom Networkを採用したサイドチェーンで実現しています。 現状のEthereumにおいて、Gasやトランザクションの確定速度の面からゲームのようなアプリケーションには、サイドチェーンもしくはオフチェーン技術が必須といえます。 Ethereumの秘密鍵情報はWalletブラウザが握っており、アプリケーション側から触るべきではないこと。Loom NetworkとEthereumの暗号方式が違うことからEIP 191 Signed Dataを使ったログイン機能を実装しました。 Go言語で作成したスマートコントラクトプラグインで実現しています。以降、KeyManagerと呼びます。 Metamaskによる署名リクエスト署名リクエストにより、「メッセージ」部分を署名し、シグニチャを作成します。 Tokenはワンタイムトークンです。MCH ベータバトルで

    EIP 191 Signed Dataを使ったサイドチェーンへのログイン機能 – My Crypto Heroes – Medium
    rmanzoku
    rmanzoku 2018/10/23
    書いた
  • 制御工学の基礎あれこれ

    In English ■初めに PID制御や現代制御などの制御工学(理論)の基礎や、制御工学に必要な物理、数学、ツール等について説明します。 私のプロフィールを簡単に説明しますと、私は自動車関連企業に勤めており、そこで日々制御工学(理論)を利用しながら設計開発をしております。 ここで説明する内容は、制御理論を扱い実際にモノに実装していく上で最低限理解しておいた方が良い内容と思います。 少しでも皆様の役に立ち、学力の底上げに貢献し、ひいては日の発展、ひいては人類の発展に貢献できたらこの上ない喜びです。 内容を説明する際に次のことを心掛けています。 ① できるだけシンプルに。より少ない文章で内容を的確に説明する。 ② 1ページの記事のボリュームを多くし過ぎない ③ 文字のフォントは大きすぎず、行間を開けすぎない。(画面スクロールが頻繁になると情報が伝わりづらくなる) ④ 内容の説明とは直接関

  • Golang 1.11 で導入された ListenConfig を使って SO_REUSEPORT を利用する - Carpe Diem

    概要 先日リリースされた1.11でソケットオプションを設定できるようになりました。 これによってLinux 3.9から導入されたSO_REUSEPORTという、同じポートでbindすることが可能になる機能が利用可能になります。 環境 golang 1.11 macOS 10.13.6 (Darwin Kernel Version 17.7.0) Ubuntu 16.04 (4.4.0-87-generic) 何が嬉しい? 一言で言うとGraceful Restartが可能になるという点です。 通常サーバプロセスを再起動するとその瞬間はリクエストを捌けなくなります。 Rolling updateのような事ができる環境であればいいですが、そうではない場合 a) Listenしているsocketのfile descriptorの複製 b) SO_REUSEPORTを使う といった手段でデプロイ時

    Golang 1.11 で導入された ListenConfig を使って SO_REUSEPORT を利用する - Carpe Diem
    rmanzoku
    rmanzoku 2018/10/14
  • WikiLeaksが謎に包まれたAmazonのデータセンターの所在地を暴露、地図も公開 - GIGAZINE

    WikiLeaksがこれまでベールに包まれていたAmazonが運用するデータセンター(クラウド向けサーバー)の正確な所在地を暴露しました。世界9カ国15都市に分散されたAmazonデータセンターは東京、大阪にも設置されているようです。 WikiLeaks - Amazon Atlas https://wikileaks.org/amazon-atlas/ WikiLeaksはAmazonの「機密性の高い内部文書」を入手することに成功。これは、世界9カ国15都市にまたがって設置された100以上のデータセンターの所在地と運用に関する文書だとのこと。なお、この文書についても上記ページで公開されています。 AWSによって世界最大のクラウドプロバイダーとして君臨するAmazonは、世界のクラウドインフラストラクチャサービス市場の34%を占めているという調査が出されていますが、その所在地や運用内容につ

    WikiLeaksが謎に包まれたAmazonのデータセンターの所在地を暴露、地図も公開 - GIGAZINE
    rmanzoku
    rmanzoku 2018/10/12
    暴露して誰が得するんだ
  • Makefileを自己文書化する | POSTD

    私たちのプロジェクトではいつも、非常に長い Makefile を使用して、インストールやビルド、テスト、デプロイメントの処理を自動化しています。ターゲット名はほとんど標準化されていますが( make install 、 make deploy )、中には説明が必要なものもあります( make run-dev 、 make restart-api )。そして、詳細なmakeターゲットを追加するほど、それらの処理内容をテキスト形式で大量に記載しなければなりません。私たちのプロジェクトでは通常、このような文書を README ファイルに書いています。 しかしCLI(コマンドラインインタフェース)を用いる場合は、主に自己文書化ツールを使っています。 make と打つだけで、利用可能なコマンドとその説明が一覧表示されたら便利だと思いませんか? それを実現するのは、実はとても簡単です。まずは各ターゲッ

    Makefileを自己文書化する | POSTD
    rmanzoku
    rmanzoku 2018/10/11
    よさそう
  • はてなサマーインターン2018の講義資料を公開しました。今年はGo言語&新カリキュラム! - Hatena Developer Blog

    Webアプリケーションエンジニアの id:tanishiking24 です。 今年で11年目となるはてなサマーインターンを2018/08/13 〜 2018/09/07という日程で開催しました。 developer.hatenastaff.com はてなサマーインターンの期間は前半と後半に分かれています。前半課程でははてなのサービス開発・運用に必要な技術を習得するための講義パート、後半課程では実際にサービスやシステム開発チームに参加していただいています。 はてなサマーインターンの講義パートで使用している「はてな教科書」はGitHubで公開しておりますが、今年のインターンで利用した講義資料を新たに公開しました。 今年のサマーインターンではカリキュラムを一新し、前半課程で利用するプログラミング言語にはGo言語を採用し、また進化するWeb技術に対応するためにデータベース基礎、インフラ、Webの基

    はてなサマーインターン2018の講義資料を公開しました。今年はGo言語&新カリキュラム! - Hatena Developer Blog
    rmanzoku
    rmanzoku 2018/10/10
  • TypeScript入門以前ガイド - mizchi's blog

    某社で自分が React/Redux + TypeScript などの講習をやってみた結果、TypeScript 入門用資料が必要だと思って書いたやつです。 このドキュメントのターゲット TypeScript で書かれたプロジェクトに参加する人 TypeScript を導入するために、その事前知識が必要な人 このドキュメントの読み方 ES2015 for Beginners ES2015 for ES5 Programmers ES Modules 非同期表現: Promise と async/await TypeScript エコシステム編 自分が React/Redux などの講習でいろいろやってみた結果、 ES2015 と TypeScript を同時に教えると、初学者は何がどの概念に由来するかの区別が出来ずに混乱します。なので、ES5 -> ES2015, ES2015 -> Ty

    TypeScript入門以前ガイド - mizchi's blog
  • インターンを開催して分かったGolangを書き始める人に知っておいてほしい事 – Eureka Engineering – Medium

    オリジナルのThe Go gopher(Gopherくん)は、Renée Frenchによってデザインされました。こんにちは。エウレカ APIチームの小島です。 先日エウレカではサマーインターンを開催しました 。今回の課題は「マッチングサービスに必要なAPIGolangで実装する」という内容でした。 ※ 詳細については高橋の記事[エウレカサマーインターンを開催しました! エウレカサマーインターンを開催しました!(サーバーサイド編) にあるので割愛します。 課題は当日発表だったこともあり、その日からGolangを始めた学生も少なくありませんでしたが、苦戦しつつも皆さん課題に一生懸命取り組んでいました。 記事では、初心者が知っておきたいGolangの扱い方など今回のサマーインターンの課題の内容をふまえつついくつか紹介します。 基的な書き方1. Golangでは基的にキャメルケースを使う

    インターンを開催して分かったGolangを書き始める人に知っておいてほしい事 – Eureka Engineering – Medium
    rmanzoku
    rmanzoku 2018/09/27
  • GitHub - blockchain-etl/ethereum-etl: Python scripts for ETL (extract, transform and load) jobs for Ethereum blocks, transactions, ERC20 / ERC721 tokens, transfers, receipts, logs, contracts, internal transactions. Data is available in Google BigQuery htt

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    GitHub - blockchain-etl/ethereum-etl: Python scripts for ETL (extract, transform and load) jobs for Ethereum blocks, transactions, ERC20 / ERC721 tokens, transfers, receipts, logs, contracts, internal transactions. Data is available in Google BigQuery htt
    rmanzoku
    rmanzoku 2018/09/27
    最高
  • SQLスタイルガイド · SQL style guide by Simon Holywell

    概要 全般 推奨 非推奨 命名規則 通則 表 列 別名、相関名 ストアド・プロシージャ 統一的接尾辞 問合せ文 予約語 空白類 インデント 望ましい形式 Create文 データ型の選択 デフォルト値の指定 制約とキー 非推奨設計 付録 予約語リファレンス SQLスタイルガイド(日語訳) 日語訳について 日語訳は誤訳や原文の最新版に追随していない恐れがあります。誤訳や改善点があれば、GitHubのissueまたはpull requestを使用するか、Twitterでお知らせください。 翻訳: 久利史之 @nkuritw 概要 このガイドラインは利用の他、forkしたり、自分自身のものに改変したりすることができます。ここで大事なのはスタイルを選択しそれを踏襲することです。変更の提案やバグの修正にはGitHubのissueまたはpull requestを使用してください。 このガイドライン

    rmanzoku
    rmanzoku 2018/09/24
  • どうして JWT をセッションに使っちゃうわけ? - co3k.org

    備考 2018/09/21 22:15 追記 2018/09/20 12:10 に公開した「どうして JWT をセッションに使っちゃうわけ?」というタイトルが不適切だとご指摘をいただいています。 その意見はもっともだと思いますので、現在、適切となるようにタイトルを調整しています。 ご迷惑およびお騒がせをして大変申し訳ございません。 文の表現についても改善の余地は大いにありそうですが、こちらは (すでにご意見を頂戴している関係で、) 主張が変わってしまわないように配慮しつつ慎重に調整させていただくかもしれません。 はあああ〜〜〜〜頼むからこちらも忙しいのでこんなエントリを書かせないでほしい (挨拶)。もしくは僕を暇にしてこういうエントリを書かせるためのプログラマーを募集しています (挨拶)。 JWT (JSON Web Token; RFC 7519) を充分なリスクの見積もりをせずセッシ

  • マーチン・ファウラー氏の新著「リファクタリング 2nd Edition」が完成、ほぼ全面的な刷新。日本でも11月22日発売

    マーチン・ファウラー氏の新著「リファクタリング 2nd Edition」が完成、ほぼ全面的な刷新。日でも11月22日発売 マーチン・ファウラー氏が約2年を費やして執筆してきた新著「リファクタリング 2nd Edition」が完成し、日Amazon.comなどで予約が始まりました。発売日は11月22日と表示されています(下記の表紙画像からもAmazon.comへリンクしています。記事執筆時点でのAmazon.comでの販売価格は7279円)。 「リファクタリング」とは、ソフトウェアの機能追加や変更、性能向上などに備えるため、開発されたコードの外部に対する振る舞いは変えずに、より整理された、あるいは洗練されたコードに書き換えること、あるいはその手法のことを指します。 いまでは開発者の間で広く知られているこのリファクタリングの意義や方法論をはじめて系統的に解説し、普及に大きな貢献を果たした

    マーチン・ファウラー氏の新著「リファクタリング 2nd Edition」が完成、ほぼ全面的な刷新。日本でも11月22日発売
  • 次世代 Web カンファレンス 2019 開催告知 | blog.jxck.io

    Motivation 「Web について話す場」 というか「Web そのものをテーマにした場」というのが、意外と少ないなとずっと思っていました。 (もちろん、結果として Web について話しているカンファレンスや勉強会はたくさんありますが。) そして、スライドなどを用いて何かを「発表する」ニュアンスではなく、進化の早い Web で「今何が起こっているか?」と「これからどうなっていくのか?」という、答えの無いもの、でもみんなが気になり考えていること、今だからこそ考えないといけないことを真っ向から議論する場というのが、もっとあっても良いのではないかと考えていました。 今回開催するカンファレンスは、この「議論」だけからなるものです、それ以外のことはしません。 この趣旨に賛同してくださった、各分野のプロフェッショナルに協力頂き、「次世代 Web カンファレンス」として、開催させていただくことになり

    次世代 Web カンファレンス 2019 開催告知 | blog.jxck.io
    rmanzoku
    rmanzoku 2018/09/16
    うおー楽しみ