間違っています。JSONは仕様が簡潔で融通が利かないところがメリットであり、ケツカンマやコメントを許容しないこともそれに一役買っています。ケツカンマやコメントが欲しければYAMLを使いましょう。YAMLはJSONのスーパーセットなので、JSONにケツカンマやコメントをつければYAMLとして読むことは出来ます。 JSONとYAMLにはそれぞれに良さがあり、それぞれの良さを他方に求めると、その価値を毀損します。言ってしまえば、JSONはシンプルでありYAMLはイージーなのです。 参考:Simple Made Easy JSONはシンプル ご存知の通り、JSONはルールや覚えることが少ない反面、表現力に乏しいです。結果として人間にも機械にも比較的優しいシリアライゼーションフォーマットとして優れています。「ひとつのことをうまくやる」です。必ず1行に圧縮できる強みもあり、ログフォーマットとしても使
#WIP レガシーシステムを再構築しようとしても、期待していた開発スピードや品質の向上が得られないのはなぜか? そこに潜むアンチパターンを書き出してみます。 画面駆動設計 画面を切り口にアプリケーションの設計を考える。これ単体ではアンチパターンではない。 コンテキスト 現行システムの画面操作に慣れたユーザが多い 問題 同じ扱いをすべきデータが複数の画面に分散していても、それに気づきにくい 表示条件に見えるものが実はビジネスルールの制約である 項目間の関係性や構造が見えにくい テーブル駆動設計 データベースのテーブルを切り口にアプリケーションの設計を考える。これ単体ではアンチパターンではない。 コンテキスト 現行システムのデータベーススキーマが既に存在し、それを前提とした開発が求められる
本ガイドラインは、世の中のシステム開発プロジェクトのために無償で提供する。 ただし、掲載内容および利用に際して発生した問題、それに伴う損害については、フューチャー株式会社(以下、フューチャー)は一切の責務を負わないものとする。 また、掲載している情報は予告なく変更する場合があるため、あらかじめご了承いただきたい。 免責事項: 有志で作成したドキュメントである フューチャーには多様なプロジェクトが存在し、それぞれの状況に合わせて工夫された開発プロセスや高度な開発支援環境が存在する。本ガイドラインはフューチャーの全ての部署/プロジェクトで適用されているわけではなく、有志が観点を持ち寄って新たに整理したものである相容れない部分があればその領域を書き換えて利用することを想定しているプロジェクト固有の背景や要件への配慮は、ガイドライン利用者が最終的に判断すること本ガイドラインに必ず従うことは求めて
本ガイドラインは、世の中のシステム開発プロジェクトのために無償で提供する。 ただし、掲載内容および利用に際して発生した問題、それに伴う損害については、フューチャー株式会社(以下、フューチャー)は一切の責務を負わないものとする。 また、掲載している情報は予告なく変更する場合があるため、あらかじめご了承いただきたい。 免責事項: 有志で作成したドキュメントである フューチャーには多様なプロジェクトが存在し、それぞれの状況に合わせて工夫された開発プロセスや高度な開発支援環境が存在する。本ガイドラインはフューチャーの全ての部署/プロジェクトで適用されているわけではなく、有志が観点を持ち寄って新たに整理したものである相容れない部分があればその領域を書き換えて利用することを想定しているプロジェクト固有の背景や要件への配慮は、ガイドライン利用者が最終的に判断すること本ガイドラインに必ず従うことは求めて
2023年、総事業費500億円を超える「SAGAサンライズパーク」が完成した。このビッグプロジェクトを統括したのは、佐賀市出身の建築家・西村浩さんだ。東京で設計事務所を開いて設計活動をしていたが、ふるさと・佐賀で活動をはじめたのは、2010年頃からだったという。それから15年。西村さんの奮闘は、どんなものだったのだろうか?現在から振り返ってみよう。 ■関連記事: 佐賀市呉服元町が賑わいを取り戻すまで|行政と連携しながら自ら投資で「10年続ければ街は変わる」を証明 建築家・西村浩インタビュー【2】 「さがデザイン」が公共事業を変えた|クリエイターら”勝手にプレゼン”で知事が動いた!”道路空間を憩いのテラス”に 建築家・西村浩インタビュー【3】PerfumeライブでSAGAアリーナが大絶賛! 2025年1月、SAGAアリーナでPerfumeのライブが開催された。SNS上には「駐車場の無いアリ

