関連記事 Adobeの大規模障害、依然復旧せず 被害範囲は“Macのみ”か 「ネットを切ってアプリを再起動して」 11月18日朝から続く、Adobe製品の大規模障害。公式からの復旧報告は同日午後6時時点では確認できず、依然障害が続いている。 「中国外交部ジェネレーター」話題 ツールが同時多発、SNSは大喜利に 台湾現地メディアも反応 高市早苗総理が11月7日の衆議院予算委員会で「台湾有事は存立危機事態になり得る」と発言し、それを撤回しないことを受け、中国外交部は13日から15日にかけてXで「台湾問題で火遊びをするな」などと警告する画像を複数公開した。一方、中国外交部の投稿を模した画像ジェネレーターが同時多発的に生まれ、日本で話題になっている。AWS、19日からの大規模障害について謝罪し、再発防止策を発表AWSは、19日からの大規模障害について謝罪と概要を公開した。障害の引き金となったD

Webアプリ受託界隈 ここでいうWebアプリ受託界隈とは、以下のようなイメージです。 発注側は、年商数億〜数十億規模、非IT系の中小〜中堅企業(つまり社内に技術者はいない) 受託側は、数人〜数十人規模のシステム開発会社 予算数百万〜千数百万規模のWebアプリ(またはモバイルアプリ+WebAPI)新規開発 私はこんな界隈で仕事をしています。 品質有象無象問題 どうやらこの界隈では、品質、特にセキュリティ品質が、想像を絶するほどクソなものが、しれっと納品されていることがあるようです。 実体験を3つほど挙げます。 Case.1 某金融サービス会社の顧客マイページFXを中心とする金融商品を扱う会社の顧客マイページの案件です。 開発した会社の対応が悪いので、保守・追加開発を引き継いで貰えないかとの相談を受けました。 事前調査の契約を結び、稼働中のアプリのソースコードを確認してみると・・・ ・利用

この記事は、Merpay & Mercoin Advent Calendar 2024 の記事です。 はじめに こんにちは。メルペイ Frontend の @togami です。 私たちのチームでは Engagement Platform、通称 EGP という内製マーケティングツールの開発をしています。ポイントやクーポンなどのインセンティブの配布、LP の作成と公開、キャンペーンの作成などCRM 関連のことをマーケターやPM がコーディングの知識なしで行えるようにするための社内ツールです。EGP はメルカリ US を除く全てのプロダクトで使われている会社全体の共通基盤となっています。本記事ではこの中でも LP 作成機能、通称 EGP Pages について紹介します。また、 EGP Pages の拡張版であり Server DrivenUI の実装である EGP Cards について

Server-Sent Events (SSE) 目新しい技術というわけではありませんが、最近 Server-Sent Events (SSE) について言及する記事をよく見かけます。 何番煎じかはわかりませんが、個人的に興味があることと、正直触ってみたことがなかったので、コードを書きつつ調べてみました。 ※本記事で登場するサンプルコードは次のリポジトリで公開しています。 SSE とは SSE 自体を解説する記事は無数に存在するため詳細な説明は割愛しますが、簡単に言うと、サーバーからクライアントへ一方向の Push 通信を行うための仕組みです。 MDN にもページが存在するため、参考になります。 独自プロトコルを必要とせず、HTTP/1.1 でも動作するのも特徴です。 SSE の歴史wikipedia に SSE に関するページが存在し、次のような記述があります。 SSE メカニズムは、

WebpythonCGIFastCGIServlet歴史 こんにちは羽山です。 現代の Webシステム界隈は昔よりもはるかに洗練され、初心者からでも簡単に開発方法を学び作れる時代になっています。その反面で例えばPython なら WSGI や gunicorn、Waitress、uWSGI などが何のために存在しているのかが分かりにくいと思ったことはありませんか?Ruby の Rack、unicorn、puma だったり FastCGI など、いずれも Webシステムの構成要素として重要な一方で役割を理解しにくいのは事実です。 そこで今回は Webシステムが現代の形にたどり着くまでの先人達の葛藤の歴史を解説します。歴史を知ればこれらの仕様やプロダクトが何の役になっているかが分かるはずです。 前提 動的な Webサイト(=Webシステム)を作りたいニーズはインターネット黎明期からありますが
![Webシステムにおける HTTPサーバ機能をどう用意するか?という問題に対して先人達の葛藤の歴史 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2f1de4f7647fc73bd264d932c4bca4a75a967a6b04%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Ftechblog.raccoon.ne.jp%252Fwp-content%252Fuploads%252F2024%252F05%252Fcloud-3406627_1280.jpg&f=jpg&w=240)
Intro CSRF という古の攻撃がある。この攻撃を「古(いにしえ)」のものにすることができたプラットフォームの進化の背景を、「Cookie が SameSite Lax by Default になったからだ」という解説を見ることがある。 確かに、現実的にそれによって攻撃の成立は難しくなり、救われているサービスもある。しかし、それはプラットフォームが用意した対策の本質から言うと、解釈が少しずれていると言えるだろう。 今回は、「CSRF がどうして成立していたのか」を振り返ることで、本当にプラットフォームに足りていなかったものと、それを補っていった経緯、本当にすべき対策は何であるかを解説していく。 結果として見えてくるのは、今サービスを実装する上での「ベース」(not ベスト)となるプラクティスだと筆者は考えている。 CSRF 成立の条件 例えば、攻撃者が用意した attack.examp

