タグ

ブックマーク / qiita.com (67)

  • テストコードを書く上で個人的に気をつけている5つのこと - Qiita

    はじめに エンジニアの皆様、テストコードはちゃんと書けておりますでしょうか?(挨拶) どんな開発言語や開発手法を導入していたとしても、アプリケーションの機能実装とテストは表裏一体であると言えます。場合によっては機能の作り込みよりも時間をかけるべきケースが多いくらい重要である(・・・と信じたい)反面、デッドラインが近づくにつれて真っ先に工数が削られやすく軽視されがちな工程でもあります。 時間に追われてテストコードを書いた結果、テストの体をなしていないコードになっていたり後で見返したときに記述が煩雑すぎてメンテ不能になっていたり・・・といった苦い経験は誰しもがあるかと思います。かくいう自分もそんなことは多々ありました。 そんな今までの経験則を基に「自分がテストコードを書くにあたってどんなことを意識しているのか?」をいくつかピックアップして備忘録も兼ねて紹介したいと思います。 一応注意なのですが

    テストコードを書く上で個人的に気をつけている5つのこと - Qiita
    aroechan
    aroechan 2024/06/28
    "それぞれのアーキテクチャ層で検証できているのであればその上位のアーキテクチャ層で改めて検証する必要はないはずです"ほんとこれめっちゃ大事。責務毎にテストコードの範囲を変えないと、すぐfragileになる
  • 『アジャイル開発の失敗率は268%も高い』のコメント欄が面白かったので紹介するよ - Qiita

    先日The Registerを見ていたらアジャイル開発の失敗率は268%も高い Study finds 268% higher failure rates for Agile software projectsという記事が目に入りました。 The RegisterはITニュースサイトで、日で言うところのITmediaやWIRED、GIGAZINEみたいなところですかね。 その記事は元記事を紹介しているもので、『元記事はImpact Engineeringの宣伝ではあるが、アジャイル開発は期待ほどうまくいかないという疑念を抱かせるのにも十分である』というようなまとめになっていました。 ではImpact Engineeringってなんなんだよと元記事268% Higher Failure Rates for Agile Software Projects, Study Findsを最後まで読

    『アジャイル開発の失敗率は268%も高い』のコメント欄が面白かったので紹介するよ - Qiita
    aroechan
    aroechan 2024/06/19
    こういうコメントを知らないと、ただの出羽守になっちゃうこともあるから、こういう第三者的な発言でニュートラルな視点に戻れるのは助かる
  • 読まないと後悔する技術書30選 - Qiita

    はじめに 現代の人に名著以外のを読むような時間はない こんにちは、Watanabe Jin (@Sicut_study)です みなさんは何か新しい技術を学ぶときにどんなコンテンツを利用するでしょうか? 最近ではUdemyなどの動画講座を利用する人が多いと思いますが、を読んで学ぶという人もまだまだ多いのではないかと思います 今回は私がこれまで5年間読んできた150冊以上の中から厳選した30冊のを紹介します。広く多くの人に役立つものから、特定の技術の書籍までどれを読んでもあなたの大切な一冊になるのでぜひ読んでみてください 現代人には時間がない なぜ働いているとが読めなくなるのかというが話題になりました 現代人はを読む時間がなくなっています。 仕事に追われてしまい、プライベートでを読む暇などなくなっているのです。 しかし、エンジニアは「技術職」なのでプライベートの時間でも学習をして

    読まないと後悔する技術書30選 - Qiita
    aroechan
    aroechan 2024/06/18
    「べき」とか「後悔」って表現やめなー/「読んだら年収が100万上がる技術書〇選」とかにしてくれればチクチク度減るのに/「なっとく!関数型プログラミング」は読んでいるがもっと対象レベル高いと思うぞ
  • POSTとPUTの違いを説明できないエンジニアがいるらしい - Qiita

    はじめに 「ここにプログラマーはいるか?」 ABC 「いません」 「そうか、なら良い、ところでユーザー名の変更につかうメソッドは?」 A 「POST」 B 「PUT」 C 「PATCH」 「Aを連れていけ」 「うわぁああ」 みなさんは連れて行かれるようなプログラマーでしたでしょうか? 私はつい最近「POST」「PUT」「PATCH」をしっかり説明できないエンジニアでした いままでなんとなくでこれらのメソッドを利用しており、たまたまとあることをきっかけにこのAPIはPOSTかPUTどちらが適切なのだろうかと考えて違いをはっきり理解しました 今回は案外多くの人がなんとなくで利用しているであろうメソッド3つの違いを紹介していきます なぜPOST/PUT/PATCHはあいまになるのか そもそもなぜPOST・PUT・PATCHが混ざってしまいあいまになっている人が多いのでしょうか? PUTとPATC

    POSTとPUTの違いを説明できないエンジニアがいるらしい - Qiita
    aroechan
    aroechan 2024/06/17
    こんなのよりMDNのドキュメント読む方がよっぽどまし。RestAPIの思想とHTTPの思想をごっちゃにさせるな https://developer.mozilla.org/ja/docs/Web/HTTP/Methods
  • ドキュメントを書かないことは「負債を生む」ということ - Qiita

    記事の要約 ドキュメントを書かない事は、企業やチームの「負債」になる ドキュメントを書かない事は、自身の学びや振り返りの「機会損失」になる そういう文化が根付く前に、負の連鎖を断ち切ろう! はじめに 世の中のプロジェクトには、ドキュメントが足りていない、と感じています。 でも残念な事に、ドキュメントをどうしても書きたい人は「ほとんどいない」と思います。 その一方で「ドキュメントを書いた方が良い」という事は、 何となく分かっている人も多いと思います。 やりたくない事をやらなければならないのは、嫌ですよね。 そんな気持ちは分かりますが、これを機に一度改めてみませんか。 何故なら、ドキュメントを書かない事はチームに「負債」を生むからです。 勤め人ならば少なからず一度でも、体験した事があると思います。 「どうして必要な過去の資料が無いんだ」って。 あるはずの歴史の一端がソースコードからしか分から

    ドキュメントを書かないことは「負債を生む」ということ - Qiita
    aroechan
    aroechan 2024/06/17
    「ドキュメントは正しくなくても運用されるが、コードは正しくないと壊れる」これがすべてだろ/Document As Code の精神でコードを書かないのが悪い、というかそこまで到達できているスキルのある人が足りない
  • なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】UXUIDesignUIデザイン画面設計 1.はじめに エンジニアの私がデザインを気で勉強した結果、デザイナーとエンジニアはそもそも思考が大きく違っているということがわかりました。 今回は「それ」をデザインに苦手意識のあるエンジニア方にも理解してもらえたらと思い、わかりやすくまとめてみました。 2.アプリの画面デザインを考えてみよう まず、こんなアプリを考えてみてください。 フィットネストレーナーが使うアプリ トレーニングルームでお客様とお話しながら使う 端末はタブレット そして 会員の個人情報確認 前回までのトレーニング状況の確認 次回の予約受付 といったことをします。 使える情報としては、こんな感じです。 あなたならどう画面デザインをするか、もしお時間があったら考えてみてください。

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita
    aroechan
    aroechan 2021/12/10
    いいプラクティスもいっぱい散りばめられてるけど、これってそもそも業務アプリだよね?こんなおしゃれにする必要ある?あとB案の場合変換処理がいっぱい入ってるけど、その検証作業の工数はどこから出てくるの?
  • ビーフストロガノフはどのくらい強いのか - Qiita

    # !wget https://dl.fbaipublicfiles.com/fasttext/vectors-crawl/cc.ja.300.vec.gzで落とせます model = gensim.models.KeyedVectors.load_word2vec_format('cc.ja.300.vec.gz', binary=False) repat = re.compile(r'^[あ-ん\u30A1-\u30F4\u4E00-\u9FD0]+$') vocab_list = [w for w in list(model.vocab.keys())[10000:50000] if len(w) > 2 and repat.fullmatch(w) and w[-1] != 'っ' and w not in list(ww_df.word) and w not in list(sw

    ビーフストロガノフはどのくらい強いのか - Qiita
    aroechan
    aroechan 2021/09/01
    これ普通にちゃんとやれば、自然言語分野で論文レベルのいい研究になるのでは
  • 総当たり攻撃時のパスワード最大解読時間の表(by 上野宣)について分析した - Qiita

    昨日、上野宣(@sen_u)さんがパスワードの総当りに要する時間の表をツイートされ、話題になっています。 総当たり攻撃時のパスワード最大解読時間の表を日語化した。https://t.co/cVSNUZkAKv pic.twitter.com/rtS8ixwOqi — Sen UENO (@sen_u) August 17, 2021 1万件を超えるリツイートがありますね。大変よく読まれているようです。しかし、この表は何を計測したものでしょうか。上野さんにうかがってもわからないようでした。 何ですかね?パスワード空間が大きくなると解読に時間が掛かるということくらいがわかりますかね。 — Sen UENO (@sen_u) August 17, 2021 一般に、パスワードの総当たり攻撃(ブルートフォースアタック)というと、以下の二通りが考えられます。 ウェブサイト等でパスワードを順番に試す

    総当たり攻撃時のパスワード最大解読時間の表(by 上野宣)について分析した - Qiita
    aroechan
    aroechan 2021/08/18
    "何ですかね?パスワード空間が大きくなると解読に時間が掛かるということくらいがわかりますかね。"こう言う返しをする大人にはなりたくないと常々思ってる。何もわからずに乗っけてるって言ってるようなもん
  • 設計を学びたいときに読みたい本一覧 - Qiita

    これは何 の参加記事です。 エンジニアとして開発をしていく以上、設計についての知識を身につけていくことはとても重要です。 とはいえ設計という言葉からは何を勉強するべきかがいまいちピンときません。 この記事では、僕が読んできた設計に関するおすすめのを網羅的に紹介しています。 これから設計を勉強する方の役に立てれば幸いです。 おすすめの一覧 おすすめのを紹介していきます。 他にもおすすめがあればぜひ編集リクエストをください! オブジェクト指向設計実践ガイド 設計を始めに学ぶならこれ、という一冊です。 エンジニアとして開発を行なっている中で、オブジェクト指向設計は一番汎用的に使う設計知識なのではないでしょうか? オブジェクト指向設計を学ぶことで、いわゆる「におう実装」と「良い実装」を見極めることができるようになると思います。 知らなかったら読んだほうが良いキーワード SOLID原則 Cle

    設計を学びたいときに読みたい本一覧 - Qiita
    aroechan
    aroechan 2021/07/15
    別にDDDもクリーンアーキテクチャもインフラに限った話じゃなくてシステム開発全般に言える考え方やぞ
  • grepを忘れただけなのに - Qiita

    去年も『番環境でやらかしちゃった人のアドベントカレンダー』は盛り上がりましたね。 知見が多く、関心しながら拝見しています。 人は必ず何かしらミスを起こすもの。 明日は我が身と思いながら、業務をこなす日々です。 そんな私も業界に入って1年目(前々職)に、番環境の洗礼にあったことがございます。 当時は苦々しい思いをしましたが、その経験を供養するためにもここに残そうと思います。 発生当時の状況 事件当時、私はサーバのリプレイス案件にアサインしていました。 その業務の中で上司に日常的に運用されているスクリプトの調査を依頼されました。 私はまだ経験が浅かったため理解が合っているかは怪しいですが、関わっていたシステムは設計の段階で大分やっつけだったらしく、 格納場所が間違っているスクリプトやログが散見されました。 リプレイスを切っ掛けに整理をする予定だったと記憶しています。 入ったばかりのペーペー

    grepを忘れただけなのに - Qiita
    aroechan
    aroechan 2021/04/07
    1万回手打ちして、一度も失敗しない自信のあるものだけ石を投げなさい
  • 「正直9年経ったいまでもfor文ググってる」 - Qiita

    「正直9年経ったいまでもfor文ググってる」 という議論記事があった。正直なところ私もググる方の人だ。私の感想: ポンとテキストエディタだけ渡された時に書けるか自信ないぞ...IDEがあればまあ大丈夫かなあ。 JavaScriptだけじゃない。言語色々扱うしという言い訳。正規表現とか毎度調べる。 だから世の中にチートシートというものがあるのだ。お気に入りチートシート多数。 実戦でどうしているか?結局周りのソースを見て馴染む書き方にしていますよ多分。 暗記するかしないかは受験勉強みたいなもので、コーディング面接に受かるなら必要。暗記そのものには意味はないとは思う。 競技プログラミングが使えないとかいう論もあったな。 ググり力も大事。 でも「最低限」もできないのはやはり恥ずかしい気持ちはある。 なんかこれ英語できるできないと似てるな。英語なんてGoogle翻訳、DeepL翻訳あればいいけど、実

    「正直9年経ったいまでもfor文ググってる」 - Qiita
    aroechan
    aroechan 2021/03/25
    そんなんぐぐる?って思ったけど、forループを5種以上の言語で公式リファレンスを見ずにシンタックスエラーなしでかける人は1%もいない気がする
  • 桃太郎電鉄の「いけるかな」を実現する高速なアルゴリズムの実装と考察 - Qiita

    この記事は「データ構造とアルゴリズム Advent Calendar 2020」16日目の記事です。 15日目の記事はyurahunaさんの「木分解上の動的計画法」で、 17日目の記事はtsukasa__diaryさんの「Lawler の K-Best 列挙アルゴリズム」です。 この記事内で使用しているプログラムやそのテストプログラムは全て以下のGitHubリポジトリで閲覧可能です。プログラムの詳細に興味がある方はこちらをご覧ください(ついでにStarを押していってくれると喜びます🙂)。 Github: ashiba/Imprementation_of_IKERUKANA: Momotaro Dentetsu is a game. 変更履歴 2020/12/21に「最終的に貧乏神が付かない移動方法 ~貧乏神持ちの場合~」, 「最終的に貧乏神が付かない移動方法 ~貧乏神がついていない場合~

    桃太郎電鉄の「いけるかな」を実現する高速なアルゴリズムの実装と考察 - Qiita
    aroechan
    aroechan 2020/12/17
    タイトルと概要的にこの人が開発陣として実装したのかと思ったら全然違かった
  • 1分でも早く仕事を終わらせるためにVSCodeにできること - Qiita

    はじめに 投稿は『VSCodeが最強のエディタだ!!』などといったことを伝える記事ではありません。 数あるエディタの中の『VSCode』に焦点を当てて、作業効率化できるための使い方をまとめたものです。 いくつかのテーマに分けて、ご紹介させていただきますので、興味のあるところを拾い読みしていただければと思います。 (スクリーンショットについては、随時更新させていただきますが、古い場合があります。ご容赦ください。) 1.ショートカット ショートカットはかなりの数があるので、今回は『1日の作業の中で登場頻度が多そうな操作』に焦点をあてて、効率化を目指していきます。 ショートカットを覚えることで、ある程度の操作はマウスに触らずにできるようになります。 1つ1つの効果としては微々たるものですが、操作頻度の多いものであればあるほど、効果が期待できるので、覚えることをオススメします! VSCodeを閉

    1分でも早く仕事を終わらせるためにVSCodeにできること - Qiita
    aroechan
    aroechan 2020/09/30
    矩形選択意外にみんな知らないんだね
  • これからエンジニアを目指す人に見て欲しいです。 - Qiita

    株式会社Neverのshoheiです。 株式会社Neverは「NEVER STOP CREATE 作りつづけること」をビジョンに掲げ、理想を実現するためにプロダクトを作り続ける組織です。モバイルアプリケーションの受託開発、技術支援、コンサルティングを行っております。アプリ開発のご依頼や開発面でのお困りの際はお気楽にお問合せください。 前置き これからエンジニアを目指す人にぜひ見て欲しい内容を書きました。主に次のような方向けに書いています。 将来の夢がエンジニア エンジニアを目指して勉強している エンジニアになって1年未満 念の為、ここで言及しているエンジニアは「ソフトウェアエンジニア」のことです。 また、エンジニアというのはかなり抽象的な表現で、組み込みエンジニア、Webエンジニア(フロント、バックエンド)、インフラエンジニア、アプリエンジニア等さまざまあります。ここは内容を網羅的に説明す

    これからエンジニアを目指す人に見て欲しいです。 - Qiita
  • 2020年にWebフロントエンドを勉強する人が作るべきたったひとつのアプリ - Qiita

    最近ではReactVueを使ったリッチでインターラクティブなUIがどんどん主流になってきていますし、2020年以降もこの流れは加速し続けるでしょう。 SPA(Single Page Application)やPWA(Progressive Web Application)の普及によって今までモバイルでしかできなかったことがwebでもどんどんできるようになってきています。 また、Firebaseを使うことでクラアントサイドだけの高速なサービス開発が可能になってきていて、今後ますますWebフロントエンドのニーズは増えるのは確実です。 (サーバーサイドが必要ないという主張がしたいのではありませんが) Webフロントエンドをどのように勉強するのか 初心者に立ちはだかる壁 しかし、何か作ってみようと思ってもなかなかほどよいアプリがありません。TODOぐらい簡単なものだと雰囲気を掴むのにはちょうどい

    2020年にWebフロントエンドを勉強する人が作るべきたったひとつのアプリ - Qiita
    aroechan
    aroechan 2020/02/05
    なーにがたったひとつだよ
  • スーパーマリオのジャンプのアルゴリズム - Qiita

    先日、気持ちのいいジャンプを目指してというQiitaの記事を見かけました。記事中では、マリオのジャンプについても触れられています。マリオというと、マリオブラザースやスーパーマリオブラザース等々、色々あるのですが、これはおそらくスーパーマリオブラザースの事だと思われます。ジャンプアクションゲームといったらスーマリですね。 そのマリオのジャンプの仕組みは「マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて~」と書かれていて、別サイトのブログへのリンクが張られています。 マリオのジャンプ実装法とVerlet積分 ただ、この記述については不正確であるという別のブログもあったりします。 マリオの完コピvol.28 ジャンプの解析と修正 ホントのところはどうなんでしょうか?世界で最も有名なゲームジャンプがどのように処理されているのか気になったので調べてみることにしました。 原典にあたる

    スーパーマリオのジャンプのアルゴリズム - Qiita
    aroechan
    aroechan 2019/11/07
    要は宮本は天才ということ
  • エンジニアが情報収集とトレンドを追うのに読むと良いサイト - Qiita

    背景 自分が普段電車や会社で読んでいるIT系のサイトと学習などで使用しているサイトのまとめ。 ニュース系 ■ CNET Japan ■ @ITITmedia ■ はてなブックマーク(テクノロジーカテゴリ) ■ Menthas ■ Publickey ニュース(ガジェット系) ■ PC Watch ■ GIZMODO ■ Engadget 技術系ブログ(企業系) ■ Developers.IO ■ はてなブログ開発ブログ ■ サイボウズのエンジニアブログ ■ クックパッド開発者ブログ ■ Google Developers ■ Yahoo! JAPAN Tech Blog ■ Mercari Engineering Blog ■ Webnaut ■ バズ部 ■ SOUM/misc ■ LINE Engineering 技術系ブログ(個人) ■ ネットワークエンジニアのメモ ■ プログラ

    エンジニアが情報収集とトレンドを追うのに読むと良いサイト - Qiita
    aroechan
    aroechan 2019/10/04
    噂のテック系Youtuberがいるじゃん
  • 偉大なプログラマ(+人間)になるための101のTIPS - Qiita

    早く人間になりたい。 以下はEmma Wedekindによる記事、101 Tips For Being A Great Programmer (& Human)の日語訳です。 101 Tips For Being A Great Programmer (& Human) 1. Get good at Googling Googleの使い方を知ろう。 プログラマであるということは、問題に対する答えを探す能力があるということです。 Googleのうまい使い方を知ることで、開発にかかる時間を大幅に節約することができます。 2. Under promise and over deliver 約束は控えめに、出来高は多めに。 タスクに2週間かかるようなら3週間かかると伝え、2週間で提出しましょう。 期待を上回った結果を出すことで、信頼を築くことができます。 3. Be nice to your d

    偉大なプログラマ(+人間)になるための101のTIPS - Qiita
    aroechan
    aroechan 2019/07/24
    誰かと思えば戸田奈津子訳の人じゃん。やっと日本語訳ができるようになったんだね
  • インフラエンジニアとしてなんとなく役立っていそうな書籍をリストアップする - Qiita

    2019/5/26 はてブで話題になっていたので慌ててアップデートDocker実践ガイド 第2版が発売されていたので追記&修正しました。 はじめに 投稿はRecruit Engineers その2 Advent Calendar 2018の5日目の投稿です。 そもそものきっかけ Rancher もくもく勉強&相談会 #02にて、現代的なインフラエンジニアとして どのようなことを勉強したらよいかという相談を受けたので、書籍ベースで改めて考えてみました。 ”どんなでしたか”くらいしかまとめてないです。そのまとめも私の完全な主観である点はご注意ください。 筆者は何者? Web系の会社でインフラエンジニアをやっています。 パブリッククラウドやコンテナ系の技術をベースに先進アーキテクチャの装着みたいな役割で 新規サービスを中心にインフラアーキテクトみたいなお仕事をやっています。 具体的には、ア

    インフラエンジニアとしてなんとなく役立っていそうな書籍をリストアップする - Qiita
  • 文科省のPythonはPythonじゃねぇ - Qiita

    TL;DR 文科省によるプログラミングの教材はダメダメ。PEP8読め。 追記 もちろん、この指摘が普通のコードに対するものだとすれば 「重箱の隅をつつきすぎ」 だというのは全くその通りだと思います。こんな指摘をするつもりはさらさらありません。 しかし、これが文科省という権威ある機関が発表するものならば話は全く違います。 全ての日教育を一身に背負うくらいの気持ちと成果を伴わなければならないとも思います。 そういう理由での、厳しい(というか細かい)指摘です。 追記2 自分の説明が足りませんでした(すみません)。ちなみにこの教材は「教員研修用」です。 この教材で研修を受けた教師にプログラミングを教えられると思って考えてみてほしいと思います。 追記3 (2019/9/25 文科省の改訂を受けて) この度文科省がPythonに関する資料の改訂版を発表しました。 文科省に対して改善を求める当初を行

    文科省のPythonはPythonじゃねぇ - Qiita
    aroechan
    aroechan 2019/05/23
    要は作った状況に対してコードのレビューが足りてないってことだろうか?どこが作ったのか非常に気になる