並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 4092件

新着順 人気順

設計の検索結果321 - 360 件 / 4092件

  • ReactプロダクトにおけるButtonコンポーネント実装の最適解を探し続けた結果

    2023/12/13 aria-disabledの付け方を改良 2023/12/11 タイポ修正 2023/12/08 next/linkのhrefにundefinedを渡すとエラーがでるため、disabledにする方法を修正 <Button asChild ref={}>とrefを指定できてしまっていたのを修正 セミコロンをつけないように 2023/12/07 タイポ修正(priamry -> primary) import { cloneElement, forwardRef, isValidElement } from "react" import styles from "./style.module.css" import clsx from "clsx" export type ButtonProps = { variant?: "primary" | "secondary"

      ReactプロダクトにおけるButtonコンポーネント実装の最適解を探し続けた結果
    • Enumとてもつらい、でも負けない - エムスリーテックブログ

      列挙型、JavaでいうならEnum型、使っていますか。使わないわけにいきませんよね。 でも、Enumを使っていたせいで辛い目にあったことありませんか。ないですか。それならきっともうすぐに辛い目にあうと思います。 Enumはすべてのプログラマに等しく辛みを与えてくれるからです。そんな辛みについて、ちょっと一緒に直視してみましょう。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の6日目です。 アプリケーションプログラミング上の辛み 1. 既存のif文が偶発的に意図しない方に倒れる 2. switch文に至っては「どちらでもない」で処理不発に アプリケーションプログラミング上の対策 1. 分岐条件をEnumに持たせる 2. swi

        Enumとてもつらい、でも負けない - エムスリーテックブログ
      • 4年分の負債を解消するために React ディレクトリ構成について真剣に考えてみた - Qiita

        この記事は株式会社ビットキー Advent Calendar 2023 5日目の記事です。 はじめに この記事では React を用いたフロントエンドアプリケーションのディレクトリ構成について検討した内容を紹介します。 現在フロントエンド開発を行っていて、ディレクトリ構成にお悩みの方の参考になれば幸いです。 ※ State 管理についての良し悪しやその他 React 向けのフレームワークライブラリについては本記事では触れません。 今回対象とするプロダクト ビットキーのHome事業では、不動産管理会社向けのB2B2Cプロダクトを展開しています。 その中でも不動産管理会社の方が利用する管理画面について、リリース後から様々な機能や画面が実装されシステムが巨大化してきたので、ディレクトリ構成を見直す機会が訪れました。 参考値として、現在のプロダクトは100画面を超えており、ソースファイルも1500

          4年分の負債を解消するために React ディレクトリ構成について真剣に考えてみた - Qiita
        • フロントエンドのディレクトリ設計思想

          はじめに フロントエンドのディレクトリ構成、世の中に色んな「推し」が有って悩みますよね。 例えば、、、 さらに最近は、App Directoryの登場や、それに合わせたNext.js公式の「推し」構成がドキュメント化されたりと、さらに色々なパターンが出てきています。 本記事の趣旨 本記事では、具体的な構成そのものではなく、 様々ある構成を横串で見通して整理できる設計思想を紹介します。 新しい推し構成の紹介ではなく、構成を考えたり決めたりするときに役立つ抽象的・汎用的な指針を提供できればと考えています。 基本となる考え 分割の方向 一般的に、アーキテクチャにおける分割には2つの方向が有ります。 (出典も良書なのでリンクを貼っておきます: https://www.amazon.co.jp/dp/4873119820) これはディレクトリにおいても同じだと思っていて、筆者は分かりやすさのために

            フロントエンドのディレクトリ設計思想
          • データモデリングにおける適切な関連の作り方 - Qiita

            この投稿はちゅらデータアドベントカレンダー2023の4日目の記事です。 導入 RDBを使ってデータベースを構築するときは、必ずデータモデリングを行う必要があります。RDBのRは リレーション リレーショナルのRなので、テーブル同士の リレーション リレーションシップ(関連)を適切に作成することが重要です。しかし、この「適切」というのは、具体的にどういうことなのでしょうか? この記事では一つの提案として、テーブルをいくつかの種類に分けて、種類ごとの関連の条件をつけることで、システマチックに適切と思われる関連を作る方法を、披露したいと思います。 あまりよく考えていないモデリングの例 あるユーザーが、ECサイトで商品を購入して、入金されたら出荷するという、よくある構造のモデリングを行ってみます。この説明から単語を抜き出して、以下のようなテーブルが必要でないかと検討してみます。 少し単純ですが、良

              データモデリングにおける適切な関連の作り方 - Qiita
            • ゴメン!オレが悪かった!~技術的負債の懺悔~|あっきー

              ごきげんよう🙋‍♀️ツクリンクでエンジニアリングマネージャーをしているあっきー(@kuronekopunk)です。 この記事はツクリンク プロダクト部 Advent Calendar 2023 4日目の記事です。 前日はSRE泉田さんの「ECS スケジュールされたタスクが起動しなかったことを監視する」でした。 自社サービスのツクリンクは最初は自分がPHPで作っていましたが、エンジニアの参画と合わせて2014年からRuby on Railsにリプレースしています。 リプレースから10年弱経った今、とりあえずで作ったけどサービス成長で運用が辛く負債に感じる部分を紹介していきます。(2021年に書いたRails以降時のnote) メール、通知の設計管理者のアドレスをBCCに入れた0→1のサービス開発当初、「ユーザーさんに送ったメールの内容を知りたい」という動機からユーザーさん宛のメールのBCC

                ゴメン!オレが悪かった!~技術的負債の懺悔~|あっきー
              • 狭ピッチ & 薄型キーボードで、お出かけ先でのタイピングを楽しくしてみない??

                この記事はキーボード #1 Advent Calendar 2023の3日目の記事です。 前日はIKeJIさんの今年作ったキーボードまとめ(2023)です。 今年も、自作キーボードにどっぷりと浸からせて頂きました。 なんかんだでキーボードを8つ設計し、キーキャップを4種類ほどデザインしたりと思いの外のめり込んでましたね。 早く飽きたい。 さて、私が今年に頒布したキーボードキットの内、一番人気は「miniDivide」でした。 簡単にminiDivideの紹介を並べると 0.8u(16mmピッチ)の38キー分割型キーボード。 従来のキーボードより各キーが近いので... 手が小さい方でも使いやすい。 指の動きを最小限に文字を打つことが可能。 コンパクトさと薄さを徹底。 BLE Micro Proのサポートしており、Bluetooth接続が可能。(従来のPro Microによる有線接続も可能)

                  狭ピッチ & 薄型キーボードで、お出かけ先でのタイピングを楽しくしてみない??
                • IaC、あるいはインフラ抽象化レイヤー導入時に考えたらいいんじゃないかと思うことを雑多に書く - ださろぐ@はてな

                  この記事はSRE Advent Calendar 2023の4日目の記事です。 qiita.com 3日目は@myu_mxさんのゆるやか成長スタートアップの小さなEnabling SRE的活動でした。 久々のアドカレ参加ですが、少し思いの丈に任せてみようということで経験と主観が強めの記事です。 この辺で語られていたよとかこれは賛同できないというポイントなどもっといい情報があればぜひお知らせください、という感じで雑多に書いて参ります。 TerraformやCloudformationあたりをよく触るのでそのあたりがどうしても頭にありますがなるべく固有の話はしない方向で。 色々書きつつ、基本的には長期的な運用を見越したソフトウェアの運用設計と同じ考えで良いとは思ってます。 最低限のインターフェースを公開し疎結合に設計する、モジュールは交換可能する、ライフサクルを考える、などなど。 ただIaCコ

                    IaC、あるいはインフラ抽象化レイヤー導入時に考えたらいいんじゃないかと思うことを雑多に書く - ださろぐ@はてな
                  • ヨドバシの中の人が語る、開発中のヨドバシ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が目指す機能、仕組み、そしてセキュリティ(前編)
                      • 認可のベストプラクティスとDDDでの実装パターン

                        最近、少々複雑な権限機能の開発を担当している中で、対応方針を悩んでいたことがありました。 権限機能というものは取り扱いが難しく、影響範囲が広いにも関わらず、対応漏れや考慮不足があると情報漏洩に繋がってしまいます。 また、機能拡張をしてく中でも対応漏れを起こさないようにする必要があるなど、考えることも多く頭を悩ませておりました。 そこで、認可処理の設計のベストプラクティスやDDDの実装パターンに認可処理を組み込む方法など、色々と調べていたのですが、その中でいくつか知見を得られたのでまとめようと思います! 権限と認可 権限と切っては切れない関係にあるのが認可です。 権限はある操作を実行できる権利を指します。 それに対して、認可は操作を実行する許可を出すため仕組みのことを指します。 例えば、ブログ投稿サービスで考えてみると、以下のような感じです。 権限: 投稿者はポストを編集できる。 認可: ユ

                          認可のベストプラクティスとDDDでの実装パターン
                        • バカみたいに明るい日本の家を何とかしたい…建築家が「照明が暗い」という家主のクレームを無視し続けた理由 夏場でもサングラスなしで平気な目に進化した日本人

                          畳の上にちゃぶ台を置けば、6畳間はダイニングへ 日本の住宅の照明は、部屋のすみずみまで均一に照らすものが久しく好まれてきた。天井の真ん中に鎮座する巨大なシーリングライトがその象徴である。 いわゆる高級マンションを除けば、賃貸物件の照明はいまも天井の真ん中に取りつけるものが一般的だ。シーリング(ローゼット)と呼ばれる照明器具の取付口が天井面にすでにあり、賃借人はその金具を目がけて好みの照明をセットする。 嫌なら使わなければよいのだが、ありがたく使わせてもらっている人が大半だろう。借家歴30年の私も、使わなかったことは一度もない。 部屋のすみずみまで均一に照らすあかりは、「部屋の用途を規定しない」という昔ながらの暮らし方にも都合がよかった。 部屋の用途とは、部屋で何をするのかという主な利用目的のことだ。現代における部屋の用途は平面図を広げればすぐに分かる。キッチン、ダイニング、主寝室……部屋の

                            バカみたいに明るい日本の家を何とかしたい…建築家が「照明が暗い」という家主のクレームを無視し続けた理由 夏場でもサングラスなしで平気な目に進化した日本人
                          • Python 3.8以降の型ヒント革命:DataclassとPydanticの徹底比較

                            はじめに 📘 この記事は ラクスパートナーズ Advent Calendar 2023 の1日目の記事になります!! 本社の ラクス Advent Calendar 2023 の7日目にも参加予定なのでそちらもよろしくお願い致します🥳 長い間 Python3.7 環境のプロジェクトに携わっていましたが、この度 Python3.10~ 環境のプロジェクトに携わることになりました。 そこでこの機会に python3.8 以降の最新の型ヒントやコード品質向上のテクニックについて、改めて情報をキャッチアップしながらまとめていきたいと思います。 この記事の対象者 🎯 Python の型ヒントについて学び直したい方 Python3.8 以降の型ヒントについて理解を深めたい方 python のドメインモデルクラスについて理解を深めたい方 型ヒントを使用したことがないが、興味がある方 なぜ型ヒントを

                              Python 3.8以降の型ヒント革命:DataclassとPydanticの徹底比較
                            • Architecture Decision Record を一年運用してみた - Qiita

                              この記事は、株式会社カオナビ Advent Calendar 2023の2日目です。 カオナビでは2022年9月からArchitecture Decision Record(以下ADR)を導入開始しました。本記事ではADRを導入し実際に一年間運用して見た経過をご報告しつつ、導入のポイントや注意点について紹介します。 ADRをなぜ導入したのか? まずADRについて簡単に説明すると、「アーキテクチャー設計の記録をドキュメントとして残すこと」 です。Michael Nygardのブログ記事が初出のようです。 ソフトウェア開発を行っていく間には、途中で様々な設計決定をする必要があります。例えばウェブアプリケーションであれば、データベースはMySQLにしようとか、キャッシュはRedisを使おうとかという実行環境の決定の話から、実際のプログラムの基本構造といったところまで様々です。 この設計決定は、口

                                Architecture Decision Record を一年運用してみた - Qiita
                              • 今年の汚れ、今年のうちに!MySQLで使っていないインデックスを削除しよう - クラウドワークス エンジニアブログ

                                この記事は クラウドワークス Advent Calendar 2023 シリーズ2 2日目の記事です。 こんにちは。crowdworks.jp SRE チーム 田中(@kangaechu)です。 年末といえば大掃除ですね。 皆さんのデータベースにも使っていないインデックスが溜まっていませんか? お掃除してきれいな新年を迎えましょう。 手順 1. MySQLで使っていないインデックスの一覧を取得 未使用のインデックスは sys.unused_indexes ビューで確認できます。 dev.mysql.com しかし、このビューの元データである performance_schema テーブルは起動時から終了時までのデータしか保持していません。 Tables in the Performance Schema are in-memory tables that use no persistent

                                  今年の汚れ、今年のうちに!MySQLで使っていないインデックスを削除しよう - クラウドワークス エンジニアブログ
                                • 9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか - エムスリーテックブログ

                                  私は日付時刻の処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日付時刻型クラスにはそれぞれ思うところがあり、今日はちょっとその品評会をしてみたいと思います。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の2日目です。 至高の日付時刻型を持つ言語、BigQuery SQL 不足はないが蛇足、Java 8 日付時刻で画竜点睛を欠いたC# C#よりややまし、Python 型は良い構成、なのに命名と処理関数で損しているPostgreSQL まとめ We ar

                                    9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか - エムスリーテックブログ
                                  • 全銀システムの大規模障害、「真の原因」明らかに--全銀ネットとNTTデータが発表

                                    全国銀行資金決済ネットワーク(全銀ネット)とNTTデータは12月1日、10月10日〜11日に発生した全銀システムの大規模障害の真の原因を明らかにした。 全銀システムは、日常の振込や送金をリアルタイムで処理するシステムで、国内のほぼすべての預金取扱金融機関が利用している。10月のシステム障害では三菱UFJ銀行、りそな銀行など10行で、他行宛の振り込みができないなどの障害が丸2日間継続した。 障害は、全銀システムの中継コンピューターを新機種「RC23シリーズ」へ交換し、その後営業運用を開始した直後に発生した。RC23シリーズ内の「銀行間手数料を処理するためのインデックステーブル」が破損しており、同テーブルを参照する際の処理でエラーが生じたためだ。 中継コンピューターは東京と大阪に1台ずつ、冗長化として設置されていたが、2台同時に新機種のRC23シリーズに切り替えたため、2台ともにソフトウェア障

                                      全銀システムの大規模障害、「真の原因」明らかに--全銀ネットとNTTデータが発表
                                    • Node.jsで作るモジュラモノリスの設計と技術選定

                                      この記事はUbie Engineering Advent Calendar 2023の一日目です。よろしくお願いします。 背景 ユビーのシステムは言語が多様化してきたことにより、認知負荷の増加や運用負荷の増加、開発支援に仕組みづくりかけるコストの増加などの問題が発生していました。この課題を解決するためにNode.jsとGoに言語を絞っていくという意思決定をしたのが昨年です。これについては以下の記事で詳しく解説しています。 ちょうど去年のアドベントカレンダーの記事なのでこれから一年経ちました。ここでは以下のように述べられています。 Server-Side Kotlin などで書かれている既存サービスを、この技術選定の文脈でリプレイスすることは今のところ考えていません。 ただし、多くの既存サービスはドメインたくさん抱えすぎ問題があったり、色々とレガシーだったりして、徐々に別サービスに切り出して

                                        Node.jsで作るモジュラモノリスの設計と技術選定
                                      • タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog

                                        この記事はTimee Advent Calendar 2023シリーズ 1の1日目の記事です。 はじめに こんにちは、タイミーでバックエンドエンジニアをしている須貝(@sugaishun)です。昨年は弊社でアドベントカレンダーに取り組んだか覚えていないのですが、今年はなぜかいきなり3トラックで臨むということで、非常に勢いがあるなと思いました。量と勢いで攻めていくところが弊社らしいなと感じています。全て完走できると良いですね。 さて私はその中のひとつのトップバッターということで、タイミーのRailsアプリケーションについて弊社のシニアなエンジニアたちと雑談した内容を座談会風にお伝えできればと思います。事の発端は弊社Slackのバックエンドエンジニアが集まるチャンネルで「タイミーのRailsアプリケーションの健康度はどのくらいなのか?」という会話をしたことでした。その時の私の感想は「人によって

                                          タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog
                                        • なぜソーシャルログインの際にemailをキーにして参照するのか

                                          ritouです。 Digital Identity技術勉強会 #iddance Advent Calendar 2023 の 初日の記事です。 こちら、参加者を募集中です!気軽に参加してみてください!してくれよ!はよ! なんの話か ちょっと想定以上に反応をいただいたこちらの記事について、ちょっとだけ補足をしたいと思います。 なんの話か詳しく 自分のはてブのコメントをつけたポストにもたくさん反応いただきました。 実際、海外のサービスはメアドをキーにして参照してるところも多く これはサービスのDBのUserテーブルがemailをプライマリキーにしているという話ではありません(が、そう思われた方からDMが来ました)。 最初にパスワード認証やメールでリンクを送信して認証させる仕組みを実装している状態から、ソーシャルログインを実装しようとする際に "email" をキーにした参照をすることがあるんよ

                                            なぜソーシャルログインの際にemailをキーにして参照するのか
                                          • 中国が新たな国産次世代CPU「Loongson 3A6000」をリリース、IntelのCore i5-14600Kに匹敵か

                                            中国の半導体企業であるLoongson(龍芯)が、次世代CPUである「3A6000」を2023年11月28日に発表しました。Loongsonは「3A6000は世界の主流製品に匹敵するCPUで、中国が国産CPUの設計において新たな突破口を開くきっかけになる」とコメントしています。 China's Loongson 3A6000 CPU Reaches Core i5-14600K Performance In Clock-To-Clock Test, Overclocked To 3 GHz https://wccftech.com/china-loongson-3a6000-cpu-reaches-core-i5-14600k-performance-clock-to-clock-test-overclocked-to-3-ghz/ Loongson releases next-gener

                                              中国が新たな国産次世代CPU「Loongson 3A6000」をリリース、IntelのCore i5-14600Kに匹敵か
                                            • 集約はイベントから考えると考えやすい|かとじゅん(j5ik2o)

                                              チュートリアルでDDD体験: ドメインモデルの成長を紹介 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」 僕もこのドメインで振る舞い中心のモデリングをしてみた。実装は可能なモデルを書いてみましたが、今回は細かい実装の話はありません。 イベントを抽出まずイベント(起こった事実)から考えました。日々の勤怠で何が起きるのだろう。出勤したり退勤したり休憩したりと打刻するのは間違いない。システムが何か命令(コマンド)を受理したらこういうイベントが発生するはず。 「出勤した」イベントには、誰がいつ出勤したかを説明する事実が記載されている。「退勤した」や「休憩を開始した」や「休憩を終了した」なども同じ。あと、打刻間違いの修正もあるので「打刻を修正した」もある。ちょっと荒削りだがこんな印象。 出勤した 退勤した 休憩を開始した 休憩を終了した 打刻を修正した ちなみに

                                                集約はイベントから考えると考えやすい|かとじゅん(j5ik2o)
                                              • テスト駆動開発のはじめの一歩|t_wadaさんに聞く1人で始める自動テストのコツと考え方 - Agile Journey

                                                アジャイル型の開発が導入されていない現場であっても、そして一人であっても、実践可能なアジャイルに関するプラクティスは存在します。 例えば、自動テストや、テストファースト、テスト駆動開発(TDD:Test Driven Development)です。ユニットテストフレームワークを使ってテストコードを書いて開発しながらテストを実行する「自動テスト」、実装の前にそのテストコードを書く「テストファースト」、テストと実装を繰り返しながらインクリメンタルに設計・開発を行うのが「TDD」。これらプラクティスのなかで、はじめの一歩となるのが自動テストですが、1人で実践するには、どこからはじめるか、どうテストを組み立てればよいのか、あるいは自分のテスト方法は適切なのか、不安を持つこともあるでしょう。 そこで本稿では、さまざまなチームや組織へのテスト手法の導入を支援し、精力的に講演や執筆などを行ってきたこの分

                                                  テスト駆動開発のはじめの一歩|t_wadaさんに聞く1人で始める自動テストのコツと考え方 - Agile Journey
                                                • プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers

                                                  こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』という本をちょっとずつ読み進めていて、プログラミング熱が高まっています。この本は大きな指針を示すだけで具体の話をするものではないのですが、読み物として面白いので私も似たようなことをやってみたくなりました。 何年もこういう仕事をしているとバグが入るパターンというのが見えてきます。そしてだいたいどこに行っても何の仕事でも似たようなことをすることになるのですが、今回の話もその一つです。 構造化テキストを文字列結合で作らない、置換でいじらないというのはこれだけみると何のことか分かりづらいかも知れませんがSaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)の内容とある面では同じ話です。

                                                    プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers
                                                  • しずかなインターネットの技術構成

                                                    こんなWebサービスをリリースしたので、技術的な話をまとめておこうと思います。 元々このサービスは、趣味の延長線のような感じで開発を始めました。競合にあたるnoteやはてなブログなどのサービスが確固たる地位を築いているということもあり、「お金にはならないだろうけど、自分の趣味を詰め込んだものにしよう」というゆるい気持ちで開発を続けています(楽しい)。 選定の方針 趣味と言っても文章投稿サービスなので、ユーザーが少数であったとしても長期間運営しなければなりません。そのため、ユーザー数が少なければランニングコストが数千円/月以下、ユーザー数が増えたときは段階的にコストが上がるように選定を行いました。 アプリケーション フルスタックNext.jsアプリケーションをCloud Runにデプロイしています。各APIエンドポイントはNext.jsのAPI Routesで生やしています。 Next.js

                                                      しずかなインターネットの技術構成
                                                    • チュートリアルでDDD体験: ドメインモデルの成長を紹介 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

                                                      プロダクト技術本部の川口です。 3年間、ビッグローブ光といった固定回線のインフラ部門に所属していましたが、今年の4月に BIGLOBE の基幹システムのリニューアルを推進していく部署に異動することになりました。 所属するチームでは、ドメイン駆動設計(DDD)で開発しています。 チームにジョインすると開発チュートリアルをやることになっており、そこで IntelliJ や Spring Boot での開発の仕方を学んだり、チュートリアルを通して DDD を学んだりします。 今回は、DDD のチュートリアルで実際に作成したドメインモデルがどういう風に成長していったかについて紹介します。 勤怠管理アプリ チュートリアル 初期ドメインモデル 中期ドメインモデル 後期ドメインモデル 学んだこと、感想 勤怠管理アプリ チュートリアル お題は GitHub のパブリックリポジトリに公開されています。 ht

                                                        チュートリアルでDDD体験: ドメインモデルの成長を紹介 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
                                                      • リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog

                                                        どうも、レコメンド商品のシステム開発をしている野川と申します。 私は、2021年にモノタロウに新卒入社し、2022年5月からレコメンド商品の開発に関わり始めました。 モノタロウのレコメンド商品は、下の図の①~④の流れでクライアントサイドで表示しています。大部分の処理はJavaScriptで構成しており、UIもそのHTML部分をjQuery(JavaScript)で作成しています。 図:レコメンド商品表の流れ 入社当時私は、ソフトウェアエンジニアとして、「可読性の低いコードは駆逐するべきだ」「読みやすいコードだけが正義である」「理解しやすいシステムだけが皆を幸せにする」と心の底から考えていました。加えて、「なぜ先輩たちは可読性の低いコードを放置して平気なのか?」と疑問を持つこともしばしばありました。 レコメンド商品周りのコードはまさに可読性の低いコードベースとなっていたため、当事者となった私

                                                          リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog
                                                        • なぜ HTML の form は PUT / DELETE をサポートしないのか? | blog.jxck.io

                                                          Intro 10 年ほど前に同じことを調べたことがある。 なぜ html の form は PUT / DELETE をサポートしないのか? - Block Rockin' Codes https://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete 当時は全くの素人で、素人なりに調査はしたが、ほとんどが推測の域を出ない結論だった。 この問題についてあらためて記す。 仕様策定の経緯 表題の通り、 <form> の method には GET と POST しかサポートされていない。 HTTP には他にも PUT や DELETE といったメソッドもあるのに、なぜサポートされていないのかという疑問から始まった。 仕様が決定した経緯は、以下に残っている。 Status: Rejected Change Descriptio

                                                            なぜ HTML の form は PUT / DELETE をサポートしないのか? | blog.jxck.io
                                                          • 日米でエンジニアの育成戦略が正反対だと気付いた話 - メソッド屋のブログ

                                                            今週は、Thanksgiving はお休みムードなので考える時間や、自分の本についてディスカッションしている バンクーバーのえんじに屋さんのPodcast なんかを聞かせていただいたりしてるうちに、思い出したことがあって、記録に残してみることにした。それは、エンジニアの育成方針でこれはめっちゃくちゃ違うことに気づきましたので、シェアさせていただきたいと思います。 日米でエンジニアの育成戦略が正反対だと気付いた話 採用の段階での違い 良く知られているように、新卒のケースで考えると、こちらの場合は「コンピュータサイエンス」の学位を出ていることが前提で、中途採用の場合も、「コンピュータサイエンス」の学位を出ている、もしくはそれ相当する知識が求められる。だから、新人でも少なくともプログラムが結構組めることを期待されます。 一方、日本では文系でも理系でもプログラマになれます。採用されたときに「スキル

                                                              日米でエンジニアの育成戦略が正反対だと気付いた話 - メソッド屋のブログ
                                                            • コードや設計で「シンプル」が良いのはわかるが実際にどうすれば良いだろう?|牛尾 剛

                                                              先日、IaC (Infrastructure as Code) のコードを書いている時に自分が体験したシンプルさの威力の体験と、どうやったら「シンプル」に設計・コーディングができるか?ということについて調べてみたので整理したい。 「はじめて」の人に敗北 先日、私がSLA Site というアプリのデプロイスクリプトを terraform で書いていた時のこと。この Site は内部で機能に何か問題が起きた時にお客さんより先に気づくための仕組みで、私は、Azure Functions の VNet インテグレーション、Managed Indentity、KeyVault Reference といった機能が正常に動作さするか確認するためのアプリを作っていた。 Azure Functions は対応する Event Source の数が多いため、私は、沢山のサイトを作り、Vnet インテグレーショ

                                                                コードや設計で「シンプル」が良いのはわかるが実際にどうすれば良いだろう?|牛尾 剛
                                                              • Design Skill Map - メルカリUXデザインチームの専門スキル|Mercari Design Blog

                                                                UX Designチームのasakomです。今回はデザイナーの役割定義の活動の一つとして作成した、”Design Skill Map”についてお話しします。 このSkill Mapは、メルカリUX Designチームで求めるデザイナーの専門スキルを整理したものです。以前紹介したDesign Ladderは、メルカリの行動指針に基づいて作成した、デザイナーに求める態度やマインドセット。今回は専門職としてのデザイナーに必要な技術や知識をSkill Mapとしてまとめました。 UXデザイナーの役割定義や、個人の目標設定、採用の基準作りなど、チームの運用に関わる人や、メルカリのUXデザインチームが求める人材に興味のある方に、ぜひ読んでいただきたいです なぜSkill Mapを作ったかUXデザインチームの役割定義は、チームのミッション達成のために存在します。私たちのチームのミッションは、”メルカリの

                                                                  Design Skill Map - メルカリUXデザインチームの専門スキル|Mercari Design Blog
                                                                • 「しずかなインターネット」の技術スタックを調べる - laiso

                                                                  ポエム特化のZenn2との噂の「しずかなインターネット」を使いはじめたので、ユーザーとしてどんな技術が使われているのかを確認していく。 sizu.me おもむろにbuiltwith.comにかけてみる。 builtwith.com ここで分かる情報はブラウザのDevTools眺めてても得られるのであまり収穫はない。 前段にCloudflareのCDNサーバーがいて Next.jsで生成されたレスポンスを返している ことがわかる。 この時点ではキャッシュのみCloudflareなのか、Pages/WorkersでNext.jsのSSRごと動かしているのかは判断できない。 認証 Set-Cookie: __Secure-next-auth.session-token=が含まれているのでNextAuth.jsを使っているのが分かる。 next-auth.js.org Emailでサインアップする

                                                                    「しずかなインターネット」の技術スタックを調べる - laiso
                                                                  • CloudWatch、19のAWSサービスにベストプラクティスのアラーム推奨を発表

                                                                    Lily Maraと信頼性の高いKafkaデータ処理パイプラインを構築する 今日の回では、Thomas Betts氏がカリフォルニア州サンマテオにあるOneSignalのエンジニアリングマネージャー、Lily Mara氏に話を聞いた。 彼女は、OneSignalの他のエンジニアリングチームが使用する社内サービスを担当するインフラサービスチームを管理している。信頼性の高いKafkaデータ処理パイプラインの構築方法について議論する。OneSignalは、RustのKafka...

                                                                      CloudWatch、19のAWSサービスにベストプラクティスのアラーム推奨を発表
                                                                    • 「コードがむずかしい」からの脱却

                                                                      コード品質向上のいろは - 先達に学ぶ実践例 Lunch LT https://findy.connpass.com/event/300912/

                                                                        「コードがむずかしい」からの脱却
                                                                      • 回路基板設計を自動化するAIツール「SnapMagic Copilot」――SnapEDAからSnapMagicへ - fabcross for エンジニア

                                                                        SnapEDAから社名を変更したSnapMagicは2023年10月4日、最先端の人工知能(AI)と膨大な同社独自のデータセットを組み合わせた、回路基板設計を自動化するツール「SnapMagic Copilot」を発表した。これは、150万人のエンジニアに利用されてきた電子設計検索エンジン「SnapEDA」の上に構築されたものだ。 SnapMagic全体は3つのステップからなる。Step1はSnapMagic Search(旧:SnapEDA)での部品選択、Step2はSnapMagic Copilotでの回路設計、Step3はSnapMagic Storeでの部品購入だ。 Step1の部品選択では、SnapMagic Searchで何百万もの電子部品向けCADモデル、シンボル、フットプリントから適したものを探し出すことで、素早く設計できる。既存のさまざまなプリント基板(PCB)設計ツール

                                                                          回路基板設計を自動化するAIツール「SnapMagic Copilot」――SnapEDAからSnapMagicへ - fabcross for エンジニア
                                                                        • ソフトウェアの内部品質に生じる様々な問題は組織設計にその原因があることも多い / Internal Quality Issues Caused by Organizational Design

                                                                          2023-11-21 技術的負債に向き合う Online Conference https://findy.connpass.com/event/297813/

                                                                            ソフトウェアの内部品質に生じる様々な問題は組織設計にその原因があることも多い / Internal Quality Issues Caused by Organizational Design
                                                                          • 技術的負債が生まれる背景を理解して,アーリーからレイター向けの根本的なアプローチを考える

                                                                            ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design

                                                                              技術的負債が生まれる背景を理解して,アーリーからレイター向けの根本的なアプローチを考える
                                                                            • セキュアなWeb APIの作り方 / Secure Web API

                                                                              2023/09/06 に行われた OCHaCafe Season7 #4 で用いた資料です。 セッションアーカイブ動画:https://youtu.be/p3VmoPKrBNs

                                                                                セキュアなWeb APIの作り方 / Secure Web API
                                                                              • Kafka Streamsで作る10万rpsを支えるイベント駆動マイクロサービス

                                                                                CNDT2023 プレイベント 登壇資料

                                                                                  Kafka Streamsで作る10万rpsを支えるイベント駆動マイクロサービス
                                                                                • 『ゼルダの伝説 ティアーズ オブ ザ キングダム』、米大学の「機械設計コース」に採用される。学生殺到、成績は水陸両用乗り物レースで決定 - AUTOMATON

                                                                                  アメリカ・メリーランド大学にて今秋、『ゼルダの伝説 ティアーズ オブ ザ キングダム』を使った機械工学コースが開設された。同作のビルド要素の学習利用として注目を集めている。国内ではインサイドが伝えている。 Image Credit: Ryan D. Sochol on YouTube 『ゼルダの伝説 ティアーズ オブ ザ キングダム』は、Nintendo Switch向けに発売中のアクションアドベンチャーゲームだ。本作では、リンクの右手に宿る「ウルトラハンド」の能力によって物体やゾナウギアを組み合わせ、さまざまなものをビルドできる。その自由度は高く、制作物は国内外問わずSNSなどで日夜共有されている。海外掲示板Redditでは本作での工作物の共有専用コミュニティ「r/HyruleEngineering」などで盛んに披露されている(関連記事)。 そうした本作のビルド要素が、大学の工学部におけ

                                                                                    『ゼルダの伝説 ティアーズ オブ ザ キングダム』、米大学の「機械設計コース」に採用される。学生殺到、成績は水陸両用乗り物レースで決定 - AUTOMATON