You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、PayPayフリマバックエンド開発の三宅です。 今回、YJTC2019-shibuyaにてPayPayフリマのバックエンド設計について話して来ましたので内容を紹介したいと思います。 本記事ではセッション前半のバックエンド部分をメインに紹介させていただきます。よろしくおねがいします。 PayPayフリマとは PayPayフリマはフリマに特化したサービスとして10月7日にiOS版をリリースしました。PayPayの名前がつく通り、PayPayを利用してフリマの商品をかんたんに購入でき、買い手から価格の相談をできる機能などが特長です。 また、ヤフオク!とも連携し、ヤフオク!に出品されている固定価格商品の一部もユーザー体験に変わ
機械学習系の話題が多い昨今ですが、実際触ってみると期待した精度・結果が出ないなんてことはよくあることではないでしょうか。 機械学習特有の性質として、データ自体がモデルを変化させ、結果として業務に影響を与えたりします。 仮に、機械学習屋さんが精度が出るモデルを構築したと言っても、それを導入するときに、システム全体での品質の維持に苦労したりします。 ということで、不確実性の大きい機械学習系開発についての、設計・テスト戦略でどうやってリスクを低減していけるかが一つカギになってくると思い、方法論について勉強しましたので、そのメモです。 非常に参考にしたのはこちら。 arxiv.org テストそのもののテクニックなどは、一般的なテスト駆動開発に関する書籍を合わせてをご参考ください。 テスト駆動開発 作者:Kent Beck発売日: 2017/10/14メディア: 単行本(ソフトカバー) テスト駆動P
Kaggle Expertになったので、イキってポエムを書こうと思いました。 AIに興味あるけどプログラミングすらできないんだよねという人向けの参考になれば幸いです。 1. 初期スペック (2019年2月) 機械工学系修士卒。よくいるメカニカルエンジニア 線形代数も統計も正直そんなに好きじゃない。力学の方が得意。 AI?あれでしょ。将棋超強いやつでしょ? パイソン?スト2のボクサーみたいなやつ? 2. 現在のスペック (2019年12月) Kaggle Expert (微妙?) 機械学習コンペでそれなりの成績 (Kaggle Kuzushiji Recognition 7th,Signate tellus 3rd 5th) 機械学習:なんとなくコーディングできる。 深層学習:なんとなくコーディングできる。 関連論文読める。簡単なものは実装できる。 業務適用も見えてきた 3. 機械学習を学ん
この記事の初出は、Software Design2022年3月号「設計方針から変えていく、モノリシックなアプリの過去と未来(最終回)」で、加筆修正されています。過去の連載記事は以下を参照ください。 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか - MonotaRO Tech Blog 第2回 Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog 第3回 Software Design連載 2021年10月号 スナップショットテストの可能性を追求する - MonotaRO Tech Blog 第4回 Software Design連載 2021年11月号 Robot FrameworkでE2Eテストを自動化する - MonotaRO Te
TLDR 社内のデータを元に質問への回答を LLM が生成する仕組み(RAG)を構築するためのサービスを開発しました。 β 版として無料で公開しているので是非使ってみてください。 サーバーレスな構成で Next.js を動かしている。技術のキャッチアップは大変だ。 背景 仕事をしていると社内の規定 / 製品情報 / 過去の履歴 .. などに関する問い合わせは日常的に発生するものだし、その工数は結構ある。通常は Wiki を作ってナレッジを共有するが、結局「近い人や担当に聞く」という行為はなかなか減らない。 色々な企業が、社内のデータを元に質問への回答を LLM が生成する仕組み(RAG)を独自に開発しているようで、技術ブログとかに書いている方も多い。 社内向け RAG の構築を SaaS プロダクトで提供したら各社の社内の問い合わせ工数と独自に RAG を構築するコストを下げられて嬉しいん
お久しぶりです。セガの阪上です。前回の記事「QAエンジニアってどんな仕事?~ゲーム開発におけるテストの世界~」を寄稿してから6年が経ちました。今回は、前回の記事以降に発表した講演内容を振り返りつつ、前回紹介したQAエンジニアという職種から、クオリティエンジニアに役割を再定義した経緯について紹介します。 また、今年のCEDEC2024の講演『「龍が如く」も「スーパーモンキーボール」も自動化!クオリティエンジニアリングチームによるマルチゲームエンジン対応で進化した「龍が如くスタジオ」のテスト自動化環境について』は楽しんでいただけたでしょうか? マルチゲームエンジン対応となったテスト自動化環境について、説明しきれなかった内容も補足しますので、最後まで楽しんで読んでいただけたら幸いです。 目次 目次 「QAエンジニア」から「クオリティエンジニア」になった経緯 (2018年~)開発・QAにおける自動
Appleは、さまざまなコンフィグレーションファイルを生成するための静的型付言語「Pkl」(発音はPickle=ピックル)をオープンソースで公開しました。 ソフトウェアやクラウドサービスなどの設定に用いるコンフィグレーションファイルはどんどん複雑になってきており、利用者が望む詳細な設定を、一般的なコンフィグレーションファイルのフォーマットとして使われているJSONやYAML、XMLプロパティリストなどの形式で正確に記述することは難しくなってきています。 Pklはそうしたコンフィグレーションを正確かつ分かりやすく記述するために開発された、特定目的用のプログラミング言語だと説明されています。 Configuration-as-Codeを実現するための豊富な型やバリデーション機能、VSCodeやIntelliJ、NeoVimなどのコードエディタのプラグインを提供します。Language Serv
Bill One Entry*1グループの秋山です。 本題に入る前にお知らせです。9/12 (火) にTypeScriptを活用した型安全なチーム開発をテーマとしたイベントを開催します。 ぜひ、お気軽にご参加ください! sansan.connpass.com 1. はじめに 1-1. スキーマ駆動開発とは 1-2. Testing Trophyとの関係性 2. 構成 2-1. 最初の構成と課題 2-2. 最終的な構成 3. バックエンド 3-1. スキーマから型ファイルを作る 3-2. APIハンドラに型を与える 3-3. バリデーターを追加する 3-4. huskyでスキーマ変更を検知する 4. フロントエンド 4-1. スキーマからAPIクライアントを作る 5. パターンマッチングを持ち込む 6. まとめ 1. はじめに 1-1. スキーマ駆動開発とは 詳しい解説は他の記事に譲り、一言
Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 ご縁がありまして「しいたけ占い公式サイト」の開発に携わりました。 比較的シンプルなページ構成ですが、高トラフィックを快適に提供する Web サイトとして色々と工夫したので記録に残しておきます。似たような構成の Web サイトを構築する際の参考になれば幸いです。 (技術的開示および実績公開に関してはしいたけ.さんより許諾を頂いております。ありがとうございます。) 「しいたけ占い公式サイト」とは 占い師であるしいたけ.さんが占いコンテンツを連載する公式サイトです。 しいたけ占いの公式サイト。占い師しいたけ.が 12 星座別の運勢をオーラカラーと共に診断。毎週月曜日更新の週刊占いと、上半期、下半期占いをお楽しみいただけます。 しいたけ占い公式サイ
本記事はNext.jsのチュートリアルが大きく変わったためリンク切れを起こしています。 技術メモのため記事としては残しますが、リンク切れにご留意ください。 また機会があれば新チュートリアルで記事を書こうと思いますm(_ _)m こんちには。 データアナリティクス事業本部 インテグレーション部 機械学習チームの中村です。 今回は以下のNext.jsのチュートリアルをほぼ一通り(SEOのところ以外)実施しましたので、ポイントを記事化しました。 https://nextjs.org/learn/foundations/about-nextjs" チュートリアル自体は、以下のような内容が分かるものとなっています。 CRA(create-react-app)のみ使用しているとイメージしづらい、素のHTML + JavaScriptとReactの関係のイメージが分かる Reactがフレームワークではな
はじめに ※ (2024/03/14 16:33) 「インテグレーションテストの気軽な実行・変更ができない」節にて、データのクリーンアップを teardownで行うよう修正 EC開発-B グループの岡崎と EC開発-A グループの菊川です。2人とも普段は MonotaRO の EC サイトの開発に従事しています。 今回は、昨年11月に開催した、テストとリファクタリングのためのワークショップの中で行ったライブコーディングの準備をするにあたって困ったことについて記載します。 ライブコーディングでは、参加者全員の前で実際のプロダクトのソースコードをリファクタリングする、ということにし、それにあたって研修の運営メンバーでリファクタリングに取り組んでみました。ただ闇雲にリファクタリングするのではなく、研修では参加者に「どのような流れや考え方でリファクタリングをするか」を理解してもらえるように、運営メ
作ったもの dApp を作る練習がてら Twitter っぽいものを Ethereum で作ってみた。ツイートする・グローバルタイムライン・プロフィール・フォロー&アンフォロー・フォロー&フォロワ一覧表示など簡易な機能しかない。 ブロックチェーンにツイートが書き込まれるので削除できない点は注意してほしい。 -> [追記1] EVMのstateは削除できるので保存されたツイート自体は消せる -> [追記2] ツイートの削除はできるが過去のツイートを過去のnodeから結構力技で掘り起こすこともできる(完璧なツイ消しは出来ない)。 デモページは下記。 使い方 当然 Ethereum の mainnet にデプロイできるほどのお金は持ってないので、testnet(ropsten)にデプロイした。rinkby や kavan など他にも testnet はあるが自分がテスト用の ETH を持っている
はじめに この記事を読んで得られること 対象読者 あまり説明しないこと 前提とするバージョン 参考となるレポジトリ 1. 開発環境の構築で使用したツール AWS Lambdaのコンテナサポートを採用 Poetry利用時に開発と本番環境の適切な管理でLambdaデプロイ問題を解決 Poetry利用時に起きた問題 Dockerfileを分けてデプロイできない問題を回避 Mutagen Composeを採用 Dockerの同期遅い問題 Mutagen Composeを利用 2. 開発で活用したPythonライブラリ パッケージ管理 Poetry Ryeも検討したものの採用せず ベースのライブラリ FastAPI Mangum Powertools for AWS Lambda リンター・フォーマッター Ruff Mypy 型アノテーション自動生成ツールの活用 Black テスト Pytest p
モダンブラウザでサポートされているCSSの疑似クラスを使えば、JavaScriptでフォーム状態を監視することなく、CSSで状態を検知できるようになりました。また、HTMLのpattern属性を使えば入力バリデーション機能(※)もつけられます。これらを活用することで以前よりも手軽にインタラクティブなフォームを実現できます。 デモを別ウインドウで再生する ソースコードを確認する ※あくまでform要素への入力バリデーションなので、送信される値に対して保証はありません。送信される値をチェックするにはサーバー側のバリデーションが別途必要になります。 さまざまな状態を選択できる疑似クラス 疑似クラス(Pseudo-classes)はCSSで使えるセレクターの一種で特定の状態の要素を指定できます。:hoverも疑似クラスの1つです。::afterは「疑似要素」と呼ばれ、表記は似ていますが呼び名が違う
これは何? React(Next.js)アプリケーションのテンプレートのための Design Doc React(Next.js)アプリケーションのテンプレートとして実装したリポジトリ shimpeiws/react-boilerplate-2022 の設計についてのDesign Docです SSR/ISRはせずnext exportしてStatic Fileを出力する構成です API Routesを使っていますが、API接続コードをローカルで動作させるためのもので本番動作させるためのものではありません Design Doc 本ドキュメントは実装したリポジトリの構成、ライブラリの選定理由など設計についての背景を示すためのドキュメントという位置づけです 「デザインドックで学ぶデザインドック」(https://www.flywheel.jp/topics/design-doc-of-desig
こんにちは!ミラティブのフロントエンドエンジニア どじねこ です。 今回は、ミラティブを支える社内向けの管理システムにおいて、機能開発の体験を改善する取り組みを「MUI と Zod、React Hook Form の活用術」としてご紹介させていただきます。 前提 ミラティブでは、他の多くの Web サービスと同様に配信者さんの登録した情報や配信の履歴を管理する社内向けのシステムが存在しています。 特に管理システムのフロントエンドにおいては、その特性上入力フォームの実装がその大半を占めています。 日々の機能開発においては、そうした管理システムに実装された入力フォームの新規実装や機能拡張が行われています。 課題 一般的な入力フォームでは、画面の初期描画の際にすでに設定済みの値をフォームに適用する初期化処理や、入力された内容を検証して必要に応じてエラー表示するバリデーション処理が必要です。 ミラ
入力支援ツール・textlintを導入したら、テキストコミュニケーションを磨く時間をたくさんかけられるようになった話 こんにちは。 Communication Design GroupのUXライター藤井です。 「ことばによるコミュニケーション」領域を担当しています。 UXライターが担う役割としては、直接的、間接的を問わず、あらゆるタッチポイントにおけるテキストコミュニケーションの体験をデザインすること。 前者はBASEの管理画面やメール、LPなどプロダクトすべてのタッチポイント、後者はイベントや営業資料をはじめとする、間接的なBASEとのタッチポイントが挙げられます。 では、具体的にはどんな業務をおこなっているかというと、「テキストコミュニケーションをデザインする」をキーワードに、デザインシステムの一環として「運用ガイドライン」「用語リスト」を作成、タッチポイントごとに担当を分け、最終レビ
これからLaravelを利用するのであれば、どのバージョンを使えばよいでしょうか? 現在(2020年9月時点)の状況であれば、6もしくは8のいずれかを選択することになります。どちらを選ぶかはアプリケーションの要件次第です。長期間安定したバージョンを利用したいのであれば6を、最新機能を利用していきたければ8を選ぶことになります。 この選択はさらに、セキュリティフィックス期限が切れた後にも影響します。例えば6を選択した場合、おそらく長期間利用することになるので、次にバージョンを上げる際は最新バージョンとの差異が大きくなり、アップグレードに手間がかかる可能性があります。 一方、8を選択して最新バージョンに適宜アップグレードしていけば、頻度は増えますが、都度の手間は小さくなります。ご自身やチームの開発状況や方針などを鑑みて、どちらを選ぶか検討してください。 なお、Laravelは6以降、セマンティ
はじめに 面倒なことは自動化したいですね。とくにテストデータ、理論的には部分はわかって実際の値を作るのが苦痛です。 たとえば、名前は1文字以上10文字以下だったときに、境界値分析で0文字と1~10文字と11文字以上を用意すればいいまでいいけど、じゃ具体的な値を考えるとabcとかtestとか何がちで、もっとそれっぽい名前にしようとそれを考えるのに五分ぐらいかかりますよね。 ChatGPTでダミーデータを作ってもらえないか試してみた。 テストページを作成 シンプルなフォームを作りました、名前と年齢があります <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Title</title> </head> <body> <form> <div> <label for="name-input">名前</lab
技術本部 データ戦略部 Newsグループの木田です。 最近、初めて自作キーボードに挑戦しました。ちょうど2枚目のモニターも買ったので、モニター2台と自作キーボードで快適に記事を書いています。 予めお断りしておきますが、この記事は元々、社内向けに設計方針や規約・ツールなどについて共有するために書いたものでした。最近、他チームの参考資料として役立ったこともあり、社外向けに手を加えて公開する運びとなりました。 はじめに 機構改革・人事異動情報(β) とは ⚛️ Atomic Design に従う ⚛️ Atomic Design とは ⚛️ Molecules と Organisms の分け方 ⚛️ コンポーネントの設計方法 📝 規約 📝 Component と Container を分ける 📝 データの繋ぎ込みは Organisms 以上で行う 💡 Tips 💡 Atoms はタグ本
2022年11月にChatGPTがリリースされて、1年と約半年が経過しました。私はChatGPTが話題になった頃から、継続して利用しています。ChatGPTを使い続けていると、Webアプリケーションのフロントエンド開発に役立つことがありました。 そこで、本記事ではフロントエンド開発でChatGPTを活用して効率よく進める3つのパターンにまとめました。これらのパターンを紹介し、読者の皆さんの開発に役立ててもらえればと思います。 以下は、本記事で紹介するFigma、ソースコード、デプロイ先URLです。 Wireframing photo - Figma silverbirder/figma-photo-sample-app-for-ai - GitHub https://figma-photo-sample-app-for-ai.vercel.app ChatGPTを使う前に ChatGPTに
こんにちは、デザインエンジニアのショウです。 突然ですが、UI/UX デザインにおいて、「楽観的な更新」という言葉を聞いたことがありますか?あまり聞いたことがなくても、実は日常にたくさん存在しています。 例えば、 twitter や facebook のいいねボタン。いいねをタップした直後に色がつくのですが、実はサーバーへのリクエスト送信と UI 上のいいねの色付きが同時に発生しています。つまりサーバーからの通信結果待たずに UI を更新しています。 他に、trello でタスクカードを隣の列に移動したり、iMessage や Facebook メッセンジャーでのメッセージの送信、Kindle アプリで途中までしかダウンロード出来てない本が読めることなども楽観的な更新です。 図:楽観的な更新を採用しない時と採用した時のメッセージ送信のUI (引用元) 楽観的な更新の意義 早くも 1968
RedwoodJS RedwoodJS は JavaScript/TypeScript で構築されたフルスタック Web アプリケーションフレームワークです。RedwoodJS プロジェクト自体は Tom Preston-Werner 氏 (GitHub 創設者であり Gravatar や Jekyll などの作成者) が中心となり始まりました。 私自身もつい最近になって同じ職場の @sakitoさんに存在を教えてもらったばかりです。 RedwoodJS は、READMEから抜粋するだけでも、次のような機能を持ちます。 フォーマット・ディレクトリ・ビルドなどに関するデフォルト構成 単一ファイルによるルーティング定義 GraphQL Client / API (with Serverless deploy) の構築 ページ・レイアウトなどのジェネレータ CRUD 操作に特化した Scaffo
あしざわです。 現在開催されているAWS re:Inforce 2024 のKeynote にて、AWS IAMのrootユーザーおよびIAMユーザーのMFA(多要素認証)としてPasskeyのサポートが発表されました。 AWS What's newブログ、AWS Blogの両方で発表されています。 概要 本アップデートによって、AWSのrootユーザー、IAMユーザーのMFAデバイスとしてPasskeyが利用できるようになります! AWS側で発行したPasskeyをGoogleアカウントや1passwordなどのクラウドサービスに登録することで、MFA認証としてPasskeyを利用してAWSアカウントにログインできるようになります。 AWS Blogに以下のように記載があるため、初回のリリース時はPasskey+パスワード認証のみでパスワードの利用は必須であるようです。今後のリリースでP
これはなに? kaggle本を読んで血肉になった/したい点をなぐり書きにしたただの個人用メモです。ちゃんとした書評を書こうと思い続けてはや半月以上経過したので一旦書きました。 この箇条書きの記事だけ読んでも多分内容わからないと思うので、気になった点があればぜひ購入しましょう!読後すぐに書いた推薦ツイートは以下のとおりです。 kaggle本読み終わりました。初心者にも良い本だと思いますが、ExpertやMasterなりたての人が最も恩恵を得られそうだなと感じました。自分の今までのコンペ経験を思い返しつつ、その中では経験できなかった内容を学ぶことができ「賢者は歴史に学ぶ」が可能になった感があります。著者の方々に感謝です!— ML_Bear (@MLBear2) October 23, 2019 リンク Chap. 2 - タスクと評価指標 「しきい値の最適化」という概念 正例か負例のラベルを提
これ何なの? もともと私が社内メンバー向けに書いていたドキュメントで、 UIパーツ毎のアクセシビリティを考慮したHTMLコーディングTips集です。 社内のドキュメント置き場に眠っていたものですが、知見として社外にも共有出来る内容だなと思ったのと、アクセシビリティをこれからやっていこう!という方の参考になればと思い共有させて頂きます。 ※そもそもアクセシビリティって何なの?という方は、ウェブアクセシビリティ基盤委員会のサイトを見てみてください🔍 目次 おすすめVSCode拡張機能 🕹ボタン 📷 画像 🔍 ナビゲーション 💻 フォーム おすすめVSCode拡張機能 axe Accessibility Linter をインストールしておくとimgタグのalt忘れなど警告が表示されるので、アクセシブルでない書き方を未然に防げるので便利です! 🕹ボタン buttun タグを使いましょう
初めに 4x歳越えのエンジニアにとって機械学習は何やらややこしいもの、本を開けば数式があり、pythonがあり、何それおいしいの?5年ほど前にCourceraで機械学習を学ぼうとしたがあっさりAndrew Ng先生はWeek4で挫折。"教師付き学習"と"教師なし学習"のちがいなんだっけ? 想定している読者 IT業界で別のキャリアを持っていて機械学習のキャリアをみにつけたい、あるいは身につけようとしたが挫折してしまった人 自分のキャリアについて ホストの開発エンジニアから始まり、クライアントサーバー、Webアプリと開発系を云十年。その後ネットワーク、インフラ系を主な仕事にしています。 機械学習とのかかわり 5年ほど前に機械学習の勉強をしようとしたが、何をやっているか意味が分からず、あっさり挫折。その後は雑誌などで読む程度。 注)データ分析・機械学種・人工知能については、この文章では厳密に分け
この投稿では、値としては「文字列」なんだけど、単なる文字列ではなく「電話番号型」という意味を持たせた文字列型を定義し、それ使用する方法を紹介します。 TypeScriptで「電話番号型」みたいな、正規表現でバリデーションされるような型は作れるんかな? ElmだとOpaque Typeなんてやり方があったけど。。。 用は型をexportしないで、その型の値を作る方法だけをexportすればええんかな。 — 無職やめ太郎(本名) (@Yametaro1983) April 23, 2020 ↑上のような疑問に対する答えです。 実現方針 方針としては、以下のテクニックの組み合わせです。 公称型で、「電話番号型」を定義する ユーザ定義タイプガードで、文字列型を電話番号型としてコンパイラに認識してもらう 公称型とその実装方法についての基本は下記投稿をご覧ください。 TypeScript: 異なる2つ
mytweetsという自分の Twitter/Bluesky の自己ポストの全部検索サービスをNext.js App Router(RSC)で書きなおしました。 mytweets は Twitter のアーカイブや Bluesky の API を使って自分のポストを S3 に保存しておき、 S3 Selectを使って全文検索ができる自分専用の Twilog のようなサービスです。 自分の Tweets をインクリメンタル検索できるサービス作成キット と Tweets をまとめて削除するツールを書いた | Web Scratch 過去の Tweets を全文検索できる mytweets を Bluesky に対応した。自分用 Twilog みたいなもの | Web Scratch 最初は CloudFront + Lambda@Edge + Next.js Pages Router で動かし
EC2のイメージ作成を劇的に効率化するEC2 Image Builderが発表されました! #reinvent EC2のイメージ作成を自動化するEC2 Image Builderが発表されました! 「イメージの定期更新、いつも俺がやってるねんけど、これめんどくさい…」 何らかのカスタムしたEC2イメージを利用してシステムを運用している場合、そのイメージのメンテナンスは非常に手間がかかるものです。イメージにはいろんなアプリケーションが含まれますが、それらの更新をせずに放置したイメージを使い続けると、システム全体のセキュリティリスクが増大してしまいます。 そんな手間を一気に解決させるサービスが、今般、AWSからリリースされたEC2 Image Builderです。 Automate OS Image Build Pipelines with EC2 Image Builder | AWS Ne
こんにちは。 テストエンジニアからサービス開発エンジニアにロールチェンジした、茂呂一子です。 先日リリースしました、iOSクックパッドアプリのリニューアルプロジェクトに参加し、サービス開発エンジニアとしての第一歩を踏み出しました。 今回は、アプリのリニューアルをすすめていく中で、試してみたことについて、お話しします。 アプリリニューアルの内容やそのデザイン意図については、13年続いた「つくれぽ」をリニューアルした話|Misaki Kubosaka|noteが詳しいので、こちらをお読みください。 リニューアルプロジェクト第1フェーズの問題点 iOSアプリのリニューアルプロジェクトは、とても大きく、機能を段階的にリリースするため、3つのフェーズに分けて開発していくことが決まっていました。 そのため、開発チームはメンバーの追加をしつつ、複数回の開発サイクル(仕様決定、設計、実装、検証)を繰り返す
はじめに 正規表現は様々なプログラミング言語で利用されている、テキスト処理のためのパターン言語です。 正規表現はテキストエディタでの検索や置換、入力文字列のバリデーションなどプログラミングの様々な分野で実用されています。 ある程度の規模のプログラムにおいて、正規表現を全く利用しない (利用していない) ということはほとんど無く、正規表現は今日のプログラミングにおいて非常に重要なパーツだと言えます。 JavaScriptやRubyといったプログラミング言語では正規表現はファーストクラスのリテラルとして実装されているため、とても簡単に利用できます。 例えば次のRubyプログラミングでは変数fooに入った文字列の部分にfizzかbuzzが含まれるかどうかを、正規表現/fizz|buzz/を使ってチェックしています。 foo =~ /fizz|buzz/ さらに、計算機科学 (コンピューターサイエ
この記事はGraphQL Advent Calendar 2021の22日目の記事です。 またこれは書籍、出来る100%TypeScript 作って学ぶNext.js + GraphQL + Prismaに掲載していたコラムに加筆修正を行ったものです。 GraphQLは一言でまとめてしまえばDSL(GraphQL query language)による宣言的な記述を介してGraphQLサーバーから柔軟にデータを取得/提供する事が出来る仕組みです。文法は全く異なりますが動作モデルとしてはSQLとRDBの関係に近いかもしれません。なおHTTP上で利用される事がほとんどですが特に決まりがあるわけではありません。 元々はFacebook社(現Meta社)で開発され2012年からfacebook.comで利用されている技術で、その後2015年にはオープンソース化されFacebook以外でも徐々に利用さ
はじめに Zod というバリデーションライブラリが非常に流行っているようなので、素振りした。 www.totaltypescript.com このチュートリアルはたしか Twitter で流れてきて知ったのだが 今見ると Zod の公式ドキュメントからも Resources として紹介されているので、そこそこ信頼していいコンテンツなのだと判断した。 チュートリアルについて チュートリアルと名がついているが、内容は全 10 問のエクササイズを解くという構成。 あらかじめ型チェックのエラーまたはランタイムのエラーが発生するサンプルコードが問題として用意されており、そのコードを修正しながら Zod の基本的な使い方を学ぶ。 チュートリアルには Zod の使い方の説明は特にないので、チュートリアルの問題を解くために Zod の公式ドキュメントを読んで必要な箇所を理解する、という感じ。 Rust で
2021年11月にセキュリティ情報統括室に所属。頑固なので、ニックネームだけでもやわらかくひらがなにしてみました。普段はハニーポットで収集したDDoSの発生源であるマルウェアを対象に分析しています。 おはようございます。こんにちは。こんばんは。ふぇにっくちゅん です。 今回紹介するのは nginx で利用できる LDAP 認証モジュール(ngx_auth_mod)です。 nginx は Web サーバやリバースプロキシなどを構築でき、オープンソースとして公開されています。 nginx の詳細はこちらに記載されています。 本記事で紹介する ngx_auth_mod は CATSHAND と呼ぶ情報共有システムのモジュールとして開発したものです。 情報共有についての記事「情報を流れに乗せよう:セキュリティ調査の共有方法」も併せて一読ください。 CATSHAND のシステムは Web サーバとし
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINE株式会社OA SREチームのhasebeです。 先日、私の担当するプロダクトにてPyroscopeというツールを導入しました。このブログではなぜPyroscopeを導入したのか、導入した結果どういった利点があったのかなどについてご紹介したいと思います。 Pyroscopeとは Pyroscopeとは、Continuous Profilingを実施することができるOSSのツールです。 Profilingについては特に説明は不要でしょう。ざっくりいうと、CPUやメモリ等のリソースをプログラム中のどこが多く消費しているのか(= ボトルネック)を突き止める手法のことを意味します。 一般的には、なにか問題が起きたときに手動でPr
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: 11 HTML best practices for login & sign-up forms—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2023/05/24 原著者: Andrey Sitnik(PostCSSとAutoprefixerの作者、首席フロントエンドエンジニア) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語ブログ: 合同会社イービルマーシャンズ - Qiita 日本語タイトルは内容に即したものにしました。 はじめに ログインフォームやユーザー登録(サインアップ)フォームは、ほとんどのWebサイトで使
こんにちは。PM(プロダクトマネージャー)のhiroki_Mです。 年末調整を担当しています。趣味はお絵描きと虚無になることです。 2年前に私が公開した記事「スクラムをうまく回すために受け入れ基準をきちんと書く」が、現在も思ったより多くの方にご覧いただいていることがわかりました。 スクラムやアジャイルについては様々な記事が出ているものの、現場目線での実体験に基づく情報を得たい人は多いのかも、と思い、前回書いたものをアップデートした記事を書くことにしました。 この記事では、「早くしっかりユーザに価値を届けるための、チケットの書き方のポイント」をテーマに、スクラムをうまく回す※ために気をつけるべきチケットの書き方のポイントについて書こうと思います。 やりたいことと開発者をつなぐのがチケットです。開発プロセスをカイゼンしても、チケットがきちんとしていないと、その効果は表れづらいです。逆に、やりた
CQRSとは CQRS(Command Query Responsibility Segregation、コマンド・クエリ責務分離)は、ソフトウェアアーキテクチャパターンの一つで、つまりシステムのコマンド部分をクエリ部分から分離します。基本的な考え方は、データの書き込み操作(コマンド)と読み取り操作(クエリ)を異なるモデルで扱うことです。これにより、スケーラビリティ/パフォーマンス/セキュリティの観点で柔軟な設計が可能となり、クエリ要件に合わせて最適化が実現できます。 CQRSの基本構成としては、 コマンドモデル(書き込みモデル):データの作成、更新、削除といった書き込み操作を担当します。このモデルは、データの整合性と一貫性を確保するために最適化されています。 クエリモデル(読み取りモデル):データの読み取り操作を担当します。このモデルは、クエリのパフォーマンスを最大化するために最適化され
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く