モニクル社内3分LTで発表しました。技術職以外の人向けに話したので、抽象度高めにしてあります。

Cloudflare Workersは「CDNのエッジで動く」という特徴だけでなく「サーバーレス」の環境としても非常に優秀です。プロジェクトの作成からデプロイまで「4ステップ」で出来ます。 自動的に {project-name}.{user-name}.workers.dev といったURLを発行してくれて、すぐさま公開されます。この手軽さとスピード感はヤバい。スクリプトのサイズが1MB以内、使えるAPIが極端に限られているなど制約がありますが、それはそれで単一機能のシンプルなアプリケーションを作る気にさせてくれます。 さて、このCloudflare WokersでWebアプリを作っていたのですが、だんだんとCloudflare Workersに特化した「Webアプリを作るためのフレームワーク」を作りたくなってきました。手段の目的化です。ということで作り始めました。「Hono[炎]」という
![Hono[炎]っていうイケてる名前のフレームワークを作っている](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2feaca1c6dcc954189f470035c2c3b14c4b1aef959%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fres.cloudinary.com%252Fzenn%252Fimage%252Fupload%252Fs--y8Q1KJtg--%252Fc_fit%25252Cg_north_west%25252Cl_text%253Anotosansjp-medium.otf_55%253AHono%2525255B%252525E7%25252582%2525258E%2525255D%252525E3%25252581%252525A3%252525E3%25252581%252525A6%252525E3%25252581%25252584%252525E3%25252581%25252586%252525E3%25252582%252525A4%252525E3%25252582%252525B1%252525E3%25252581%252525A6%252525E3%25252582%2525258B%252525E5%25252590%2525258D%252525E5%25252589%2525258D%252525E3%25252581%252525AE%252525E3%25252583%25252595%252525E3%25252583%252525AC%252525E3%25252583%252525BC%252525E3%25252583%252525A0%252525E3%25252583%252525AF%252525E3%25252583%252525BC%252525E3%25252582%252525AF%252525E3%25252582%25252592%252525E4%252525BD%2525259C%252525E3%25252581%252525A3%252525E3%25252581%252525A6%252525E3%25252581%25252584%252525E3%25252582%2525258B%25252Cw_1010%25252Cx_90%25252Cy_100%252Fg_south_west%25252Cl_text%253Anotosansjp-medium.otf_37%253Ayusukebe%25252Cx_203%25252Cy_121%252Fg_south_west%25252Ch_90%25252Cl_fetch%253AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pIMWY1VlpnSFMwLUJwekhzZjRGYXN0R1ZYTlpfZFh1U2pwdWNMNGc9czI1MC1j%25252Cr_max%25252Cw_90%25252Cx_87%25252Cy_95%252Fv1627283836%252Fdefault%252Fog-base-w1200-v2.png&f=jpg&w=240)
Webの将来はサーバサイドレンダリング(SSR)に回帰していく。Denoが主張するIsomorphicJavaScript(もしくはUniversalJavaScript)とは何か? 静的なHTMLファイルをWebサーバが配信する仕組みから始まったWebは、サーバ側で動的にHTMLを生成するCGIの仕組みや、Webブラウザ上でJavaScriptを実行してインタラクティブな操作を実現するなどの仕組みを得たことでWebアプリケーション基盤へと発展しています。 現在、Webアプリケーションの仕組みとして代表的なものがSPA(Single Page Application)でしょう。 SPAはWebブラウザ上で多くの処理が行われるためユーザーの操作に対する反応が速く、インタラクティブ性の高い快適なWebアプリケーションを実現できる利点があります。 しかし、これからのWebはサーバサイドレンダ


はじめに こんにちは、レバテック開発部の河村です。 私はレバテック各種メディアのリプレイスを担当しており、バックエンドを中心にフルスタック開発を行っています。 今回は管理画面のリリースで採用した、フルスタックフレームワークであるfrourioについて、frourioを採用した理由や使ってみて良かったこと、困ったことを紹介します。 この記事を通して、frourioのメリット、デメリットだけでなく、レバテック開発部ではどのような背景のもと、技術・アーキテクチャの選定を行っているのか、どれくらいのスピード感で開発を行っているのかをお伝えできればと思います。 なお、この記事ではfrourioにおける環境構築や使い方等の説明は割愛させていただきます。 開発背景・経緯 今回、開発する対象となった管理画面は、レバテックの各メディアで運用する記事やセミナー情報、エントリー情報を管理するものになります。 す
1KBのWebフレームワークをつくりました。 名前は「Pico」。 minifyしてビルドした模様。 コードはこれだけ。依存なし。ほんとにこれだけです。Cloudflare WorkersとDenoで動きます。 今回はこのPicoというフレームワーク、 それに必要不可欠なURLPattern、実装について、 そして僕がつくっているもう一つのフレームワークHonoとの関係などを紹介します。 Hello Worldtext/plainでレスポンスを返す、“Hello World"相当のコードは4行で書けます。 import { Pico } from "@picojs/pico"; const app = new Pico(); app.get("/", (c) => c.text("Hello Pico!")); export default app;

