タグ

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

  • XSSとCSRFに対応するJWTを使ったSPAのログイン認証のベストプラクティスってこれじゃない? - Qiita

    すみません、これじゃダメでした 以下、コメント欄抜粋です 元記事のコメントでも指摘されていますが、XSSによるJavaScriptから、LocalStorageの値を取得した上で、XMLHttpRequestあるいはFetch APIによるリクエストを送信すれば、HttpOnly属性つきのクッキーでも自動的に送信されます。なのでXSSによる攻撃を防ぐことはできません。そもそも、XSSによるJavaScript実行は正規のJavaScriptと同じ条件(Origin)で動作するため、ご提案の方法はXSSの対策にはなりません。 これでいかがでしょう..? 目次 Nuxt.jsとRailsAPIを想定した実装例ですが、考え方は応用できます。 00:00 ログイン認証の流れ 01:00 フロントエンドで考えるべき2つの攻撃 02:24 XSS攻撃への対応 03:11 CSRF攻撃への対応 04:0

    XSSとCSRFに対応するJWTを使ったSPAのログイン認証のベストプラクティスってこれじゃない? - Qiita
  • 「ADT, 直和・直積, State Machine」 - Qiita

    (タイトル字余り) この記事は筆者が社内勉強会で発表した内容を(個人的に出来が良いと思ったので)外部向けに再構成したものです。(大変長くなってしまった) 状況その1 いきなり以下のコードをご覧ください。 type Contact = { Name: PersonalName; EmailContactInfo: EmailContactInfo option; PostalContactInfo: PostalContactInfo option; } そして以下の仕様をご確認ください。 Business Rule: “A contact must have an email or a postal address” 出典と動機、課題 上掲コード及び仕様はDesigning with types: Making illegal states unrepresentable | F# for

    「ADT, 直和・直積, State Machine」 - Qiita
    yasuharu519
    yasuharu519 2024/08/19
    ADT, 直和・直積型についてのわかりやすい説明
  • 【注意喚起】ReactのuseStateの値がすぐに更新されない理由を誤って理解しがちな件について - Qiita

    「state 更新 反映されない」を検索するまで Reactにまだ慣れていない段階で開発をしているとuseStateの問題に詰まってこのような検索をする方は多いかなと思います。 私もその一人で、公式のチュートリアルを一通りやったにも関わらずこの問題に詰まってしまったのは忸怩たる思いでございます。 「useStateで定義した値はset関数で更新できて、useStateはフックなので実行すると画面が更新される」というのはまずReactを勉強する最初の段階で理解するでしょう。 そこで、言われた通りにuseStateで値を定義し、ユーザーの操作によって画面を更新させるコードを書きます。 import { useState } from 'react'; export default function Counter() { const [number, setNumber] = useState

    【注意喚起】ReactのuseStateの値がすぐに更新されない理由を誤って理解しがちな件について - Qiita
  • いつか起業したいエンジニアへ - Qiita

    はじめに 34 歳のとき、勤めていた会社の経営が傾き早期退職を促されたのを契機に独立しました。その後、41 歳で Authleteオースリート 社を設立しました。諸般の事情で現在も Authlete 社の代表取締役という肩書きを持っていますが、経営者的な仕事は他の人に任せ (参照: シリコンバレーのプロフェッショナル CEO を迎えて米国市場に挑戦する日のスタートアップの話)、50 歳目前の現在もプログラマとしてコードを書き続けています。 Authlete 社設立 (2015 年 9 月) から 8 年半弱経過したものの、まだまだ小さな会社で道半ばであるため、起業家として何か語るのは時期尚早ではあるものの、軽い体調不良が長引く中、『自分のエンジニアとしてキャリアを振り返ろう!』という記事投稿キャンペーンを見かけ、生きているうちに子供世代のエンジニアの方々に何か書き残しておこうと思い、文章

    いつか起業したいエンジニアへ - Qiita
    yasuharu519
    yasuharu519 2024/03/05
    めちゃめちゃ内容良かった "他者は上手くできないが自分は簡単にできること、を探してみてください。それが、あなたが世界一になれる部分かもしれません。"
  • 頑張っても成長できなかったエンジニアが「ひとりOKR」という成長する仕組みを編み出した - Qiita

    「ひとりOKR」はなに? 自分自身が到達したい目標に到達するための仕組み。「OKR」という組織が難しい目標に到達するための仕組みを個人でも運用できるように落とし込みました。 「ひとりOKR」はなんのためにある? 頑張りたいし、頑張っているんだけど、なんだかうまくいかない人がうまくいくようにするため。 「ひとりOKR」の効果は? アウトプット数が増えた 3ヶ月間のQiitaの記事執筆数は0 → 4 1記事のボリュームは大体2000 ~ 4000字くらい PRは3ヶ月で62個 Node.jsのデザインパターンTypeScriptでなぞっただけだけど、理解しつつ出していった 資格取得 集中できるようになった いままではいろんなことに興味ありすぎて、何を学ぼうか、何を身につけようか集中できなかった 自分自身を知れるようになったし、肯定できるようになった 週ごとにできることが増えていく実感があっ

    頑張っても成長できなかったエンジニアが「ひとりOKR」という成長する仕組みを編み出した - Qiita
  • 開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する - Qiita

    開設して3週間ほどで収益10万円を個人開発サイトから得たので、そこでやったことを全部ここに公開する。 世の中には**億ドルのバリュエーションを獲得したスゲー起業家の話か、個人開発サイトを立ち上げたものの収益なんてゼロに近い話かの両極端しか無いように感じる。 パッと立ち上げてだいたい1ヶ月でiPhoneXが買えるぐらいのサイト規模というのは、どんなレベルのエンジニアでも手が届く範囲内にあるのが実感だ。「人生賭けて起業!」とかそんな熱い話ではない。普段の仕事が終わったら、ちょこちょこコードかいて個人的にアプリを公開して収益を得る、ぐらいの話。「1億総クリエイター時代」ではこんなやり方が世の流れに合っている気がする。 この記事でも「エンジニアアウトプット至上主義であるべき」と主張している。自分で主張するからにはやっぱり得たノウハウは全部公開するのは当然だな、と。だいたい数週間で収益が10万円な

    開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する - Qiita
  • 動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita

    トロピカル半環と呼ばれる代数構造上のトロピカル行列を利用すると動的計画法を使ってグラフの最短経路の距離を計算するという問題が単純な行列積で解けてしまうらしい。そんな噂12を聞きつけて我々はその謎を解き明かすべく南国(トロピカル)の奥地へと向かった。 トロピカルな世界に行くためにはまずは代数を知る必要がある。要するに群・環・体の話だ。しかしこの記事の目的は代数学入門ではないので詳しい話は他の記事3に譲るとし、さっそく半環という概念を導入する。それは 半環は以下の性質を満たす二つの二項演算、即ち加法(和)"$+$" と乗法(積)"$\cdot$" とを備えた集合$R$を言う $(R, +)$ は単位元 $0$ を持つ可換モノイドを成す: $(a + b) + c = a + (b + c)$ $0 + a = a + 0 = a$ $a + b = b + a$ $(R, \cdot)$ は単

    動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita
    yasuharu519
    yasuharu519 2019/07/11
    導入スコ
  • ちょっとしたツールを作るのに便利なPythonライブラリ - Qiita

    この記事は、LIFULL Advent Calendar 2017の2日目の記事です。 おはようございます。新UX開発部の二宮( @ninomiyt )です。 LIFULLではデータ解析や最適化の用途、もしくはAWS Lambda上の簡易ツール実装用途などでPythonがそれなりに普及してきました。数値計算寄りの(いわゆるデータサイエンティスト的な)メンバーも今はPythonを使うことが多く、コード量としては小規模なプロジェクトが多く、簡単なAPIやバッチ処理の実装までやってもらうこともあります。 そのレビューをやっていく中で、「これ使うともっと簡単に実装できるよね」っていうライブラリがいくつかまとまってきたので紹介します。 click コマンドラインパーサー用のライブラリで、デコレータを使って関数を簡単にCLI化できます。 標準ライブラリのargparseがありますが、clickではバリ

    ちょっとしたツールを作るのに便利なPythonライブラリ - Qiita
  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

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

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
  • Entrykit のすすめ - Qiita

    はじめに あなたは Docker イメージを作る際に start.sh や startup.sh というファイルを作った経験はないだろうか。「Dockerfile の CMD だと 1 コマンドしか書けないから、シェルスクリプトで頑張る」というやつだ。例えば、環境変数を受け取って設定ファイルを動的に作ったり、メインプロセス起動前に何かしら初期化処理をするなど。そんなあなたに Entrykit というツールを紹介しよう。 Entrykit とは Entrykit は一言でいうと、コンテナ内のプロセス起動時に便利な軽量 init システムだ。Docker の起動コマンドに Entrykit を使うと、起動時にテンプレートファイルを元に設定ファイルをレンダリングしてくれたり、メインプロセスの前にコマンドを実行できたりする。 公式サイト - https://github.com/progrium/

    Entrykit のすすめ - Qiita
  • JSONをインタラクティブに掘り下げるコマンド jid - Qiita

    はじめに 私はCLIを利用することが多いのもあり、 jq は今やJSONを利用する上は欠かせないツールとなっています。 ただ ・ jqのクエリを書くことなれるまで少し時間がかかる ・ クエリを書くことに慣れたとしても、初見だったりして 構造を把握していないJSONに関しては非常に手間 でみたいな感じだなと思っていました。 インタラクティブに jq のクエリを書いていければいいのに、と思ってツールを探しました(CLI限定で)が、あまり良さそうなものが見つかりませんでした。 そこで、Golangで何か作ってみたいのもあったので、作ったのが jid というツールです。 リポジトリ Github : simeji/jid インストール 以下からバイナリダウンロードしてzip解凍するだけです。 https://github.com/simeji/jid/releases Macの場合はbrewで入れ

    JSONをインタラクティブに掘り下げるコマンド jid - Qiita
  • 次世代監視の大本命! Prometheus を実運用してみた - Qiita

    こんにちは!freeeでインフラゾンビをやっている @sugitak です。ゲームではレベルを上げて物理で殴る派です。 freee ではたまにインフラエンジニアの数が減るのですが、その減ったインフラエンジニアはインフラゾンビへと進化し、社内を闊歩します。インフラゾンビは主に開発チームに所属して、アプリっぽいインフラの仕事をインフラからアプリ側へと持っていきます。デプロイとか、Dockerとか、Jenkinsとかの、いわゆる DevOps 系のところですね。こうすることで開発者は手を出せるものの自由度が増えるし、インフラはより来のインフラとして純度を上げていける、 so, win-win ってわけです。 さて、そんなわけで監視です。freee Engineers Advent Calendar 2016の9日目の記事として、 Prometheus による監視が最高なのでみんなもっと使おうと

    次世代監視の大本命! Prometheus を実運用してみた - Qiita
  • Webpackってどんなもの? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 初めてのWebpack 今回はWebpackについて紹介したいと思います。 私自身は今回初めて使ったのですが、小規模なプロジェクトの途中から導入していて、 使ってみて結構良い感じなので記事にしてみました。 Webpackとは Node.jsでサーバーサイドで動かすモジュールバンドラーツールになります。 Node.jsでモジュールという単語を聞くと、「npmやbowerとかと何が違うの?」みたいな印象を持たれる方もいるかもしれませんが、基的にはそれらとはまた違った役割をもっています。 npmやbowerはJSライブラリのバージョン管理な

    Webpackってどんなもの? - Qiita
  • Linuxユーザ管理の決定版? 〜STNSとサーバレスで夢が広がる〜【cloudpack大阪ブログ】 - Qiita

    こんなん作りました STNS+AWS API Gataway+DynamoDBでサーバレスユーザ統合管理 https://github.com/shogomuranushi/stns-apibackend これなんなん? STNSという簡易LDAP的なユーザ管理のOSSとAPI Gateway、DynamoDBを組み合わせたもの 何が出来るん? 複数台のLinuxユーザ管理を手軽にサーバレスで出来る 今までのユーザ管理は何があかんかったん? How Use

    Linuxユーザ管理の決定版? 〜STNSとサーバレスで夢が広がる〜【cloudpack大阪ブログ】 - Qiita
  • Linuxに関わる人が一度は読むべきStackOverflowまとめ - Qiita

    なぜStackOverflowか Upvote/Downvoteの仕組みにより、自然とベストプラクティスが蓄積されている 世界中のプログラマの目に晒されているため質が高い 答えが幾つか出されているため視野が広がる・一つの手法に固執することがない 英語の勉強にもなる StackOverflowのおすすめの見方 質問はまずしっかり理解する それに対する答えを比較してみて、なぜそう動くのかを考える コメント欄はFont Size的には小さいが、かなり濃いコメントが書かれていることが多いので暇なら目を通す 10. Looping through the content of a file in Bash? ファイルの内容をループで取得するためのベストプラクティス。 (2015/10/23 : 節修正しました。@heliac2000 さん、@kawazさん、ありがとうございました。詳しくは記事コ

    Linuxに関わる人が一度は読むべきStackOverflowまとめ - Qiita
  • 翻訳:Haskellと過ごした4年間〜ファウンダーの観点から〜 - Qiita

    BetterというEラーニングの会社をやっていたCarl Baatzさん表題のような記事を書いていて、とても有益だと思ったので訳してみました。 だいたい逐語訳ですがところどころ意訳したり端折ったりしてます。プロの翻訳家ではないので間違いもあるかと思います。ご了承ください。不安なところは原文をご参照頂ければと。自信ないところは括弧に原文を残しているので、よい訳があれば編集リクエストお願いします。あと脚注も Thank you Carl for sharing great experince and knowledge! 原文: A founder's perspective on 4 years with Haskell http://baatz.io/posts/haskell-in-a-startup/ [追記] InfoQでもこの記事が取り上げられていました。 製品開発においてHask

    翻訳:Haskellと過ごした4年間〜ファウンダーの観点から〜 - Qiita
  • もっと便利になれる zsh プラグインによる CLI ライフ - Qiita

    最近、zsh + Vim + tmux でコマンドラインライフを過ごしている方も多くなってきたように思う。その豊かな CLI ライフを支えているのは数多くの優れたプラグインであることには間違いない(もちろんプラグインを使わない派閥も一定数いるでしょう)。 今回はとりわけ zsh に絞って有用であるプラグインを紹介していく。 zsh のプラグイン プラグインマネージャ まずは管理の要となるプラグインマネージャだろう。 今イチオシなのは zplug(neobundle + vim-plug の zsh 版)なのだが定番である Antigen も一応挙げておく。 zplug - A next-generation plugin manager for zsh Antigen - A plugin manager for zsh, inspired by oh-my-zsh and vundle.

    もっと便利になれる zsh プラグインによる CLI ライフ - Qiita
  • [翻訳] 技術向上ガイド - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #はじめに jacksuzukiさんの記事 「ロシアの天才ハッカーによる【新人エンジニアサバイバルガイド】」 を読んで、非常に興味深かったので、この中で 「技術的なスキルをマスターしよう。もっともよい教材のリスト」 として紹介されていたGoogle社作成の資料を翻訳してみました。 検索しても日語訳が見当たらなかったので、 翻訳してみましたが、 もし他に適切な翻訳や、 誤記、誤訳などありましたらご指摘下さい。 ちなみに具体的な参考資料の記載がありますが、 原文が米国を対象として記載していますので、 日国内のサービス(dotinstal

    [翻訳] 技術向上ガイド - Qiita
  • Xcode Source Editor Extensionを試す - Qiita

    サンプルを追加しました => XcodeSourceEditorExtension-Alignment WWDC2016にてXcode Source Editor Extension、Xcode Editor Extensionが発表されました。 どうやらXcode用のApp Extensionが作れる、というもののようです。 Mac App Storeで配布もできるとのことでAlcatrazが不要になるかもしれませんね。 ここではXcode Source Editor Extensionを調べながら試してみます。 ⚠️注意:情報が少ないので多分に推測を含んでいます。 スクリーンショットは削除しました Xcode Source Editor Extensionとは? 名前の通りSource Editor部分を拡張するもののようです。 もっと広範に拡張したい場合はXcode Editor E

    Xcode Source Editor Extensionを試す - Qiita
  • cAdvisor, InfluxDB, GrafanaでDockerコンテナのリソース監視 - Qiita

    はじめに 1台のDockerホスト上のコンテナのリソース監視はcAdvisorが一般的になっているような気がします。 それでは複数台のDockerホスト上のコンテナのリソース監視はどうするのかなと調べてみると、以下のような方法があるようです。 cAdvisorで直接InfluxDBに保存し、Grafanaで可視化 HeapsterでcAdvisorから情報を収集してInfluxDBに保存し、Grafanaで可視化 cAdvisorからfluentでInfluxDBに保存し、Grafanaで可視化 この記事では一つ目の方法を試してみようと思います。 とりあえず今出てきた登場人物の簡単な紹介とリンク紹介を。 なお、この記事はだいたい3月中旬に書いた内容です。 Dockerコンテナのリソースモニタリングツール Kuberenetesで使うために主にGoogle社が開発したオープンソースソフトウェ

    cAdvisor, InfluxDB, GrafanaでDockerコンテナのリソース監視 - Qiita