並び順

ブックマーク数

期間指定

  • から
  • まで

401 - 440 件 / 4799件

新着順 人気順

設計の検索結果401 - 440 件 / 4799件

  • 京都市基幹系システム刷新失敗の考察について

    京都市基幹系システム刷新失敗の考察 https://www.orangeitems.com/entry/2019/12/28/084402 俺はとある中小自治体で情シスをやったことがあるので、色々と思うところがある。 この記事だと、要件定義できない京都市が悪いで終わってしまいそうで、まあそうなんだけど事情も色々あるんだよというところで、フォローしてみたい。 まず、俺のいる自治体の話をしよう。 俺が情シスにいた10年程前に、今回の京都市のようにレガシーシステムを刷新した。刷新前は担当SE一人しかメンテナンスできないような、人間と機械がセットでようやく動くようなシロモノだった。 それを、某ベンダーのパッケージシステムをほぼカスタマイズせずに導入する形で刷新した。 当然多くの問題があったが、当時の上司が大手SIER出身で庁内でも力があり、市長も強く後押ししてくれたので押し切った。 今回の件に関し

      京都市基幹系システム刷新失敗の考察について
    • 冴えないAWS環境の育てかた α | DevelopersIO

      中山です ソリューションアーキテクトとして、AWS環境の利活用をお手伝いするお仕事をしています。 まれによく見るAWS環境 とりあえずこれを見てほしい。 これが絶対にだめと言いたいわけではないです。 一時的な検証環境だったり、とにかくスピード重視でサービスをデリバリーさせる必要があったり、サービスの提供者側が何ら責任を負わない・障害時のビジネスインパクトが無い(そんな状況あるのか?)という前提があったり、状況次第ではこれで十分な時もあると思います。 しかし、一般的な業務システムやサービスの場合にはいろんな意味で不十分でしょう。 では、このような環境をどのように育てていくとよいでしょうか。 この記事では、そんな育てかたの一例を紹介していきたいと思います。 なお、本記事はくっそ長いです。 ちなみに、最終的にはこうなります。 文字が小さすぎて読めない! ちょっとそこのハ○キルーペ貸してくれーw

        冴えないAWS環境の育てかた α | DevelopersIO
      • 関数型プログラミングが『銀の弾丸』であるという非常識な常識2022

        2024年バージョンの全面改定された新しい本が公開されているので移動してください 関数型プログラミングをゼロからわかりやすく実用的に幅広い視点から解説!〜 圏論からFRPの構築まで a岡部 健Ken Okabekentutorialbook@gmail.com 関数型プログラミングが『銀の弾丸』である という非常識な常識 2022Functional Programming as the Silver bullet, that is the Insane common sense 2022

        • WEB アプリケーション設計入門 / Introduction to web application design

          PHP Conference Japan 2020 トーク前提の資料です。そのため、トークがないと理解が難しいかもしれません。 https://youtu.be/UTKJ-Lgn3aI?t=36 ※冒頭音声が小さいです。マイクを手に持ってから聞こえやすくなると思います。 資料中の ADOP については下記を参照ください。 https://nrslib.com/adop/ # Abstract https://fortee.jp/phpcon-2020/proposal/da5b9d99-e5a6-4f51-adea-1f1c10d99020 # Ref https://github.com/nrslib/scrum-app-sample-php https://github.com/nrslib/repository-support-php # URL Togetter: https://

            WEB アプリケーション設計入門 / Introduction to web application design
          • 4万円の自作キーボード1000台が1分で即完売 世界的に注目浴びる日本の開発者

            4万円の自作キーボード1000台が1分で即完売 世界的に注目浴びる日本の開発者:ハロー、自作キーボードワールド 第11回(1/5 ページ) いろいろなパーツを組み合わせて自分好みの1台を作る「自作キーボード」について紹介する本連載。今回からは自作キーボードの設計・販売者へのインタビューや最先端トレンドを紹介するコラムなど、より一層ディープな自作キーボードの世界への誘いをお届けしていく。 今回紹介するのは、日本発のキーボード設計者であり、今やキーボードの予約ページを立ち上げるたびに世界中から数千台の予約が殺到する、売れっ子デザイナーai03さんだ。

              4万円の自作キーボード1000台が1分で即完売 世界的に注目浴びる日本の開発者
            • 他のCSS本とはかなり異なる!現在、主流の実装・設計方法が徹底解説された良書 -CSS設計完全ガイド

              私のCSSはこのままでいいのだろうか、他の人はどのように取り組んでいるのか、CSSのスキルアップを考えているWeb制作者・デベロッパーに、ぜひ手に取ってほしい一冊を紹介します。 本書ではCSSのさまざまな設計手法を解説するだけでなく、最適解となるコードに至るまでの思考プロセスも非常に詳しく解説されています。デベロッパーの頭の中で考えていることが言語化されており、自分のCSSを見直したい人、より効率的なCSS開発を探究している人にお勧めです。 本書は、CSSの中・上級者向けの内容をていねいに詳しく解説したものです。初心者向けのブログやお店ページの例などは一切なく、モジュールベースのコンポーネントやレイアウトが主体で、プロジェクトレベルのCSS設計について解説されています。

                他のCSS本とはかなり異なる!現在、主流の実装・設計方法が徹底解説された良書 -CSS設計完全ガイド
              • ITエンジニア本大賞2021

                2021 大賞の発表! ITエンジニアのみなさんとおすすめの本を選ぶイベント「ITエンジニア本大賞2021」の第一弾のWeb投票、第二弾のプレゼン大会(オンラインイベント)が無事に終了し、プレゼン大会をご視聴されたみなさんによる最終投票で「技術書部門大賞」、「ビジネス書部門大賞」が決定しました。また、各特別ゲストによる「特別賞」も選出しました。ご参加いただいた皆さま、ありがとうございました! Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち 出版社:ラムダノート 監修:株式会社VOYAGE GROUP 編集:和田卓人 投票した理由や感想などみなさんからのコメント 自分が在籍していない場所でのプロジェクトのリアルが覗ける書籍は他にないので、興味しかない。 日本社会のこれからのロールモデルというプレゼンに興味を覚えた。 感想で生々しいという声も多く、具体的な事例

                  ITエンジニア本大賞2021
                • モダンアプリケーション開発ホワイトペーパー(日本語改定版)が公開されました | Amazon Web Services

                  Amazon Web Services ブログ モダンアプリケーション開発ホワイトペーパー(日本語改定版)が公開されました 皆さん、こんにちは! モダンアプリケーション開発スペシャリスト ソリューションアーキテクトの福井です。 私が執筆したモダンアプリケーション開発のホワイトペーパー(日本語版)がAWSホワイトペーパーサイトで公開されましたので、その内容を紹介させて頂きます。このホワイトペーパーは、以前こちらのブログで紹介させて頂いたModern Application Development on AWS(英語版)の日本語版になります。 ホワイトペーパーの内容 公開されたホワイトペーパードキュメントは、「AWS モダンアプリケーション開発 – AWS におけるクラウドネイティブ モダンアプリケーション開発と設計パターン」(日本語版)というタイトルの51ページのドキュメントで、 はじめに

                    モダンアプリケーション開発ホワイトペーパー(日本語改定版)が公開されました | Amazon Web Services
                  • カチッとスイッチを押すタイプの扇風機の「切」ボタン、単純なのに思わず「おぉ!」と感嘆が漏れる賢い仕様だった「驚いた」「天才」

                    セキ技研@FAマシンメーカー @sekigiken ワクワク•ドキドキのメカトロニクスの世界をあなたに/800種以上のロボット搬送機や自動組立設備を開発してきたFAマシンメーカー/中小企業向けにDX情報も発信します⏩/集まれFA設計者&ITエンジニア/高専生応援企業/☺️📲詳しくはYouTubeへ/人にしかできない活動にもっと取り組める社会にする。 sekigiken.co.jp

                      カチッとスイッチを押すタイプの扇風機の「切」ボタン、単純なのに思わず「おぉ!」と感嘆が漏れる賢い仕様だった「驚いた」「天才」
                    • 5歳娘「パパ、変なAPIを作らないで?」 - Qiita

                      とある休日 娘(5歳)「パパ、一緒に技術ブログを始めない?」 娘「昔から私とパパがローカルに書き溜めてる技術記事が、かなり溜まってきたでしょ?」 娘「それをブログとして公開してみようよ」 ワイ「おお、それは楽しそうやな」 ワイ「どこのブログサービスを使おうかいな」 娘「せっかくなら、ブログシステムから自分たちで作ってみようよ」 娘「私はフロントエンドを担当するから」 娘「パパはRuby on Railsか何かで、APIを作ってよ」 ワイ「おお、Ruby on Railsなら昔やったことあるわ」 ワイ「RailsのAPIモードで、ブログ記事を返すエンドポイントを作ればええんやな」 娘「そうそう」 次の日 ワイ「API、できたで!」 ワイ「/api/articlesっていうエンドポイントにアクセスしてくれたら」 ワイ「ブログ記事が取得できるようにしておいたわ」 娘「さすがパパ」 娘「そういえば

                        5歳娘「パパ、変なAPIを作らないで?」 - Qiita
                      • SMBCホームページ、デザインリニューアルの裏側。|SMBC DESIGN

                        こんにちは。デザインチームの八嶋です。2021年3月22日、SMBCのホームページが大幅にリニューアルされました。このホームページリニューアルは、約5年ぶりの大幅リニューアルでページ数は約1500ページにも及ぶ大プロジェクトでした。このプロジェクトはインハウスデザイナーによるホームページのデザインディレクションとデザインチームが作ったデザインシステムによる連携で作られています。ホームページの役割からUIの設計までコアとなる部分をインハウスデザイナーが設計し、多数のパートナー様にもご協力いただき完成させています。(特にトランスコスモス様、ありがとうございます。) 今回のnoteは、ホームページリニューアルチームの一員でもある八嶋が、デザイナーの大塚とプロジェクトマネージャーの髙橋、そして、デザインシステムを担当したデザイナーの金澤にインタビューをしました! ホームページリニューアルを通して、

                          SMBCホームページ、デザインリニューアルの裏側。|SMBC DESIGN
                        • Hiromitsu Takagi on Twitter: "みんな絶対言わないだろから、私が言うしかない。 これはうっかり筆が滑ったというレベルではなく、電子署名の根幹から理解がおかしいことを露呈したもので、このレベルでの無理解は、全体設計への深刻な勘違いを産むし、己の無理解に無自覚であ… https://t.co/FhTeLclir6"

                          みんな絶対言わないだろから、私が言うしかない。 これはうっかり筆が滑ったというレベルではなく、電子署名の根幹から理解がおかしいことを露呈したもので、このレベルでの無理解は、全体設計への深刻な勘違いを産むし、己の無理解に無自覚であ… https://t.co/FhTeLclir6

                            Hiromitsu Takagi on Twitter: "みんな絶対言わないだろから、私が言うしかない。 これはうっかり筆が滑ったというレベルではなく、電子署名の根幹から理解がおかしいことを露呈したもので、このレベルでの無理解は、全体設計への深刻な勘違いを産むし、己の無理解に無自覚であ… https://t.co/FhTeLclir6"
                          • きれいなコードを書けという話について - Software Transactional Memo

                            前回のブログから90日以上経ってしまったので広告が載ってしまったから短文でもアウトプットしておく。 プログラマとして仕事をしているとコードと向き合っている時間の9割以上は既存のコードを読んでいる、だから読みやすさは重要である、という言説は耳にタコができるほど誰もが言っている。 仕事で書かれるコードが誰のレビューも通ること無くマージされている現場は凄惨だが、自分より明らかに経験を積んだ人たちが何度もレビューを重ねたコードが読みやすいかというとそうとは限らない。良いコードが守るべきルールをすべて守っていても不可解なコードはあるし、どんなに読みやすいコードでも数千行の規模になってくるとやはり脳内からこぼれて一度に覚えておける範囲からはみ出る。 変数名や関数名をわかりやすくするとか不必要な技巧を凝らさないとかわかりやすい設計にするとか主観的な事を偉そうに語る本は山ほどあり、それらの本を崇める事は悪

                              きれいなコードを書けという話について - Software Transactional Memo
                            • 全銀システムの大規模障害、「真の原因」明らかに--全銀ネットとNTTデータが発表

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

                                全銀システムの大規模障害、「真の原因」明らかに--全銀ネットとNTTデータが発表
                              • 「無人化システム」を駆逐する組織マネジメントとエンジニアリング

                                弊社では2019年3月ごろから「無人化システム」の駆逐を進めています。本記事ではこの取り組みを、組織マネジメントとエンジニアリングの側面から紹介します。 恐怖の無人化システム 「無人化システム」は社内の独自用語なので、まずは言葉の意味から説明します。 無人化とはなにか 無人化の前に属人化について触れておきましょう。weblio辞書から属人化について引用します[1]。 ある業務を特定の人が担当し、その人にしかやり方が分からない状態になることを意味する表現。 無人化は属人化の進化系です。無人化とは「属人化していた業務の担当者がいなくなってしまい、誰にもやり方が分からない状態になること」と定義できます。誰がどう見てもダメな状態ですね。 無人化システムとはなにか システム運用が属人化し、かつその運用者が退職するとシステムが無人化します。我々の会社ではこのようなシステムを『無人化システム』と呼んでい

                                  「無人化システム」を駆逐する組織マネジメントとエンジニアリング
                                • プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers

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

                                    プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers
                                  • 簡潔で分かりやすい英文を書くためのコツを整理した - Unboundedly

                                    職場で開催されていた「英語が母国語の人たちを対象とした英作文のコース」で学んだことを引き続きまとめます。 前回は英語論文を書く上で、どのような戦略で原稿を書き進めればよいかについて整理しました。 具体的には次の3ステップの順に執筆することで、効率のよいライティングが可能とのことでした。 論文全体の構造・ロジックの流れを決める パラグラフを書く センテンスレベルで文章を洗練させる ステップ1で決めた骨組みにしたがって、ステップ2ではパラグラフライティングのお作法にしたがってとにかく無心で手を動かして文章化していきます。 ここまででドラフト作成はほぼ完了です。 あとは英文を一つ一つ洗練させていくことで、より簡潔で分かりやすい文章を目指していきます。 今回はこの最後のステップ3を掘り下げていきます。 基本的にはコースで紹介されたこちらのテキストに書かれている内容です。 文章としては完結している

                                      簡潔で分かりやすい英文を書くためのコツを整理した - Unboundedly
                                    • やはり俺の情報教科書はまちがっている。 - Qiita

                                      目次 はじめに 個人を特定する情報が個人情報じゃない デジタル署名は暗号化しない TLS(SSL) は共通鍵を公開鍵で暗号化しない TLS(SSL) が使われていれば安全じゃない 変数は箱じゃない Python 等は「ソースコードを 1 行ずつ実行するインタプリタ方式」じゃない 日本語 1 文字は 2 バイトじゃない 動画が動いて見えるのは残像によるものじゃない 標本化定理は「2 倍以上の周波数」じゃない その他いろいろ はじめに 2022 年から高等学校で、プログラミング等を学ぶ「情報Ⅰ」が 必修 必履修科目になりました。1 さらには 2025 年入試から大学入試共通テストでも出題されるようになり、教科「情報」の重要性が高まっています。 これで 2030年に79万人不足すると言われる IT 人材 の問題が解決!…と言いたいところですが、先日も『課題感ある教科1位「情報」』という調査結果が

                                        やはり俺の情報教科書はまちがっている。 - Qiita
                                      • DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる - Qiita

                                        追記 2022/11/12 追記 この記事読んで、DI 便利だなって思ったらこちらも併せて読んでみてください。クリーンアーキテクチャーの開設の中で依存性逆転の説明が出てきます。難しいかもしれませんが、一度理解すればつぶしが効く考え方なので腰を据えて読んでみてください。 本文 ここでは、最近のそこそこの規模のアプリだと大体使われてる(と私は思ってる)Dependency Injection(DI)について、何故使ってるのか?というのを私の理解で書いていきたいと思います。 今回の対象言語は C# ですが、DI 使ってる言語であれば大体同じ事情なのかなと思います。 単体テストしたいよね アプリケーションを作るとうまく動いているかテストをすると思います。 たとえ、そのアプリがハローワールドだとしても動かして目視で確認してると思います。 もうちょっとアプリの規模が大きくなってくるとクラス単位やクラス

                                          DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる - Qiita
                                        • 他人のコードや設計を見て1番これはあり得ないだろと思う実装はありますか?

                                          回答 (9件中の1件目) qmailという、極端にバグが少なく、安全で高速なSMTPのサーバーがあります。いまはシェアを落としていますが、数年間放置しておいても安定して長期間動くので、まだまだ現在も使われています。 the Internet's MTA of choice このCソースはすごいですよ。putsやprintf, fopenなどの標準Cライブラリの関数は安全ではないという理由で使わず、すべてsubstdioという、stdioのサブセットを独自実装しています。こんなことは普通はしないですね。 作者のDJB氏は、プログラムは全部のパターンをテストできなければならない。全部の...

                                            他人のコードや設計を見て1番これはあり得ないだろと思う実装はありますか?
                                          • クックパッドマートの失敗したデータ設計 Before / After 大放出

                                            https://cookpad.connpass.com/event/249346/ にて発表。

                                              クックパッドマートの失敗したデータ設計 Before / After 大放出
                                            • 【メモ】良いDesign Docs(Software Design Document)を書くためのリソース集

                                              自分が良い Design Docs(Software Design Document)を書くために、読んだ/参考になったリソース集 一覧 Design Docs とは Design Docs at Google デザインドック(Design Doc)について デザインドックで学ぶデザインドック 残業も減らせる!? 上級エンジニアになるための Design Doc 超入門 「Design Doc」って何なのか? What Is A Design Doc In Software Engineering? (full example) What is a Design Doc: Software Engineering Best Practice #1 https://github.com/kaiinui/note/blob/master/Design--Designdoc.md Googleの

                                                【メモ】良いDesign Docs(Software Design Document)を書くためのリソース集
                                              • 個人開発・スタートアップで採用すべき最強のアーキテクチャを考えた - Qiita

                                                結論 「アジリティ」「コスト最適化」「スモールな構成」「開発スピード」という観点でWebアプリケーションのアーキテクチャを考えてみました。 ServerlessFrameworkを使い倒す フロントエンドはS3 hosting + CloudFrontで。SSRもLambda@Edgeでできます データベースはRDSは使わずにDynamoDBで APIは基本的にGraphQL。必要に応じてRESTも簡単に追加できるよ。 補足(2022/04/12) 最近個人開発しているこちらのWebサービスはこのアーキテクチャに沿って作られています。 このアーキテクチャでどんなものができるのよ、という視点で見ていただくと面白いかもしれません。 ↓ 背景 アーキテクチャに絶対の正解はない アーキテクチャには絶対の正解はありません。 なぜなら、プロダクトやフェーズによって求められる要件が異なり、それに適したア

                                                  個人開発・スタートアップで採用すべき最強のアーキテクチャを考えた - Qiita
                                                • エンジニアのスキルマップ・テックリードへの途 - 電通総研 テックブログ

                                                  みなさんこんにちは。電通国際情報サービス(ISID) 金融ソリューション事業部の水野です。 これは電通国際情報サービス Advent Calendar 2022の16日目の記事です。 今回は、ISID金融事業部で運用しているスキルマップについてご紹介します。 テックリードとは 実は、ISIDの少なくとも金融事業部にテックリードと言うポジションはありません。 実在するのはチーフアーキテクトと言う職種のみで、各プロジェクトでリードエンジニアやテックリードという仮想的なロールがあるのが実態です。 一時期はフルスタックエンジニアと呼んでいる時期もありましたが、近年このワーディングが好まれない印象なので、大々的に使っていません。 主観ですが、フルスタックエンジニアはインフラ知識/運用系の知識のウェイトが高いエンジニアで、テックリードはソフトウェアアーキテクチャ、Webアプリケーション実装技術寄りのエ

                                                    エンジニアのスキルマップ・テックリードへの途 - 電通総研 テックブログ
                                                  • なぜ型ファーストで考えるのか - 貳佰伍拾陸夜日記

                                                    How do you imagine a building? You consciously create each aspect, puzzling over it in stages. Inception 型なし言語に馴染みはあるものの型付言語をいざ使ってみたらどういう気持ちで書いたらいいのかわからなかったと同僚から相談があり, それをきっかけにして社内の勉強会で以下の話をしました. よく型なし vs. 型付の文脈では「型を書くのは面倒だ」「安全の方が大事だ」「でも面倒だ」「それは型推論を前提にしていないからだ」などの議論になりがちな気がしますが、これはあくまで「計算ありきの型」を考えているからで, 「型ありきの計算」だと全く見え方が違います. 「型はある種の仕様」とおもえば, 型ファーストであることと, 型なし言語でテスト駆動開発(TDD)するときに最初にテストを書くこととは, 同じ

                                                      なぜ型ファーストで考えるのか - 貳佰伍拾陸夜日記
                                                    • あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog

                                                      あけましておめでとうございます! 今年は異世界放浪メシのアニメが放送されるらしいので楽しみなバックエンドの原田 (tomtwinkle)です。 内部で運用しているSQLレビューチェックリストの一部を抽出し思いつきで追記して行った結果、結構な分量になってしまいました。 暇な時でも流し読みして頂けるとありがたいです。 Motivation SQLレビュー観点 大きくSQLが変更される修正の際にはEXPLAINをレビュー内容に加える 検索のキーにINDEXを使用しているか SQL発行回数がN+1(1+N)の構造になっていないか サブクエリを利用したSQLはパフォーマンス要チェック Viewの利用は基本的に禁止 CROSS JOINは禁止 WHERE句で十分に絞った検索をしているか 必要なcolumnだけSELECTしているか レコード数だけ必要な場合にCOUNT用のSQLを発行しているか 集計関

                                                        あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog
                                                      • フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発

                                                        2022年10月1日に開催された #postdev での発表です

                                                          フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
                                                        • ユーザインタフェース設計

                                                          Myersらの1992年の調査によれば、一般的なグラフィカルユーザインタフェース(Graphical User Interface; GUI)アプリケーション開発でコードの48%、実装時間の約半分がユーザインタフェース部分に割かれているといいます。それだけユーザインタフェースの設計は難しいプロセスなのです。 ユーザインタフェース設計で役に立つ基礎理論や評価手法、支援ツールは、人とコンピュータの関係をよりよくしていく学問 Human-Computer Interaction (HCI) で研究、開発されてきました。ただ、こうした知見を体系化されたかたちで学習する機会は(とくに国内では)必ずしも多くありません。 このWebページでは、自分が研究者になるにあたって知っておきたかった基礎的なことを、参考文献を挙げながら紹介します。想定している読者層は HCI を専門にする学生や、ユーザインタフェー

                                                            ユーザインタフェース設計
                                                          • GraphQLを導入する時に考えておいたほうが良いこと | メルカリエンジニアリング

                                                            はじめに こんにちは、ソウゾウSoftware Engineerの@sue71です。連載:メルカリShops 開発の裏側 Vol.2の13日目を担当させていただきます。 以前メルカリメルカリShopsの技術スタックと、その選定理由でBFFの実装にGraphQLを採用していることをお伝えしました。メルカリShopsをリリースしてから約半年たった今、これまでを振り返ってGraphQLサーバーを実装する上での課題やあらかじめ考えておくと良い項目をまとめてみました。また、本記事ではメルカリShopsでGraphQLの実装としてApolloを採用しているため、Apolloの利用が前提の話もいくつか混在しています。予めご容赦ください。 GraphQLの説明や、メルカリShopsの実装方法に関しては以前こちらの記事で紹介しています。こちらも是非ご覧ください。 パフォーマンス課題 GraphQLは、アプリ

                                                              GraphQLを導入する時に考えておいたほうが良いこと | メルカリエンジニアリング
                                                            • メールアドレスをキーにしてID連携を行う設計の危うさ|ritou

                                                              ritouです。このしずかなインターネットにおける初投稿です。 おそらく、このしずかなインターネットのID連携では次のような設計になっていま「した」。問い合わせをさせていただき、対応いただきました。 これまでもQiitaなどで同様の実装例が紹介されていた際にはコメントさせていただいていたものですので、アンチパターンの紹介記事として読んでいただければと思います。 「Googleアカウントでログイン」ではじめると、ユーザーが作成され、Googleから受け取ったメールアドレス([email protected])が設定される 次回から「Googleアカウントでログイン」をすると、Googleから受け取ったメールアドレスでユーザーを参照 試しに、次のような流れで動作を確認してみます。 「Googleアカウントでログイン」でアカウント作成([email protected]) 「メールアドレス変更」

                                                                メールアドレスをキーにしてID連携を行う設計の危うさ|ritou
                                                              • API設計まとめ - Qiita

                                                                はじめに 自分は2021年に新卒でWeb系の開発会社にフロントエンジニアとして入社し2022年で2年目になります。 実務ではReact×TypeScriptを利用したフロント周りとNode.js(Nest)やRailsを用いたバックエンド(API)の開発をしています。 その中で使っていたAPI設計について改めて学び直したのでまとめて行きます。 この記事の対象者 エンジニア初心者から中級者 APIについて学びを深めたい人 この記事の目標 APIについて学ぶ 我流ではなく正しいAPI設計について学ぶ この記事でやらないこと 具体的にコードを用いたAPI設計の書き方の説明に関しては下記の記事で解説をしています。 APIについて APIとは APIは"Application Programming Interface"の略で、直訳すると「アプリケーションを使プログラミングを使ってつなぐ」という意味

                                                                  API設計まとめ - Qiita
                                                                • オワコン大手SIerに学ぶアンチパターン - Qiita

                                                                  軽い読み物としておもしろおかしく読んでください。 はじめて社外の人の仕事を見た 今まで社内の成果物しか目にしてこなかったのですが、ふとしたきっかけで外部ベンダーが作ったシステムを移行することになりました。 会社名を見て、よく知った会社でちょっと安心しました。 「ここなら設計書とかもきちんとしてるだろう、多少古臭くても堅実にやってるんじゃないかな」って思ってました。ええ。 実態は全然違った とんでもない量のExcelが設計書として渡されました。 さすがに設計が専門だけあって設計書の量はすごいなぁ。と思って読んでいるといろいろ察してきました。 正直、「オワコン大手SIer」と呼ぶしかありません。設計しかできないと思っていたのに、何もできないなんて・・・ 実際に自分が見た「オワコン大手SIer」のアンチパターンをご紹介していきます。 自分が多く当てはまっている場合は今すぐ直してください。移行する

                                                                    オワコン大手SIerに学ぶアンチパターン - Qiita
                                                                  • 改めて整理するアプリケーション設計の基本

                                                                    ●発表のアーカイブ動画はこちら:https://youtu.be/4rgGkoyUaZw ●発表の中で紹介しているUdemy講座:https://www.nextskill.co.jp/courses === プログラミングの基礎を学び、アプリケーション開発に実践的に関わり始めると、「MVC」「サービスクラス」「ドメインモデル」「クリーンアーキテクチャ」といった、よく分からない単語に遭遇します。 これはいわゆる「アプリケーションアーキテクチャ」という分野の話で、アプリケーション開発に関わり始めると、誰もが突き当たる壁の一つです。 今回はアプリケーションアーキテクチャを学ぶ最初の一歩として、「MVC」や「3 層アーキテクチャ」などの、基本的な用語の意味や関係性を整理します。 発表者が過去に書いた以下の記事を中心に、+α の内容を加えた発表になります。 ・「ビジネスロジック」とは何か、どう実装

                                                                      改めて整理するアプリケーション設計の基本
                                                                    • Webシステムアーキテクチャの地図を描く構想 - ゆううきブログ

                                                                      この記事は第5回Webシステムアーキテクチャ研究会の予稿です。 はじめに Webサービスにおいては、スマートフォンの普及によるアクセス増加に対してスケーラビリティを持ち、個人向けだけでなく企業向けサービスの可用性の要求に耐えられるようなシステム設計が必要とされている。 さらに、Webサービスが人々の生活に浸透したために、Webサービス事業者はサービスを長期間運用することが当たり前となっている。 その間、新機能開発、ソフトウェアの実行効率化、セキュリティ向上などを目的に、システム管理者は自身が管理するソフトウェア群を更新しつづける必要がある。 このような多様な要求を満たすために、Webサービスを開発・運用するエンジニアには、OSやデータベース、ネットワーク、分散システム、プログラミング言語処理系などのコンピュータ工学における広範囲の基礎知識と、ミドルウェア、オペレーション自動化のためのソフト

                                                                        Webシステムアーキテクチャの地図を描く構想 - ゆううきブログ
                                                                      • Instagramはどうやって3人のエンジニアで1400万人にサービスを提供できるシステムを組み上げたのか

                                                                        Instagramは2010年10月にサービスを開始後、2011年12月までのわずか1年間で1400万人に利用されるほど巨大なサービスに成長しました。こうしたスケールに対応できるシステムを組み上げたのはたった3人のエンジニアだったとのことで、どのように少人数でスケールするシステムを組み上げたのかについて、エキスパートエンジニアのレオナルド・クリードさんが解説しています。 How Instagram scaled to 14 million users with only 3 engineers https://engineercodex.substack.com/p/how-instagram-scaled-to-14-million レオナルド・クリードさんは、Instagramが3人のエンジニアで安定して巨大なサービスを提供できた理由として、下記の3つの原則を守ったからだと述べています

                                                                          Instagramはどうやって3人のエンジニアで1400万人にサービスを提供できるシステムを組み上げたのか
                                                                        • その状態のデザイン考えてなかった! UI Stackってナニ|kana

                                                                          アプリの画面をデザインする際、エンジニアさんに 「なにも登録データがない場合、どう表示しますか」「選択したときの状態ってどんなデザインですか」などと聞かれて 「ウワア考えてなかったすみません、今作ります。。」 (なんて自分はポンコツなんだ、、ウウウ) と、なりたくないですよね。 UI Stackは👆のような状況を回避するのに便利で大事な考え方だと思ったので、言葉の意味を知らない方はぜひ読んでってください! UI Stack アメリカのプロダクトデザイナー Scott Hurff さんが世に出した 「UIの考慮すべき5つの状態」という考え方です 5つの状態 ・Blank State(空っぽの状態) ・Loading State(ローディング状態) ・Partial State(部分達成状態) ・Error State(エラー状態) ・Ideal State(理想状態) 一つ一つ参考を交えな

                                                                            その状態のデザイン考えてなかった! UI Stackってナニ|kana
                                                                          • ソフトウェアアーキテクチャを学ぶために - kawasima

                                                                            いわゆるGoFの23個のデザインパターン。知っておくに越したことはないが、フレームワーク・ライブラリに溶け込みすぎていて、現代では知らないうちに使ってることになるので、余裕があれば。

                                                                              ソフトウェアアーキテクチャを学ぶために - kawasima
                                                                            • 初めての技術選定を頼まれた時に大事だったのは俯瞰的・相対的な考え方だった - MonotaRO Tech Blog

                                                                              背景 お題 技術の差別化 差別化から分かること 情報資産からToBeを考える 俯瞰的・相対的な技術選定 これまでの話から学んだこと 最後に はじめまして、MonotaROでデータエンジニアをやっています、芝本です。 エンジニアのみなさん、技術を使って何か作ってみるのって楽しいですよね。 私は、公私ともに日々物作りに励んでいます。プライベートだと、最近はマイクロフロントエンドについて学んでいます。 技術を使うためには、技術を学ばなければいけません。 プライベートにおいては、好奇心に従って自由に学びますよね。 とりあえずgit cloneして動かしてみたり、書籍を購入して読んでみたりします。 というようにプライベートでは主に次のような選択肢があると思います。 書籍を読んで好きなものを選ぶ 実際に手を動かしてみて好きなものを選ぶ 人に教えてもらって好きなものを選ぶ 基本的にプライベートの場合は何

                                                                                初めての技術選定を頼まれた時に大事だったのは俯瞰的・相対的な考え方だった - MonotaRO Tech Blog
                                                                              • 質とスピード(2020秋100分拡大版) / Quality and Speed 2020 Autumn Edition

                                                                                質とスピード(2020秋100分拡大版) 2020/11/20 @ JaSST'20 Kyushu

                                                                                  質とスピード(2020秋100分拡大版) / Quality and Speed 2020 Autumn Edition
                                                                                • プラットフォームの上でものを作るということ

                                                                                  プラットフォームの上でものを作るということ Amazon EKS Advent Calendar 2019 の最終日です. みなさまご存知の通り、AWS には Amazon ECS と Amazon EKS という2つのコンテナオーケストレーションに関するサービスがあります. ECS は2014年に発表された AWS ネイティブなコンテナオーケストレータ、EKS は OSS のコンテナオーケストレータである Kubernetes をマネージドな形で提供するサービスで、2017年に発表されました. 今日はこの Amazon ECS と Amazon EKS という2つのサービスについての話を書こうと思います. // 読んでくださっているみなさまをミスリードしないための DISCLAIMER 本記事の著者は AWS に勤めています. また、この記事には僕個人の意見や想いも強くこもっています.

                                                                                    プラットフォームの上でものを作るということ