サードパーティCookieをトラッキングに使用できないようにする「Cookies Having Independent Partitioned State (CHIPS)」という仕組みが議論されています。 現在は、その仕組はW3CのPrivacyCGで議論されています。細かい仕組みは以前書いたとおりです。 ( トラッキングに利用できない3rdパーティクッキー「CHIPS」の仕組み (partitioned属性) - ASnoKazeblog ) このCHIPSは、Cookieに新しいPartitioned属性を利用します。Cookie自体の仕様は、IETFが発行するRFC 6265で定義されており、そこにPartitioned属性を追加してやる必要があります。 そのためIETF側にも「Cookies Having Independent Partitioned State specif

Cloudflare WorkersのJavaScript/WASMランタイム「workerd」がオープンソースで公開。NanoservicesやHomogeneous deploymentなど新技術を実装Cloudflareは、同社のCDNエッジでJavaScript/WebAssemblyを実行するサービス「Cloudflare Workers」のコアランタイム部分を「workerd」(読み方はワーカーディー:worker- dee)としてオープンソースで公開しました。GoogleがオープンソースのChromiumをベースにGoogleChromeを製品として提供しているのと同様に、CloudflareはworkerdをベースにCloudflare Workersのソフトウェアを開発していると説明されています。It’s here! workerd (no that’s not

The new wave ofJavascript web frameworksMake sense of the proliferation of newJavascript web frameworks. A deep dive into the problems at scale and the recent evolution of innovation. IntroductionStaying current in theJavascript ecosystem is not for the faint of heart.It’s challenging for those entering the industry to follow what’s happening amongst the new libraries, frameworks, concepts, an

これまでフリーランスでいろいろやってきたけど 最近はフリーランス系で働く人が増えてきて案件がどんどん無くなってきている フルスタックでなんでもこなすエンジニアとして業務に入ってるのでそれなりの報酬は頂いているのだが その単価だと案件が目減りしてるのが現状 実際に業務に入れば満足頂いているのだが、そもそもの面談までありつけないっていうのが非常に多い いろいろ事情を聞くと、どうやら単純に大手SIerとかの技術者レベルがだだ下がりしており その理由は再委託先企業の技術者がフリーランスなり外資系なりに転職しているため、とのこと 一方でSIerのように中間管理しない発注元企業はフリーランスとの契約なんて出来るはずがなく やるとしてもフルタイム希望みたいなのが多くて特に多数の案件をこなすフリーランスエンジニアからは相性が悪く 暇をしてる新人フリーランスとかが業務を奪うが、技術レベルが足りずに契約解除、

この記事を見てびっくりした。 https://laiso.hatenablog.com/entry/nope-sql 「個人開発のコストはDB次第」 まずビックリしたのは「DBってそんなにお金かかる?」という点。 もちろんDBがストレージ、CPU、メモリを食うのは分かる。 でもVPSならそんなにコストかからんだろう? 俺は1日100万PVほどのエロサイトを運営しているが、WEBサーバ1台、DBサーバ1台、画像サーバ2台で動いているぞ?VPS4台で月額6000円くらい。 次にビックリしたのは、個人開発なのに難しそうなDBサーバを使っている事。 「CloudFirestore」「Amazon DynamoDB」「MongoDB Atlas」 ↑俺、全部知らない。。。 もちろん、こうしたDBサーバの必要性は分かるのよ。 稼働率、安定性、拡張性などなど。 でもそれって、大規模サイト向けじゃない

はじめに こんにちは。株式会社FlattSecurityのセキュリティエンジニアの冨士です。本稿では、XSS(クロスサイトスクリプティング)が攻撃に用いられた時のリスクの大きさを紹介していきます。以降はクロスサイトスクリプティングをXSSと記載していきます。 XSSはセキュリティエンジニアならもちろん、開発を行っているエンジニアの多くの方が知っている脆弱性です。ですが、私はWebアプリケーションの脆弱性診断を行ってきた経験の中で多くのXSSを目にしてきましたし、依然として検出率の多い脆弱性の一つだと感じています。 その認知度や、一般的な対策方法のハードルの低さ(設計や仕様によっては対策工数が大きい場合もありますが)にも関わらずXSSの検出率が多いのは、直感的にリスクがわかりづらく、アラートをあげるだけの紹介が多いことが一つの要因ではないかと考えています。 すなわち、興味範囲が「どのよう

If users ever need to sign in to your site, thengood sign-in form design is critical. This is especially true for people on poor connections, on mobile, in a hurry, or under stress. Poorly designed sign-in forms get high bounce rates. Each bounce could mean a lost and disgruntled user—notjust a missed sign-in opportunity. Here is an example of asimple sign-in form that demonstrates all of the b
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く