タグ

oooorのブックマーク (309)

  • ブラウザキャッシュの仕組みについてまとめた

    Web開発において、ページの読み込み速度は非常に重要になります。 そのためにもブラウザのキャッシュは効率的なWebサイト運営に不可欠な機能です。 ブラウザのキャッシュには次のHTTPヘッダを設定することができます。 Expiresヘッダ Cache-Controlヘッダ Last-Modifiedヘッダ ETagヘッダ これらのキャッシュには強いキャッシュと弱いキャッシュで分類が可能です。 「Expires」「Cache-Control」は強いキャッシュであり、「Last-Modified」「ETag」は弱いキャッシュに分類できます。 強いキャッシュと弱いキャッシュ 強いキャッシュは設定された期間内は完全にローカルキャッシュを利用して、サーバーへのリクエストを行いません。 一方で弱いキャッシュはキャッシュされたリソースの検証が必要であり、ETagやLast-Modifiedヘッダを利用して

    ブラウザキャッシュの仕組みについてまとめた
  • いつか起業したいエンジニアへ - Qiita

    はじめに 34 歳のとき、勤めていた会社の経営が傾き早期退職を促されたのを契機に独立しました。その後、41 歳で Authleteオースリート 社を設立しました。諸般の事情で現在も Authlete 社の代表取締役という肩書きを持っていますが、経営者的な仕事は他の人に任せ (参照: シリコンバレーのプロフェッショナル CEO を迎えて米国市場に挑戦する日のスタートアップの話)、50 歳目前の現在もプログラマとしてコードを書き続けています。 Authlete 社設立 (2015 年 9 月) から 8 年半弱経過したものの、まだまだ小さな会社で道半ばであるため、起業家として何か語るのは時期尚早ではあるものの、軽い体調不良が長引く中、『自分のエンジニアとしてキャリアを振り返ろう!』という記事投稿キャンペーンを見かけ、生きているうちに子供世代のエンジニアの方々に何か書き残しておこうと思い、文章

    いつか起業したいエンジニアへ - Qiita
  • リレーショナル・データベースの世界

    序文 私の仕事は、DBエンジニアです。といっても別に望んでデータベースの世界へきたわけではなく、当初、私はこの分野が面白くありませんでした。「Web系は花形、データベースは日陰」という言葉も囁かれていました。今でも囁かれているかもしれません。 ですが、しばらくデータベースを触っているうちに、私はこの世界にとても興味深いテーマが多くあることを知りました。なぜもっと早く気づかなかったのか、後悔することしきりです。 もちろん、自分の不明が最大の原因ですが、この世界に足を踏み入れた当時、先生も、導きの書となる入門書もなかったことも事実です。 今でこそバイブルと仰ぐ『プログラマのためのSQL 第2版』も新入社員には敷居が高すぎました (2015年2月追記:その後、自分で第4版を訳出できたのだから、 人生は何があるか分からないものです)。 そこで、です。このサイトの目的は、データベースの世界に足を踏み

  • SaaS アーキテクチャ概要

    SaaS をアーキテクトをするにあたって、どのような事を考えればよいのか?をまとめました。

    SaaS アーキテクチャ概要
  • 海外の研究で「肩こり」の根本原因が明らかに 「自分で治す方法」を専門家が解説(3ページ目) | デイリー新潮

    首をしなやかに動かす頸長筋 さて突然ですが、ニワトリの胴体部分を持って揺するとどうなるか知っていますか? どれだけ動かしても、頭は空間上の一点にとどまり動きません。あたかも頭が固定されているかのようです。ハトも、首を突き出しては引っ込め、また突き出しては引っ込めという独特の歩き方をしていますが、あの動きも頭の位置を一定にキープするためのものです。人間も、バイクに乗って急カーブを曲がると体は大きく傾くものの、頭は地面と水平を保とうとします。 いずれも、頭がいちいちぐらぐらと揺れてしまったら、空間認識や平衡感覚が保てなくなるので、それを防ぐための機能だと考えられます。こうした絶妙なバランスを保つことを可能にしているのが、首をしなやかに動かす働きをしている頸長筋です。アウターマッスルは首なら首、腕なら腕を力強く、そして速く大きく動かすことには長けています。しかし、頭の位置を保つような細かく、精密

    海外の研究で「肩こり」の根本原因が明らかに 「自分で治す方法」を専門家が解説(3ページ目) | デイリー新潮
  • GitHub、脆弱性のあるコードを実際にデバッグして学べる「Secure Code Game」シーズン2がスタート

    GitHub、脆弱性のあるコードを実際にデバッグして学べる「Secure Code Game」シーズン2がスタート 「Secure Code Game」は、ゲームと名付けられていますが、実際のコードを月間60時間無料で提供されるGitHub Codespacesの機能を駆使して修正し、ユニットテストを通して完成させる手順となっており、実践に近い内容となっています。 昨年(2023年)3月に開始されたシーズン1は、PythonとC言語でのセキュアなコーディングを学べる内容でした。今回のシーズン2ではこれらに加えてJavaScriptGo、そしてGitHub ActionsのYamlファイルなどが含まれており、これらのコードのバグを修正することになります。 Secure Code Gameの始め方 「Secure Code Game」の始め方は次の通りです。 まず「Secure Code G

    GitHub、脆弱性のあるコードを実際にデバッグして学べる「Secure Code Game」シーズン2がスタート
  • エンジニアが今日から始める英語学習の継続方法 - Uzabase for Engineers

    1. はじめに こんにちは。ソーシャル経済メディア「NewsPicks」でエンジニアをしております小林です! 皆さんは英語学習に取り組んでいらっしゃいますか?エンジニアとして技術ドキュメントや国際カンファレンスの動画等で英語に触れる機会があると思います。また、技術的なスキルはあるが、英語を話すことが苦手な場合、将来的に市場でどう評価されているかの動向も気になるところです。 最新の2023年度の報告によると、世界的にITエンジニアの給与が上昇している一方、日では前年比USドルベースで5.9%減少、現地通貨(円)ベースでもわずか0.4%増加に留まっています。残念ながら、世界と比較した時に日の給与の優位性がなかった一年となりました。今後もこの差が開く一方であれば、個人や企業が国際市場で競争力を保つために、英語能力の向上も必要になる機会が高まっていくことを示唆しています。 しかし、「英語力を伸

    エンジニアが今日から始める英語学習の継続方法 - Uzabase for Engineers
  • RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO

    はじめに 新規事業部 生成AIチーム 山です。 ChatGPTOpenAI API)をはじめとしたAIの言語モデル(Large Language Model:以下、LLM)を使用して、チャットボットを構築するケースが増えています。通常、LLMが学習したときのデータに含まれている内容以外に関する質問には回答ができません。そのため、例えば社内システムに関するチャットボットを作成しようとしても、素のLLMでは質問に対してわからないという回答や異なる知識に基づいた回答が(当然ながら)得られてしまいます。 この問題を解決する方法として、Retrieval Augmented Generation(以下、RAG)という手法がよく使用されます。RAGでは、ユーザからの質問に回答するために必要そうな内容が書かれた文章を検索し、その文章をLLMへの入力(プロンプト)に付け加えて渡すことで、ユーザが欲しい

    RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO
  • テストの学習へようこそ!  |  web.dev

    テストの学習へようこそ! コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 このコースでは、ウェブ用のテストの概要と探索について説明します。 このコースで学習する内容は次のとおりです。 テストの基礎 自動テストと手動テスト テストを実施する場所と方法 ベスト プラクティス 何をテストすべきか、誰に責任があるのか、目的そのものとしてではなく、目的を達成するために手段をテストすることを検討する方法など、テストの理念。 このコースには、学習に役立つ簡潔で実用的なサンプルコードも含まれています。 コースのスコープには、Node.js などの環境で実行される、フロントエンドJavaScript とドキュメント モデル、バックエンドでのライブラリ テストが含まれます。テストの経験はありませんが、JavaScript の基礎知識と Node.js などに関する経験が必

    テストの学習へようこそ!  |  web.dev
  • カジュアル面談 逆質問テンプレ - yuiseki

    御社のミッション、ビジョン、バリューを教えて下さい 御社では、日々の業務でどのようなソフトウェアを作っていますか? 御社の主要な顧客のカテゴリーとマーケットを教えて下さい 御社の事業が、顧客にどのような価値を提供してどのように対価を集めているのか教えて下さい 御社の事業の立ち上げの経緯や意思決定や試行錯誤のプロセスについて、もしご存知でしたら、なるべく詳しく教えてください 御社の事業の今後の展望や計画について教えてください 御社の日々のソフトウェア開発で、ソフトウェアエンジニアとして、夢中になれる魅力や醍醐味を教えて下さい 御社の技術構成や開発プロセス、開発スタイルについて教えて下さい 会社のことは忘れてください あなたが最近、話を聞いたり自分で触って、驚いたり熱中したり感動したりしたソフトウェアがあったら教えて下さい あなたがこれまでの生涯でソフトウェアを開発していて一番愉快で面白くて最

    カジュアル面談 逆質問テンプレ - yuiseki
  • 【DDD入門】TypeScript × ドメイン駆動設計ハンズオン

    TypeScriptとドメイン駆動設計(DDD)を組み合わせ、APIを構築するハンズオンガイドです。このでは、DDDとは何かという基礎的なところからソフトウェア開発における戦略的設計、戦術的設計まで、包括的な知識を提供します。 戦略的設計では、ビジネスの要求に合わせたドメインモデルの設計をイベントストーミングを用いて行います。その後、戦術的設計では、具体的なコードの実装に関連するDDDの原則と実践を学びます。 TypeScriptを使ってコードを書きながら、DDDの概念を実際のプロジェクトに適用するヒントを紹介します。

    【DDD入門】TypeScript × ドメイン駆動設計ハンズオン
  • はじめに|図解 DB インデックス

    はじめに|図解 DB インデックス
  • ヨドバシの中の人が語る、開発中のヨドバシAPIが目指す機能、仕組み、そしてセキュリティ(後編)

    ヨドバシカメラは現在、お客様との接点をドメインとして設計する新たなAPIを開発中であることを、クリエーションラインが主催し10月27日に開催されたイベント「Actionable Insights Day 2023」で明らかにしました。 REST APIとして実装される予定のこのAPIについて同社は「ヨドバシスタッフの魂を注入する」としており、厳重なセキュリティやユーザーフレンドリーで高い利便性などが追求されています。 ヨドバシAPIがどのように設計され、開発、実装されていくのか。その中味が紹介されたセッションの内容を見ていきましょう。 記事は前編と後編の2の記事で構成されています。いまお読みの記事は後編です。 認証強度のレベルダウンを最小限にするための方法 ただ、我々はお客様の情報を大切に守ろうとしておりますので、レベルダウンを最小限にしようとあがいておりまして、そこで採用しましたのが

    ヨドバシの中の人が語る、開発中のヨドバシAPIが目指す機能、仕組み、そしてセキュリティ(後編)
  • ヨドバシの中の人が語る、開発中のヨドバシAPIが目指す機能、仕組み、そしてセキュリティ(前編)

    ヨドバシカメラは現在、お客様との接点をドメインとして設計する新たなAPIを開発中であることを、クリエーションラインが主催し10月27日に開催されたイベント「Actionable Insights Day 2023」で明らかにしました。 REST APIとして実装される予定のこのAPIについて同社は「ヨドバシスタッフの魂を注入する」としており、厳重なセキュリティやユーザーフレンドリーで高い利便性などが追求されています。 ヨドバシAPIがどのように設計され、開発、実装されていくのか。その中味が紹介されたセッションの内容を見ていきましょう。 記事は前編と後編の2の記事で構成されています。いまお読みの記事は前編です。 疎結合なのに一体感、ヨドバシAPIがつなぐ社会 株式会社ヨドバシカメラ 代表取締役社長 藤沢和則氏。 ヨドバシカメラの藤沢と申します。日はまずこの貴重な機会をいただきありがとう

    ヨドバシの中の人が語る、開発中のヨドバシAPIが目指す機能、仕組み、そしてセキュリティ(前編)
  • OSS 観光名所を貼るスレ - ぽ靴な缶

    これは はてなエンジニアアドベントカレンダー2023 2日目の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog はてなエンジニアのカレンダー | Advent Calendar 2023 - Qiita トップバッターは緊張するけど、順番が回ってくるまで長い間ソワソワするのも嫌、という理由で例年2日目を狙うようにしている id:pokutuna です。今年も成功しました。 観光名所とは 目を閉じれば思い出す、あのコード... あの Issue... あなたが Web 系のエンジニアであれ、趣味で開発している方であれ、必要に応じてライブラリやフレームワークのコードを読むのはよくあることでしょう。公開の場で開発されているソフトウェアは、ソースコードだけでなく、開発コミュニティでの議論やバグ報告なども見ることができます。 リポ

    OSS 観光名所を貼るスレ - ぽ靴な缶
    oooor
    oooor 2023/12/02
  • ChatGPT AIとペアプログラミング

    OpenCVを使用して画像から複数のオブジェクトを認識し、切り出すための一般的な手順は以下のようになります: 前処理: 画像を読み込みます。必要に応じて画像をリサイズします。グレースケールに変換するか、あるいは必要に応じて色空間を変更します。オブジェクトの検出: エッジ検出、閾値処理、または色に基づくフィルタリングなどを使用してオブジェクトを検出します。輪郭検出を行い、オブジェクトの境界を見つけます。輪郭の処理: 検出された輪郭をフィルタリングして、ノイズや小さなオブジェクトを除去します。必要に応じて輪郭を近似します。オブジェクトの切り出し: 各オブジェクトの境界ボックスを使用して画像からオブジェクトを切り出します。オブジェクトごとに個別の画像として保存するか、表示します。後処理 (オプション): 切り出されたオブジェクトをさらに処理するためのステップを行います。例えば、オブジェクトのサイ

    ChatGPT AIとペアプログラミング
  • 混ぜておけば10分でできる在宅勤務カレー「ポークビンダルー」を分散調理で作る【ツジメシの日常メシ】 - メシ通 | ホットペッパーグルメ

    こんにちは。プロダクトデザイナーときどき料理人、ツジメシこと辻村哲也です。「ツジメシの日常メシと週末メシ」、今回は日常メシ。用意しておいたらべる時の調理は気軽で簡単な「分散調理」シリーズです。 「分散調理」とは僕が勝手に言っている用語でして、手の空いた時に用意しておいたら、べる時の調理は短時間で簡単に、しかもそのときは細かい計量などの気を使う作業もできるだけしないで済ませよう、という方式です。 仕事の合間に脳のリソースを消費せずに済むので、在宅勤務に向いていると思います。 以前紹介した、仕込んでおいたらすぐできるチキンカレー。 www.hotpepper.jp このレンジパスタも分散調理ですね。 www.hotpepper.jp 今回は最近人気の酸味とほんのり甘みが効いたインドのポークカレー、「ポークビンダルー」の分散調理版をご紹介します。カレーというと長時間煮込むイメージがありますが

    混ぜておけば10分でできる在宅勤務カレー「ポークビンダルー」を分散調理で作る【ツジメシの日常メシ】 - メシ通 | ホットペッパーグルメ
  • 保守性の高いソフトウェア開発のTips集

    保守性の高いソフトウェアの開発に役立つ様々なTipsを書いた。 特定の言語にとらわれずあらゆる場面で役立つことを集めた。

    保守性の高いソフトウェア開発のTips集
  • GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.

    Architecture styles define how different components of an application programming interface (API) interact with one another. As a result, they ensure efficiency, reliability, and ease of integration with other systems by providing a standard approach to designing and building APIs. Here are the most used styles: SOAP: Mature, comprehensive, XML-based Best for enterprise applications RESTful: Popul

    GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.
  • ドメイン駆動設計は何を解決する手法なのか - stmn tech blog

    こんにちは、リファクタリング大好きなミノ駆動です。 株式会社スタメンでは、企業エンゲージメント構築サービスTUNAG(ツナグ)の技術的負債解消と今後の持続的成長のため、ドメイン駆動設計(DDD)の導入を検討しています。 ところでDDDはとかく理解しづらく、何のためのDDDなんだという議論になりがちです。この記事では、DDDの真の主人公コアドメインを中心に、DDDが何を解決するものなのか、全体像を改めて整理します。 この記事で扱う内容 DDDが解決したい課題と解決方法の全体像。 この記事では扱わない内容 設計パターンの実例などの実装詳細。 大事な前提 〜利益を得るためのサービス開発 会社でのサービス開発は、趣味や道楽でやるものでしょうか。違いますね。ビジネスとして、企業活動としてサービス開発しています。当たり前の話ですが、利益を得られるように開発しなければなりません。 ドメイン駆動設計は、継

    ドメイン駆動設計は何を解決する手法なのか - stmn tech blog