Amazon Web Services ブログAmazon DynamoDB におけるシングルテーブル vs マルチテーブル設計 この文書は、AWS ヒーローであるAlex DeBrie によるゲスト投稿です。Amazon DynamoDB について学ぶ人にとって、シングルテーブル設計という考え方は、最も心を揺さぶるコンセプトの1つです。DynamoDBのテーブルは、エンティティごとにテーブルを持つというリレーショナルデータベースのような概念ではありません。多くの場合、1つのテーブルに複数の異なるエンティティを含みます。 DynamoDBのシングルテーブルに関するデザインパターンについては、DynamoDBのデベロッパーガイドを読む、re:Inventのトークやその他のビデオを見る、私が執筆した本をチェックするなどで理解することができます。シングルテーブル設計の賛否両論に特に焦点を当て
TL;DR 個人的ITエンジニア本大賞2025として推せる 多分値オブジェクトの話だと思うけど、SNS上でレスバに明け暮れていたせいかマイナビ出版から「良いコードの道しるべ」という技術書を恵贈いただいた。 正直なところ著者のことを全く知らないのでそんなに高い期待値で読んでいなかったのだけれど、読むほどにこれはいい本だと感じたので推せるポイントを列挙していく。 常識がちゃんと書いてある KISS, YAGNI, DRYといった、プログラマであれば知っていて当然の原則が体系立って例示付きで日本語で書いてある。ジュニアクラスを卒業する前には身につけていて欲しい常識がこうも凝縮して書いてある本は珍しいのではないかと思う。(SOLID原則については言及すらしていない点も個人的にはやや好感である) この領域にはコードコンプリートとかリーダブルコードといった良著はいくつも挙げられるが、この本は実例と説明

現在、IT系の仕事の中でデータアナリストは高い人気を博している。大手を含めて日本企業の大多数は情報活用が出来ていないので、データアナリストやその志望者にはブルーオーシャンが広がっているように見えるかもしれない。しかし、情報の分析・活用の現場で欠けているのはデータ分析のスキルではない。豊穣かつ正確なローデータ(分析用の生データ)の供給源となるべき「まともな基幹システム」である。 「いや、だからこそ分析基盤の整備から始める必要があるんです」とデータアナリストは語るかもしれない。そんな彼らにはあらためて"garbage in, garbage out"の格言を送りたい。garbage(ゴミ)を手間暇かけて整形しても、そこから得られる分析結果は「整形されたゴミ」でしかない。基幹システムがポンコツである限り、分析基盤をいかに充実させても効果は出ない。かつてビッグデータという言葉があったが、企業が抱え

私の目標は、読者が午前中に本書を読み始めたら、午後には設計が上達していることだ。本当にそのとおりだった。読んでる途中で既に自分の設計に対する考えが良い方向に変わってると感じた。とても良かった。おすすめです。 『Tidy First?』 をいただいて読んだ。昨日(2024年12月25日)発売。英語版が2023年11月28日発売だから、たった1年で日本語版が出たということだな。うれしい!はやい!ありがたい! ソフトウェア設計に焦点を当てたシリーズの最初の1冊ということで、サブタイトルに「個人で実践する経験主義的ソフトウェア設計」とあるように、1人でできる種類のソフトウェア設計について書かれている。続刊ではチームについての話になる予定のようで、それも今から楽しみ。 2周読んだ なんとなく2周読もうと思ってそうした。 1周目は細かい部分は気にせずにざーっと1,2時間くらいで読んだ。全体的にどうい
例えば次のようなテーブルがあったとする。 -- PostgreSQLCREATE TABLE history ( id SERIAL PRIMARY KEY, user_id INTEGER NOT NULL, dataTEXT,created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); --MySQLCREATE TABLE history ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, dataTEXT,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); INSERT INTO history (user_id, data,created_at) VALUES (1, 'First
この記事はSmartBank Advent Calendar 2024 6日目の記事です。 昨日は kassy さんの「成長するスタートアップ労務の醍醐味と挑戦をUXリサーチャーが聞いてみた!」という記事でした。 はじめに サーバーサイドエンジニアの mokuo です。普段は、カード決済やあとばらいチャージに関連する機能の開発や運用を行っております。本日は、サーバーサイドエンジニア向けの記事になります。本記事でお話しすること システムには断続的に行われる一連の処理、というものがあります。この中で非同期処理を行うこともあるでしょう。 例) EC サイトにおける注文処理のワークフロー このような機能を開発・運用していると、以下のような課題に直面することがあります。 処理の流れが把握し辛い 変更を行うのが困難 データの整合性を担保するのが難しい しかし、適切に設計を行うことで、これらの課題を

富岡市役所(「富岡市観光サイト」より) 日本を代表する世界的建築家のひとりである隈研吾氏がデザインした建築物で、相次いで急速な劣化が顕在化している。群馬・富岡市役所で、外装に使われている木材が腐り始めているとの指摘がある。同市役所は2018年に完成しており、わずか6年で腐朽していることになる。建築の専門家は、隈氏のデザインの特徴である木の使い方に、根本的な問題があるという。 今年9月、栃木県の那珂川町馬頭広重美術館が開館から24年を迎え、老朽化のため大規模改修を行うことになったが、改修費用が3億円と高額になることから、一部をクラウドファンディングでまかなう発表し、大きな話題になった。同美術館は安藤(歌川)広重の肉筆画や版画をはじめとする美術品を中心に展示し、町の中核的文化施設とすることなどを目的として2000年に開館した。木材を多く使用し、周囲の自然に溶け込むデザインが好評を博し、県外から

