タグ

★goodに関するknj2918のブックマーク (436)

  • REST理論をわかりやすく。 - Qiita

    ◯ リソースを一意に識別 RESTな考え方では、すべてのリソースはURIで表されるユニークなアドレスを持つ。 ◯ ハイパーメディア(リンクのこと)を仕様 今では結構当たり前。パソコンのOSに保存された設定情報に依存せずにリソースにリクエストすること。つまり、どのパソコンでも同じレスポンスが返ってくるリンクをHTMLとかXMLに含める。 ※ クッキーとセッションを用いたアプリケーションはRESTではない。 クッキーとセッションの仕組み RESTはあくまで、固有のHTTPメッセージ(リクエスト/レスポンス)に対して、固有の表現を表示する。つまり、クライアント側はサーバーからのレスポンスをただ一意に読みこめば良い。逆にサーバー側もただ、クライアント側のリクエストを一意に返せば良い。しかし、クッキーとセッションの仕組みは、クライアント側(ブラウザ)にアクセスするためのクッキーを一時的に保存させてあ

    REST理論をわかりやすく。 - Qiita
  • Row Data Gateway

    Row Data Gateway An object that acts as a gateway to a single record in a data source. There is one instance per row. Embedding database access code in in-memory objects can leave you with a few disadvantages. For a start, if your in-memory objects have business logic of their own, adding the database manipulation code increases complexity. Testing is awkward too since, if your in-memory objects a

    Row Data Gateway
  • Table Data Gateway

    Table Data Gateway An object that acts as a gateway to a database table. One instance handles all the rows in the table. Mixing SQL in application logic can cause several problems. Many developers aren't comfortable with SQL, and many who are comfortable may not write it well. Database administrators need to be able to find SQL easily so they can figure out how to tune and evolve the database. A T

    Table Data Gateway
  • クリーンアーキテクチャなんてものはない(クリーンアーキテクチャーの読み方)

    すでに何人かの人がクリーンアーキテクチャなんてないよ、って話はしていてイマサラだと思うんですが。 あえてブログの記事に残そうかなと思って書いてみます。 最近、改めてクリーンアーキテクチャを読んだり、原文を読んだり、 ここ数ヶ月ツイート色々な人のを観測したり社内で話したりしていて 考えがまとまってきたので、自分の言葉で整理してみたくなった。 「へー、クリーンアーキテクチャっていうソフトウェアアーキテクチャがあるんだー」という微妙な誤解?をちょっとでも減らす一助になればという感じです。あと、の読み進め方のヒントにもなるかも 先に結論 クリーンアーキテクチャというのはアンクルボブの書いた。 ソフトウェアアーキテクチャのことではない。 the クリーンアーキテクチャというブログ記事はただのソフトウェアアーキテクチャの例(そしての一部分)だが、独り歩きしている クリーンアーキテクチャというソ

    クリーンアーキテクチャなんてものはない(クリーンアーキテクチャーの読み方)
  • AWS CLIでの多要素認証を簡単にできるWindowsバッチを作ってみた - Qiita

    はじめに 弊社ではAWSアカウントを利用する際にまず多要素認証(MFA)が設定されることが必須条件であり、MFAなしでは、ごく一部のAPIを除きほとんどの操作(コンソール画面とCLI両方を含む)を実行できないようにするためのIAMポリシーが各IAMユーザーにアタッチされます。となると、操作を行う前にまずMFA認証を通す必要があり、コンソール画面でのMFA認証はそこまで不便ではないが、CLIでの手順が少々手間が掛かります。ざっくり言うと: STS:GetSessionToken APIで一時認証情報を取得 取得した一時認証情報を環境変数に入れる(Linuxの場合は export 、Windowsの場合は set) せいぜい1分程度の手順ではありますが、こんなルーチンワークを少しでも減らしたいのがエンジニアという生き物です。なので今回この手順を5秒に短縮できるツールを作ってみました。(開発環境

    AWS CLIでの多要素認証を簡単にできるWindowsバッチを作ってみた - Qiita
  • 0063 号 巻頭言

    DDD を理解したいあなたのための DDD 入門以前 Rubyist Magazine 63 号をお届けする。 突然のお知らせで恐縮だが、日 Ruby の会の主たる事務所が東京から北海道に移転した。それもあってあまりまとまった時間がとれず、11 月のうちに書くはずだったのが気がつくと 12 月も半ばを過ぎていたので、今回は以前書きかけていた文章を発掘してお茶を濁したい。 Ruby とは直接関係がなくて恐縮だが、Ruby に限らずソフトウェア開発では現在でもちょくちょく話題になることがある、DDD についての話である。 ドメイン駆動設計こと DDD は 2020 年代のソフトウェア開発でもよく話題にされるが、率直に言うとストレートにポジティブな評価が行われているとは言い難い。 どちらかというと、ある種マニアックで、対象分野が制限されており、また初心者にはとっつきにくいところがある手法と思わ

  • 数年間継続している「作業メモ」の話

    メモを残す習慣 以前、@gorou_178さんが「1日1ファイル、「調べたこと」「やったこと」を日報として残す」という記事を公開していた。 この記事の中に以下のようなくだりがある。 そこでふと思い出したのが元同僚のメモの取り方。 毎日1ファイル作成して、そのファイルにその日にやったこと(事細かくやった作業、実行したコマンドなども)をメモしていた。メモは年単位で残っておりとても驚いたことを覚えている。 この、「元同僚」というのはきっと私のことである。 私はメモを取ることが結構と好きな方で、メモを残すことがわりと習慣化している。 例を挙げると、普段からこういったことをやっている。 Google Keepに「Podcastに出演してほしいゲスト候補」、「勉強会・カンファレンスの登壇履歴」、「来月購入予定の日用品・雑貨」、「自宅周辺の行ったことないラーメン屋」、「読みたい・気になったマンガ」とい

    数年間継続している「作業メモ」の話
  • 地方公共団体基幹業務システムはアプリケーション分離の夢を見るか?|共闘プラットフォームマガジン

    記事は総務省・デジタル庁が進める地方公共団体の基幹業務システムの統一・標準化(総務省では「自治体情報システムの標準化・共通化」と記載している)におけるシステムの実装方式の1つである共同利用方式:アプリケーション分離について記載します。 なお「地方公共団体の基幹業務システムの統一・標準化」「ガバメントクラウド」「共同利用方式」そのものの説明は割愛します。Google is your friend. アプリケーション分離とはデジタル庁は共同利用の実現方法として3つの分離モデル(アカウント分離/ネットワーク分離/アプリケーション分離)を示しています。AWSを例にすると以下のようになります。 アカウント分離:自治体ごとにAWSアカウントを別のものにし、それぞれに業務システムを構築する方式。監視、運用管理用のサーバーは共用アカウント上に構築する。 ネットワーク分離:1つのアカウント内の別VPCに自

    地方公共団体基幹業務システムはアプリケーション分離の夢を見るか?|共闘プラットフォームマガジン
  • 祖母が就寝するとDBインサートができなくなる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 世の中には、一見関係なさそうな物理現象がITシステムに不可思議な影響を及ぼすことがあります 例えば,500マイル以上離れた場所にメールが送れないという話だったり 中国人のAさんがお茶を入れると会社のネットが繋がらなくなる という話があります。 私の場合は、祖母が就寝するとDBインサートが失敗する、という状況でした 実家の見守りシステム 問題が起きているのは、離れた実家にいる一人暮らしの祖母の状態を見守るために作成した自作のシステムです。 気温や湿度、CO2濃度、明るさ、部屋のドアの開閉、冷蔵庫の開閉の状況をモニタリングできるようにしてい

    祖母が就寝するとDBインサートができなくなる - Qiita
  • シェアード・ナッシング・アーキテクチャ - Wikipedia

    シェアード・ナッシング・アーキテクチャ(英語: shared nothing architecture、SN)とは、分散コンピューティングにおいて、各ノード(コンピュータ)がネットワークを除いてリソースを共有しておらず、それぞれが独立しており、自律的であり、システムにおいて単一競合箇所が無い物を指す。 シェアード・ナッシング・モデルは通常は、大規模な状態(state)データを中央に集中的に格納するシステムと対比されるが、これはデータベースやアプリケーションサーバなど、その他の単一競合箇所のいずれについても適用される。 例えばDBMSの場合は、Oracle Databaseはシェアード・ディスク・モデル(DISK共有モデル)であり、DB2の分散系におけるPE、EEE、DPFなどはシェアード・ナッシング・モデルである。 シェアード・ナッシング・モデルは現在では、Webのシステムにおいて頻繁に議

    knj2918
    knj2918 2024/01/07
    “多数の独立したウェブノードと単一の共有データベース((クラスタ化されていてもいなくても)を持つウェブアプリケーションを、シェアード・ナッシング・モデルと呼ぶべきかについては議論の余地がある。”
  • Cloud Run で作るサーバーレス アーキテクチャ 23 連発 - これのときはこう!

    2023年は「Cloud Run を触って覚える」をテーマとした ひとりアドベントカレンダー を開催しており、Cloud Run のさまざまな機能や Cloud Run でよく使う構成などをご紹介しています。 最終日、25日目は Cloud Run を中心としたサーバーレス アーキテクチャをいくつか紹介します。2023年にちなんで23個のアーキテクチャを用意しました。 Cloud Run の概要は「gihyo.jp」で解説していますので、こちらもぜひご覧ください。 Web アプリケーション + API の 3-Tier 構成 (SPA) Web アプリケーション + API の 3-Tier 構成 (SPA) SPA (Single Page Application) がフロントになり、バックエンドの API サーバーとして Cloud Run を使用するアーキテクチャです。SPA は N

    Cloud Run で作るサーバーレス アーキテクチャ 23 連発 - これのときはこう!
  • キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳

    PHPerKaigi 2024の登壇資料のほうが図面がわかりやすいので記載する。 ※2024/06/25 追記 speakerdeck.com どうもキャッシュバスターズ、 id:Soudai です。 Cache(以下、キャッシュ)は特定の場面に置いて劇的な効果を発揮し、様々な問題を解決する反面、新たなコンポートやミドルウェアが追加され、複雑性が上がり、運用のレベルが上がるため、扱いに注意する必要があります。 キャッシュを活用することで、パフォーマンスの改善や負荷軽減が行われ、コンピュータリソースの最適化によるサーバコストの削減や、レスポンスの改善によるユーザエクスペリエンスの改善がされます。 反面、その劇的な効果に毒され安易に多用すると、サービスが強くキャッシュに依存してしまい、非常に壊れやすくなり、運用が難しくなってしまいます。これをWeb界隈では「キャッシュは麻薬」と比喩されて、戒め

    キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳
  • AWS認定全冠するまでのおすすめの順番

    「JAWS-UG東京リブート企画!ランチタイムLT会」での発表資料です https://jawsug.connpass.com/event/289824/

    AWS認定全冠するまでのおすすめの順番
  • データベース レプリケーションの分類(物理 or 論理) | コーソルDatabaseエンジニアのBlog

    Oracle ACE Proの渡部です。 データベースのレプリケーション技術は、物理レプリケーションと論理レプリケーションに大別されます。 物理レプリケーションと論理レプリケーション データベースのレプリケーション技術は、物理レプリケーションと論理レプリケーションに大別されます。 いずれも「差分」のみを同期しますが、伝搬時に「物理的な差分」を用いるか、「論理的な差分」を用いるか、が異なります。 物理レプリケーションは、データベース全体に対する物理的な変更であるところの、 (厳密にはフィジカルロギングでの)トランザクションログを伝搬することで、 複数のデータベースを同期します。レプリケーション元のデータベース(プライマリDB)と レプリケーション先のデータベース(スタンバイDB)の物理的な構造が同じになります。 すなわち、プライマリDBとスタンバイDBは(注目している時点においては)同一とな

  • SecurityGroupをCloudFormationで取り扱う時に気をつけたいこと | DevelopersIO

    CloudFormationでSecurityGroupのRef関数を使った時にハマったので、その備忘録です。 やりたかったこと Ref関数を使った、SecurityGroupのグループIDアウトプットです。 Outputs: SecurityGroupEc2: Value: !Ref SecurityGroupEc2 実際に起こったこと SecurityGroupのグループID、どこいった???グループ名が表示されている??? 間違えたこと VpcIdの設定を忘れました。 --- AWSTemplateFormatVersion: '2010-09-09' Parameters: VpcId: Type: AWS::EC2::VPC::Id Resources: # Security Group for EC2 SecurityGroupEc2: Type: AWS::EC2::Secu

    SecurityGroupをCloudFormationで取り扱う時に気をつけたいこと | DevelopersIO
  • JavaScriptからGETリクエスト送信時にbodyを持たせられない件について

    GET APIを作る時の教訓 GETリクエストに情報が必要な時は、パスパラメータか、クエリパラメータで指定する GETリクエストに情報が必要な時は、GET以外のmethodを検討する まずいAPIを作ってしまった。 それは、GETリクエストにデータを必要とするものだ。postmanでしっかりテストも行った。レスポンスは200が返って来たし、求めているデータも返ってきた。 JavaScriptからこれをリクエストした時に問題が発生した。 発生した事象 フレームワークにはReactを使っていた。APIのGETリクエストを送信する処理は、SWRを使う予定だった。公式ドキュメントを読んでデータの持たせ方を探してみたが、見当たらない。怪しい匂いが少ししていたが、そこまで重要に捉えていなかった。 以下のようなコードでリクエストしたら500が返ってきた。 import axios from 'axios

    JavaScriptからGETリクエスト送信時にbodyを持たせられない件について
    knj2918
    knj2918 2023/12/19
    get時のbodyパラメータ
  • ゼロから作りながら覚えるAPI Gateway環境構築 | DevelopersIO

    こんにちは、臼田です。 みなさん、Lambdaしていますか? Lambdaと合わせてAPI Gatewayを使う場面も何かとあるかと思います。 ブログでは様々なAPI Gatewayの記事があり、下記のまとめも参考になります。 【まとめ】API Gatewayを学ぶための記事まとめ しかし、ゼロからAPI Gatewayを構築して、実際に今後APIの実装を行なって行こうとする時に何からやればいいかわからない、ということもあるかと思い今回その手順をまとめようと思いました。 ブログの趣旨 稿は以下の内容を意識して作成しました。 これからAPI Gatewayを使ってAPIを構築しようとしている人向け API Gatewayと、連携するLambdaのモック、それに付随したIAMを作成する とりあえずAPI Gatewayの環境を作成し、APIの実装やバックエンドのロジックに取り掛かれるよう

    ゼロから作りながら覚えるAPI Gateway環境構築 | DevelopersIO
  • 勉強を負担だと感じる人がハマっている、タスク管理の罠について。 - Qiita

    この記事の内容 初心者エンジニアの勉強には、タスク管理ではなく時間管理をおススメします。 勉強が負担に感じるのは、日々のノルマが原因です。 時間管理によって、勉強を負担なく続けることができます。 エンジニアの皆さん、『勉強』できていますか? 普段から空き時間を見つけて勉強している方にとっては、それは負担になるものではないかもしれませんが、私のように向上心が低く、仕方なく勉強している人にとっては腰が重たいものですよね。 ただ、その腰の重たさは考え方(やり方)ひとつで変わるかもしれません。この記事では、私が進んで「勉強をしよう!」と思えた『時間管理』の考え方についてご紹介します。 時間管理とは? 時間管理についてざっくり説明すると、「その時間内で、できる限り頑張る」という考え方です。学校の授業などがそうで、1コマ50分など時間が決まっていますよね。 社会人の勉強の場合、『1日1時間勉強する』な

    勉強を負担だと感じる人がハマっている、タスク管理の罠について。 - Qiita
  • ワイ「何でsalt無しでHash::checkできるんや???」 - Qiita

    とあるWeb制作会社 ワイ「パイセン、こないだ頼まれとったパスワード保存処理完成しましたで」 先輩「おお、ありがとうな」 先輩「・・・何やこれ」 ワイ「言われた通りハッシュ化しといて、saltと一緒に保存しとりまっせ」 ワイ「検証する時は、入力値とsaltくっつけてハッシュ化して比較すればいけまっせ」 先輩「何で令和に、しかもLaravel8つこてる時に生PHP書いとるんやお前」 先輩「お前が今言うた事、LaravelのHash::make と Hash::check でできるから、置き換えや」 ワイ「便利でんなー」 ワイ「ほな、 Hash::make でハッシュ化されたパスワードとsaltを受け取って保存しとく、みたいな感じでっか?」 先輩「saltは気にせんでええよ。 Hash::make はハッシュ化されたパスワードしか返さんし、 Hash::check する時にsaltは要らん」

    ワイ「何でsalt無しでHash::checkできるんや???」 - Qiita
  • Dockerによる開発環境構築のための概念理解と方法解説 - Qiita

    この記事はNuco Advent Calendar 2023の9日目の記事です。 はじめに この記事ではDockerで開発環境を行うために理解してほしい概念と実際の開発環境の構築手順について解説を行います。大きく分けて、 ・Dockerの概念理解 ・開発環境の構築 これらの章により構成されています。この記事を読むことで、Dockerファイル、イメージ、コンテナ、Docker compose、compose.ymlを理解できるようになることを目指しています。Dockerに触れてみたい、Dockerの理解があやふやという方は参考にしてみてください! Dockerとは まず、Dockerに対する理解をしていきましょう。 Dockerとは「コンテナ型の仮想環境を作成、共有、実行するためのプラットフォーム」です。クジラのようなアイコンが特徴的です。 私が最初に勉強をした時に、 「コンテナ型の仮想環境

    Dockerによる開発環境構築のための概念理解と方法解説 - Qiita