並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 278件

新着順 人気順

gemの検索結果1 - 40 件 / 278件

  • 取り返しのつかない人間が職場に来た

    30歳過ぎたあたりで、突然気づいたんだけど 「意識高い系」を見かけなくなったなと気が付く。 なんというか、野球バカは野球する側から見る側になって、オタクはアニメ見ずにVtuberのラジオ聞いてるし、キラキラ系女子は子育てマウントに移行してる みたいな「年取っていく過程で元気がなくなっていってる」という現象は見受けられるんだけど、 相も変わらず、野球バカは野球好きだし、オタクはかわいいアニメの女が好きだし、キラキラ女子はずっと誰かと何かと戦い続けているっていう根底は変わっていない。 けど、どうも大学3年生くらいに雨後のタケノコかってくらい湧いて出てた「意識高い系」がどこにもいない。 若さ特有の自意識に飲み込まれている感覚も、就活を終えて年を取ると同時に消えてしまい、何か特別だと思っていた自分は超ドドド級の凡人だと気づき、 クソみたいな上司に叱られながら「まあ、人生ってこんなもんだよな」とあき

      取り返しのつかない人間が職場に来た
    • 趣味で作ったソフトウェアが海外企業に買われ分野世界一になるまでの話 - knqyf263's blog

      2年前の2019年8月に以下のブログを書きました。 knqyf263.hatenablog.com 今回はその続きです。前回のブログは多くの人に読んでもらうことを意識して書きましたが、今回はそうではないです。特に得た学びを書くわけでもなく何で作り始めたのか?とかどんなことがあったのか?とか思い出話を書いているだけなので、言ってしまえば自己満足の記事です。それで構わない人や前回の記事を見てその後どうなったか気になった人だけが読んでもらえますと幸いです。 誰かのためになるわけでもない過去の出来事について語るのは老人感が強くて基本的に好きではないのですが、自分の中で一番大きかった目標を達成したので節目として書いています。 英語版の記事も会社のブログから公開しています。英語版のほうが簡潔で良い可能性もあります。日本語版は誤った解釈をされると嫌だからもう少し詳細に書こう、を繰り返していつも長くなりす

        趣味で作ったソフトウェアが海外企業に買われ分野世界一になるまでの話 - knqyf263's blog
      • 【日本語訳】元素法典 第1巻 #NovelAI #元素法典|saip(さいぴ)

        【10/18 翻訳完了】 ※StableDiffusion記法で書かれたプロンプトについて、()は{}に(5%強調)、{}は[]に(-5%強調)置換しています(NovelAI用)。また、NovelAIのプロンプトのプリセット機能はオフにしてお試しください。 Twitter (@31pi_) もフォローして頂けるとうれしいです。(間違い等あればこっそり教えてください) 元素法典 The Code of Quintessence ―― Novel AI 魔術全集 ―― 序文『元素法典』は、全ての高品質な術式と〈元素魔術〉を含めることを目的とする魔導書である。〈元素魔術〉とは、特に「商業イラストレベルの表現力を追求した」美しい絵を指す。 本書は、すべての人に開かれた書物である。したがって、聡明な読者諸君らの編み出した魔術の寄稿を歓迎する。 本書には、膨大な術式と豊富な挿絵が含まれている。その中か

          【日本語訳】元素法典 第1巻 #NovelAI #元素法典|saip(さいぴ)
        • 【個人開発】正規表現を学ぶ狩りに出ませんか?モンスターを倒しながら正規表現が学べるゲーム「Regex Hunting」を作りました - Qiita

          【個人開発】正規表現を学ぶ狩りに出ませんか?モンスターを倒しながら正規表現が学べるゲーム「Regex Hunting」を作りましたRubyRails正規表現TypeScriptReact はじめに はじめまして! 個人開発者のハガユウキと申します。 突然ですが、皆さん正規表現はお好きですか? 私は好きです。「複数の文字列を一つのパターンで表現できる」部分にすごく面白味を感じています。 もっといろんな方に正規表現を知っていただきたい、好きになってほしいと思っています。 しかし、現状では2つの課題があると感じています。 正規表現の勉強自体がそもそも面白くない。 正規表現を勉強しても、しばらく使わないと忘れる。 この2つの課題を突破できるサービスは、現状存在しません。 そのため、楽しみながら正規表現を学べるサービスがあれば良いなと思いました。 作りました。 ▼スライド型正規表現学習ゲーム【Reg

            【個人開発】正規表現を学ぶ狩りに出ませんか?モンスターを倒しながら正規表現が学べるゲーム「Regex Hunting」を作りました - Qiita
          • Linuxコンテナの「次」としてのWebAssembly、の解説

            はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている

              Linuxコンテナの「次」としてのWebAssembly、の解説
            • 「無職になったらいくらかかる?」を計算するサービスをリリースしました!

              昨今、エンジニア界隈への転職は賑わっていますよね。「今の仕事をやめて、勉強に専念して、未経験から転職するぞ!」という方も多くいらっしゃると思います。 でもちょっと待ってください。仕事をやめたらお金は大丈夫ですか? 今は大体月10万円くらいで過ごしているから、1年勉強するなら貯金が10万円 × 12ヶ月 = 120万円あればOK...ではなく、今まで会社が天引き・折半していたお金を、会社をやめたら自分で払う必要が出てきます。 いざ調べてみると、どんなお金を払うのか?計算方法はどうするのか?まあややこしいです。 というわけで、そんなお金を一括で計算してくれるサービスをリリースしました🎉 サービスURL サービスURL リポジトリ サービスの概要 quitcost(クイットコスト) は、 「転職準備のためにしばらく無職になる予定だけど、『どんな』お金が『いくら』かかるのかわかりづらい」 という

                「無職になったらいくらかかる?」を計算するサービスをリリースしました!
              • MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)

                先日、メインの開発環境を MacOS から Windows 10 Professional へと移しました。理由としては主に2点で、現在仕事を自宅の固定席で行っており PC を持ち運びする必要がなくなったため Mac より高速で安価な Windows デスクトップ機を使いたいこと(Ryzen 9使いたい!)、WSL2 が正式版となり使ってみた感じ問題なく WSL2 で仕事の開発ができそうだったことが挙げられます。 WSL2 はふつうに Linux なので問題なく開発環境の構築が行なえ、Windows からも VSCode Remote のおかげでで違和感なくWSL2上のコードを編集、実行ができ快適な開発が行えています。(なお、WSL2 についての記事は山程溢れているので、ここでは殆ど触れません。) しかしながら、WSL2 ではないふつうの Windows 上で開発する機会が出てきたので、M

                  MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)
                • SPA認証トークンはlocalStorageでもCookieでもない、Auth0方式はいいねというお話 - @mizumotokのブログ

                  SPA認証トークンをどこに保存するかは論争が絶えません。localStorageやCookieがよく使われますが、Auth0は違う方法を採用しています。この記事では、Auth0のトークン管理の方式を理解でき、トークン管理上のセキュリティへの理解を深めることができます。 SPAの認証トークンをどこに保存するか ブラウザでトークンを保存できる場所 保存場所の比較 メリット・デメリット Auth0のアプローチ トークンはインメモリに保存 OpenID Connect準拠とトークン取得のUI/UXの悪化回避を両立 Auth0のjsライブラリ ログイン アクセストークンの(再)取得 図解 ログイン アクセストークンの(再)取得 自サービス内の認証だけのもっと簡易な構成 ログイン IDトークン取得 まとめ SPAの認証トークンをどこに保存するか React やVueで認証付きSPA(Single Pa

                    SPA認証トークンはlocalStorageでもCookieでもない、Auth0方式はいいねというお話 - @mizumotokのブログ
                  • 押井守版『攻殻機動隊』について原作者(士郎正宗)はどう思っているのか? - ひたすら映画を観まくるブログ

                    劇場アニメ『攻殻機動隊』(1995年) どうも、管理人のタイプ・あ~るです。 さて先日、『攻殻機動隊』の新作TVアニメに関する情報が発表され、ファンの間で話題になりました(制作は『犬王』や『映像研には手を出すな!』のサイエンスSARUが担当)。 theghostintheshell.jp 何故そんなに話題になったのか?というと、『攻殻機動隊』は今まで劇場版やTV版など何度もアニメ化されていますが、士郎正宗先生の原作に準拠した作品はほとんど無かったからです(PS1のゲームに収録されたムービーが最も原作に近いと言われている)。 ところが、今回公開されたポスターや特報映像を見ると”原作の絵”をそのまま使っているではありませんか! これを見たファンは「ついに士郎正宗の原作に忠実なアニメが作られるのか!?」と期待値が爆上がりしているわけなのです。 youtu.be が、そもそもなぜ『攻殻機動隊』のア

                      押井守版『攻殻機動隊』について原作者(士郎正宗)はどう思っているのか? - ひたすら映画を観まくるブログ
                    • あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog

                      あけましておめでとうございます! 今年は異世界放浪メシのアニメが放送されるらしいので楽しみなバックエンドの原田 (tomtwinkle)です。 内部で運用しているSQLレビューチェックリストの一部を抽出し思いつきで追記して行った結果、結構な分量になってしまいました。 暇な時でも流し読みして頂けるとありがたいです。 Motivation SQLレビュー観点 大きくSQLが変更される修正の際にはEXPLAINをレビュー内容に加える 検索のキーにINDEXを使用しているか SQL発行回数がN+1(1+N)の構造になっていないか サブクエリを利用したSQLはパフォーマンス要チェック Viewの利用は基本的に禁止 CROSS JOINは禁止 WHERE句で十分に絞った検索をしているか 必要なcolumnだけSELECTしているか レコード数だけ必要な場合にCOUNT用のSQLを発行しているか 集計関

                        あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog
                      • ChatGPTのDALL-E 3による画像コントロール|IT navi

                        ChatGPTの新しい画像生成AIのDALL-E 3は、かなり自由に画像をコントロールすることができます。 1.リアル画像のコントロール>20代の日本人女性の写真を作成してください。 生成された画像>3番目の女性の眼鏡をはずして、喜怒哀楽の表情を見せてください。 生成された画像※1枚目の画像以外は眼鏡をはずしてくれませんでした。また、喜、怒、哀の表情は描いてくれましたが、楽の画像は生成できませんでした。 >この女の子を、1.走らせてください。2.座らせてください。3.ジャンプさせてください。4.逆立ちさせてください。 生成された画像※3枚目までは上半身だけの画像なので、ジャンプしているかどうかはよく分かりません。4枚目はちゃんと逆立ちしています。 >縦長画像にして、全身を見せてください。 生成された画像4枚目の画像※これで、3枚目の画像がちゃんとジャンプしていることが分かります。4枚目は、

                          ChatGPTのDALL-E 3による画像コントロール|IT navi
                        • WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史

                          はじめに 「Typescriptの次はRustかもしれない」という記事がバズってるのを見かけました。 なかなか面白くて、PAとしてのWASMとRustを比較している記事です。ちょうど最近「レガシーおじさん、SPAを始めてみた。そして限界を知る」でも書いた通り最近SPAに手を出してみたのですが、いろいろやろうとするとSSRのためのBackend for Frontend (BFF)等が必要になるとわかり「これJSでやる必要なくない?」とも感じていたのでちょうど良かったです。 こういうのを見るとRIAやGWTのように似たアプローチで廃れた技術や、登場が早すぎたMeteor、今も頑張ってるMSのBlazorなど色々頭をよぎります。といわけで歴史を俯瞰する意味でHTML + JavaScriptとそれ以外の技術のせめぎ合いの歴史やMSのBlazorやRustのyewなどWebassemblyを使う

                            WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史
                          • 【完全解説】なぜ人はアウトプットができないのか? - Qiita

                            はじめに この記事ではQiitaで550本以上記事を書いてきて、アウトプットに関する理論を発信し続けている私(@Sicut_study)がこれまでに発信してきた内容を1つの記事にまとめたものです。 私はプログラミングコーチングJISOUというアウトプット中心の最速でエンジニアとして成長できる教育事業を実施しております。 その中で多くの方と面談をしてきました。これからエンジニアになる人や、一定数経験している人など100人以上の方とお話をさせていただきましたが、エンジニアとしてのキャリアに悩む多くの人が共通した悩みを抱えていました。 勉強しているのだけど身についた感じがしない 自分のサービスを1つもリリースしたことがない(作りきった経験がない) インプットばかりになってしまう(インプットばかりに気づいていない) アウトプットが大事なのはわかるがやり方がわからない つまりエンジニアとして成長でき

                              【完全解説】なぜ人はアウトプットができないのか? - Qiita
                            • なるべくお金をかけずに個人アプリを運用したい - くりにっき

                              前々からこの手のことを書きたいとは思ってたけど id:k0kubun さんの下記エントリに触発されて書きました。 k0kubun.hatenablog.com tl;dr; 個人アプリ開発歴 前提 Heroku GCP Google App Engine Cloud Run Firebase Cloud Functions GitHub Pages 2022/8/14追記 GitLab Pages 2022/5/7 17:00追記:ブコメレス tl;dr; HerokuやFirebaseを駆使すれば割と無料でいける 若干お金を払えばもっと選択肢は増える 個人アプリ開発歴 2001~2002年あたりから個人HPでアプリを公開。後にVectorにも公開 アカウントは残ってるのでいまだにVectorからのレポートメールが毎月届いてます 2009年くらいから色々ウェブアプリを開発 Google A

                                なるべくお金をかけずに個人アプリを運用したい - くりにっき
                              • 2020 年の Python パッケージ管理ベストプラクティス - Qiita

                                この記事は Python Advent Calendar 2019 の 19 日目の記事です。 🐍 あらすじ Python のパッケージ管理。特にここ数年で新しいツールが多く出たこともあり、一体何を使うべきなのか、少し調べただけでは分からないと思います。本記事では、新しめの管理ツールを独断と偏見で比較します。著者は Poetry 信者なのでバイアスが掛かっているので悪しからず。 本記事で書いていること Pipenv、Poetry、Pyflow の違いと使い方 本記事で書いていないこと Pyenv、Venv、Virtualenv などの既存ツールの説明 著者の環境は以下の通り。 Ubuntu 18.04 Python 3.8.0 Pipenv 2018.11.26 Poetry 1.0.0 Pyflow 0.2.1 特に Poetry と Pyflow は開発途中なので、本記事の内容と違う

                                  2020 年の Python パッケージ管理ベストプラクティス - Qiita
                                • 花王ロリエの「生理は個性」キャンペーンがTwitterで炎上しているけど

                                  はてブではほぼ無風。女性の少なさを改めて感じつつ、暇なのでツッコミを入れていってみる。 キャンペーンサイト: https://www.kao.co.jp/laurier/kosei-ful_2020cp/ 冒頭、キャンペーン趣旨説明"生理を個性"ととらえれば 私たちはもっと生きやすくなる。 ただの体調不良の強弱を個性なんてキラキラワードで片付けないでほしいんだが? とらえ方だけでごまかすってただの精神論なのか?(キャンペーンサイトを最後まで見た結果、精神論だということがわかる)誰かが生理で休んだとき、 「お大事に」って口では言ったけれど、 心のどこかでは「生理で休むなんて…」と 思ってしまうことがあったり。 これは誰目線の話?女性社員?男性社員?どちらにせよ今どきこの考えを披露してしまう時点で花王の社風が知れてしまう“生理は一人ひとり違う” 頭ではわかっていても、女性同士だからこそ ついつ

                                    花王ロリエの「生理は個性」キャンペーンがTwitterで炎上しているけど
                                  • 作業環境をDockerfileにまとめて、macOSでもLinuxでもWSL2でも快適に過ごせるようになった話

                                    こんにちは、CLI生活至上主義?の、 ひのしば です。 まぁ、至上主義というのは、ちょっと言い過ぎかもしれませんが、screen, vim, mutt, newsboat, pass, あとは、gitやssh 辺りを使う生活をしており、1日の作業がこれだけで完結するような事もあるような生活を送っています。 さて、そんな私が、ワークステーションサーバに、macOSや、Windows, Linuxから接続して操作するといった構成から、 作業環境をDockerfileにまとめ、手元で上がる環境をdockerコンテナへ統一し作業する構成とした話を紹介します。 この環境は、ここ数ヶ月、不自由なく使えている事もあり、自身の整理のためにも、どのような点が気になって対応したのかを挙げていきます。 詳細は下部に記載する通りですが、 例えば、dockerfile上のuidの問題に気をつける点、Linuxとma

                                      作業環境をDockerfileにまとめて、macOSでもLinuxでもWSL2でも快適に過ごせるようになった話
                                    • アウトプットガチ勢が作った高速記事作成フレームワーク - Qiita

                                      はじめに 本記事はアウトプットの心構えのカレンダー | Advent Calendar 2023の4日目の記事です こんにちは!!@Sicut_studyです! 私はアウトプットの大切さを日頃から発信しており、実際にQiitaにたくさんの記事を投稿しています そんな中で、自分なりに高速に記事としてアウトプットできるフレームワークを使っているのでそのフレームワークについて紹介していきます アウトプットの大切さ まず言っておきたいのはアウトプットは質より量です 量が増えるとだんだんと質もあがります 私は駆け出しのエンジニアの方に普段から「100本記事を書けば人生変わる」と言っています。 そもそも世の中に100本記事を書いたことのある経験をしたことがある人はごく僅かです そんなごく僅かな人になれれば絶対人生が変わります。 多くの人ができないことをやり遂げられる。しかも記事という形で目に実力が見え

                                        アウトプットガチ勢が作った高速記事作成フレームワーク - Qiita
                                      • 「逆に難易度高いおひとり様系を教えて欲しい」1人焼肉や1人居酒屋に慣れると他人と行動を共にする方が圧倒的に難易度高くなる説

                                        青木志貴🍤 @eerieXeery KDエンタテインメント所属声優 LGBTQアンドロジナス  ゲームが好き Twitch→twitch.tv/shiki_official Instagram→instagram.com/eerie_eery/ produce&design→@gem_press youtube.com/channel/UCiuLA… 青木志貴🍤 @eerieXeery ひとり⚪︎⚪︎が難易度高くて無理とかよく耳にするけど、1人焼肉とか1人居酒屋とか1人テーマパークとか余裕すぎて逆に難易度高いおひとり様系を教えて欲しい わいくらいのエリートおひとり様になると普通に複数人で飯とかテーマパークとか他人と行動を共にする方が圧倒的に難易度高くて泣いちゃった

                                          「逆に難易度高いおひとり様系を教えて欲しい」1人焼肉や1人居酒屋に慣れると他人と行動を共にする方が圧倒的に難易度高くなる説
                                        • JavaScriptのバンドルとトランスパイルが不要なモダンWebアプリ | POSTD

                                          筆者はES6以前のVanilla JSがあまり好きではありませんでした。 そこで、バニラJavaScriptをなるべく書かなくていいように、2000年代を通じてさまざまなアプローチを追求してきました。最初はRJS(Ruby-to-JavaScript)、次はCoffeeScriptでした。どちらのアプローチも、バニラJavaScriptより楽しく書けるソースコードを、ブラウザが実行できるバージョンのJavaScriptへトランスパイルするものです。ある程度は、うまくいっていました。 とはいえ、これは明らかにその場しのぎの手段に過ぎず、ブラウザがより洗練されたJavaScriptを理解できる日を待ちわびていたのです。ただ、そんな日が来ることはなく、永久にその場しのぎでやり過ごすのかと思われる時期がしばらく続きました。 しかし、幸いなことにJavaScriptは改善を続け、2015年にはES6

                                            JavaScriptのバンドルとトランスパイルが不要なモダンWebアプリ | POSTD
                                          • Ubuntu 24.04 LTS サーバ構築手順書

                                            0 issue "letsencrypt.org" 0 issuewild "letsencrypt.org" 0 iodef "mailto:yourmail@example.jp" §OS再インストール 初期設定で期待通りの設定ができていない場合は、OSの再インストールをする。 さくらVPSのコントロールパネルから、OSを再インストールするサーバを選ぶ。 www99999ui.vs.sakura.ne.jp §OSのインストール操作 Ubuntu 24.04 LTS を選ぶ。 OSインストール時のパケットフィルタ(ポート制限)を無効にして、ファイアウォールは手動で設定することにする。 初期ユーザのパスワードに使える文字が制限されているので、ここでは簡単なパスワードにしておき、後ですぐに複雑なパスワードに変更する。 公開鍵認証できるように公開鍵を登録しておく。 §秘密鍵と公開鍵の作成 ク

                                              Ubuntu 24.04 LTS サーバ構築手順書
                                            • DB設計の共有で疲弊してない?dbdocsのすゝめ

                                              DB設計の管理や作成に疲弊してません?こんにちは。ukmshiです。今日はDB設計の共有と管理に便利なツール、dbdocsについてお話しします。dbdocsを使えば、設計の可視化や共有がめちゃくちゃ簡単になるんです。今回は、その魅力と利点、そして実際の使い方について詳しく説明します。 dbdocsとは? dbdocsは、コードベース(DBML)でDB設計を管理し、URLで共有することが可能なツールです。データベースのテーブル構造や関係性を可視化し、それを他のチームメンバーやステークホルダーと手軽に共有することができます。 DBMLについてはこちらを参考に dbdocsの利点 dbdocsの利点について詳しく見ていきましょう。 無料 まず最初に、dbdocsは基本無料です。コストを気にせずに利用できるので、チームの誰もがアクセス可能です。 コードベースで管理 dbdocsはコードベースでDB

                                                DB設計の共有で疲弊してない?dbdocsのすゝめ
                                              • クックパッドの検索反映時間を 1/288 にしたシステム改修 - クックパッド開発者ブログ

                                                こんにちは。レシピ事業部の新井(@SpicyCoffee)です。 クックパッドではこれまで、レシピを投稿してから検索結果に反映されるまで最長で 24 時間程度の時間がかかっていました。今回、この時間を 5 分程度、最長でも 10 分程度に短縮することに成功しました。本記事では、プロジェクトオーナーの立場で関わった私が代表してその開発について紹介します。 プロジェクトの目的と数値目標 本プロジェクトでは上記の「レシピを投稿してから検索結果に反映されるまでの時間短縮」が目的とされました。しかし、時間短縮といっても現状 24 時間であるものを "1 時間" にするのか、"1 分" にするのか、"1 秒" にするのかでは話が全然違います。この数値目標は設計を始めとした後の意思決定に大きく影響を与えるため、しっかりとした意図を持った状態で明確に定めておく必要がありました。 そこで、私とプロダクトオー

                                                  クックパッドの検索反映時間を 1/288 にしたシステム改修 - クックパッド開発者ブログ
                                                • SELECT ... FOR UPDATE同士でデッドロックさせる - かみぽわーる

                                                  最近SELECT ... FOR UPDATEでデッドロックする話を何度かしたので。 前職のときにUPDATE同士がデッドロックしてたときに、SELECT ... FOR UPDATEで排他ロックを取ってからUPDATEしてデッドロックを防ぎますってPRをレビューしてたときのことで、複数レコードの排他ロックは一瞬ですべてのレコードのロックを取れるわけではなく、ロックを取る順番が揃っていないと簡単にデッドロックしますよという話です。 https://gist.github.com/kamipo/0bb4e37d58ba18a8cefb8aa02f778231 # frozen_string_literal: true require "mysql2" def client Mysql2::Client.new( host: "localhost", username: "root", dat

                                                    SELECT ... FOR UPDATE同士でデッドロックさせる - かみぽわーる
                                                  • Zennを支える技術とサービス構成

                                                    Zennという技術情報共有サービスを作りました。有益な知見をシェアした開発者が、その見返りを得られるようなサービスにしたいと思います。気合いを入れつつも、時間をたっぷりかけて地道に育てていきます。 このページでは、Zennを支えている技術やサービスを紹介します。 フロントエンド Next.js フロントエンドにはNext.js(React)を使っています。開発当初はNuxt.jsを使っていたのですが、TypeScriptとの相性を考えてNext.jsへ移行しました。 技術情報共有サービスなので、主要な流入元はいずれ検索エンジンに落ち着くと予想しています。そのため、検索エンジンにインデックスしてもらいたいページはサーバーサイドレンダリング(SSR)しています。 動的コンテンツもキャッシュ Next.js 9.4からIncremental Static Regenerationという最高の機能

                                                      Zennを支える技術とサービス構成
                                                    • 認証用トークン保存先の第4選択肢としての「Auth0」

                                                      iCARE Developer Meetupは、月次で開催している株式会社iCAREが主催するエンジニア向けのLT勉強会です。18回目の今回は、Ruby on Railsをテーマに行いました。サーバーサイドエンジニアの越川氏からはToken認証機能について。 Rails APIモードで開発するときの認証用のトークンはどこに保存すればいいの問題 越川佳祐氏:私からは、「Rails APIモードにおけるToken認証機能について」というテーマでLT(ライトニングトーク)をしようと思っていたんですが、スライドを作っていて「あれ、これ別にRailsだけの話じゃなくない?」と思ってしまいました。みなさんの中にも、そう思う方がいるかもしれないんですが、もうこれで作っちゃったのでご了承ください。 私は株式会社iCAREで、サーバーサイドエンジニアをしている、越川と申します。Twitterは@kossy0

                                                        認証用トークン保存先の第4選択肢としての「Auth0」
                                                      • APIに利用制限をかけるとしたらどういうやりかたがあるのか - おもしろwebサービス開発日記

                                                        この記事はSmartHR Advent Calendar 2020 11日目の記事です。 僕のお手伝いしているSmartHRでは、毎週バックエンドエンジニアが集まり、技術的なトピックについて共有、相談しあうミーティングを開催しています。そのミーティングでは僕がTipsなどを共有するコーナーが常設されています*1。 このエントリでは、そのコーナーで共有した内容をひとつ紹介します。 APIに制限をかける方法について APIを外部に提供するとき、一定の制限をかけてユーザがAPIを乱用するのを防ぐことはよくあることではないでしょうか。素直に考えると「1時間に5000回までAPIを実行できる」のようなやり方を思いつきますね。GitHubのAPIもそのやり方ですし、SmartHRのAPIも同様です。 じゃあそれでいいのでは。となるかもしれませんが少し待ってください。いろんなクライアントがAPIを大量に

                                                          APIに利用制限をかけるとしたらどういうやりかたがあるのか - おもしろwebサービス開発日記
                                                        • インフラど素人が1ヶ月半でKubernetes本番環境を作るまでの失敗の軌跡(奇跡) - Qiita

                                                          タイトル通りですが、1年目エンジニアのインフラのイの字も知らなかった私が1ヶ月半かけてKubernetesで環境構築するまでの失敗の軌跡です(そして環境構築できたのが奇跡)。 理想的にはこれを読めばインフラ初心者でもKubernetes(以下k8s)で環境構築できるところまで説明することですが、そういうわけでなく、環境構築の解説というより自分の失敗やつまづきポイント、役に立ったことをただただ書き連ねていきます。ただ他の初心者の方も同じようなところでつまづくこともあると思うので少しでもお役に立てたら嬉しいです。 バックエンド側で使った技術は以下になっています。 言語:Ruby(RoR) API:GraphQL インフラ:Azure その他:Docker、k8s 実際の実装でハマったところは各章の最後に教訓として簡単にまとめてはいますが、大事なことは先に結論として述べておきます。 Docker

                                                            インフラど素人が1ヶ月半でKubernetes本番環境を作るまでの失敗の軌跡(奇跡) - Qiita
                                                          • 長い映画は嫌われる?鑑賞をためらう長さは「180分以上」で約6割|シネマトゥデイ

                                                            画像はイメージ - iStock.com / alexander_h_schulz 「観たい映画の上映時間の長さによって、映画館での鑑賞をためらうことがあるか」との問いに、74%の人が「ある」と答えた。 エンターテインメント業界に向けたデータ・デジタルマーケティングサービスを提供する GEM Partners 株式会社は「観たい映画であっても映画館での鑑賞をためらう上映時間の長さ」に関する調査結果を発表。それによると、2018年以降、上映時間140分以上の映画が増加傾向にあるが、約4人に3人となる74%が上映時間の長さによっては映画館での鑑賞をためらうという。 では、具体的にはどの程度の長さから鑑賞をためらうのだろうか。その割合は上映時間120分(2時間)以上で21%、140分(2時間20分)以上で33%、160分(2時間40分)以上で45%、180分(3時間)以上で63%という結果になっ

                                                              長い映画は嫌われる?鑑賞をためらう長さは「180分以上」で約6割|シネマトゥデイ
                                                            • 非同期処理においてデータの整合性を保つアーキテクチャパターン - inSmartBank

                                                              この記事はSmartBank Advent Calendar 2024 6日目の記事です。 昨日は kassy さんの「成長するスタートアップ労務の醍醐味と挑戦をUXリサーチャーが聞いてみた!」という記事でした。 はじめに サーバーサイドエンジニアの mokuo です。普段は、カード決済やあとばらいチャージに関連する機能の開発や運用を行っております。 本日は、サーバーサイドエンジニア向けの記事になります。 本記事でお話しすること システムには断続的に行われる一連の処理、というものがあります。この中で非同期処理を行うこともあるでしょう。 例) EC サイトにおける注文処理のワークフロー このような機能を開発・運用していると、以下のような課題に直面することがあります。 処理の流れが把握し辛い 変更を行うのが困難 データの整合性を担保するのが難しい しかし、適切に設計を行うことで、これらの課題を

                                                                非同期処理においてデータの整合性を保つアーキテクチャパターン - inSmartBank
                                                              • Ruby 3.0.0 リリース

                                                                Posted by naruse on 25 Dec 2020 Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。 これまで、Ruby3に向けてパフォーマンスの改善、並行処理、静的解析という3つの目標を掲げて、活発に開発が行われてきました。特にパフォーマンスの改善については、Ruby 3x3 として「Ruby3はRuby2の3倍速くする」ことを目指してきました。 Ruby 3.0では開発の指標の一つとしてきたOptcarrotベンチマークで3倍を達成するとともに、以下のような取り組みが行われています。 benchmark-driver.github.io/hardware.html に書かれている環境で計測されました。 8c510e4095 が Ruby 3.0 として使われています。環境やベンチマークによっては3倍にならないかもしれません。 Ruby 3 では

                                                                • Pryはもう古い、時代はIRB - k0kubun's blog

                                                                  僕はRubyで開発をする時は毎回Pryを使うくらいの熱狂的Pryユーザーだったのだが、PryはGemfileに書いてないと binding.pry できなくて不便。任意のgemをdefault gem化するgem default コマンドも作ったのだが、これをやるのすら面倒だと思っていた。 ある日、nobuさんがRubyに binding.irb という機能をいれた。Pryがdefault gemになるのを待つよりPryで僕が使う機能をIRBに全部移植してしまった方が早いのではないかと思い、4年前からPryの機能の移植活動を始め、今日僕がよく使う機能を全て移植し終えた。 その記念に、この記事ではIRBのPry互換の機能を紹介する。昔 今更聞けないpryの使い方と便利プラグイン集 という記事を書いたんだけど、この中で僕が毎日のように使うコマンドは全てIRBに移植したので、それを紹介する本稿を

                                                                    Pryはもう古い、時代はIRB - k0kubun's blog
                                                                  • Neovimを一瞬でVSCode並みに便利にする - k0kubun's blog

                                                                    去年8年ぶりに vimrc を書き直した時はLSPの体験があんまりよくなくてLSPなしでNeovimを使い続けていたのだが、様々な言語のOSSをメンテする都合で用途に応じてIntelliJとVSCodeとNeovimの三刀流で暮らしていた結果、可能ならNeovimに寄せたいけどそれならLSPを使いたいなということになり、今回LSPの所を真面目に設定し直して、かなり良い体験になっている。 正直Neovimの設定はVSCodeのそれに比べたら面倒なんじゃないかという印象がありサボっていた節があるが、実際にやってみるとVSCodeと同程度に簡単に済む方法もあったので紹介したい。 何故Neovimなのか LSPの話の前に、タイトルだけ見た人がそもそも単にVSCode使えばいいじゃんと言いそうなので、どうしてIntelliJやVSCodeではなくNeovimに揃えようと思ったのかについて書いておく。

                                                                      Neovimを一瞬でVSCode並みに便利にする - k0kubun's blog
                                                                    • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

                                                                      はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

                                                                        【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
                                                                      • 新規事業の決済機能としてStripeを導入する上で考えたこと全て - Timee Product Team Blog

                                                                        こんにちは、タイミーデリバリー開発チームの宮城です。 この記事はJP_Stripes Advent Calendar 2020の10日目の記事です。 タイミーデリバリーはデリバリーを頼みたい人が安い価格で注文でき、飲食店も安い利用料で注文を受けられるデリバリープラットフォームです。 その決済機能として今回はStripeを導入しました。 この記事では、決済基盤の技術選定/Stripeを活用したクレジットカード決済と各事業者への入金までの流れ/Railsでの具体的な実装内容 をそれぞれタイミーデリバリーでの活用事例として紹介します。 導入にあたった背景 決済基盤の技術選定基準 Stripeでできること PCI DSSについて 利用したStripeの機能 Custom Account Stripe SDKを利用したRails/Swiftでの実装内容 PaymentIntent Customer

                                                                          新規事業の決済機能としてStripeを導入する上で考えたこと全て - Timee Product Team Blog
                                                                        • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

                                                                          技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

                                                                            Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
                                                                          • 「キャッシュは麻薬」という標語からの脱却 - id:onk のはてなブログ

                                                                            これは はてなエンジニア Advent Calendar 2023 の 18 日目の記事です。昨日は id:gurrium による private-isuで70万点取るためにやったこと - ぜのぜ でした。私は 50 万点ぐらいで満足してしまっていたので、しっかり詰めていて凄いなと思う。 developer.hatenastaff.com Web アプリケーション開発において、「キャッシュは麻薬」という言葉がインターネット上をよく飛び交っています。YAPC::Kansai OSAKA 2017 の id:moznion のトークでよく知られるようになったワードじゃないかな。 初出はちゃんとは分からないんですが、少なくとも 2011 年には言われていますね。 「キャッシュは麻薬」とはよく言ったものだ。— TOYAMA Nao (@nanto_vi) November 5, 2011 キャッシ

                                                                              「キャッシュは麻薬」という標語からの脱却 - id:onk のはてなブログ
                                                                            • パッケージマネージャで配布されるマルウェア、対策と課題について - ぶるーたるごぶりん

                                                                              はじめに 画像は記事に全く関係ないカニのフィギュアです👋 近年、善良なパッケージを騙ったマルウェアが配布されているケースが増えてきています。 これらのマルウェアはパッケージマネージャ上で配布され、開発者端末やそれをビルトインしたシステムを利用するユーザー端末で悪事を働きます。 これは俗にいうサプライチェーン型攻撃で、 これらの関連ニュースを目にする機会が増えてきていることを、多くの開発者が体感されていると思います。 ただ、これらのサプライチェーン型攻撃の記事は、 どうしてもエンドユーザー(パッケージを利用する開発者側・それらを組み込んだアプリを実行するユーザー側)の対策に焦点が当てられたものが殆どのように感じています。 そこで本記事では、このエンドユーザー側の対策だけではなく、 パッケージマネージャメンテナーたちがどう対策しているのかも含めて、 「パッケージマネージャ上で行われるマルウェ

                                                                                パッケージマネージャで配布されるマルウェア、対策と課題について - ぶるーたるごぶりん
                                                                              • 何故Javaは敬遠されるのか? - Qiita

                                                                                何故かJavaは敬遠される!? 筆者はIT業界に努めて17年ほどです。 SESとして働きに出ることが多かったのですが、近年はWebエンジニアとして PHP(Laravel)を使った開発が多くなってきています。 そんな開発現場ですが、プログラミング言語の話題に上がると 「Javaはわからない」 「Javaって難しいんでしょ?」 「環境構築がなぁ・・・」 なんて話をよく聞きます。 私はJavaの方が経験した期間が長かったので、特にそういった苦手意識は無いのですが Laravelの現場でもそういった話を聞くので、 「フレームワークの特性や、コードの書き方は結構似ているところが多いのに、何でみんな苦手なんだろう?」 と思ってしまうのです。 今回はそのギモンについて、私が思っていることを書いていきます。 (注:Java嫌いな人を論破したいわけではありませんw) 原因その1:インフラ構造上、難しいと思

                                                                                  何故Javaは敬遠されるのか? - Qiita
                                                                                • Rubyと型についてのポエム - まめめも

                                                                                  zenn.dev matz はじめコミッターの型に対する姿勢にも疑問を持っています。 というご意見が自分に刺さった気がしたので、他の話題はともかくこの点に関してだけ、ポエムを書きます。 「Rubyに型が欲しい」というのは、「もっと速い馬が欲しい」だと思っています。意味を知らない人は ヘンリー・フォード もっと速い馬が欲しい で検索してください。 これは批判でも皮肉でもありません。みんなが馬の乗り方を知っている世界では、誰も乗り方を知らない自動車より、速い馬のほうが確実で合理的です。まして、自動車が本当に実現できるかどうかわからない段階では。なので、他言語で型注釈を書くことによるプログラミング体験が良いと思った人が、それをRubyでも享受したいと思うのは自然だと思います。実際、Steep や Sorbet は Ruby でそういうプログラミング体験を提供することを目指していて、すでにある程度

                                                                                    Rubyと型についてのポエム - まめめも