あの演出はそういう名前だったのか! 「明日から使える!海外文献に頻出するLevel Design用語の紹介」で13用語を学ぼう[CEDEC 2024] ライター:わさび 2024年8月21日,ゲーム開発者向けカンファレンス「CEDEC 2024」で,ゲームデザイナーの知久 温氏によるセッション「明日から使える!海外文献に頻出するLevel Design用語の紹介」が行われた。本セッションは開発者向けに行われたものではあるが,実例を交えてやさしめに解説されていたため,「あのゲームで使われていた演出はこういう名前だったのか!」と,ゲーマー目線でも楽しめる内容だった。レベルデザイナーの目線で見るゲームの世界をのぞいてみません? 知久氏は,ハクスラSTGや対戦TPSといったジャンルでレベルデザイン業務を経験した実績を持つフリーのゲームデザイナー。副業としてゲーム開発の研究家としても活動している
![あの演出はそういう名前だったのか! 「明日から使える!海外文献に頻出するLevel Design用語の紹介」で13用語を学ぼう[CEDEC 2024]](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2f6b4fb24c3cacdcb837495822afbd8b800f627578%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fwww.4gamer.net%252Fgames%252F999%252FG999905%252F20240825025%252FSS%252F002.jpg&f=jpg&w=240)
このSpring Bootを使ったクリーンアーキテクチャの例は、データの詰め替え過剰にみえる。 https://www.baeldung.com/spring-boot-clean-architecture これだけのモデルと詰め替えが必要なのだろうか? 『Get Your Hands Dirty on Clean Architecture 』にこのマッピング戦略(詰め替え戦略)が書かれている NoMapping (レイヤ間でモデルを共有し、詰め替えをしない) 2-wayMapping (各レイヤで独自のモデルを持ち、レイヤを跨ぐ呼び出しは上位レイヤが詰め替えの責務を負う) FullMapping (各レイヤで独自のモデルを持ち、レイヤを跨ぐ呼び出しには専用のモデルを使う) またこの戦略のどれを選ぶかの基準は『Balancing Coupling in Software Design
決済サービス企業「Stripe」のエンジニアであるポール・アジェス氏が、StripeのオブジェクトIDが人間にとって読みやすい形をしている理由をブログに投稿しています。 DesigningAPIs for humans: Object IDs - DEV Community https://dev.to/stripe/designing-apis-for-humans-object-ids-3o5a どんなビジネスを行う場合でも、顧客情報や注文状況などの重要なデータを保存するためのデータベースが必要です。データを一意に指定したり、保存したデータを素早く読み出したりするためにデータベースには主キーとも呼ばれるIDを設定します。 IDに関する最も単純なアプローチは連続する番号を割り当てるというもの。設定に手間がかからず、扱いやすいため良いアイデアに見えますが、悪意のある攻撃者が他のIDを推測

パトリック・ミッケンジー(Patrick McKenzie)さんのブログ・エントリ、 “Falsehoods Programmers Believe About Names” の日本語訳です。翻訳の公開を快諾してくださったミッケンジーさんに感謝します。 公開: 2012-02-22 Posted on June 17, 2010 by Patrick きょう、ジョン・グレアム゠カミング(John Graham-Cumming)が、正しくない文字が含まれているといって彼のラスト・ネームを受け付けないコンピュータ・システムへの不満の記事を書いていた。もちろん彼の名前に「正しくない」ところなどない。当人の申し出たものが当人を識別するものとしては相応しいのであって、定義からして名前とはそういうものである。このことにジョンは当然ながらいらだったし、そうなるのもきわめて正当なことだ。定義からすれば事実
ゲーム開発プロジェクトマネジメント講座 2011年10月8日 株式会社スクウェア・エニックス CTO 橋本 善久 1 ©SQUARE-ENIX 2011 SQUARE ENIX OPEN CONFERENCE なぜプロジェクトは 失敗するのか? 2 ©SQUARE-ENIX 2011プロジェクトの失敗ポイント • 見込みより売上が少ない • 計画よりもコストがかかっている • 発売時期が遅れた • 発売に間に合わせるため内容が削られた • ユーザーの評判が悪い • 不具合が発生 • スタッフの満足度が低い、故障者が出た、辞め てしまった • など・・・ 3 ©SQUARE-ENIX 2011プロジェクトの失敗ポイントの分類 • スコープ(コンテンツの範囲)の問題 • 品質の問題 • コストの問題 • 時間の問題 • リソース(人員・環境)の問題 • ビジネスの問題 4 ©SQUARE
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く