いまやWebアプリの開発やデプロイにおいて、コンテナは欠かせないものになってきました。 コンテナ実行環境にも色々ありますが、その中でも支配的なのがDockerでしょう。 ですがDockerは、その構造上いくつかの問題も抱えています。 今回はDockerと互換性を持ちながらも、よりセキュアに運用できるPo…
![Docker互換のセキュアなコンテナ実行環境「Podman」超入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/43330e771b626ec302bc60d3b28048c9151866e7/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F44b14c507e0f4dcb905428923ddf867a%2Fslide_0.jpg%3F31039975)
Django 開発の最新トレンドを知りたいですか? PyCharm は Django Foundation と連携して世界中 4,000 人以上の Django 開発者を調査し、その回答を基にフレームワークの使用に関するトレンドを解析しました。 このブログ記事では、次のような主な結果をご紹介します。 Django 開発者の 3 人に 1 人が Flask または FastAPI も使用している。 ほとんどの開発者がフルスタック開発と API 開発の両方に Django を使用している。 Django 開発者の 61% が非同期テクノロジーを使用している。 その他にも多くのインサイトがあります! これらの結果を詳しく確認し、インフォグラフィックによる図説も利用しながら Django 開発のその他のトレンドを発見しましょう。 バックエンド: Django 開発者 3 人に 1 人が Flask
BLOG ブログ ホーム ブログ Excelで縦方向に並んでいる情報を横方向に並べ直す方法 Excelで下の図のように縦方向に並んでいる情報を、グループ化して横方向に並べ直したい、という場合があったので、対応方法を考えてみました。 FILTER関数を利用する方法 FILTER関数を利用すると、簡単に横並び表示を実現することができます。 ただし、古いExcelでは利用できない関数となっているので、注意が必要です。 NorthDetailでは、最新のExcelが利用できる「Microsoft 365」を利用していますが、そちらでは利用可能な関数となっています。 利用できないバージョンの場合は、後述の方法を確認してください。 下記の縦並びの表を例として説明します。 最終的な目標は、下の図の内容です。 ①横並び表示の対象を並べる まず、横並びで表示させたい「対象者」を並べます。 全件が対象であれば
UUIDs are often used as database table primary keys. They are easy to generate, easy to share between distributed systems and guarantee uniqueness. Considering the size of UUID it is questionable if it is a right choice, but often it is not up to us to decide. This article does not focus on "if UUID is the right format for a key", but how to use UUID as a primary key with PostgreSQL efficiently. P
はじめに 転職後の二つの喪失感への対応 所属チームの現状とMonotaROのアプリケーション/サービス共通基盤(所謂プラットフォーム) 所属チームの状況 社内プラットフォームの状況 マイクロサービス開発のためのテンプレートの導入 開発のロケットスタート:テンプレートの早期提供 テンプレート作成の5つの要点 1. ベンダー非依存なObservabilityの実装 2. CI/CDを早期に提供(特にLinterを最初期に) 3. APIプロトコルとして、JSON over HTTPとgRPCの双方をサポート 4. 最低限の薄いフレームワーク 5. セントラルProtobufリポジトリの提供 現在の取り組み (2023年10月以降)と今後の展開 さいごに はじめに はじめまして、MonotaROのCTO-Officeに所属する伊藤と申します。 github.com recruit.monotar
遠隔でシステムを操作するツールである「SSH」への攻撃をわざと行わせて行動を観察する「ハニーポット」を30日間にわたって設置した結果をセキュリティエンジニアのソフィアン・ハムラウイ氏が公開しています。 What You Get After Running an SSH Honeypot for 30 Days https://blog.sofiane.cc/ssh_honeypot/ ハムラウイ氏はカーネルが「6.8.0-31-generic」でOSが「Ubuntu 24.04 LTS x86_64」のマシンを用意し、ハニーポットとして使用しました。 30日に行われたログイン試行は合計1万1599回で、1日あたり平均386回ログインが試されている事がわかります。 ログインを試す際に使用されたユーザー名のランキングには「root」や「admin」「ubuntu」「support」など、標準で
ERP(統合基幹業務システム)の導入に失敗した挙げ句、ビジネスが止まる――。ERPにまつわるシステム障害が相次ぎ発生している。江崎グリコは独SAPのERP「S/4HANA」を使って構築した基幹系システムの障害で、プッチンプリンなどチルド品の出荷停止に追い込まれた。ユニ・チャームもS/4HANAと物流システムの連係を巡る障害で、製品の出荷に遅延が生じた。 なぜERPの導入はうまくいかないのだろうか。イチからシステムを構築するわけではなく、形のあるパッケージソフトを導入するにもかかわらず、だ。 江崎グリコは2024年4月3日に実施した基幹系システムの切り替えでトラブルが発生し、「プッチンプリン」をはじめとする同社製品と、同社が物流・販売を請け負っていた他社チルド食品の出荷ができなくなった SAPや米Oracle(オラクル)など大企業向けのERPパッケージを中心に、導入に失敗することは今に始まっ
Auto increment(自動採番)型を採用したくない場合 Auto Incrementは、データベースにおいて自動的に一意の識別子を生成するメカニズムです。通常、数値型の列が対象となり、新しいレコードが挿入されるたびにその列の値が自動的にインクリメントされます。典型的なIDですかね。 ここでは一意性の確保の話や、データ移行やバックアップのデメリットには言及せず、セキュリティとプライバシーの懸念にフォーカスして考えます。 予測可能性 Auto Increment型のIDは連番であるため、次に生成されるIDが容易に予測可能です。これにより、攻撃者がシステムの内部構造を推測し、不正アクセスを試みるリスクが高まります。 情報漏洩のリスク 連番のIDはデータベースの挿入順序を反映しているため、公開されることで企業の活動パターンやデータ生成の頻度が漏洩する可能性があります。 例) 競合他社は、公
はじめに FastAPIはPythonのWEBフレームワークで、同じ分類のフレームワークとしてFlaskやDjangoなどが挙げられます。FlaskとDjangoはよく比較され、Flaskが最小限のコードで書き始められるシンプルなマイクロフレームワークと呼ばれるのに対し、Djangoはログイン機能、データベース管理などが初めから備わっておりフルスタックフレームワークと呼ばれています。 FastAPIはFlaskと似ているマイクロフレームワークで公式ドキュメントでは次のように紹介されいます。FastAPI は、Pythonの標準である型ヒントに基づいてPython 3.6 以降でAPI を構築するためのモダンで高速(高パフォーマンス)な、Web フレームワークです。[1] 本記事では、以下の内容を扱います。 特徴である型ヒントとそれにより実現できるAPIドキュメントの自動生成 SQLAlch
はじめに 本ガイドの目的と対象読者 本ガイドは Oracle から PostgreSQL へのデータベース移行リファレンスである。移行に要する工数の算定を容易化することを目的として、考慮すべき非互換情報をシンプルかつ具体的に整理してある。「脱 Oracle」を推進するマネジャーやリーダーのみならず、すべてのメンバーにとって必携のガイドとなることを目指した。本ガイドの情報の多くはインターネット上に公開されているが、それらが体系的、一元的に、かつ最新の PostgreSQL に対応しているものが見当たらなかった(2023年3月12日現在)。そのため、読者の便宜を図る点において本ガイドの果たす役割は大きいと考えている。 本ガイドの前提 本ガイドの内容は下記のデータベース間の移行を前提に記載してある。 移行元データベース
Herokuが自ら実践しているAPIデザインガイドをGithubに公開した. “HTTP API Design Guide” このガイドは些細なデザイン上の議論を避けて,ビジネスロジックに集中すること目的としている.Heroku特有なものではなく,一般にも十分適用できる知見となっている. 最近は,モバイル向けにAPIをつくることも多いため,勉強もかねて抄訳した.なお内容は,HTTP+JSONのAPIについて基本的な知識があることが前提となっている. 適切なステータスコードを返す それぞれのレスポンスは適切なHTTPステータスコード返すこと.例えば,“成功"を示すステータスコードは以下に従う. 200: GETやDELETE,PATCHリクエストが成功し,同時に処理が完了した場合 201: POSTリクエストが成功し,同時に処理が完了した場合 202: POSTやDELETE,PATCHリク
2024年5月13日(月)に、Windows向け仮想マシンアプリ「VMware Workstation Pro」とmacOS向け仮想マシンアプリ「VMware Fusion Pro」が個人利用に限り無償化されました。既にダウンロードとインストールが可能になっていたので、両アプリのダウンロードおよびインストール手順をまとめてみました。 VMware Desktop Hypervisor Pro Apps Now Available for Personal Use - VMware Cloud Foundation (VCF) Blog https://blogs.vmware.com/cloud-foundation/2024/05/14/vmware-desktop-hypervisor-pro-apps-now-available-for-personal-use/ ・目次 ◆1:Br
個人的には、前者の方がわかりやすいので[]を使っていたのですが、 同じチーム内にlist()で書く人もいて、コードレビューのときに「結局どっちがいいんだっけ?」の議論になったので両者の違いをまとめようと思います。 結論 以下の観点から[]を使うルールにしました。 読みやすさ []は他の多くのプログラミング言語(例えば JavaScript、C++、Java など)でも配列やリストを表すのに使われており、一般的に慣れ親しんだ表現であること。 Pythonの教育/学習資料でも、空のリストを生成する標準的な方法として[]が紹介されている印象。 シンプルに[]の方が簡潔 一方で、list()はpython特有の記法であり、pythonに精通していない人は一瞬「?」となる。 パフォーマンス [] は list() よりも生成が速い。 検証してみた 両方の書き方でそれぞれ空のリストを100万回作成する
Djangoでfilterメソッド、getなどDBからデータを取得するときに書き方忘れるのでまとめます。 では、今回はQueryを取得する方法を初心者向けの勉強用として書きます 簡単な例も付けますので参考に。 続き:リレーション [初心者] #2 Django Query データベース取得 1対多と多対多 過去記事: データベースから取得してレンダリング 環境 Python 3.8.5 Django 3.1 データは補足編に書いたようなデータモデルで環境を作って実行しました。 1. get: データ1つ取得 filterと似てますが、違いあり。補足にも書きました。getとfilterの違い 単体のオブジェクト取得 1件も取得できないと例外発生 即座にDBから取得 モデル名.objects.get(field='条件入力')
Difyって何? 少し前から話題の、プログラミングなしで生成AIアプリケーションを開発できるOSSです。 「Dify すごい」 でSNSを検索すると、驚き屋さんがみんな驚いています。このゴールデンウィークはAmazon BedrockとDifyの話題でもちきりでしたね。 元々は「GPTビルダーのOSS版ね。はい解散」という感じだったのですが、最近追加された「ワークフロー」機能がすごく便利のようです。 ちょっとしたアプリなら、ローコードで簡単に作れてしまうとのこと。 最近は自分でPCやサーバー準備して動かさなくても、SaaS版が公式から準備されたようです。無料プランもあります。 やってみた サインアップ 公式サイト右上の「Get Started」からサインアップします。 GitHub連携すると、いきなり開発画面に辿り着きました!いいUX。 「(いち?)から作成」よりワークフローを作ってみまし
こんにちは。コアシステムエンジニアリング部門 商品ドメイングループの流川です。当グループでは商品情報管理基盤の開発・運用を担当しています。 突然ですが、システム刷新後にトラブルが頻発し、頭を抱えたことはありませんか? 慣れ親しんだシステムをいつまでも使い続けたいですよね。社会背景や事業成長と共にシステム刷新を行わなければならない時は必ず来てしまいます。刷新に関わることも大変ですが、本当に大変だったのは運用後だったことを痛感しました。刷新を行うと運用方法も同時に変わってしまい、トラブルが起きがちです。今回は商品点数約2200万点を支えるモノタロウの商品情報管理基盤を刷新した際の経験をもとに、どう解決したのか、その手引きをご提供します。 商品情報管理基盤の刷新背景 刷新後のシステム概要図 導入後にトラブルが頻発! 当時の運用担当者の心境とその背景から得た改善ヒント 解決に向けてのアプローチ ポ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く