並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 106件

新着順 人気順

anti-patternの検索結果1 - 40 件 / 106件

  • Google TypeScript Style Guide

    // Good: choose between two options as appropriate (see below). import * as ng from '@angular/core'; import {Foo} from './foo'; // Only when needed: default imports. import Button from 'Button'; // Sometimes needed to import libraries for their side effects: import 'jasmine'; import '@polymer/paper-button'; Import paths TypeScript code must use paths to import other TypeScript code. Paths may be r

    • アンチパターンから考えるアプリケーションデザインの理想形|Goodpatch Blog グッドパッチブログ

      デザインパターン (design pattern) とは、過去のデザイナーたちが見つけた経験則的な型に対して名前をつけ、型の再利用性を高めやすくしたものです。ソフトウェアデザインの世界(特に、プログラミングの領域)においてはプログラム構造の設計パターンのことをまさに “デザインパターン” を呼び、これを共通の知識として積極的に取り入れています。 これに対しアンチパターン (anti-pattern) とは、必然的に否定的な結果に至る型を指します。アンチパターンもデザインパターンの一種と捉えこれを知識に蓄えておけば、設計の過程でどのような結果に至るのかを事前に予測することができるし、失敗を未然に防ぐことも可能となります。 今回は、アプリケーションデザインにおける典型的なアンチパターンをいくつか紹介します。 アプリケーションデザインの定義 ここでの「アプリケーションデザイン」の言葉は、以下の意

        アンチパターンから考えるアプリケーションデザインの理想形|Goodpatch Blog グッドパッチブログ
      • React と Vue に関する XSS アンチパターン

        React と Vue.js におけるエスケープ機構と XSS について、簡単なハンズオンを交えて説明していきます。無料で読めますが、お気に召されたらご購入いただけると嬉しいです。

          React と Vue に関する XSS アンチパターン
        • If you’re not using SSH certificates you’re doing SSH wrong

          If you’re not using SSH certificates you’re doing SSH wrongUpdated on: May 20, 2024 SSH is ubiquitous. It's the de-facto solution for remote administration of *nix systems. But SSH has some pretty gnarly issues when it comes to usability, operability, and security. You're probably familiar with these issues: SSH user experience is terrible. SSH user on-boarding is slow and manual. Connecting to ne

            If you’re not using SSH certificates you’re doing SSH wrong
          • Project Googrename: Google Workspace で 14 年運用されたドメインエイリアスをプライマリドメインに変更 & 全ユーザーを安全にリネームする - クックパッド開発者ブログ

            コーポレートエンジニアリング部の id:sora_h です *1。今回は 3 ヵ月ほど前に実施した、Google Workspace テナントのプライマリドメイン変更について、記録を兼ねて説明します。 クックパッドは 2009 年頃 *2 より Google Workspace *3 を利用しています。当社の対外的なメールアドレスは cookpad.com ですが、Google ではプライマリドメインとして cookpad.jp が設定されています。各ユーザーには cookpad.com のアドレスを別名 (エイリアス) として登録されていて、メールアドレスとしては cookpad.com を利用、ただ Google へログインする時だけ cookpad.jp を利用する運用になっていました。想像が出来ると思いますが、これが様々な面で不便・混乱を発生させていました。どうしてこうなった… *

              Project Googrename: Google Workspace で 14 年運用されたドメインエイリアスをプライマリドメインに変更 & 全ユーザーを安全にリネームする - クックパッド開発者ブログ
            • SPA開発とセキュリティ - DOM based XSSを引き起こすインジェクションのVue, React, Angularにおける解説と対策 - Flatt Security Blog

              Vue.js logo: ©︎ Evan You (CC BY-NC-SA 4.0 with extra conditions(It’s OK to use logo in technical articles for educational purposes)) / React logo: ©︎ Meta Platforms, Inc. (CC BY 4.0) / Angular logo: ©︎ Google (CC BY 4.0) はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの森(@ei01241)です。 最近のJavaScriptフレームワークの進化は著しく、VueやReactやAngularは様々なWebサービスに採用されています。そのため、多くのWebサービスがSPAを実装するようになりました。JavaScriptフレームワークは便利な一方で

                SPA開発とセキュリティ - DOM based XSSを引き起こすインジェクションのVue, React, Angularにおける解説と対策 - Flatt Security Blog
              • 「SwiftUIでMVVMを採用するのは止めよう」と思い至った理由 - Qiita

                ※2022/04/23 追記 本記事の続編として、以下の記事を書きましたので、合わせて御覧ください。 仕事でSwiftUIでTCAを使ってみて、かなり知見がたまったので、その解説です。 MVVMからTCAへの移行を考えているのであれば、参考になると思います。 宣言的UIに、MVVMって不要なのでは? iOS開発の現場で、宣言的UIが当たり前に使われるような時代になりました。 SwiftUIの開発体験、素晴らしい です。最高です。 しかし最近、SwiftUIで当たり前のように 「MVVMで開発しよう」 となったときに、 「ほんとにそれでいいんだっけ?」 と疑問に思いました。 自分の考えを深掘ってみると 問い: iOS開発で、宣言的UIにMVVMを採用することは本当にいいんでしたっけ? 結論: 「SwiftUIを使うのであれば、MVVMを採用するのは止めよう」 理由: ViewModelの存在

                  「SwiftUIでMVVMを採用するのは止めよう」と思い至った理由 - Qiita
                • HTML First

                  HTML First is a set of principles that aims to make building web software easier, faster, more inclusive, and more maintainable by... Leveraging the default capabilities of modern web browsers. Leveraging the extreme simplicity of HTML's attribute syntax. Leveraging the web's ViewSource affordance. Goals The main goal of HTML First is to substantially widen the pool of people who can work on web s

                    HTML First
                  • AI Project Management Anti Pattern

                    Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤

                      AI Project Management Anti Pattern
                    • Fragment をコンポーネントのトップに置くのはアンチパターンではないかと考える | stin's Blog

                      Fragment をコンポーネントのトップに置くな「Fragment をコンポーネントにトップに置く」というのは下のようなコンポーネントを作成することを指します。 export const MyComponent = () => { return ( <> <h1>This is a sample code.</h1> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Dui

                        Fragment をコンポーネントのトップに置くのはアンチパターンではないかと考える | stin's Blog
                      • React における XSS|React と Vue に関する XSS アンチパターン

                          React における XSS|React と Vue に関する XSS アンチパターン
                        • Goでインメモリキャッシュを取り扱う時にハマった話 - Gunosy Tech Blog

                          こんにちは、Gunosy Tech Labの片木(@jkatagi)です(普段はGunosyデータ分析ブログの方に生息しています)。 本記事では社内のとあるAPI(Go製)の改修をしていたときに遭遇したインメモリキャッシュの落とし穴について共有します。 普段からGoを書いている人にとっては当たり前のことかもしれませんが、アンチパターンとして共有できれば幸いです。 落とし穴にハマるGopherくん 要約 APIのアーキテクチャについて なにが起きたのか なぜ起こったのか 単体テストでは気づけなかったのか どう解決したか おわりに 要約 長くなるので最初に要約しますと 当該APIでインメモリキャッシュとして構造体のスライスを格納していた キャッシュしている値を変えてしまうとキャッシュ元も変わってしまう という事態が発生しました。 ですのでインメモリキャッシュを使う時は対象の値が変更されないこと

                            Goでインメモリキャッシュを取り扱う時にハマった話 - Gunosy Tech Blog
                          • 偽の ID (識別子) のアンチパターン

                            こんにちは、Azure Identity サポート チームの 高田 です。 本記事は、2023 年 6 月 20 日に米国の Azure Active Directory Identity Blog で公開された The False Identifier Anti-pattern を意訳したものになります。ご不明点等ございましたらサポート チームまでお問い合わせください。 本日は、ID の世界における危険なアンチパターンである 偽の ID (識別子) のアンチパターン を取り上げます。アンチパターン とは、繰り返し発生する問題に対する一般的な対応策のことで、こういった問題は多くが悪い結果をもたらし、想定と反対の結果をもたらすリスクとなるものです。パスワードのアンチパターン も聞いたことがあるかもしれません。本日お話しする内容は、もしかしたらより危険なパターンかもしれません。 偽の ID (

                              偽の ID (識別子) のアンチパターン
                            • AWS Dev Day 2023 Tokyo - ブレイクアウトセッション 資料まとめ - サーバーワークスエンジニアブログ

                              2023/06/22(木), 23(金) の2日間、AWS Dev Day 2023 Tokyoが開催されています。 aws.amazon.com みなさん、参加されていますか? 私も CfP (Call for Proposals) を提出していたんですが、残念ながら落選してしまいました。6倍近い倍率でした。去年と比べても非常に応募数が多く、大盛況ぶりがここからもわかりますね...!(来年こそは登壇側で参加したいものです) github.com 自分は仕事の予定が被っていたこともあり一部だけ参加者として視聴してきました。リアルタイムでは拾いきれなかった・解釈しきれなかった情報も結構あったので、後から資料見つつ掘り下げたいなと思ってます。 そういうモチベで自分自身が後からゆっくり見返したいなと思ったので、まとめとして一般公募なブレイクアウトセッションを、2023/06/22 20:00 頃

                                AWS Dev Day 2023 Tokyo - ブレイクアウトセッション 資料まとめ - サーバーワークスエンジニアブログ
                              • An Opinionated Guide to xargs

                                Preliminaries What Is xargs? It's an adapter between text streams and argv arrays, two essential concepts in shell. You pass it flags that specify how to split stdin. Then it generates arguments and invokes processes. Example: $ echo 'alice bob' | xargs -n 1 -- echo hi hi alice hi bob What's happening here? xargs splits the input stream on whitespace, producing 2 arguments, alice and bob. We passe

                                • How Google SRE and Developers Collaborate - IT Revolution

                                  July 12, 2022 How Google SRE and Developers Collaborate This post was adapted from the paper “How Google SRE and Developers Collaborate by Christof Leng, Tracy Ferrell, Alex Bligh, Michal Gefen, Betsy Beyer with help from Salim Virji from the Spring 2022 DevOps Enterprise Journal. Google’s Site Reliability Engineering (SRE) team is a specialist engineering organization focused on designing, buildi

                                    How Google SRE and Developers Collaborate - IT Revolution
                                  • What We Learned from a Year of Building with LLMs (Part I)

                                    Join the O'Reilly online learning platform. Get a free trial today and find answers on the fly, or master something new and useful. Learn more It’s an exciting time to build with large language models (LLMs). Over the past year, LLMs have become “good enough” for real-world applications. The pace of improvements in LLMs, coupled with a parade of demos on social media, will fuel an estimated $200B

                                      What We Learned from a Year of Building with LLMs (Part I)
                                    • SWCとRelease Pleaseで始めるReact TypeScriptライブラリ開発と公開 - BASEプロダクトチームブログ

                                      こんにちは。Pay ID Devの大木 (@roothybrid7)です。 今回外部スクリプトとして読み込み利用する外部SDKを、Reactに組み込むためのラッパーライブラリを作ったので、その開発事例を紹介します。 今回、SWC(Speedy Web Compiler)やRelease Pleaseを利用して開発したので、主にそれらをどう使ったのかを紹介いたします。 背景 去年12/16に開催しましたオンラインイベント「BASE Tech Talk #1 〜Next.jsを使ったカート大規模リプレイスPJの裏側〜」の通り、BASEカートシステムのFrontendアプリケーションは、Next.jsで動作してます。 さて、アプリケーションでは、Amazon PayやPayPalなど様々な外部の決済サービスを利用しており、それらのJavaScript SDKをいくつか利用しています。 これらのS

                                        SWCとRelease Pleaseで始めるReact TypeScriptライブラリ開発と公開 - BASEプロダクトチームブログ
                                      • Operating Lambda: Anti-patterns in event-driven architectures – Part 3 | Amazon Web Services

                                        AWS Compute Blog Operating Lambda: Anti-patterns in event-driven architectures – Part 3 In the Operating Lambda series, I cover important topics for developers, architects, and systems administrators who are managing AWS Lambda-based applications. This three-part section discusses event-driven architectures and how these relate to Lambda-based applications. Part 1 covers the benefits of the event-

                                          Operating Lambda: Anti-patterns in event-driven architectures – Part 3 | Amazon Web Services
                                        • 4 Pandas Anti-Patterns to Avoid and How to Fix Them

                                          pandas is a powerful data analysis library with a rich API that offers multiple ways to perform any given data manipulation task. Some of these approaches are better than others, and pandas users often learn suboptimal coding practices that become their default workflows. This post highlights four common pandas anti-patterns and outlines a complementary set of techniques that you should use instea

                                            4 Pandas Anti-Patterns to Avoid and How to Fix Them
                                          • Page Object Patternを使うな、というCypress公式記事を読んで思ったこと - Qiita

                                            ※この記事はただの集団 Advent Calendar 2019の11日目の記事です。 はじめに 若干過激なタイトルにしたことを最初にお詫びします。 正確には以下の記事を読んで思ったことです。 Stop using Page Objects and Start using App Actions Page Objectsを使うのはやめて、App Actionsを使おう (著者訳) 引用元はCypressの公式ブログです。 全編英語なので、「読むの面倒くさいよぅ」という方には、本記事が内容理解に役立つかもしれません。 Summary 1.前提 2.Page Object Pattern推奨派の主張 3.Page Object Pattern否定派の主張 4.記事を読んで思ったこと 5.最後に 説明の都合上、まずPage Object Pattern推奨派の考え方を簡単に説明し、その後にPag

                                              Page Object Patternを使うな、というCypress公式記事を読んで思ったこと - Qiita
                                            • A *magical* AWS serverless developer experience

                                              A common question developers bring up when wanting to develop serverless and cloud native applications is: what will the developer experience be like? It is an important question as a good developer experience with a quick feedback loop results in happier and more productive developers who are able to ship features rapidly. Since we’re building Plain to be intentionally small, an outstanding devel

                                                A *magical* AWS serverless developer experience
                                              • NEW – Using Amazon ECS Exec to access your containers on AWS Fargate and Amazon EC2 | Amazon Web Services

                                                Containers NEW – Using Amazon ECS Exec to access your containers on AWS Fargate and Amazon EC2 Today, we are announcing the ability for all Amazon ECS users including developers and operators to “exec” into a container running inside a task deployed on either Amazon EC2 or AWS Fargate. This new functionality, dubbed ECS Exec, allows users to either run an interactive shell or a single command agai

                                                  NEW – Using Amazon ECS Exec to access your containers on AWS Fargate and Amazon EC2 | Amazon Web Services
                                                • Search Engineering Newsletter vol.10

                                                  節目となる 10 回目のニュースレター配信です。 今回のイチオシ記事は ABEJA さんの「GPT モデルへの道のり」とメルカリさんの「お手軽な検索 API 構築」記事です。 Search#How we’re improving search results when you use quotes - GoogleGoogle、引用符による完全一致検索結果をフレーズを中心に表示するよう改善 - PC Watchダブルクォートを使った完全一致検索を行う際に、web ページのヘッダーや URL などは検索対象外になることで、Google の Web 検索体験を改善した。 厳格なテスト – Google 検索の仕組み Google 検索がどのようにテスト・評価を行っているか。 2021 年に、約 4000 件の変更、約 11000 件の AB テストを行っているらしく驚き。 簡単に逆算しても月間

                                                    Search Engineering Newsletter vol.10
                                                  • Reactのkey propに配列のindexを使うことが良くない理由

                                                    始め Reactのmapを使う時、keyエラーをなくすためindexを使ったことがあります。しかし最近それがanti-patternだということを知りましたので、その理由をまとめました。 1. keyの存在意義 1-1. keyってなんだっけ そういえばそもそもkeyって何で必要だったけ…?と、ふいと思ってしまいました。何となくは知ってますが、明確にしたいのでこの部分から始めましょう。 まずはこのサンプルコードをご覧ください。 export default function App() { let fruits = [{ name: "apple" }, { name: "banana" }, { name: "pear" }]; return ( <div className="App"> {fruits.map((fruit) => ( <p>{fruit.name}</p> ))}

                                                      Reactのkey propに配列のindexを使うことが良くない理由
                                                    • Why Tailwind Isn't for Me

                                                      March 2022 Update: Well the JIT is now the default way of managing Tailwind output generation, so that's cool. Unfortunately, Tailwind's purview has only grown in directions that are breathtaking in their weirdness. I remain as dubious of TW as ever, and in fact have started writing a course specifically designed to teach people how to switch away from Tailwind and use the best of today's "vanilla

                                                        Why Tailwind Isn't for Me
                                                      • Code Red: The Business Impact of Code Quality– A Quantitative Study of 39 Proprietary Production Codebases

                                                        Code Red: The Business Impact of Code Quality – A Quantitative Study of 39 Proprietary Production Codebases Adam Tornhill CodeScene Malmö, Sweden adam.tornhill@codescene.com Markus Borg RISE Research Institutes of Sweden Lund University Lund, Sweden markus.borg@ri.se ABSTRACT Code quality remains an abstract concept that fails to get traction at the business level. Consequently, software companies

                                                        • DevOpsバグフィルターでテストへの理解を深めよう|グロービス・デジタル・プラットフォーム

                                                          テストは大事と言われても全然ピンとこない……。テストの話をいくらしてもわかってもらえない……。その悩み、DevOpsバグフィルターで一挙解決!? ※この記事では、一部「バグ(虫)」を模したイラストおよび説明が用いられています。非常にわかりやすいモデルではありますが、お食事中にはご覧にならないことをお勧めします。結論ファーストこの記事で何を語っているかを素早く知りたい、忙しい方のために、サマリーを載せておきます。しかし、おそらく一瞥しただけではまったく意味がわからないと思いますので、ぜひ本文もお読みくださればと存じます。 テストピラミッドはシンプルなモデルであり、広く使われてきたが、その反面、有効性に疑問を呈するテスターも存在する。Noah Sussmanのバグフィルターは、そんなテストピラミッドへの批判と再考の流れから生まれたものである。これをベースに、Katrina Clokieが改良・

                                                            DevOpsバグフィルターでテストへの理解を深めよう|グロービス・デジタル・プラットフォーム
                                                          • iOS Performance tips you probably didn't know (from an ex-Apple engineer)

                                                            iOS Performance tips you probably didn't know (from an ex-Apple engineer) If you’d like to stay up to date with articles about Cocoa development and bootstrapping a software business, follow me on Twitter or sign up to the mailing list. As developers, good performance is invaluable to surprise and delight™ our users. iOS users have high standards, and if your app is sluggish or crashes under memor

                                                            • The False Identifier Anti-pattern

                                                              Today, we’d like to highlight a dangerous anti-pattern in the identity world: the false identifier anti-pattern.  An anti-pattern is a common response to a recurring problem that’s usually ineffective and risks being highly counter-productive. You may have also heard of the password anti-pattern. Today's discussion represents a possibly even more dangerous practice. The false identifier anti-patte

                                                                The False Identifier Anti-pattern
                                                              • Anti-Patterns - PagerDuty Incident Response Documentation

                                                                Home Getting Started On-Call Being On-Call Who's On-Call? Alerting Principles Before an Incident What is an Incident? Severity Levels Different Roles Call Etiquette Complex Incidents During an Incident During an Incident External Communication Guidelines Security Incident After an Incident After an Incident Postmortem Process Postmortem Template Effective Postmortems Crisis Response Crisis Respons

                                                                  Anti-Patterns - PagerDuty Incident Response Documentation
                                                                • Maximizing Developer Effectiveness

                                                                  Technology is constantly becoming smarter and more powerful. I often observe that as these technologies are introduced an organization’s productivity instead of improving has reduced. This is because the technology has increased complexities and cognitive overhead to the developer, reducing their effectiveness. In this article, the first of a series, I introduce a framework for maximizing develope

                                                                    Maximizing Developer Effectiveness
                                                                  • What I learned working with a senior engineer as a new grad: TK's website

                                                                    A summary of what I learned about software development working with a senior software engineer with far more experience than me. Over the past few months, I've been working on a new project with Chet Corcos, the first engineering hire at Notion. Chet has been a professional engineer for 6 years and helped build Notion from the ground up. For contrast, I graduated from school in May 2021. I've been

                                                                    • BigQuery アンチパターンレコメンデーションツールで、パフォーマンスの悪い SQL を使っていないか確認してみる。 | DevelopersIO

                                                                      BigQuery アンチパターンレコメンデーションツールで、パフォーマンスの悪い SQL を使っていないか確認してみる。 こんにちは、みかみです。 本州も梅雨入りの季節になってまいりましたが、沖縄はそろそろ梅雨明けです! やりたいこと BigQuery で実行している SQL のパフォーマンスチューニングをしたい BigQuery のアンチパターン SQL を使っていないか確認したい どんな DWH を使うにしろ、SQL チューニングは避けて通れない道ではないかと思います。 実行計画確認して、データ処理エンジンの思想に思いを馳せて・・・。 というのも、特に顕著な改善効果が得られた時にはこの上ない喜びを感じられる作業ですが、SQL が複雑だったり、大量の SQL を確認しないといけない場合は、心折れそうになる場合もあります。 BigQuery でも、クエリプランを確認しながら SQL をチュ

                                                                        BigQuery アンチパターンレコメンデーションツールで、パフォーマンスの悪い SQL を使っていないか確認してみる。 | DevelopersIO
                                                                      • Why Not document.write()? – CSS Wizardry

                                                                        10 January, 2023 Why Not document.write()? Written by Harry Roberts on CSS Wizardry. Table of Contents What Makes Scripts Slow? The Preload Scanner document.write() Hides Files From the Preload Scanner What About Async Snippets? document.write() Executes Synchronously Is It All Bad? Early document.write() Late document.write() It Gets Worse… Avoid document.write() If you’ve ever run a Lighthouse t

                                                                          Why Not document.write()? – CSS Wizardry
                                                                        • Breaking Up with SVG-in-JS in 2023

                                                                          Please don't import SVGs as JSX. It's the most expensive form of sprite sheet: costs a minimum of 3x more than other techniques, and hurts both runtime (rendering) performance and memory usage. This bundle from a popular site is almost 50% SVG icons (250kb), and most are unused. SVGs in JS have a cost and SVGs do not belong into your JS bundle. It’s about time to bring back SVG-in-HTML. Let’s take

                                                                            Breaking Up with SVG-in-JS in 2023
                                                                          • Please stop using CDNs for external Javascript libraries

                                                                            I want to discuss a (minor) antipattern that I think is (slightly) harmful. Lots of websites use large Javascript libraries. They often include them by using a 3rd party Content Delivery Network like so: HTML<script src="https://cdn.example.com/js/library-v1.2.3.js"></script> There are, supposedly, a couple of advantages to doing things this way. Users may already have the JS library in their cach

                                                                              Please stop using CDNs for external Javascript libraries
                                                                            • AWS Observability Best Practices

                                                                              Home Home Guides Data types Tools Curated recipes FAQ Contributors What is observability¶ What it is¶ Observability is the capability to continuously generate and discover actionable insights based on signals from the system under observation. In other words, observability allows users to understand a system’s state from its external output and take (corrective) action. Problem it addresses¶ Compu

                                                                              • 複数のdocker-compose間で通信する

                                                                                異なるdocker-composeで動く環境に接続したくなったので調べてみました。 準備 まず、以下のようなdocker-compose.ymlで定義された2つの環境があるとします。 . ├── app_a │ ├── app/... │…

                                                                                • アジャイルは日本で本当に定着しているか?:第1回 | IT Leaders

                                                                                  IT Leaders トップ > テクノロジー一覧 > システム構築/プロジェクトマネジメント > 本当にアジャイルになるための処方箋 > アジャイルは日本で本当に定着しているか?:第1回 システム構築/プロジェクトマネジメント システム構築/プロジェクトマネジメント記事一覧へ [本当にアジャイルになるための処方箋] アジャイルは日本で本当に定着しているか?:第1回 2024年9月4日(水)保坂 隆太(Gran Manibus CTO兼マネージングディレクター) リスト 「アジャイル(Agile)」の必要性と必然性は、テクノロジー関連の仕事に携わる人々の間で認知されているが、その実践・活用となると十分に進んでいるとは言いがたい。アジャイルはこれからの社会を築く中核であり、進化するテクノロジーを活用する唯一の方法であり、その定着は極めて重要である。本連載では、北米と日本の経験を基に、日本でア

                                                                                    アジャイルは日本で本当に定着しているか?:第1回 | IT Leaders