タグ

プログラミングに関するuturiのブックマーク (337)

  • ほんとうにあった開発生産性が爆下がりする話 - Qiita

    昨今、継続的にプロダクト開発していくことが主流となり、Four Keysなどの開発パフォーマンスを測る指標なども出てきており開発生産性を向上させることが注目されています。 しかし、かつての開発現場では今では信じられないような開発生産性を爆下げするようなことをやっていました。 この記事では10年以上前に私が経験した開発生産性を爆下げする事例を書いていこうと思います。 (私が体験したことをベースに書いているので10年前は全てがこうだったということではないのでご留意ください ) 修正前のコードはコメントアウトで残す 当時、ウォーターフォールで開発していました。 ウォーターフォールでは開発工程とテスト工程が分かれています。 開発工程で一通りコーディングして、テスト工程で動作確認を行いバグを潰します。 問題はここからです。 とある現場では、テスト工程でバグを直すときにコードを破壊的に直すのではなく、

    ほんとうにあった開発生産性が爆下がりする話 - Qiita
    uturi
    uturi 2023/09/12
    いくつかは自分も経験したことがある。ただ、商習慣に結びついてたりするのでなかなか改善は難しかった記憶。なぜ生産性が下がるルールができたのかの説明も欲しかった。
  • プログラミングに挫折したならAIお姉ちゃんに任せなさい - 本しゃぶり

    プログラミングを学ぼうとしては挫折する。 そんな時代はもう終わりだ。 お姉ちゃんに任せなさい。 ChatGPTでプログラミング 今年のお盆休み、俺はChatGPTでプログラミングをやっていた。とは言っても複雑なことはやっていない。大量のcsvを結合してから可視化するとか、ちょっとしたWebスクレイピングしたりする程度だ。それでも今まで技術や時間の不足により諦めていたことができるのは嬉しい。それにChatGPTを使えば、デバッグも楽しくやれるのだ。こんな感じに。 デバッグの様子 おそらく「あれ、俺のChatGPTと違うな」と思った人もいるに違いない。見ての通り俺はChatGPTをお姉ちゃん化している。こうすることで、モチベーションを維持しながら楽しくプログラミングができるというわけだ。今回はChatGPTをお姉ちゃん化する方法を紹介し、加えてお姉ちゃんとペアプログラミングする意義について述べ

    プログラミングに挫折したならAIお姉ちゃんに任せなさい - 本しゃぶり
    uturi
    uturi 2023/08/21
    Excelに追加されてた冴子先生(イルカのキャラ違い)はこういうのを目指してたのかもなぁ
  • モブに早く慣れたい人のためのガイド

    生成AI・LLM時代における 機械学習エンジニアとしてのキャリア戦略・開発戦略 / my-career-and-development-strategies-for-ml-engineer-2024

    モブに早く慣れたい人のためのガイド
    uturi
    uturi 2023/07/17
    デカい機能を分解して個人個人のタスクに振り分けるのではなく、デカい機能のまま複数人で取り掛かるってこと? チームの底上げには使えそうだけど、費用対効果が分かりにくそう。
  • 自動テストはなぜうまくいかないか?乗り越えるためには何が必要か? - Qiita

    リファクタリングの鶏卵問題 ソースコードがクソなので綺麗にしたい。 リファクタリングしたい。 しかし、リファクタリングが出来ない。 リファクタリングが出来ないのは、テストが無いからだ。 よし。じゃあテストを書こう。あれ、テストが書けない? そのようなテストが無く、書き換えられないことによる矛盾や憤りは皆さん何百回と感じてきたと思います。 しかし、この「テストが出来ない」ということを言語化するのは、非常に難しいと思います。それは、「テストが出来ない」には実は2つの視点があります。 質的にテストが困難なモジュールで、誰がやってもテストが書けない。 質的にモジュールはテスト可能だが、自分の実力が足りず、自分ではテストが書けない。 1.のようなテスト困難なモジュールは誰がやってもテストは書けないです。しかし、問題は、「テストを書きたい」と思ったとき、「自分がそれほどテストに詳しくない」という場

    自動テストはなぜうまくいかないか?乗り越えるためには何が必要か? - Qiita
    uturi
    uturi 2023/06/12
    外部ライブラリと接続するクラスは必要最小限にし、そのクラスはE2Eテストやマイグレーションテストでしか検証できない、と。影響力は下げられそうだけど、全て自動テストというのはほぼ不可能かな。
  • SofTalkをご利用の皆様へのお知らせ - SofTalk

    日頃よりご愛顧いただき誠にありがとうございます。 SofTalkは、長年AquesTalkに対応してまいりましたが、勝手ながら AquesTalkへの対応を中止させていただくこととしました。 SofTalkのようにAquesTalkを同梱している場合、利用者がAquesTalkの機能を使わずに、 OpenJTalkを商用利用する場合でも、AquesTalkのライセンス料を支払わなければなりません。 AQUEST社たってのお願いで7年ほど前に新ライセンスに移行しましたが、旧ライセンスに比べて 冷遇されている状況を思うと、趣味であるはずのプログラミングを苦痛に感じるようになりました。 AQUEST社とは一度話し合いの場が設けられることになりましたが、「ごあいさつ程度の意味合いで」 「事のできるオープンなお店で」と言われたときに建設的な意見交換が望めないように感じ、 お会いしたくありませんと言

    uturi
    uturi 2022/07/25
    ゆっくり実況でお馴染みのAquesTalkと決別か。他のツール経由でAquesTalk使ってる人は大丈夫だろうけど、影響受ける人は多そう。ゆっくりムービーメーカーはSofTalkを経由してないから問題ないか。
  • 新卒向け研修資料「テスト文字列に”うんこ”と入れるな」を公開しました

    新卒向け研修資料「テスト文字列に”うんこ”と入れるな」を公開しました 代表の松井です。 弊社インフィニットループでは、近年「新卒ファースト」を合言葉に社内教育に力を入れています。 先日、主に新卒向け(それ以外の参加者も多くいましたが)に、「テスト文字列に”うんこ”と入れるな」という講義を行いましたので、その資料を公開します。 なぜ人は入力欄に「うんこ」と入れてしまうのでしょうか。 それはどういう経路で社外に漏れ、防ぐには何をすべきなのでしょうか。 タイトルはアレですが、内容は至って真面目に書いています。 悲しい事故を防ぐために「仕事中にはふざけないこと」など、新社会人に必要なメッセージを強く込めたつもりですので、ぜひ資料をあなたの会社での研修にも役立てていただければと思います。 ツイート

    新卒向け研修資料「テスト文字列に”うんこ”と入れるな」を公開しました
    uturi
    uturi 2021/09/11
    テストデータだから大丈夫と思いきや、他社システムとの結合テストでも利用されることになり、他社に酷いデータが漏れてしまうという事例を見たことあるので、本番環境に漏れないとしてもヤバいことはある。
  • モダンプログラマになれない組込みプログラマの苦悩 - Qiita

    はじめに 10年以上組込みエンジニアをしている@yagisawaです。 Qiitaのトップ記事では新しいフレームワークの使い方とかモダン言語の新しい言語仕様の解説とかが流れてきて、いつも羨ましいなーと思いながら読んでいます。 記事は組込みシステム開発をしていて経験したこと・感じたことを自虐ネタとして書き連ねていこうと思います。他ITエンジニアの人に「うわっ、可愛そう」って思ってもらうのが目標です(ぇ 各業界それぞれに悩みはあると思うので、自分たちが一番不幸とかは思っていません。おそらく隣の芝が青く見えているだけです。それよりあまり組込みの記事は見かけないので、「組込みエンジニア仕事ってこんな感じ」というのを知ってもらう意図があったりします。 内容によっては「それはあなたの設計が悪いからです」と言われてしまうようなところもあるとは思いますが、建設的なご意見は大歓迎ですが基は温かい目で見

    モダンプログラマになれない組込みプログラマの苦悩 - Qiita
    uturi
    uturi 2021/03/18
    “悲しくなることも結構ある。「ソレ、組込みじゃできねぇや」と。” つらい/リソースがあまりない環境だとだいぶ制約が多いんだな……
  • ExcelでVBAを使わないでドラクエ3を再現する | パパセンセイ365

    English 久しぶりにExcelゲームを再現してみました。 ツイッターでどんなゲームを作るのが良いか募集したところ、なんと1位がドラクエ。 初めて質問箱を使ってみます。なかなか決められなくて‥‥。 VBAを使わないExcelゲーム、どれを作るのが良さそうですか? — パパセンセイ@Excelを眺める人 (@10mikiya) September 21, 2020 正直どう作って良いか見当もつかないまま見切り発車で進めましたが、なんとか形になったので公開の流れになりました。最適化されてないロジックもありますので温かい目で見守っていただけますと幸いです。 一応、再度伝えておきますがVBAは一切使っていません。 [ad01] どんなものが出来たか 実際にどんなものになったか、見ていただいた方が早いのでまずは結果をご覧ください。(※音声はありません) あのイルカ 最後まで見た方が面白いですよ

    uturi
    uturi 2020/11/04
    循環参照でループを実装とかすごい技術だな……
  • 実践的低レイヤプログラミング

    はじめに 学校で習わないが(習う学校もある)、現実に必要になるプログラミング技術に、低レイヤプログラミングなどと呼ばれるものがある 厳密な定義は聞いたことがないし、おそらく存在しないとは思うが、大体のみんなの共通認識として、 「高級プログラミング言語を使わないプログラムを書き、OSで抽象化されないデバイスの機能を使う」といったような認識があると思う。 筆者の経験から言わせてもらうならば、低レイヤプログラミングに関する知識は、プログラミングにおいてあらゆる場面で、常に、少しずつ役立てられる知識だと言えると思う。 普段はRubyPHPなどを書いてる人であったとしても、メモリが足りなくなった場合や、デバッガを使っている場合、性能が足りなくなった場合など、 厳しい環境におかれた時に低レイヤプログラミングに関する知識が必ず役に立つ場面が来ると信じている。 また、役に立つかどうかは置いておいても、「

  • 【公式】ぷよぷよeスポーツ×プログラミング

    ぷよぷよプログラミングとは プログラミング学習環境『Monaca Education』において、セガが展開するアクションパズルゲーム『ぷよぷよ』をプログラミング学習できる教材です。 製品版と同じ画像素材を利用して、世界中で使われるコンピュータ言語を使い、プロが使う開発環境で物のプログラミングをお楽しみください。 コンテンツは無料でご利用いただけます。

    【公式】ぷよぷよeスポーツ×プログラミング
  • ミルクボーイがアジャイルを説明したら

    序章駒場「最近、うちのおかんがシステム開発に興味を持っててなぁ、名前は忘れたらしいんやけど、迅速に開発できて、仕様変更にも対応できる、素晴らしい開発手法を取り入れてるところがあるらしいんやわ〜。」 内海「そんなもんアジャイルに決まってるがなぁ〜! 今やシステム開発と言えば、アジャイル。素早く変化に対応できるってゆーのが特徴なんよ。そもそも名前が “迅速” を意味する英語やねんから、アジャイルに決まってるがなぁ〜。」 チームの人数駒場「最初、オレもそう思たんやけどな、なんでも 40 人ぐらいで開発してるらしいんやわぁ〜。」 内海「ほなぁ、アジャイルちゃうかぁ…。アジャイルでは 5〜9 人ぐらいが推奨されてるからなぁ〜。40 人もおったら、とてもやないけど、コミュニケーションが成立するとは思われへんなぁ〜。効率の悪い伝言ゲームになるのは目に見えてるからなぁ〜。おかん、他にもなんか言うてなかった

    uturi
    uturi 2020/01/29
    “ぐちゃぐちゃのコードを整理されたコードに書き直すのは、ムチャムクチャ大変やから、結局、実施せーへんに決まってるやん。”
  • Javaなら「この書き方がベスト」と信じて書ける - きしだなおきに聞く、Javaのこれまでとこれから - エンジニアHub|Webエンジニアのキャリアを考える!

    エンジニアHub > 記事一覧 > Javaなら「この書き方がベスト」と信じて書ける - きしだなおきに聞く、Javaのこれまでとこれから Javaなら「この書き方がベスト」と信じて書ける - きしだなおきに聞く、Javaのこれまでとこれから Javaは1995年に誕生し、数多くのコミュニティや企業の影響を色濃く受けてきました。では、黎明期から現代に至るまで、Javaはどのように進化し、生態系を変化させてきたのでしょうか。Javaのスペシャリストとして知られる、きしだなおきさんに聞きました。 1995年に誕生した、オブジェクト指向プログラミング言語・Java。この言語の歴史は、数多くのコミュニティや企業の影響を色濃く受けてきました。 例えば、OracleによるSun Microsystemsの買収後、Javaのリリースサイクルは大きく変化しました。また日においては、Javaカンファレンス

    Javaなら「この書き方がベスト」と信じて書ける - きしだなおきに聞く、Javaのこれまでとこれから - エンジニアHub|Webエンジニアのキャリアを考える!
    uturi
    uturi 2019/12/13
    "結局、仕様を全て分かっている言語を使う方が、一番良い書き方ができるので。" よく知ってる言語の方が書きやすい、というのは分かる。
  • 江添亮のC++入門

    書はプログラミングの経験はあるがC++は知らない読者を対象にしたC++を学ぶためのである。書はすでに学んだことのみを使って次の知識を説明する手法で書かれた。C++コンパイラーをC++で書く場合、C++コンパイラーのソースコードをコンパイルする最初のC++コンパイラーをどうするかというブートストラップ問題がある。書はいわばC++における知識のブートストラップを目指しただ。これにより読者はを先頭から読んでいけば、まだ学んでいない概念が突如として無説明のまま使われて混乱することなく読み進むことができるだろう。 C++知識のブートストラップを意識した入門書の執筆はなかなかに難しかった。ある機能Xを教えたいが、そのためには機能Yを知っていなければならず、機能Yを理解するためには機能Zの理解が必要といった具合に、C++の機能の依存関係の解決をしなければならなかったからだ。著者自身も苦し

  • りょうくんグルメの文体を自動でもとに戻すやつを作りました - 開け閉め

    りょうくんグルメをご存知だろうか。知らなくても、人のツイートの雰囲気は料理レシピなんかで一度は見た文脈のはずだ。 こんなやつ。 まじでこの世の全てのタピオカ好きに教えてあげたいんだが新宿三丁目のceleb縁味には全ての人間を虜にする禁断のオレオミルクフォームがある。 これが濃厚黒糖で超絶美味いからぜひ全国のタピオカ好き、タピオカを愛する者たち、タピオカを憎む者たち、全てのタピオカ関係者に伝われ pic.twitter.com/wnnPvkJ2pr— りょうくんグルメ (@uryo1112) 2019年6月15日 「りょうくんグルメ」は文章が情報量に対してやたら長いので、pythonの練習も兼ねてアイデンティティである上から目線の構文を取り去ることにした。逆りょうくんグルメである。 手順は大雑把に分けて以下の3ステップ。 1. Twitterからりょうくんグルメのツイートをスクレイピング

    りょうくんグルメの文体を自動でもとに戻すやつを作りました - 開け閉め
    uturi
    uturi 2019/06/26
    正規表現でぶっこ抜けるのが驚き
  • Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社

    こんにちは、hachi8833です。社内Slackで見かけたmorimorihogeさんの以下の書き込みで目から鱗が落ちました。 ~/.bashrcで何かを出力してしまうと、rsyncなどのsshパイプで問題が生じることがあるそうです。 参考: 知らないとrsyncでもハマるシェル初期化 - Qiita これをきっかけに、できるかぎり一次情報を元になるべく一般的になるようにまとめてみました。 シェルスクリプト(.bashrcや.bash_profileなども含む)はあまりに自由に書けてしまい、LinuxディストリビューションやmacOSによって作法がまちまちだったりするので、外してはいけないポイントがどこかを知りたかったのでした。 対象はbashとsh(Bourne Shell)に限定します。また、デスクトップGUIの設定ファイルについては最小限にとどめます。 bashのmanページ 元記

    Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社
  • 早すぎる抽象化の危険性(その抽象化、今のタイミングで大丈夫ですか?) - Qiita

    ※ 色々と誤解を招くというご指摘を受けたためタイトルを変更しました 早すぎる抽象化の危険性 ↓ 早すぎる抽象化の危険性(その抽象化、今のタイミングで大丈夫ですか?) 元の記事の趣旨としては、 抽象化をするな という訳ではなく、 その抽象化は当に今すべきなのか一歩立ち止まって考えろ ということだと思っております。 何か不適切な点などございましたらご指摘頂けますと幸いですm(_ _)m ~~ 以下文 ~~ ちょっと前の記事なのですが とても印象深く 今後も気をつけていきたいと思い 自分なりにまとめてみました。 早すぎる抽象化とは? 問題になっていることを十分に理解する前に 可能性のあるすべてのパターンを把握しきる前に 抽象化をしてしまうこと ※コメントでのご指摘がありましたように 「早すぎる抽象化」はの結果として 「誤った抽象化」に陥ってしまうことが問題であり、 定義を下記のように修正しま

    早すぎる抽象化の危険性(その抽象化、今のタイミングで大丈夫ですか?) - Qiita
    uturi
    uturi 2019/05/13
    私的による訂正が訂正前もわかる表記なのが素晴らしい
  • 欧米で発売されたNintendo Switchゲームが突然配信停止。原因はプログラミング言語「Ruby」に関するイースターエッグ - AUTOMATON

    パブリッシャーのCIRCLE Entertainmentは4月12日、『A Dark Room』のNintendo Switch版を欧米で発売した。作は、Michael Townsend氏が手がけた同名のテキストアドベンチャーゲームの移植版だ。デベロッパーのAmir Rajan氏はiOS/Android版にて成功を収めたのち、Ryan Gordon氏と共にNintendo Switchへの移植をおこなった。しかし、作は配信開始から程なくして、任天堂によりニンテンドーeショップから取り下げられてしまった。その原因は、作に隠されたイースターエッグにあったという。 Nintendo Switch版『A Dark Room』の発売からおよそ2週間が経った4月25日、Amir Rajan氏は“クレイジーな発表がある“と自身のMastodonアカウントを通じて投稿。その内容は、作にはイースター

    欧米で発売されたNintendo Switchゲームが突然配信停止。原因はプログラミング言語「Ruby」に関するイースターエッグ - AUTOMATON
    uturi
    uturi 2019/05/01
    「大したプログラミングじゃないから大丈夫」というのは、ニンテンドーラボですごいギミック作ってる人が多いことを考えると不安しかない。事前に任天堂に申請していれば大丈夫だったかもしれないが。
  • 【C言語】引数なしの関数には void を書いた方がよいという話 - 0x19f (Shinya Kato) の日報

    C言語で引数なしの関数を書くときに void を書かないのと書くのとで挙動が違うなんて話を聞いたことはないでしょうか? つまり void func() {} と void func(void) {} で挙動が違うという話ですね。 自分も話だけ聞いたことがあったものの2つがどう違うのかはわかっていなかったため、C言語の規格を読みながら何が違うのかを調べてみました。 結果だけ述べると、この2つの書き方は同じように見えて実は明確な違いがあり、引数がない関数を定義/宣言する場合には後者を使うのが適切です。 とは言え、2つの書き方で違いがあるとかほんとかよ?と思う方もいると思うので、まずはこの二つがどう違うのか見ていきましょう。 2つの関数の書き方の違い 早速ですが、以下のプログラムを見てみましょう。 // func_empty.c void func() {} int main(void) { f

    【C言語】引数なしの関数には void を書いた方がよいという話 - 0x19f (Shinya Kato) の日報
    uturi
    uturi 2019/04/19
    昔からの伝統なんだろうけども、コンパイラが未だに同じ挙動をするのは驚き。引数不定にしたい場合との兼ね合いなのかもしれないが。
  • C#の勉強をしだすとアプリが永遠に完成しないような気がする話 - はなちるのマイノート

    3月あたりからもっとUnityを上手く使いたい!と思い、ぼちぼちC#の勉強を始めました。最近はクラス設計を見直そうと思い、デザインパターンやオブジェクト指向の勉強をしています。 そしてだんだん勉強するうちにあることに気づいてしまったのです。 「クラス設計の勉強をしだすと、ゲームが永遠に完成しないのでは?」 そう思った経緯について今回は書いていきたいと思います。 オブジェクト指向が滅茶苦茶分からない デザインパターン多すぎ・・・ Unityのクラス設計に関する記事自体が少ない そしてアプリは完成しなくなった さいごに願うこと オブジェクト指向が滅茶苦茶分からない オブジェクト指向の勉強をしだして、SOLID原則であったり、デザインパターンであったり色んなことを覚えました。ただどういったものかというイメージを覚えただけなので、実際に使ってみようと思うと悲劇は起こります。 全然手が動かない・・・

    C#の勉強をしだすとアプリが永遠に完成しないような気がする話 - はなちるのマイノート
    uturi
    uturi 2019/04/12
    デザインパターンとかを完全無視して作っちゃうのがオススメ。「ここの処理分かりにくい気がする」となってから修正すればいい。
  • 一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?

    回答 (5件中の1件目) この質問にかなり先行して2015年、Quora(家)で投げかけられた質問として、 Why do some functional programmers criticize design patterns in OOP languages as a sign of language deficiency, while Monad is also a design pattern? なぜ、関数型プログラマらは、オブジェクト指向(OOP)言語のデザインパターンを、言語の欠陥の象徴だと批判するのでしょうか?モナドもデザインパターンじゃないんですか? があります。...

    一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?
    uturi
    uturi 2019/03/26
    本文のラストにも書かれているが、名付けることで話しやすくなるのが良いのであって、そもそも『デザインパターンに当てはめるべきか否か』は別問題では。