タグ

ブックマーク / qiita.com (239)

  • JSON Web Token の効用 - Qiita

    Note: JWT の仕様やそもそも論の話は触れません。どう使うか、何が出来るかしか書いていません。 JSON Web Token? JSON Web Token とは、ざっくりいって署名の出来る JSON を含んだ URL Safe なトークンです。 署名とは、署名時に使った鍵を用いて、JSON が改ざんされていないかをチェック出来るようにすることです。 URL Safe とは、文字通り、URL に含めることの出来ない文字を含まないことです。 これだけだとよくわかりませんが、触り心地としては次のような性質があります。 発行者だけが、鍵を使ってトークンが正しいことを検証出来る。 暗号化ではないので、JSON の中身は誰でも見られる。 仕様的には、暗号化のオプションもあります。 しかしながら、JSON の変更は出来ない。(改ざんをすると、検証時に失敗するので。) 全体的には、なんか変更できな

    JSON Web Token の効用 - Qiita
  • [Swift] 5分で出来る!アプリ専用アラートビューの作り方 - Qiita

    ※2016/04/02 更新:最新バージョンに対応 セレクターの部分をSwift2.2の書き方に直しました. 最近は,アラート関連のライブラリも多く見られるようになりましたね. 綺麗なデザインの物から多機能の物,探すのが大変なくらいです. しかし!あなたは感じたことがありませんか? 「アプリにマッチしてない...」「惜しいんだけど,なんか違う...」 感じたことがなくても,個性のあるアプリを作りたい時はライブラリには依存したくないですよね. そこで今回は,5分で出来るオリジナルアラートビューのレシピを紹介します. ※新人プログラマ応援タグをつけさせていただいてます. 正直微妙なラインですが,順序よく説明していくのでSwiftコードを書いていく方法がわかれば,という思いです. どちらかというと初級者->中級者への移行応援かもしれない.(私自身もまだもがいている段階ですが.笑) 環境 今回は,

    [Swift] 5分で出来る!アプリ専用アラートビューの作り方 - Qiita
  • OpenID Connect の JWT の署名を自力で検証してみると見えてきた公開鍵暗号の実装の話 - Qiita

    はじめに 皆さん、OpenID Connect を使った Web 認証/認可システムを実装していて、「サードパーティのライブラリなんかに頼りたくない!」とか「署名を自分でパースして中身見てみたい!」とか「OpenSSL の RSA_verify 呼び出すだけじゃ物足りない!自分で $m = S^e \pmod{n}$ ってやって署名検証してみたい!」って思うことよくありますよね? ここでは、暗号関連のライブラリを使用せず、OpenID Connect の JWT の署名を自力で 検証した際に調べた内容を備忘録としてまとめてみました。 普通はライブラリ任せにする署名検証の処理も自力でやってるので、「RSA 暗号の数式も知ってるし、ライブラリ使えば暗号化もできる。だけど、平文として指定した hogehoge をどうやってあの数式に当てはめてるのか気になる」という人が読むと、もしかしたら嬉しいか

    OpenID Connect の JWT の署名を自力で検証してみると見えてきた公開鍵暗号の実装の話 - Qiita
  • 小さいReactアプリケーションのためのライブラリ書いた - Qiita

    EventEmitterバケツリレースタイル/フレームワークなしで小さくFluxする - Qiita これ見て最近は大体自分も同じような感じのことをしているので共通化できる最小限のコードをライブラリにしてみた。 元記事でも言ってるようにやることはとても少ないのでライブラリ使わないでもいいんだけどそのへんは好み。 Usage まず普通のステートレスなReactコンポーネントを作る。dispatchというpropsを受け取ってそれを通してイベントを発火するというのが唯一の規約。 import React from 'react'; // Stateless component export default class Counter extends React.Component { render() { return ( <div> <div>{this.props.count}</div>

    小さいReactアプリケーションのためのライブラリ書いた - Qiita
  • Twitterを巡回していてわかったHaskell初心者が躓きやすいポイント8つ

    最近の趣味は「Haskellはいいぞ」と呟くかTwitter Search: Haskellを巡回して を押して回ることです 毎日巡回しているとHaskellに入門しようとするも細かいところに引っかかって前に進めないでいる人をちらほら見かけます。今回はそんな見回りの知見を活かしてHaskell初心者が躓きやすいポイントをまとめてみたいと思います。 1. 入門書は何がいいの? それはもうすごいH一択でしょう!…と言いたいところですが時々不満の声を聞くこともあります。確かにすごいHこと『すごいHaskellたのしく学ぼう!』は世界一わかりやすいHaskell入門書であることは間違いないと思いますが、逆に内容が平易すぎるため記述が冗長だと感じたり読み終わっても何か自分で作れるようになった気がしなかったりするかもしれません。なので僕は「プログラミングも初心者でHaskellから入門してみたい」

    Twitterを巡回していてわかったHaskell初心者が躓きやすいポイント8つ
  • 春からはじめるモダンJavaScript / ES2015 - Qiita

    春ですね!人の配置がリファクタリングされ、コードもリファクタリングの季節です。 では僕がここでモダンなJavaScriptとES2015の利点を語る役をやるので、みなさんはチームを説得する役をやってください。 JavaScript歴史 まず最初にJavaScript歴史を踏まえることで、今学ぶべきものとその理由を確認しましょう。 なぜ2016年の記事でES2016ではなく、ES2015なのか、と疑問に思った方もいるかもしれません。それは、ES2015がただの年次アップデートではなく、これから始まる毎年のメジャーバージョンアップの起点となるバージョンであり、またES5から飛躍的に仕様が増えたバージョンであるからです。 簡単に(雑な)歴史を紹介します。 ブレンダン・アイクによってNetScapeに実装/搭載された古の時代〜IE6 (1996~2005) ES3: 一時はシェア7割を誇ったレ

    春からはじめるモダンJavaScript / ES2015 - Qiita
    yasuharu519
    yasuharu519 2016/03/17
    わかりやすい
  • C言語分かってなかった (I Do Not Know C) - Qiita

    Dmitri Gribenko氏によるBlog記事 "I Do Not Know C" より訳出。原文および訳文のライセンスは CC BY-SA 3.0 に従う。 この記事の目的は、皆に(とくにCプログラマに)「C言語分かってなかった」と言わせることです。 C言語の死角は思っているよりも身近にあり、よくある単純なコードですら 未定義動作(undefined behavior) を含む可能性があると示したいと思います。 記事は質問に対する回答の形をとります。全ての例示コードは別々のファイルに分かれていると考えてください。 (訳注:Qiita/Markdown表現の制約から、読中ネタバレ防止のため文章順序を変更しています。前半には質問のみを、後半には質問と回答の対を訳出しました。) 質問編 1.

    C言語分かってなかった (I Do Not Know C) - Qiita
  • 改訂版: プログラマーが効果的な可視化を作成する (前編) - Qiita

    改訂版について (5/7/2019公開) この記事は、私がこちらに公開したもの中では最も読まれているようです。そこで、執筆後に気づいたこと、古くなった情報、新しい技術動向などを考慮に入れて改訂をしました。主な変更点は以下の通りです: 新しいセクションの追加 最近のの紹介 細かな表現の修正 この記事は複数のセクションに分かれていますので、前編から始め、順番にアップデートして行きたいと思います。何かお気付きの点などありましたら、コメント欄、もしくはkonoアットマークucsd.eduにお願いいたします。 はじめに この記事は、可視化の専門家ではない人がコンピュータを使ってデータ可視化を実際に行う場合に必要な、一般的なノウハウをお伝えするシリーズの第一回です。 前編: 効果的なデータ可視化とはどのようなものか? (稿) 中編: 分かりにくい可視化を避けるための手法の選択 後編: Part 1

    改訂版: プログラマーが効果的な可視化を作成する (前編) - Qiita
  • freeeのエンジニアチーム - Qiita

    こんにちは、freee株式会社 の @hiraguri です。 この記事は freee Engineers Advent Calendar の24日目です。 明日25日目はいよいよfreee advent calendarの最終日として弊社CTO @yokoji が登場します。 そんな大団円を控えた今日は、これまでとは少し毛色を変えてfreeeエンジニアチームについて話そうと思います。 マネジメントの話をガッツリしてもおもしろくないと思うので、freeeのユニークな点についていくつかご紹介します。 エンジニアチームの責任者が2人いる freeeには現在50人のエンジニアがいて、エンジニアチームの責任者が2人います。 CTO と vp of engineeringです。 CTO を @yokoji が、vp of engineering をぼくがやっています。 CTOは「最高技術責任者」の

    freeeのエンジニアチーム - Qiita
    yasuharu519
    yasuharu519 2016/03/12
    よこじ(概念)
  • Developer&#39;s Summit 2016 【18-E-4】FinTech 金融とテクノロジーの○○な関係 聴講メモ - Qiita

  • Slackboard〜Slackプロキシサーバ in Go〜 - Qiita

    昨年末の話だけどSlackへの通知をプロキシするサーバをGoで書きました。如何せん1〜2時間で書いたので一部洗練されてない箇所があるかもしれませんが、 今年のはじめからすでに実運用をはじめています。 Slackboardの役割 SlackboardはSlackへのプロキシサーバであるslackboardとそのためのクライアントであるslackboard-cliの2つから構成されています。↓の図のようにSlackへの通知をクライアントが行うのではなく、クライアントからのリクエストを受け取ったプロキシサーバであるslackboardが行うという仕組みです。 このようにSlackへの通知を直接ではなくプロキシを介して行うのには以下のメリットがあります。 Slackへの通知設定をプロキシサーバで一元管理できる Slackへの通知リクエストをロギングできる 各サーバに散らばったSlackへの通知プロ

    Slackboard〜Slackプロキシサーバ in Go〜 - Qiita
  • Falcor入門 1日目 Falcorとは何者か - Qiita

    はじめに 最近、ある程度の時間を割いてFalcorを触っています。 まだ日語での情報は豊富とは言えない状況ですし、自分の理解を整理する意味も含め、何回かに分けてFalcorについて書いていきます。 1日目の今日は「Falcorとはどのような目的のために生まれ、どのような仕組みに依存しているのか」を説明します。 概念的な話ばかりでコードは殆ど出てきません。実装寄りの話は次回以降に書きますが、行ったり来たりしながら読むのも有りじゃないかなと思います。 ちなみに次回以降の目次はこちら: Falcor入門 2日目 FalcorのJSON Graphに触れてみる Falcor入門 3日目 Falcor Routerでサーバサイドを実装してみる Falcor入門 4日目 FalcorとReactを組み合わせる 昨今、Webアプリケーションの大半は、ReactAngularなどのMVCフレームワーク

    Falcor入門 1日目 Falcorとは何者か - Qiita
  • nginxパフォーマンスチューニング〜静的コンテンツ配信編〜 - Qiita

    今回はHTMLCSSJavascriptといった比較的軽量な静的コンテンツの配信をnginxでやるケースに絞ってチューニングする際のポイントについて紹介しようかと思います。 (注:worker_rlimit_nofileやsysctl.confのネットワーク周りの設定のような定石的なチューニングについてはあえて解説しないのであらかじめご了承ください。) コンテンツをgzip圧縮する 何はともあれgzip圧縮です。ネットワーク帯域に比べればCPUリソースなんて安いものです。 しかし、多くの場合これだけでは十分ではありません。何故ならnginxはデフォルトではContent-Typeがtext/htmlのコンテンツしか圧縮しないためです。圧縮対象のContent-Typeを増やすにはgzip_typesを使います。 単純なWebサイトであれば上記の設定で十分ですが、場合によってはappli

    nginxパフォーマンスチューニング〜静的コンテンツ配信編〜 - Qiita
  • ウィルス感染でWebサービスが20日間ダウン。本当にごめんなさい - Qiita

    障害が起きたWebサービスは個人で運営しているサービスです。 2016年2月、障害から20日後にサービス再開しましたがアクティブユーザは以前の18%です。未だ回復の目処は立っていません。冗長化していないサーバがウイルス感染し、その後の対応も後手後手に回ってしまいました。 2016年1月末に起こるべくして起こった障害について記事にしてみました。ご迷惑をお掛けしてしまい当に申し訳ありません。 ■ ユーザは、もう戻ってこない どんなウイルスに感染したのか SYNフラッド攻撃(SYN Flood Attack)を他のWebサイトに行うウイルスに感染して、確認していませんが他のサービスをSYNフラッド攻撃していたと思います。またウイルス感染時にサーバのsshdを書き換えられsshで接続できなくなりました。感染後にコンソールログインして書き換えられた醜い authorized_keys を見た時ゾッ

    ウィルス感染でWebサービスが20日間ダウン。本当にごめんなさい - Qiita
  • Dockerで即実行できる、社内・自宅向けオープンソースWebアプリ - Qiita

    デスクトップアプリケーションに比べるとWebアプリケーションの導入は面倒だが、DockerやVagrantの登場によって敷居が低くなっている。誰かがDockerHubへ使いやすいイメージを公開してくれたり、Webアプリの開発元がDockerfileを公式に提供しているケースが増えてきているためだ。 この記事では、筆者が実際に使用したことのあるWebアプリの一覧と、docker-composeの設定ファイル(またはDockerfile)をまとめる。既にDocker環境が整備されている状態であれば、YAMLファイルやDockerfileをコピペしてdocker-compose up -dするだけで自動的にWebアプリケーションが起動する。(もし動かなかったらスミマセン) セキュリティとかは考えていないので、LAN内のみでの使用を想定 記載の設定では、永続化データはDockerが動作しているマシ

    Dockerで即実行できる、社内・自宅向けオープンソースWebアプリ - Qiita
  • OAuth 2.0 + OpenID Connect のフルスクラッチ実装者が知見を語る

    はじめに この文書では、OAuth 2.0 + OpenID Connect サーバーをゼロから一人で実装した開発者(私)が、得られた知見について書いていきます。基的には「実装時に考慮すべき点」を延々と述べることになります。 そのため、この文書は、「素早く OAuth 2.0 + OpenID Connect サーバーを立てる方法」を探している方が読む類のものではありません。そのような情報をお求めの方は、「Authlete を使って超高速で OAuth 2.0 & Web API サーバーを立てる」を参照してください。そちらには、「何もない状態から認可サーバーとリソースサーバーを立て、アクセストークンの発行を受けて Web API をたたいて結果を得る」という作業を、所要時間 5 ~ 10 分でおこなう方法が紹介されています。 文書のバイアスについて 私は、OAuth 2.0 + Ope

    OAuth 2.0 + OpenID Connect のフルスクラッチ実装者が知見を語る
  • topコマンドの使い方 - Qiita

    $ top # CPU使用率順にソート $ top -a # メモリ使用率順にソート $ top -p [PID] # 特定のプロセスを監視 $ top -d1 # 1秒ごとに更新 操作方法 Shift+o: 表示された特定のキーを押してEnterすると任意の列でソートできる Shift+p: CPU使用率順にソート Shift+m: メモリ使用率順にソート ヘッダーの見方 load average top - 08:42:47 up 2min, 2 users, load average: 2.76, 0.76, 0.27 # 現在時間 サーバーの ログイン 1分 5分 15分 # 稼働時間 ユーザー数 間の単位時間あたりの待ちタスク数

    topコマンドの使い方 - Qiita
  • 何もしない組み込みコマンド ":" (コロン)の使い道

    Bash でシェルスクリプトを勉強していくと出会うのが : (コロン)という名前の組み込みコマンド。このコマンドは何もしないコマンドです。 こんなコマンドの存在は不思議だなと思う反面、C言語にも void という型があったり(関数のような形で存在するのは JavaScript とかですね)、LaTeX にも \relax があったり、何もしない命令というものは機械語の NOP からある普通のものです。 この Bash の : の使い道についてまとめてみました。 何か書かなければならないところに仮置きする 例えば「ここに制御構造を置くんだけど、この節に入るものは後で書くんだけどな〜」といった場合、制御構造の節の中に何も書かないと Bash は構文エラーとなります。 #!/bin/bash arg="$1" if [ -z "$arg" ] ; then echo "デフォルトモード開始" e

    何もしない組み込みコマンド ":" (コロン)の使い道
  • Falcor 概要:もう1つのクエリー言語型 API - Qiita

    GraphQLとは別のクエリー言語型の API である Falcor 1について調べました。 Falcor とは Netflix が開発したサーバーとクライアント間のデータのやりとりの仕様です。 Facebook の GraphQL / relay と同じように、RESTful な API の問題を解決するために開発されました。 REST の問題点は Facebook の GraphQL のページにまとめられています。(参考) Falcor でも次のような問題が解決できます。 複雑なデータを取ろうとすると API を何度も呼ばないといけない。 例:一覧を取得後に、各要素の詳細を1つずつ取得する、など 不要なデータフィールドも取得してしまう。 例:name だけ欲しいのに avatar_url とかもついてくる。 準備 Falcor のサンプルの falcor-express-demo を使

    Falcor 概要:もう1つのクエリー言語型 API - Qiita
  • npm とか bower とか一体何なんだよ!Javascript 界隈の文脈を理解しよう - Qiita

    背景 Javascript で Web アプリを作ろうとすると、よくわからないことだらけで超混乱します。 npm と bower の違いは? npm はサーバーサイド用、bower はクライアントサイド用らしいよ えっ、でもなんで bower のインストールに npm が必要なの? サーバーサイドは Rails で書きたいから npm 要らないと思うんだけど・・・ ていうかサーバーサイドJSとか node.js って何? よく見る browserify って何? こういった疑問が沸き上がるのは、各ツールが生まれた文脈がよくわかっていないからです。いろいろ調べてやっとちょっとわかってきたのでメモします。間違いがあったらご指摘ください。 「CommonJS」誕生 - Javascript は汎用プログラミング言語へ その昔、Javascript 大好きおじさんは言いました。 Javascrip

    npm とか bower とか一体何なんだよ!Javascript 界隈の文脈を理解しよう - Qiita