yufufufuのブックマーク (1,143)

  • WebアプリケーションでJWTをセッションに使う際の保存先は(自分なりに説明できれば)どちらでもよいと思います - 日々量産

    以下のツイートを読んで気持ちが昂ったので。 みんな、もうSNSでいがみ合うのはやめよう。 平和に好きなJWTの話でもしようよ。 JWTの格納場所はlocalStorageとCookieのどっちが好き?— 徳丸 浩 (@ockeghem) 2022年2月11日 というのも、JWTをセッションに使うときに保存先含めて一時期悩んでいたので、その時の自分の解。 ただ、考えるたびに変化しているので、変わるのかもしれない。 要約 タイトル。 あとは優秀な方々が既に色々考えておられるのでそちらを読むとよいでしょう。 SPAセキュリティ入門~PHP Conference Japan 2021 JWT カテゴリーの記事一覧 - r-weblife どうしてリスクアセスメントせずに JWT をセッションに使っちゃうわけ? - co3k.org JWT形式を採用したChatWorkのアクセストークンについて -

    WebアプリケーションでJWTをセッションに使う際の保存先は(自分なりに説明できれば)どちらでもよいと思います - 日々量産
  • 2021年の「オブジェクト指向」を考える

    きしださんが先日もたのしいお題を投下されていました。 出遅れましたがこのネタについて少し掘り下げてみます。 念のため個人的なスタンスをあらかじめ表明しておくと、オブジェクト指向に対してはそれなりに好意的ですが、別に時代の最先端だとかソフトウェア開発に必須の知識というほどではない(でも知っておくと便利というか、知らないと不便なこともあるかもしれないのでわざわざ避けるのはおすすめしない)というくらい温度感です。 オブジェクト指向 is 何 そもそも「オブジェクト指向」という言葉自体、座りの悪い言葉です。 意味が明確なのは「オブジェクト指向プログラミング(OOP)」、「オブジェクト指向プログラミング言語(OOPL)」、「オブジェクト指向設計(OOD)」「オブジェクト指向分析(OOA)」といった「オブジェクト指向なんとか」の方で、それらをふわっとまとめた(ような気がする)単語が「オブジェクト指向」

    2021年の「オブジェクト指向」を考える
    yufufufu
    yufufufu 2021/10/10
  • "JWT=ステートレス"から一歩踏み出すための考え方

    おはようございます、ritouです。 この話に乗っかっていきます。 3行で ログアウト時にJWTを無効化できない実装は今後脆弱性診断で「OWASP Top 10 2021違反」と指摘されるようになりそう(今も個別にされてるかもしれないけど) JWTは単純なフォーマットなので、ステートレスなセッション管理においてログアウトしたときに文字列自体を無効化できない件は独自エンコード方式(一般的にフレームワークのCookieストアと呼ばれているもの)でも起こり得る 「セッションID vs JWTで内包」 以外にも 「セッションIDをJWTに内包」もあり得る。既存の機能を残しつつ「JWTで武装」する選択肢も考えてみてはどうか。 ステートレスなセッション管理でログアウトの際に文字列自体を無効化できない問題 これは前から言われていますし、駆け出し何とか勢のQiita記事に書かれるぐらいには一般的です。 2

    "JWT=ステートレス"から一歩踏み出すための考え方
    yufufufu
    yufufufu 2021/09/11
  • 採用市場に中堅エンジニアがほぼ居ない/どこに行ったのか目撃情報を集めてみた|久松剛/IT百物語の蒐集家

    どこへ行ったんでしょう?。2019年までは「経験社数は3社まで」「年齢は35歳まで」と経営層が注文をつけても何とかなりましたが今は昔。面談手法とか役に立たないほど母集団形成ができない現状についてです。 各人材紹介、媒体、各社エンジニア採用担当のみなさんと情報交換する中で見えてきた中堅エンジニアの行先についてお話します。 30代中堅ITエンジニアは観測範囲では ・コンサルになった ・ユニコーン、GAFAに吸われた ・シード期のスタートアップでメンバーになった ・フリーランスになった という具合。 その他目撃情報求む。 — 久松剛 (@makaibito) June 24, 2021 ・30代中盤まで ・3社以下経験 という採用フィルターについては個人的に 「昔厳守する企業ありましたね」 「懐かしいですね」 と秒で切って捨てるレベルになってる。 — 久松剛 (@makaibito) July

    採用市場に中堅エンジニアがほぼ居ない/どこに行ったのか目撃情報を集めてみた|久松剛/IT百物語の蒐集家
    yufufufu
    yufufufu 2021/07/04
  • 伝わる文章作成の基本を学ぶための記事・学習コンテンツのまとめ - Qiita

    短いメッセージを書くことはできても、まとまった文章を書くのに苦労している人は多いのではないでしょうか。 この記事では、まとまった文章を作るときの技術を学ぶことができる記事や学習コンテンツを紹介します。新人エンジニア向けです。 文章の「型」を学ぶ まとまった文章を書くには、「型」が必要です。頻繁に使うものは、「型」を覚えてしまいしましょう。 バグレポートの書き方を学ぶ エンジニアとして書く文章の代表例が、バグレポートです。 バグレポートでありがちな失敗として「何が問題だと思っているのか」が伝わらないというものがあります。 これを防ぐために、「期待する結果」「実際の結果」「再現手順」の3つを必ず書くようにしましょう。 質問の書き方を学ぶ エンジニアが扱う技術は、最初はわからないことだらけです。 それを解決するために、質問の文章を作成する技術が必要となります。 概ね下記の4つの情報があれば、良い

    伝わる文章作成の基本を学ぶための記事・学習コンテンツのまとめ - Qiita
    yufufufu
    yufufufu 2021/07/04
  • すごい開発チーム育成ハンドブック · すごい開発チーム育成ガイド

    すごい開発チーム育成ハンドブック プロダクト開発の「やること」リストはTrelloで順序立てておくとうまくいく ビジネス上の要求が変化しやすいときは、タスクの優先順位を2週間変えないようにする ビデオ会議で遠方チームに「伝わらない」と思ったら、一度「顔合わせ会」を開催する 「これは使えない」と言われたら、機能の意思決定を「担当者」に委ねる エンジニアに期間が「わからない」と言われたらタスクを細分化して具体的に 仕様を考えるときはエンジニアと対話する 開発チームの開発速度がわからないときは、短い期間で速度を計測する 開発状況を把握できないときはスクラムで開発する 「Scrum for Trello」でストーリーポイントをチームで共有する やってみないと分からないタスクは調査する スクラムが定着しないときは、2日のスプリントで慣らす ストーリーポイントの見積もりは「比べる」が基 ストーリーポ

    yufufufu
    yufufufu 2021/07/04
  • 自作フレームワークをつくって学ぶ 仮想DOM実践入門

    昨今の代表的なJavaScriptフレームワーク(ReactVue.jsなど)には「仮想DOM(Virtual DOM)」という概念が採用されているので、フロントエンド界隈の人は一度は耳にしたことがあるだろう。ただ、仮想DOMについて学ぼうと検索してもヒットするのは「フレームワークの使い方」ばかり。踏み込んでいても概念の説明どまりで、仮想DOMがどのように実装されているか解説した記事はすくない。 ということで、当記事では理解を深めるために仮想DOMを使ったフレームワークを自作し、仮想DOMに入門する! そして、ReactVue.jsを単なるブラックボックスのフレームワークではなく、中身を理解して使えるようになることを、当記事の目標とする。 フレームワークが完成すると以下のようなWebアプリケーションがつくれるようになる。 TOC 記事が長くなりそうなのでも目次 そもそもDOMとは? D

    自作フレームワークをつくって学ぶ 仮想DOM実践入門
    yufufufu
    yufufufu 2020/12/26
  • 欧米には日本人の知らない二つの世界がある

    物のジョブ型社会ではキャリアアップは難しい 前回、日型の「無限定な働き方」とは、「易しい仕事から始めて、慣れたらだんだん難しくする」というものであることを説明しました。その結果、知らない間に習熟を重ね、給与も職位も上がっていくことになります。まさに無限階段が作られているわけです。 一方、欧米のジョブ型労働は、ジョブとジョブの間の敷居が高く、企業主導で無限階段を容易には作れません。キャリアアップの方法は、原則として ①やる気のある人がジョブとジョブの間の敷居をガッツで乗り越える ②一部のエリートが自分たちのために用意されたテニュアコースを超スピードで駆け上る の2つだけ。その他多くの一般人は、生涯に渡って職務内容も給与もあまり変わりません。 その結果、日と欧米(とりわけ欧州)では、労働観が大きく変わってしまいます。日では「誰でも階段を上って当たり前」という考え方が、働く人にも使用者に

    欧米には日本人の知らない二つの世界がある
    yufufufu
    yufufufu 2020/12/25
  • 実装クリーンアーキテクチャ

    最近何かと騒がしいクリーンアーキテクチャですが、丁度プロダクトで採用したところだったので折角なので情報共有ということで Qiita の初記事にしてみようと思います。 こちらの記事は GUI や CUI のアプリケーションを対象にしています。 Java コードの記事リンク:https://nrslib.com/clean-architecture-with-java/?preview_id=1263&preview_nonce=542ba7b70f&_thumbnail_id=1293&preview=true その他解説もしています。もしよろしければチャンネル登録をお願いいたします。 より実践的なコード(WEBアプリケーション): https://github.com/nrslib/itddd/tree/master/CleanLike YouTube での解説(WEBアプリケーション):

    実装クリーンアーキテクチャ
    yufufufu
    yufufufu 2020/12/22
  • ドメイン駆動設計を導入するために転職して最初の3ヶ月でやったこと[DDD] - little hands' lab

    この記事は ドメイン駆動設計 Advent Calendarの記事です。 今年の9月にログラスというスタートアップに転職しました。 ログラスは元々DDDについて講師として勉強会をさせてもらっていた会社であり、DDD自体は社として取り組んでおりある程度進んでいました。ですが、講師ではなく中の人になったからこそできる色々な取り組みがあり、3ヶ月である程度形になりました。 記事では、DDDを広めるための取り組みについて、極力再現性がある形を意識しつつ、ご紹介したいと思います。 入社時の状況 なにをしたか テストの話が多い理由 実施内容詳細 TDD Boot Campの@t_wadaさんの基調講演観賞会を行った Serviceクラスを1パブリックメソッドにした レイヤーごとのオブジェクトの依存関係を整理 レイヤーごとのテスト方針 クラス名の重要性 参照実装を作成した 「責務」と「テスト」の重要性

    ドメイン駆動設計を導入するために転職して最初の3ヶ月でやったこと[DDD] - little hands' lab
    yufufufu
    yufufufu 2020/12/22
    開発の参考にする
  • 電子ペーパーAndroid端末BOOX Nova2を買って不要になった端末たち - きしだのHatena

    電子ペーパーAndroid端末であるBOOX Nova2を買いました。 BOOX Nova2,7.8インチ,電子書籍リーダー,Android,Einkタブレット メディア: 2021/4/29追記 いまはNova3が出てます BOOX Nova3,電子ペーパー,7.8インチ,E Ink,Android10,電子書籍リーダー メディア: 4年前にBOOX C67ML Carta2を買ったのだけど、メモリが512MBで安定して動いてなくて、そんなもんかーとあきらめていた。 それがなんか新しいBOOXは 結構ちゃんと動くっぽいという話で、メモリも3GBになってるし使えるやろーということで買ってみた。 そしたら想像以上によくて、いろいろなものが不要になったのでまとめてみる。 重さはほぼカタログ通り。 Kindle Paperwhite まず完全に用途がかぶるKindle Paperwhiteは完全

    電子ペーパーAndroid端末BOOX Nova2を買って不要になった端末たち - きしだのHatena
    yufufufu
    yufufufu 2020/10/10
  • 憧れのTypeScriptフルスタック環境がコマンド1発で作れる超軽量フレームワーク「frourio」 - Qiita

    今年6月のTypeScript Meetup #4で初公開されたTypeScript製フレームワーク「frourio (フルーリオ)」が今月のアップデートでめちゃくちゃカッコいい感じに仕上がっているので紹介します frourioはフロントからバックエンド・ORマッパーまでのアプリ全体を一つのTypeScriptとして統合型チェックが可能になるフレームワークです 1つのディレクトリで完結するので一見するとモノリシックのようですが、型で繋がっていること以外はフロントとバックが個別のプロジェクト扱い(それぞれに別のpackage.jsonがある)なのでフロントはVercel、バックエンドはDockerAWSにデプロイするみたいなことが可能です 新しいfrourioの特徴 TypeScript製で最速のフレームワーク コマンド1発でフロントSPA + RESTサーバー + ORマッパーの環境構築

    憧れのTypeScriptフルスタック環境がコマンド1発で作れる超軽量フレームワーク「frourio」 - Qiita
    yufufufu
    yufufufu 2020/10/10
  • ReactとAngular、使うならどっち? JavaScriptギークが6つの視点で徹底比較 - エンジニアHub|Webエンジニアのキャリアを考える!

    ReactAngular、どちらを選ぶべきか? 使用するJavaScriptフレームワークを選ぶ際、この2つはよく比較対象に挙がります。しかし、両者の特徴をよく理解していなければ、選定は困難でしょう。 今回は、両フレームワークが具体的にどんな強みを持っているのかを、Reactの専門家 小林徹さんとAngularの専門家 稲富駿さんに解説してもらいました。両フレームワークの設計思想から使用において考慮すべき点、今後実装される予定の機能まで、利用者が気になるポイントを網羅しています。 JavaScriptギークである2人のノウハウ、ぜひ選定の参考にしてください!

    ReactとAngular、使うならどっち? JavaScriptギークが6つの視点で徹底比較 - エンジニアHub|Webエンジニアのキャリアを考える!
    yufufufu
    yufufufu 2019/07/18
  • ループ、再帰、gotoを使わずに1から100までを印字するC++プログラムは書けますか?

    回答 (11件中の1件目) 追記 再帰のルールをよく理解してませんでした。 分かりやすい例として載せておきます。 [code]#include template struct print { print() { std::cout << N << std::endl; } }; template struct Print { Print() { Print(); print(); } }; template<> struct Print<0> { Print() {} ...

    ループ、再帰、gotoを使わずに1から100までを印字するC++プログラムは書けますか?
    yufufufu
    yufufufu 2019/06/20
  • プログラマだったら当然知ってるよね?という知識一覧

    2019年11月11日追記 ただのタイトルで煽ってるだけの記事に半年経っても未だに大量のアクセスがあるので追記しておきます。 ここで言いたいことは、「プログラマならコンピュータサイエンスを勉強してると役に立つよね」、ということ だけ です。 この一文以上に有用な言葉は以降の文章では出てきません。みなさんの時間を無駄にしないために注意書きをしました。 それでも良いという人は読んでみてください。 Twitterで「〇〇ができるという人が面接に来たけど、『じゃあXXXやYYYって知ってます?』というと知らないという人が多いんだよねぇ」とかいうツイートを見かけて、私はXXXやYYYってのを知らなかったので調べた見たところ、常識とまでは言えない概念だったり、名前は知らなくても誰もが知ってる概念だったり、むしろもっと良いアプローチがあるのではという思想だったりでなんだかなぁと思っていたところ、半日くら

    プログラマだったら当然知ってるよね?という知識一覧
    yufufufu
    yufufufu 2019/05/12
  • 騙されたと思ってやってみて!! ストレッチのプロが教える 肩、腰、腕周りのストレッチまとめ「痛くてちぎれる」「生活の質が3段階上がる」

    なぁさん|ストレッチトレーナー @nst_nakata パソコン作業してる人はコレめっちゃ効きます❗️ デスクワークって腕をずーーっと曲げた状態。つまり筋肉をほぼ1日中ずっと使いっぱなしになるんですよ。 もちろん腕はガチガチ。頭痛になるのも腕→肩→首と固まってくるから。 ぜひグーーッと気持ちよく伸ばしてください😌👌 pic.twitter.com/EzvnIAdyrb 2019-04-03 18:32:58

    騙されたと思ってやってみて!! ストレッチのプロが教える 肩、腰、腕周りのストレッチまとめ「痛くてちぎれる」「生活の質が3段階上がる」
    yufufufu
    yufufufu 2019/04/06
  • いま学ぶべき第二のプログラミング言語はコレだ! 未来のために挑戦したい9つの言語とその理由 - エンジニアHub|Webエンジニアのキャリアを考える!

    いま学ぶべき第二のプログラミング言語はコレだ! 未来のために挑戦したい9つの言語とその理由 業務に必要なだけではなく、コンピュータによって問題解決できていない分野を切り開き、エンジニアとして戦っていくため、刺激的な第二プログラミング言語に挑戦しましょう。RustGo、Erlang、Elixir、Clojure、Scheme、OCaml、Haskell、Scalaを紹介します。 みなさんが使えるプログラミング言語はいくつあるでしょうか? ひとくちに「使える」といっても、ひととおりのチュートリアルは終えたという段階もあれば、言語仕様(あれば)やライブラリを知り尽くしていて、思いついた処理を即座にコード化できるという段階もあります。リファレンスとか参考書を見ながらであれば使える、ということも多いでしょう。 ベテランエンジニアなら、いろいろな仕事に携わっているうちに、さまざまな環境でそれぞれ必要

    いま学ぶべき第二のプログラミング言語はコレだ! 未来のために挑戦したい9つの言語とその理由 - エンジニアHub|Webエンジニアのキャリアを考える!
    yufufufu
    yufufufu 2019/04/06
  • Kubernetes は辛いのか? - @amsy810's Blog

    こんにちは。 @amsy810 です。 下記のブログが出てから『Kubernetes は運用しきれない』と耳にすることが多くなってきたので、雰囲気で曲解されて Kubernetes is difficult とならないよう、マネージドでシンプルに使うだけなら難しくないよと伝えるために書きました。 Kubernetes がいいよと伝えるためではありません。 yakst.com TL;DR 上記のブログについては概ね同意見です。 辛いのは自前で Kubernetes クラスタの管理自体を行う場合です。 GKE などのマネージド Kubernetes サービスを利用するケースでは、Kubernetes の管理は殆ど必要がなくなります。 例えば GKE の場合には、自動クラスタアップグレード・自動クラスタスケーリングなどが用意されています。他にも自動ノードプロビジョニング機能(CPU・メモリ・GP

    Kubernetes は辛いのか? - @amsy810's Blog
    yufufufu
    yufufufu 2019/04/03
  • 1,000台規模のインフラ刷新! Kubernetesを採用したサイボウズが語る「NoOps」な未来 - エンジニアHub|Webエンジニアのキャリアを考える!

    1,000台規模のインフラ刷新! Kubernetesを採用したサイボウズが語る「NoOps」な未来 Kubernetesの設計思想に共感して、1,000台規模のインフラ刷新プロジェクトに採用したサイボウズが、独自のインフラ、自社開発のOSSツールで挑戦するNoOpsな未来について聞きました。 1,000台規模のインフラをKubernetesで刷新する なぜパブリッククラウドではなく独自インフラなのか インフラ自体を継続的デリバリするためツールをOSSで Kubernetesの設計思想にインスパイアされたNeco ビジネスとして大切にしている部分は細部まで自分たちで 主力製品の「サイボウズ Office」「Garoon」「kintone」などを、2011年からクラウドサービス cybozu.com として提供してきたサイボウズ。これらのサービスのために同社が自前で構築したインフラ基盤は、国

    1,000台規模のインフラ刷新! Kubernetesを採用したサイボウズが語る「NoOps」な未来 - エンジニアHub|Webエンジニアのキャリアを考える!
    yufufufu
    yufufufu 2019/04/03
  • とりあえず30分でひととおり分かった気にはなれるアジャイル入門

    2012/12/22(土)の社内で開催した「プレゼン祭り」で発表した内容です。アジャイルに全く触れたことが無い人を対象にしたつもりが、「難しい」「内容が盛り沢山で覚え切れなかった」「寝ちゃった」などなどとあまり好評ではなかったのですが、自戒の念も込めて公開しておきます。 対象は「ウォーターフォール開発しか体験したことのない経験5〜6年程度の若者」です。 ※2022/04/11追記 Speaker Deckに移行しました。 https://speakerdeck.com/takigawa401/toriaesu30fen-tehitotoorifen-katutaqi-nihanareruasiyairuru-men

    とりあえず30分でひととおり分かった気にはなれるアジャイル入門
    yufufufu
    yufufufu 2019/03/21