並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 184件

新着順 人気順

NOTFOUNDの検索結果1 - 40 件 / 184件

  • レガシーおじさん、SPAを始めてみた。そして限界を知る

    はじめに 最近、Webの記事を見てるとReactだVue.jsばかりが上がっていてJSPやERBの話をしてる人は誰もいません。jQueryの記事ももちろん見ない。 つまり、Webだけ見る限りではほとんどの人がSPAを使ってるように見えます。 私はWeb界隈には居るもののどちらかというとバックエンド寄り、もっというとそもそもWebとか関係ない領域を見る事が多いので、ちょっとキャッチアップを兼ねていくつかの個人プロダクトにVue.jsを採用してみました。 jQueryくらいで頭が止まってたので。サーバサイドもマイクロサービスでAPI化が進んでるのでフロントもそれに合った技術を選ばないとですしね。 というわけで、今回はその中で得た知見というか、従来型のサーバサイドでのWeb開発をしていた人の視点でVue.jsをキャッチアップする流れで書いていきたいと思います。 まあ最終的な結論は正直「これすごく

      レガシーおじさん、SPAを始めてみた。そして限界を知る
    • gRPCを用いたマイクロサービスのAPI仕様の記述 - Mercari Engineering Blog

      この記事はMERPAY TECH OPENNESS MONTHの10日目の記事です。 こんにちは、メルペイのバックエンドエンジニアの柴田(@yoshiki_shibata)です。 メルペイのバックエンドは、Google Cloud Platform上でGoogle Kubernetes Engineを使用して、マイクロサービスアーキテクチャを採用した多数のマイクロサービスから構成されています。モノリシックなサービス実装では複数層のライブラリ(あるいはコンポーネント)から構成されるのに対して、マイクロサービスアーキテクチャでは複数層のマイクロサービスから構成されます。 どちらのアーキテクチャにおいても、偶発的プログラミング(Programming by Coincidence)1を避ける2ために、注意を払って作成する必要があるのが、境界部分のAPI(Application Programmi

        gRPCを用いたマイクロサービスのAPI仕様の記述 - Mercari Engineering Blog
      • RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト AMBI(アンビ)

        ハイクラス求人TOPIT記事一覧RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! 安全性に大きな特徴があるプログラミング言語Rustは、C言語やC++に代わるシステム記述言語として注目されてきました。しかし、その安全性とパフォーマンスの高さにより、ビジネスアプリケーションの構築にも採用されています。この記事ではキャディ株式会社による事例を紹介します。 こんにちは。キャディ株式会社バックエンドエンジニアの松田と申します。 キャディ株式会社では、「モノづくり産業のポテンシャルを解放する」をミッションとして、製造業分野に関連するさまざまなソフトウェアの開発を行っています。また、そのための主要な開発言語としてRustを採用

          RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト AMBI(アンビ)
        • RailsライクなRustのWebフレームワーク 「Loco」 | DevelopersIO

          Introcusion つい先日、「Rust版のRails」ともいわれている、 Locoというフレームワークを教えてもらいました。 Railsは昔ちょっとさわった程度なのですが、 Rustで手軽にRailsライクなアプリ開発はおもしろそうなので、 試してみました。 Loco? Locoについて簡単に説明します。 このblog記事で、Locoって何? なんでRustなの?とか誰のためのフレームワーク?みたいなことが書いてあります。 軽く説明すると、↓です。 Locoって何? Loco は、Rails からインスピレーションを得た Rust用のWebフレームワーク ほぼすべての Rails 機能が含まれている Controllerとaxum経由のルーティング ActiveRecordライクにSeaORMでモデル操作 rrgenでコード生成 その他いろいろ。詳しくは元記事で RubyでいいならR

            RailsライクなRustのWebフレームワーク 「Loco」 | DevelopersIO
          • Rust の DI を考える –– Part 2: Rust における DI の手法の整理 - paild tech blog

            paild 社でお手伝いをしている yuki です。前回に引き続き Dependency Injection 略して DI の話題を書いていきたいと思います。今回は Rust における DI についていろいろと考えてみました。今回紹介する実装はかなり単純な例を用いたもので、この記事からさらにみなさんのアプリケーションの実装状況に合わせていくつか工夫は必要になるかもしれません。ただ、とっかかりとしては十分なものになっていると思うので、DI でお困りの方はぜひ参考にしてみてください。 今回実装したいアプリケーションのお題について 今回紹介する技法の種別について コンストラクタインジェクション 静的ディスパッチを用いたもの 動的ディスパッチを用いたもの 静的ディスパッチと動的ディスパッチの利点・欠点 shaku (DI コンテナ)を用いたインジェクション shaku の利点・欠点 余談: DI

              Rust の DI を考える –– Part 2: Rust における DI の手法の整理 - paild tech blog
            • Tesla API が触りたいけれど、車が高くて買えないので、Tesla API の Mock API Server を作って、擬似的に Tesla を所有している感覚を API で体験する - Morning Girl

              Tesla ご存知ですか? そう、あの Tesla です。最近日本でも Model 3が出始めて、人気沸騰中(だと個人的に思っている)の電気自動車のことです。 https://www.tesla.com/ja_jp この Tesla なんですが、iPhone と Android 向けのアプリを提供していて、このアプリから車の情報を確認したり、温度調整やロックの解除など、色んな Tesla の操作を行えるようになっています。 https://apps.apple.com/jp/app/tesla/id582007913 【機能一覧】 充電状況をリアルタイムで確認し、充電を開始または停止する 運転前に車両の暖房/冷房を入れる (ガレージ内でも可能) 遠隔からロックまたはロック解除する 車の現在地を確認したり、動きを追跡する お気に入りのアプリから目的地を送信し、ナビを開始します 同乗者はすばや

                Tesla API が触りたいけれど、車が高くて買えないので、Tesla API の Mock API Server を作って、擬似的に Tesla を所有している感覚を API で体験する - Morning Girl
              • 個人ブログの Next.js v13 移行でやったことまとめ

                Next.js v13 への移行でやったことまとめ 準備 基礎となる記事に目を通した -> https://zenn.dev/link/comments/eefa4975aaedaf マイグレーションガイドを見て一つずつ対応しようかなと思ったけど、記事が長いのでnext devで動かして出てきたエラーを潰していく方法にした。とりあえずビルドできるようになったら、見落としやより良いやり方があるか確認するために読む。 ページコンポーネントに対して pages にあるファイルを app ディレクトリに移動させる 規約 通りに page と layout にコンポーネントを分割する getServerSideProps の処理をasync function getData() に変更する コンポーネントを async 関数にする props ではなくコンポーネントの中でgetData()の返り値を

                  個人ブログの Next.js v13 移行でやったことまとめ
                • Reactのベストプラクティスとコード削減パターン - パート2

                  本記事は React best practices and patterns to reduce code - Part2 を提供元の事前許可を得たうえで翻訳したものです。 元の記事に従いタイトルに「ベストプラクティス」と含んでいますが、実際にはベストプラクティスは規模や状況によって大きく異なります。 チームの状況にあわせて参考にしていただければと思います。 ===== これは全3パート中の第2パートとなる記事です。 パート1パート2(この記事)パート3 時間を無駄にしないために早速Reactのベストプラクティスとコード削減についてみていきましょう。まずは最も一般的な内容から始めます。 コンポーネントが子要素を持たない場合はself-closing tagするよくないコード: return <Component></Component>よいコード: return <Component />

                    Reactのベストプラクティスとコード削減パターン - パート2
                  • 全く知らない人のためのSign in with Apple

                    Mercari Advent Calendar 2019 の10日目担当は メルカリ iOS チームの @HideakiTouhara です。 はじめに 2019年のWWDCで新しいSign in, Sign up方法であるSign in with Appleが発表されました。 今回は主にクライアントの実装を起点に、その流れを説明していきたいと思います。 Sign in with Appleの説明や特徴 まず、そもそもどういうものなのでしょうか? 2019年9月に更新されたガイドラインを引用します。 Make it easy for users to sign in to your apps and websites using the Apple ID they already have. With privacy and security features built-in, Sign

                      全く知らない人のためのSign in with Apple
                    • 名前解決サービスを自作する - Qiita

                      はじめに 名前解決サービスって? 皆さんが今お使いのネットワーク(LAN)には、「example」という名前のPCは接続されているでしょうか? 臨時使用の仮想マシンを作る際に foo とか hoge の様な名前のマシンを構築することはあるかもしれませんが、普通はそんなコンピューター名にはしないと思います。また、/etc/hostsに「example」という名前に関する定義はあるでしょうか? たとえば、127.0.0.1 exampleと書かれていれば、ping exampleを実行すると、自マシンからのping結果が返ってくるはずです。 ここから先は、「example」という名のホストは存在せず、/etc/hostsにもそのような定義はなく、ping exampleを実行すると、ping: unknown host exampleという結果が表示される前提で話を進めます。 ホスト名からIP

                        名前解決サービスを自作する - Qiita
                      • Next.js の Zod 活用術

                        本年は Next.js + バリデーションライブラリの Zod をよく利用し、Zenn でもいくつかの関連記事を投稿しました。本稿では、この組み合わせならではの TIPS を紹介します。記事で紹介するサンプルは以下に置いています。 リクエスト検証に便利な Zod Next.js で getServerSideProps を使用すると、リクエスト検証をサーバーサイドで行えます。例えばセッションに保持している値の検証はバリデーションライブラリの Zod を使用して、次のようなコードで実現できます。 export const userSchema = z.object({ name: z.string(), email: z.string(), }); export const getServerSideProps = async (ctx) => { const sess = await ge

                          Next.js の Zod 活用術
                        • 限界を極めた内定者が語る! Web Speed Hackathon 2022 戦略と秘訣 | CyberAgent Developers Blog

                          本記事は CyberAgent Developers Advent Calendar 2022  21 日目の記事です。 2023 年度入社予定の加藤 零(@cut0_) です。現在は株式会社 WinTicket で内定者アルバイトをしています。Web Speed Hackathon 2022 Public では 499.1 点を記録しました。 お疲れさまでした! 届かなかった残り 0.9 点を噛み締めて社会人エンジニアを迎えようと思います。 CDN 使わずに Heroku 単体でもここまで戦えます!!https://t.co/ikVmhml6iq #WebSpeedHackathon — レイ (@cut0_) November 27, 2022 本記事では、Web Speed Hackthon 2022 Public で取り組んだことに加え、これから Web Speed Hacktah

                            限界を極めた内定者が語る! Web Speed Hackathon 2022 戦略と秘訣 | CyberAgent Developers Blog
                          • React.jsのSSRをTypeScriptで自前で実装してみた

                            この記事は? ReactのSSRの理解を深めるために自前で実装してみました。 せっかくなのでその記録を記事にまとめました。 ※ App Router以前のPage Routerの内容です。 ReactRouterを使って複数ページのSSRをしている新しい日本語記事がなかったというのも記事化の理由の一つです。 この記事のソースコードはこちらです。 技術スタック フロントエンド React.js (v17) React-Router (v6) TypeScript Webpack バックエンド Express 作ったもの 初回リクエスト時 サーバーサイドレンダリング(SSR)してたHTMLをクライアントに返却。 サーバーから受け取ったHTMLにクライアントサイドでイベントリスナーを設定(hydrate) ページ遷移時 新しいページで必要な情報をクライアント側からWEB APIを叩いて取得。 ク

                              React.jsのSSRをTypeScriptで自前で実装してみた
                            • 超簡単 Google App Engineで始めるWebアプリケーション 〜リクエスト分割機能がすごかった〜 | DevelopersIO

                              どうも、GCPヨチヨチ歩きの城岸です。 本日は、Google App Engine(以下GAE)を使って簡単にWebアプリケーションをデプロイする方法を紹介したいと思います。 アプリケーションのバージョンごとにリクエストを分割できる機能が素敵すぎてブログを書かずにはいられませんでした! それではいってみましょう! GAEとは GCP (Google Cloud Platform)が提供するPaaSです。Java、Node.js、Python、Go など好きな言語で作成したアプリケーションをGCPが管理するインフラに簡単にデプロイすることができます。AWSのAWS Elastic Beanstalkと同じカテゴリのサービスです。 詳細は公式ドキュメントをご覧ください。 やってみた 公式のチュートリアルをベースに進めていきます。 アプリケーションはGo 1.11で作成します。 検証環境 ブラウ

                                超簡単 Google App Engineで始めるWebアプリケーション 〜リクエスト分割機能がすごかった〜 | DevelopersIO
                              • Next.js 13 vs Remix: An In-depth case study

                                Next.js 13 vs Remix: An In-depth case studyLast updated on 29 Sep 2023 by Prateek Surana   •   - min read When it comes to building web applications, React has been at the forefront for a while now, and its adoption continues to grow. Among the most common approaches to building web applications with React, Next.js stands out as one of the most preferred options. Next.js has also been in the limel

                                  Next.js 13 vs Remix: An In-depth case study
                                • プロトタイピングツールとしての RedwoodJS

                                  本稿は、Webアプリのプロトタイプを作るための道具として RedwoodJS を紹介する記事です。 前説:プロトタイピングにおける技術選定 シンプルなWebアプリのプロトタイプを作るとき、みなさんはどのような技術選定を行うでしょうか。 プロトタイプと言えど UI の検証もある程度は含んでいる場合がほとんどなので、筆者としては UI の構築には React を利用したい[1]ところです。テンプレートエンジンでは著しく開発効率が落ちるので、フルスタックフレームワークとしての Rails や Django はこの時点で選べないことになります。 しかし、React を選んだとしても大半のアプリケーションでは永続層が必要ですし、フロントエンドで計算させたくないロジックも多々あります。バックエンドを別で作る場合に直面するのは、クライアント側とのAPIスキーマの整合性をどう取るかという問題です。できれば

                                    プロトタイピングツールとしての RedwoodJS
                                  • Rust エラー処理2020 - 電気ひつじ牧場

                                    このエントリは,Rust 3 Advent Calendar 2020の8日目の記事です. はじめに エラー処理の基本 Result<T, E> Errorトレイト ?オペレータ ベストプラクティスを支えるクレート anyhow thiserror failureクレートについて まとめ 追記 はじめに Rustを書いている時にアプリケーション固有のエラー型を定義したい場合があります.この辺のベストプラクティスは今まで何度か変化*1しており,今年の9月にエラーハンドリングのプロジェクトグループが発足*2したことからも分かるとおり,今後も変化していく可能性が濃厚です. この記事では,エラー処理まわりに関する基本的な内容と,現時点でのベストプラクティスとされているanyhowとthiserrorを用いたエラー処理について紹介します. エラー処理の基本 Result<T, E> Rustには例外

                                      Rust エラー処理2020 - 電気ひつじ牧場
                                    • ChatGPTでHARファイルを解析してWebアクセスの問題点を検出する - Taste of Tech Topics

                                      9月になりましたが、まだまだ暑い日が続きますね、昼間に出歩く際にはネックリングが手放せない菅野です。 Webアプリケーションで問題があった際には、よくブラウザの開発者ツール等を確認してエラーや、遅延の原因を探ったりしますよね。 今回は上記のようなエラー解析、問題解析をChatGPTで簡単に実施できないか検証していきます。 とはいえ、ブラウザの開発者ツールをそのままChatGPTに渡すことはできないため、開発者ツールから生成したHARファイルをChatGPTのAdvanced Data Analysisで解析してもらいます。 「Advanced Data Analysis」というのは、少し前まで「Code Interpreter」と呼ばれていたChatGPTの機能のことです。 名称変更されただけで挙動は変わっていないようです。 個人的には「Code Interpreter」の方が好きだったの

                                        ChatGPTでHARファイルを解析してWebアクセスの問題点を検出する - Taste of Tech Topics
                                      • 【404エラー】はてなブックマークが出来ない!【お探しのサイトは登録されていません】

                                        突然はてブが404に今週月曜日、はてブしようとしたら404notfoundになって はてブできない現象が起きました。 全員じゃなくて一部の方のみ。 わたしの側の問題? それとも、向こうの問題? でもわたしは普通にはてブいただいていたし… と、もやもやしていたところに 私も出来ませんでした💦 — Do1 Re2 Re2 Do4 Re4 Ti4 La4 (@FicDiary) September 15, 2020 と、Twitter経由でご連絡いただきまして… で、自分のはてブを確認したら、できている方もいらっしゃって。 ますますわけわからん! こういう時はね、いろいろ考えるよりも問い合わせが一番! ってことではてブ側に確認していただきたい、とメールしたところ、 すぐにご返答いただきました。 はてなサポート窓口の齋藤と申します。 いつもはてなをご利用いただきありがとうございます。 お問い合わ

                                          【404エラー】はてなブックマークが出来ない!【お探しのサイトは登録されていません】
                                        • Cloudflare Workers + Hono ワークショップ - ServerlessDays Tokyo 2023

                                          Cloudflare Workers + Hono ワークショップ 資料はこちら => workshops.yusuke.run #serverlessdays Yusuke Wada 2023-09-24 ServerlessDays Tokyo 2023 workshops.yusuke.run アジェンダ ワークショップについて Workers イントロダクション Hono イントロダクション 基本編 プロキシ編 Web API編 フルスタック編 AI編 Honoをより深く知る その他 1. ワークショップについて 1.1 対象 対象者 Cloudflareでのアプリケーション作成に興味のある方 Honoを使ってみたい方 フロント、バックエンド問いません 前提条件 Wranglerが動く環境をつくっておく npx wrangler が動く JavaScriptに対する知識があるとよい

                                            Cloudflare Workers + Hono ワークショップ - ServerlessDays Tokyo 2023
                                          • 【突然の404notfound】パーマリンクが変わってしまった?対処法は?

                                            ある日突然404になったら何をするべきか。 ほんのちょっと設定をいじくっただけなのに、 突然自分のサイトが 404notfoundになってしまって焦った経験はありませんか? 実はわたし、これ2回目。 いい加減成長しろよなーと言う声が聞こえてきそうですが、 今回のリカバリは早かった。 だって2回目だもの。 それでも、突然『404』の数字を見た時の焦り様は言葉にできません。 そんな自分の為の備忘録。 突然やってくる404。自分で突然、とか言っちゃったけれど、 突然やってくることはまずない。 たいていの場合、自分で、「何かした」から起こるのです。 原因はほとんどの場合、パーマリンクの変更。 意図してやったとしても、 意図しておらず、干渉によってなってしまった場合も含め 変更してしまったかされてしまったかの二択です。 まさに先週木曜日、 意図しない出来事によって、パーマリンクが変わってしまうと言う

                                              【突然の404notfound】パーマリンクが変わってしまった?対処法は?
                                            • CSS記述無し!【WordPress×cocoon】コクーンでおすすめカードを表示する方法

                                              コクーンでヘッダーにおすすめ記事のカードを設置しよう。 2日ほど前に「ヒメとまいにち」サイトのヘッダーを少し変更しました。 気づいてくださった方、どうもありがとうございます。 Cocoonには、カルーセルと呼ばれる「おすすめ記事」などを 自動でスライド表示させてくれる機能(スライダー)が用意されています。 このような。自分の過去記事をアピールしてくれるんですね。 ずっとやりたいなーと思っていたんですが、そのまま放置。 なんだかとても難しそう…ではありますが、 意外や簡単な操作で設定することができます。 いわゆる画像が流れて表示されるだけのスライドショーとは異なり、 画像を表示するだけでなく、画像のリンクへ飛ぶこともできます。 CSS追加記述無しでおすすめ記事をアピールする Cocoon設定から「カルーセル」タブを選択します。 カルーセル設定は、「表示しない」がデフォルトになっています。 こ

                                                CSS記述無し!【WordPress×cocoon】コクーンでおすすめカードを表示する方法
                                              • 個人ブログをNext.jsのSSGからHonoのSSGに移行した

                                                「Honoのv4が2月9日にリリースされます」という記事にてHono v4ではSSGモードがサポートされると発表があった。この機能を試す目的で今までNext.jsのSSGモードで構築していた個人ブログをHonoのSSG機能で書き換えた。 ブログ https://yuheinakasaka.github.io/gialog-diary/ リポジトリ https://github.com/YuheiNakasaka/gialog-diary 元の個人ブログではr7kamuraさんのr7kamura/gialog: Blog template to use GitHub Issues as article editor.というテンプレを使っている。これはGitHub IssuesをCMSとして用いて記事を書き、issueの作成などのイベントをフックにしてGitHub Actionsを起動させて記

                                                  個人ブログをNext.jsのSSGからHonoのSSGに移行した
                                                • Optionalは引数に使うべきでない、という幻想について - ぐるぐる~

                                                  継続渡しすると戻り値は引数になるから「Optional は戻り値にのみ使うべき」というルールは無意味だよ、という話。 あ、そういう話ね、と分かった方はこれ以上読む必要はありません。 Mono が Async + Optional + 例外という欲張りパック状態なのも問題ですが、それについてはまた今度(Mono<Optional<T>> 使わずに Mono<T> を使え、という指摘があり得る。ただ、そっちもそっちで言いたいことはある、という程度)。 今回は、 Mono は Async くらいの意図として使っています*1。 まず、こんなメソッドがあったとします。 Mono<Optional<String>> f(); これ自体は戻り値に Optional を使っているだけなので、「Optional は戻り値にのみ使うべき」は守っています。 しかし、これを使う側はそうはいきません。 例えば、値が

                                                    Optionalは引数に使うべきでない、という幻想について - ぐるぐる~
                                                  • KubernetesのLoadBalancerやClusterIPを用いた中間者攻撃(CVE-2020-8554) - knqyf263's blog

                                                    今回は前回と違いライトなネタです。 概要 Kubernetesで新しい脆弱性(CVE-2020-8554)が公開されました。 github.com 拍子抜けするほど簡単な脆弱性なのですが、一応試しておきました。発見者の方のブログも以下にあります。 blog.champtar.fr 今回の脆弱性はServiceのtype: LoadBalancer/ClusterIPを悪用して行う中間者攻撃(MITM)なのですが、ブログの中でMITM as a Serviceと評していたのが面白かったです。KubernetesがMITMを簡単に代行してくれるという意味でas a Service感強いですし、今回悪用するリソースタイプもServiceなので二重にかかっていて好きです。 要約 前提 攻撃者が以下のいずれかの権限を持つ場合 type: ClusterIPのServiceを作成可能かつspec.ex

                                                      KubernetesのLoadBalancerやClusterIPを用いた中間者攻撃(CVE-2020-8554) - knqyf263's blog
                                                    • オリジンを S3 とした CloudFront に対して、存在しないオブジェクトへアクセスした際の HTTP ステータスコードが 403 Forbidden になったときの対処方法 | DevelopersIO

                                                      困っていた内容 オリジンを S3 として CloudFront を使用している。 存在しないオブジェクトにアクセスすると HTTP ステータスコード 403 Forbidden が返ってきてしまう。 これを、HTTP ステータスコード 404 Not Found を返すようにしたい。 どう対応すればいいの? オリジンとして設定している S3 のバケットポリシーに、s3:ListBucket アクションを許可する設定を追加します。 また、Resource 句にバケットのルートを追加します。 設定前 { "Version": "2008-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:

                                                        オリジンを S3 とした CloudFront に対して、存在しないオブジェクトへアクセスした際の HTTP ステータスコードが 403 Forbidden になったときの対処方法 | DevelopersIO
                                                      • 伊万里市ホームページがGoogle八分に。外部からの助言で10日目に復帰するも…… | スラド IT

                                                        佐賀県の伊万里市ホームページが8月1日から10日までの10日間にわたり、GoogleやYahoo!の検索で一切表示されない事態となっていたそうだ(障害報、復旧報、ITmedia NEWS、佐賀新聞LiVE(8/7付)、佐賀新聞LiVE(8/12付)、Togetter)。 8月1日に市職員が問題に気付いたというが、市情報政策課は「検索エンジン側の認証が外れた」などとする供述をしており、「他の検索サイトから表示できるので、大きな影響はないと考えている」と事態を楽観視。 7日に佐賀新聞が問題を報じると、Twitterでは有志らによる原因探しが始まり、程なくして市のホームページ管理システム(CMS)が異常な動作をしていることが判明。本来、存在しないページにアクセスにはHTTPステータスコード「404」(NotFound)を返すべきところ、なぜかコード「500」(Internal Server Er

                                                        • ユースケース層が投げうるエラーの型を「量化した open union」にしておけば複数のユースケースを合成したときに上の層でエラーハンドリングが楽にできて最高です! - ryota-ka's blog

                                                          この記事は以下のページに移転しました. blog.ryota-ka.me この記事は Haskell Advent Calendar 2020 20日目の記事です. TL; DR タイトル 問題設定 ユースケース層とサーバ層が存在する Web アプリケーションを考える.サーバ層はユースケース層を呼び出すことができるが,ユースケース層はサーバ層について無知でなければならない. +----------------+ | server layer | +-------+--------+ | depends on +-------v--------+ | use case layer | +----------------+ このようなアプリケーションのAPI リクエストハンドラにおいて,複数のユースケースを合成して呼び出すケースを例に挙げ,それぞれのユースケースが投げうるエラーをうまく扱う o

                                                            ユースケース層が投げうるエラーの型を「量化した open union」にしておけば複数のユースケースを合成したときに上の層でエラーハンドリングが楽にできて最高です! - ryota-ka's blog
                                                          • 【トラブル急増】行政サイトのリニューアルや閉鎖時に問題になった事例一覧 - ローカルSEOの備忘録

                                                            自治体や公的機関などの行政サイトは、信頼性の高いドメインであり、公共性の高い重要な情報が掲載されています。 いわば「公有財産」にあたるサイトが、リニューアル時や閉鎖時に「当然やるべき設定」をしなかったことで、不祥事として、ニュースやSNSで話題になってしまった事例が多発しています。 厚労省の中古ドメイン320万円 コロナ関連、公的サイト出品続出 | 毎日新聞 和歌山県は、放棄ドメインのパパ活サイトに転用で、知事が謝罪する事態にもなりました。 Go Toイート事業のURLが“パパ活”サイトに 知事謝罪|NHK 和歌山県のニュース 行政の担当者は、インターネットの仕組みの素人の方がほとんどです。 サイト制作の要件定義にあたるプロポーザル事項も、以前のコピペを繰り返した挙句、時代に全くそぐわない条件になってしまっている案件を、たくさん見かけます。 こうしたサイトに関わる制作会社は、行政の担当者か

                                                              【トラブル急増】行政サイトのリニューアルや閉鎖時に問題になった事例一覧 - ローカルSEOの備忘録
                                                            • HERP における Web フロントエンド開発概観 (2022年春編)

                                                              はじめに# この記事は,HERP における Web フロントエンド開発の概観を,世間の開発者に——特に潜在的・顕在的な候補者の方に——知ってもらうことを目的として書かれた.HERP では現在 Web フロントエンドエンジニアを積極的に募集しているが,仮に入社したとしてどのような仕事をすることになるかのイメージが付いた方が,検討の候補に入れてもらいやすいのではないかという目論見による.また,採用している技術スタックにも珍しいものがあるため,単純に読み物として楽しめるかもしれない.なお,開発の実情について知ってもらうのが目的であり,実装の良し悪しについて議論することは目的としていない. HERP でのアプリケーション開発# B2B SaaS として,主に IT スタートアップ企業向けの,採用管理システムおよびタレントプールシステムを開発・提供している. そもそもプロダクトを通じて何を実現したい

                                                              • 🤺 Node.js + Expressの混沌を統治する 🤺 - estie inside blog

                                                                こんにちは!株式会社estieでEMをやっています、t-poyoです。 今回は、estieの創業以来走り続けてきたプロダクトのapiをどう改善しているかについて書きたいと思います。 当社は"estie"と"estie pro"という2つのサービスを作っていますが、今回は"estie"の開発にまつわるお話になります。 こんな方に読んでほしい estieの開発チームが何をやっているのか知りたい方 node.jsでイチからプロダクトを作りたい方 apiのアーキテクチャに悩みつつも「クリーンアーキテクチャほどガチガチにやるのは…」な方 TL;DR コールバック関数を利用してアプリケーション層をExpressから分離できる 分離した関数に対して複雑なモックを使わずテストを書ける あらすじ estieは、2020年2月にUI刷新をおこない、バージョンも2.0にメジャーアップデートしました。 その際、フ

                                                                  🤺 Node.js + Expressの混沌を統治する 🤺 - estie inside blog
                                                                • 素のVimでGoを書く時のテクニック - daisuzu's notes

                                                                  gorillavim.connpass.com にて、 外部ネットワークに繋がらない環境でvimとgoしか使えない という縛りでライブコーディングをしてきました。 実際にそういう環境があるのか?という話はさておき、そのような状況でも以下を駆使してそこそこコードが書けます。 :%!gofmtでコードを整形できる :r! go docの結果を適当なバッファに出力する Vim内でドキュメントが読める ドキュメントの内容をCTRL-NやCTRL-Pで補完できる :set path+=$GOROOT/srcで標準パッケージを検索できるようにする :findなどで標準パッケージのディレクトリやファイルを開ける :grep*1 で色々と探せる 開いたファイルはただ見るだけではなく、補完の対象にもできる 作ったものはGET /fizzbuzz/:numberにアクセスするとFizzBuzzを返すというHT

                                                                    素のVimでGoを書く時のテクニック - daisuzu's notes
                                                                  • Go 1.16のembedとchiとSingle Page Application | フューチャー技術ブログ

                                                                    シングルページアプリケーションは、一つのHTMLファイルであらゆるページを表現します。history APIを使ってそのようなページが実際にあるかのように振る舞います。 一方で、画面がリロードされたとき、メールでSNSでシェアされたときにその該当ページをきちんと再現するためには、サーバー側でハンドリングを行う必要があります。具体的には、存在しないページがリクエストされたら、アプリケーションのルートとなるHTMLファイルの内容をそのURLから配信するというものです。 https://angular.jp/guide/deployment#server-configuration それにより、どのURLでもJavaScriptが動作し、そのURLで表示すべきコンテンツが表示されます。もし想定していないパスの場合は、ウェブサーバーではなく、JavaScriptがエラーを出します。 Goでウェブサ

                                                                      Go 1.16のembedとchiとSingle Page Application | フューチャー技術ブログ
                                                                    • Using unwrap() in Rust is Okay - Andrew Gallant's Blog

                                                                      One day before Rust 1.0 was released, I published a blog post covering the fundamentals of error handling. A particularly important but small section buried in the middle of the article is named “unwrapping isn’t evil”. That section briefly described that, broadly speaking, using unwrap() is okay if it’s in test/example code or when panicking indicates a bug. I generally still hold that belief tod

                                                                      • A Whole Website in a Single JavaScript File

                                                                        This site is a pretty standard demo website; a site with links to different pages. Nothing to write home about except that the whole website is contained within a single JavaScript file, and is rendered dynamically, just in time, at the edge, close to the user. The routing is fairly minimal: we use the router module which uses URLPattern under the hood for pattern matching. /** @jsx h */ /// <refe

                                                                          A Whole Website in a Single JavaScript File
                                                                        • 間違って解放してしまったElastic IPを復元してみた | DevelopersIO

                                                                          Elasic IPを間違って解放してもまだ絶望しないで こんにちは、のんピ です。 皆さんは間違ってElastic IPを解放してしまったことはありますか? 私はないです。 ただ、今後やらかしそうな予感がしたので、間違って解放してしまった場合の対処方法をまとめようと思います。 Elastic IPを復元できる条件 残念ながらElastic IPは無条件で復元できません。 AWS公式ドキュメントに復元できる条件が記載してありました。 Elastic IP アドレスが別の AWS アカウントに割り当てられている場合や Elastic IP アドレスの制限を超過する場合は、Elastic IP アドレスを復元できません。 Elastic IP アドレスに関連付けられたタグを復旧することはできません。 Elastic IP アドレスは、Amazon EC2 API コンソールまたはコマンドラインツ

                                                                            間違って解放してしまったElastic IPを復元してみた | DevelopersIO
                                                                          • Next.jsのコンテナからVercelへの移行とISRを有効化する際のハマりどころ - BOOK☆WALKER inside

                                                                            こんにちは。 メディアサービス開発部Webアプリケーション開発課でフロントエンドエンジニアをしているnerikeshiです。主にTypeScriptでReactアプリケーションの開発をしています。 本記事では、コンテナで稼働させていたNext.jsアプリケーションのVercelへの移行と、それに付随して行ったISR導入時に起きたハマりどころについてお話しします。 本記事は同じWebアプリケーション開発課でバックエンドを担当しているフサギコ(髙﨑)との共同執筆記事です。 一迅プラスとは 以前の一迅プラス フロントエンドに関するインフラ構成の見直し Vercelへ移設するにあたって遭遇した迷いどころ、ハマりどころ DNSレコードの設定 SSL証明書 ISRページが404になったときのrevalidateの挙動について バックエンドがフロントエンドからのアクセスをIPアドレスで制限できない 一迅

                                                                              Next.jsのコンテナからVercelへの移行とISRを有効化する際のハマりどころ - BOOK☆WALKER inside
                                                                            • TypeScript without TypeScript -- JSDoc superpowers

                                                                              Published on July 16, 2019 Stefan on Mastodon Reading time: 10 minutes More on TypeScript One way to think about TypeScript is as a thin layer around JavaScript that adds type annotations. Type annotations that make sure you don’t make any mistakes. The TypeScript team worked hard on making sure that type checking also works with regular JavaScript files. TypeScript’s compiler (tsc) as well as lan

                                                                                TypeScript without TypeScript -- JSDoc superpowers
                                                                              • PHP 8 をオフィシャル Docker イメージで試す - Shin x Blog

                                                                                2020 年末にリリース予定 の PHP 8 の オフィシャル Docker イメージ(library/php)が Docker Hub に公開されました。 https://hub.docker.com/_/php?tab=tags&page=1&name=8.0-rc- イメージタグに 8.0-rcや 8.0-rc-fpm、8.0-rc-apacheなど 8.0-rc や rc-のタグが付いているものが現時点では PHP 8 のビルドとなっています。 この Docker イメージを利用して PHP 8 を試してみました。 Hello PHP 8 新機能のお試し Union Types Constructor Property Promotion Attributes JIT コンパイラ リリーススケジュール さいごに 参考 Hello PHP 8 docker コマンドで php:8.0

                                                                                  PHP 8 をオフィシャル Docker イメージで試す - Shin x Blog
                                                                                • Next.js 13 結合テストに挑戦してみた

                                                                                  Next.js 13 新機能の App ディレクトリの勉強がてら、結合テストをどう書いていったらよいか考察しました。参照している公式ドキュメントが beta 版なのはもちろん、App ディレクトリそのものが beta 版なので、実運用には使えるものではないと思うので予めご了承ください。一応こんな感じで書けそう、という話です。 結合テストの準備 本稿が指す結合テストとは、App ディレクトリのルートセグメントを構成する、特別なファイル(Special Files)が、与えた状態に応じてどのように表示されるかを検証するテストを指します。 ルートが外部から受ける要因として大きいものが、URL に含まれるクエリパラメーター・パスパラメーターです。コンポーネントは、これらの値を参照して API サーバーにリクエストしたり、ORM ライブラリからクエリーを発行したりなど、コンポーネント表示に必要な処理

                                                                                    Next.js 13 結合テストに挑戦してみた