タグ

ブックマーク / qiita.com (1,697)

  • 顧客が本当に必要だったもの (Tree Swing Cartoon) - Qiita

    「顧客が当に必要だったもの」。 画像はリンクより引用。元ネタはもちろん英語なのだが英語では「顧客が当に必要だったもの」ではなくて何と呼ばれているのかで迷ったのでその答え。(What customers want とかではない) Tree swing cartoon "Tree swing cartoon" という。 は冒頭のリンクにも紹介されているページ。以下はWikipedia。 (ざっくりとした翻訳) Tree Swing Cartoon とは、製品開発における分業のコミュニケーションの落とし穴を説明するためのユーモラスな図解である。 木に取り付けられたタイヤのブランコを各部門がどのように実装・表現しているか、そしてそれが顧客の意図したものとどのように異なっているかを描いている。また、ソフトウェア開発のウォーターフォールモデルの説明にも使われている。 この漫画の起源は少なくとも60

    顧客が本当に必要だったもの (Tree Swing Cartoon) - Qiita
    suginoy
    suginoy 2024/08/21
    “英語圏の「顧客が本当に必要だったもの」情報をググりたいときは "Tree Swing Cartoon" または "Tree Swing"。あるいは "How Project Really Work"、という呼ばれ方をすることもある。”
  • 可読性の高いコードを書くための実践ガイド - Qiita

    はじめに ソフトウェア開発において、コードの可読性はプロジェクトの成功に直結する重要な要素です。読みやすいコードは、メンテナンスや拡張を容易にし、チーム全体の生産性を向上させます。 しかし、「読みやすいコード」 の定義は人によって異なります。個々のスタイルや好みによって解釈が分かれることもあるでしょう。それでも、できる限り多くの人にとって理解しやすいコードを書くことが、プロフェッショナルとしての責任です。このガイドでは、そんな読みやすさを意識した具体的なテクニックなどを紹介していきます。「もう知ってるよ!」と思った方も、今一度できているかを確認してみてください。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 注意点 こ

    可読性の高いコードを書くための実践ガイド - Qiita
    suginoy
    suginoy 2024/08/20
    書籍のまとめを会社の名義で発表するのはやめた方がいいのでは…
  • GraphQLは「オワコン」「流行らない」のか? - Qiita

    はじめに 今回はタイトルの通り、「GraphQLは「オワコン」「流行らない」のか?」という問に対して、個人的に調査した内容となります。 今回のタイトルで記事を書くことにしたのは、Googelの検索フォームに「GraphQL」と入力したところ、サジェストに「Graphql 流行らない」「Graphql オワコン」と表示されたことがきっかけです。 (試しにシークレットモードで入力してもサジェストされるので、私の検索履歴などのパーソナル情報によるバイアスはかかっていないはずです) 「Graphql オワコン」での検索結果TOPに「GraphQLはオワコンですか?これからはtRPCの時代ですか?REST APIの位置づけは何ですか?」というページがあったので読んでみました。 回答者はNodejsユーザグループ代表の古川さんで「GraphQLをオワコンと称するにはまだ早い」と回答されています。 私も

    GraphQLは「オワコン」「流行らない」のか? - Qiita
    suginoy
    suginoy 2024/05/09
  • インデックスを理解したい - Qiita

    はじめに みなさんはDBのインデックスを正しく使えていますか? 私はなんとなく「DBのパフォーマンスを向上するためのもの」という認識はあったのですが、 どのような場面で使うものなのか、逆にどのような場面では使うべきでないのかなど 明確に理解できていませんでした。 今回はそんなインデックスについての理解を深めたいと思います。 インデックスとは インデックスとは、その名の通り「索引」です。 表現の仕方と変えると、(x, a)という形式の配列であるとも言えます。 xというキー値とそれに結びつくaというデータ情報があり、 これを利用することですべてのデータを網羅して見ることなく、 まさにの索引のように目的のデータにたどり着くことができます。 インデックスはSQLのパフォーマンスを改善するための非常にポピュラーな手段であり、 理由としては下記の3点が挙げられます。 アプリケーションのコードに影響を

    インデックスを理解したい - Qiita
    suginoy
    suginoy 2024/03/20
    IS NULL の話は古いのではないかな。
  • rubyの配列に非破壊的に値を結合する方法 - Qiita

    配列に対して破壊的に追加する書き方は良く見るので、非破壊的に追加する方法がなかったので、書いておきます。 前提条件

    rubyの配列に非破壊的に値を結合する方法 - Qiita
    suginoy
    suginoy 2023/09/20
    1メソッドでやる方法がないのが意外
  • クロスブラウザに対応したオートコンプリート付き入力フォーム - Qiita

    ※都道府県と市区は試していません ※住所は並び順も影響します iOSのSafariで起きた不思議な出来事と仕様 ・autocomplete属性に無効な値("nope"など)を指定しても無視された ・建物名・部屋番号のautocomplete属性に"address-line2"を指定してもaddress-line1が入った ・住所のname属性をhome_address1とhome_address2から、address1とaddress2にすると建物名・部屋番号が空欄になった ・URLの項目のname属性をweb_site_addressにするとstreetaddressが自動入力された Chromeで起きた不思議な出来事と仕様 ・電話番号の項目のnameにnumberを含めると先頭の0や国番号が消える(数値形式になるのかも) ・氏名の項目のnameにcontactを含めると先頭の文字が消え

    クロスブラウザに対応したオートコンプリート付き入力フォーム - Qiita
    suginoy
    suginoy 2023/07/11
  • curl option 覚え書き - Qiita

    curl コマンド、ちょくちょく使うけどオプション忘れてまう ってことで備忘録 -o <file>: ダウンロードしたデータをファイルとして保存 long option は --output curl で URL 叩いて、ファイル名を指定してダウンロードしたいときは 小文字 の o。 wgetだと 大文字 の -O でダウンロードファイルの指定になるから毎回迷う。やってられん。 curl は 小文字 で指定。 ちなみに wget で小文字の -o はログファイルの指定。やってられん。 -O: 指定した URL の内容をそのままファイルとしてダウンロード long option は --remote-name ...は? この記事を参照してくださってた記事で書いてあったオプション← 上で紹介した -o のように、このオプションを使ってもファイルダウンロードになる。 た・だ・し! このオプショ

    curl option 覚え書き - Qiita
    suginoy
    suginoy 2023/07/03
  • Railsで利用するgem達を俺色に染めてやる! - Qiita

    RubyonRailsで開発していると様々なgemを組み合わせてプロダクトを作っていきます。 しかし、Railsのレールに乗って開発しているときはいいんですが、ちょっと変わったことや自分達の独自実装を加えたいときに利用しているgemをカスタマイズしたいことがたくさん出ていきます。 ただ、gemをfolkしてカスタマイズしたりすると将来のアップデート時に辛くなることが目に見えているので今回はそれをせずにgemをカスタマイズしていく方法を紹介します。 カスタマイズしたいClass, Module等をコピーする。 一番簡単な方法はgemの中にあるカスタマイズしたいClassやModuleをコピーして再定義してしまうことです。 今回はdoorkeeperというgemのDoorkeeper::Request::Passwordというクラスをカスタマイズしていきます。ちなみにバージョンは1.4を使って

    Railsで利用するgem達を俺色に染めてやる! - Qiita
  • Sidekiq・Sidekiq-Cronの導入 - Qiita

    Sidekiq・Sidekiq-Cronを導入して定期実行のバッチを管理する機構を作った記事を書きます! 概要 定期実行バッチを管理するためにsidekiq、sidekiq cronを導入 https://github.com/mperham/sidekiq https://github.com/ondrejbartas/sidekiq-cron Sidekiqの前提をまとめておく RailsとSidekiqはRedis(同じエンドポイント)に対してJobをenqueue/dequeueするため、双方からアクセスする構成です。 Active Job は Rails におけるバックグラウンドジョブを動かすための共通インタフェース RailsのActive Jobで提供されるのはジョブをメモリに保持するインプロセスのキューイングシステムだけなので、 Rails を再起動するとジョブは全て消失(

    Sidekiq・Sidekiq-Cronの導入 - Qiita
  • Sidekiq の Server プロセス内でバックグラウンド処理をするケースの手法を見てみた - Qiita

    Sidekiq の Server プロセス内でバックグラウンド処理をするとは Sidekiq は Client Side (Worker#perform_asyn を呼び出す方) と Server Side (スレッドベースで動作し Worker#perform を実行する方) の 2 つで構成されています。 Server Side の方はそれ自身がプロセスとして動作しており、そのプロセス内でさらにバックグラウンド処理を行っている拡張がいくつか存在します。 私が知るものの多くは「定期実行」と「cron のようなスケジュール」に関するものです。 ここでは、それらの拡張を見ていきながら、どういう手法でバックグラウンド処理を実施しているのかを見ていきます。 cron 処理に関するもの Sidekiq 家としては Ent Periodic Jobs - sidekiq wiki 上記の Ente

    Sidekiq の Server プロセス内でバックグラウンド処理をするケースの手法を見てみた - Qiita
    suginoy
    suginoy 2023/04/28
  • apk --updateという引数はない - Qiita

    はじめに 軽量なDockerイメージを作るときに重宝されるAlpine Linuxのパッケージマネージャであるapk、そのapkでパッケージをインストールするときにつかう apk コマンド、その引数に --update というものがあると思っている人はいないでしょうか。何を隠そう私がその一人でした。 今日なんかいいオプションないかなと何気なく apk add --help を見てたところ、あると思いこんでいた --update がないことに気付きました。 ちなみに下記が執筆時点で最新のAlpine Linux 3.9での apk add --help の実行結果です。 apk add --helpの出力結果 (クリックで開きます) # apk add --help apk-tools 2.10.1, compiled for x86_64. usage: apk add [-h|--hel

    apk --updateという引数はない - Qiita
    suginoy
    suginoy 2023/04/10
    インターネットミームだ “最初に誰かが間違えたのが出回ってる”
  • ArchiveBox + Pocket + Fessで作る、いつでもどこでもマイ魚拓(全文検索付き) - Qiita

    この記事は NTTコミュニケーションズ Advent Calendar 2019 の11日目の記事です。 昨日は @koki-sato さんの 作業手順書を docsify で作成する でした。 はじめに セキュリティ脅威を分析する際にOSINT(Open Source INTelligence)と呼ばれる手法が用いられることがあります。OSINTとは公開されている情報源を用いた情報収集・分析活動のことで、その主たる情報源はインターネット上で公開されている記事やSNS、脅威フィードなどです。 OSINTの活用例としては、OSINTで集めた痕跡情報を参考にしてインシデントレスポンス時に発見したURLやファイルが悪性であるかを判断することなどがあります。 日々情報収集をしていると以下のような課題に直面します。 元情報がどこにあったか分からなくなる 溜め込んだ情報が多すぎて見つけられなくなる マ

    ArchiveBox + Pocket + Fessで作る、いつでもどこでもマイ魚拓(全文検索付き) - Qiita
    suginoy
    suginoy 2023/04/04
  • ActiveJobで実装したデータ取り込みジョブを2.2倍高速化した - Qiita

    PubAnnotationという文章への注釈を管理するWebアプリケーションがあります。 このアプリケーションには注釈のついた文章データを一括アップロードする機能があります。 7万文章をアップロードすると7時間掛かります。この処理を高速化するために工夫しました。 PubAnnotationはRuby on Railsで実装されたWebアプリケーションです。 一括アップロード機能は、ActiveJobで実装され、Sidekiqで実行されているバッチ処理です。 結果 最初に結果を示します。 文章をアップロードしたときの平均アップロード数です。 文章によってデータ量がちがいます。2000~2500程度の文章をアップロードして平均を取りました。 縦軸が1秒当たりのアップロード文章数です。横軸はアップロードした文章数です。 次の三つの修正をしました キャッシュの導入 (x1.14) INSERTクエ

    ActiveJobで実装したデータ取り込みジョブを2.2倍高速化した - Qiita
  • MySQL闇歴史のカレンダー | Advent Calendar 2022 - Qiita

    edit_calendarHow to join the calendarYou can join the calendar by selecting an available date and registering the URL of the article you wish to link to. If a slot is available, you can go back to a past date to join!

    MySQL闇歴史のカレンダー | Advent Calendar 2022 - Qiita
    suginoy
    suginoy 2022/12/15
  • 【2022年最新版】3,000人に聞いたWebエンジニアの業務委託単価相場について - Qiita

    こんにちはISSUEを運営している寒河江です。 今回は情報の少ないWebエンジニアの業務委託単価相場について調べてみました。 現在の単価が適正単価なのか、次の単価レンジに行くにはどうすればいいか。ISSUEの実績をふんだんに使い記事を書いてみたのでご一読いただけると幸いです。 オリジナルの記事はこちら ISSUE DB 3,000人の実績データから相場を作成 現在(2022年11月)ではISSUE上に1,800人以上のユーザーデータと2,000以上の単価診断結果があります。またISSUEではクラウドソーシング形式で企業とマッチングすることにより、報酬を獲得することができます。その際の契約時給単価を参考に今回の相場作成の参考にしています。ISSUE上でもリアルタイムの単価相場を確認できますのでご参考ください。 Webエンジニアの業務委託単価相場 わかりやすいように各業務委託単価とその技術能力

    【2022年最新版】3,000人に聞いたWebエンジニアの業務委託単価相場について - Qiita
    suginoy
    suginoy 2022/11/18
    聞かれてません。
  • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

    はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見

    シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
    suginoy
    suginoy 2022/11/07
  • シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita

    はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?

    シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita
    suginoy
    suginoy 2022/09/28
    なぜか京大スパコンのファイル消失事故が思い出される。
  • [いわゆる退職エントリ] Microsoft を辞めることにしました(あるいはサポートエンジニア → Product Marketing Manager になるまでなど) - Qiita

    [いわゆる退職エントリ] Microsoft を辞めることにしました(あるいはサポートエンジニア → Product Marketing Manager になるまでなど)退職エントリ 皆さんごきげんよう。ういこうと申します。 これまで日マイクロソフト株式会社で Azure のフロントエンド領域を中心としたサービスの Product Marketing Manager をしておりましたが、6/30 日をもって退職することとなりました。 きっと Microsoft 界隈以外では、あなたどなた?という感じだと思いますので、少し自己紹介と、退職エントリ(のようなもの)を書くことにした理由を紹介させてください。ちょっと、いや...かな~り長いので、おやつでもべながら読むものがないなーというときや、今エンジニアなんだけど、マーケティングなど、テクニカル ロール外の職種に転換しようと思ってる、あるい

    [いわゆる退職エントリ] Microsoft を辞めることにしました(あるいはサポートエンジニア → Product Marketing Manager になるまでなど) - Qiita
  • Rails6 のちょい足しな新機能を試す59(ActiveRecord where編) - Qiita

    はじめに Rails 6 に追加されそうな新機能を試す第59段。 今回は、 ActiveRecord where 編です。 Rails 6 は、ActiveRecord の where がRuby 2.6 で導入された開始のない Range に対応しました。 Ruby 2.6.3, Rails 6.0.0.rc1 で確認しました。Rails 6.0.0.rc1 は gem install rails --prerelease でインストールできます。

    Rails6 のちょい足しな新機能を試す59(ActiveRecord where編) - Qiita
  • SEOに強いTypeScript入門記事がミスリードを招いていて絶望しかけた - Qiita

    TypeScriptとは」などシングルワードの検索結果に強いTypeScript入門記事の多くに、誤解を招く内容があることを確認しています。 以下にあげる記事を参考にされた方は情報のアップデートをしていただきたいですし、記事を公開しているメディアにおきましては内容を見直していただけるとありがたいです。 TypeScriptならクラスが書ける 「JavaScriptにはクラスがない、TypeScriptにはクラスがある」「ゆえに読みやすい短いコードが書ける」といった記述が見られますがこれは誤解です。 Udemy メディア - TypeScriptJavaScriptの違い「TypeScriptではクラスの作成ができる」 侍エンジニア - 「TypeScriptでは、JavaScriptでできなかった「クラス」の作成を実現しています。複雑で大規模な開発を行うとき、JavaScriptではコ

    SEOに強いTypeScript入門記事がミスリードを招いていて絶望しかけた - Qiita
    suginoy
    suginoy 2022/05/27
    スクール、人材派遣、転職斡旋の記事ばかりだな