並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 351件

新着順 人気順

ソフ開の検索結果41 - 80 件 / 351件

  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識が本になりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 心理的安全性ガイドライン(あるいは権威勾配に関する一

      ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
    • プログラミングというより物事が出来る思考法~実践編|牛尾 剛

      大変多く読んでいただいた「プログラミングというより物事が出来る思考法」というポストや、世界一流エンジニアの思考法の書籍で紹介した内容がある。 私の職場でも、ものすごく出来る人が「実践」しているところを何回も目撃しているので「実践編」として皆さんにシェアしようと思って今回のポストを書いてみた。 タイトルにもある通り、私はエンジニアだが、ビジネス書である書籍と書かれた多くの思考法と同じく、あまりエンジニアリングというものに関係ない要素であると感じている。 上記のポストや書籍でシェアした内容を端的に言うと「理解には時間がかかるがかける価値が十分あり、それによって自分が物事をコントロールしている感覚を身につけることが出来る」という自分の小さな発見だ。私がこのことを最初に発見したのは、新卒の出来る人々との出来事がきっかけだが、今回その小さな自分なりの発見を後押しするような出来事がいくつかあった。それ

        プログラミングというより物事が出来る思考法~実践編|牛尾 剛
      • ゲームエンジンはアートである - 8 年以上自作ゲームエンジンをメンテし続けている話|Hajime Hoshi

        自分は Ebiten という 2D ゲームエンジン (ゲームライブラリ) を趣味で開発しています。使用しているプログラミング言語は Go です。 2013 年 6 月に最初のコミットを行ったので、現在 8 周年の 9 年目です。 Ebiten は「くまのレストラン」などのモバイル及び Nintendo Switch 向けゲームで使われており、一定の実績があります。 ゲームエンジンの開発は一朝一夕では終わりません。Unity や RPG ツクールといった既製品がある中、ゲームエンジンをわざわざ自作することは酔狂かもしれません。ではなぜそのようなことをしたのでしょうか。端的に言うと「ミニマムな API で実用的な 2D ゲームが作れるかどうか」ということを証明したかったのです。自分の美的感覚の追求です。この目的に気づいたのは割と最近のことです。やっていくうちに「自分がやりたかったのはこういうこ

          ゲームエンジンはアートである - 8 年以上自作ゲームエンジンをメンテし続けている話|Hajime Hoshi
        • 坂口博信 ナーシャ・ジベリの天才的プログラミングを語る

          坂口博信さん、成田賢さんが2024年6月22日放送のJ-WAVE『ゆう坊とマシリトのKosoKoso放送局』の中で初期『ファイナルファンタジー』シリーズなどを手がけた天才プログラマー、ナーシャ・ジベリについて話していました。 (鳥嶋和彦)やっぱり当時は(開発が)早いよね。 (坂口博信)最長で10ヶ月ですね。 (Naz Chris)ドラクエも早かったんですよね。 (堀井雄二)1なんか半年ぐらいで、2もそのぐらい作っていて。すぐ出したからね。で、3」でやっと1年かかったという話なんで。 (Naz Chris)当時のファミコンのゲームって、そんなもんなんですか? 平均的に1年以内で開発できるんですか? (堀井雄二)容量が少ないんでね、分量がなかったんだよね。1で64KBしかないんで。そこに絵を入れて、音楽を入れて、プログラムをしてっていう。 (坂口博信)そうですね。成田が言ったようにナーシャって

            坂口博信 ナーシャ・ジベリの天才的プログラミングを語る
          • プログラムの可読性を上げるための条件分岐を減らす方法7個 - Qiita

            Help us understand the problem. What is going on with this article?

              プログラムの可読性を上げるための条件分岐を減らす方法7個 - Qiita
            • 女性初の米海軍将官で『COBOL』を開発したエンジニア、グレース・ホッパーのお言葉

              Shogo Numakura 沼倉正吾 @ShogoNu "If it's a good idea…go ahead and do it. It is much easier to apologize than it is to get permission.(良い考えだと思うならさっさとやっちまいな。許可を貰うより後で謝る方が簡単なんだよ) プログラム言語『COBOL』を開発した米国海軍准将グレース•ホッパー、通称Amazing Hopperの言葉。 pic.twitter.com/e63PVPE5HL 2020-03-06 23:03:52

                女性初の米海軍将官で『COBOL』を開発したエンジニア、グレース・ホッパーのお言葉
              • ラバーダッキング法とは?悩みや問題解決に効果的な実践方法をご紹介!

                ラバーダッキングとは問題解決手法の1つに、「ラバーダッキング」というものがあります。IT用語的にいうと「ラバーダック・デバッグ」とも呼びます。ラバーダックはゴム製のアヒルの玩具で、幼児がお風呂に浮かべて遊ぶ姿を見たことがあると思いますが、あのアヒルの玩具です。そんなものが問題解決にどう役立つのか信じられない方もいますよね。 ここでは、ラバーダッキング法を活用した問題解決方法について紹介していきます。 やり方は非常にシンプルです。 ・机の上など、目につくところにラバーダックを置きます。(ラバーダックが入手できなければ、小さなマスコットキャラクターでも可) ・現在、頭を悩ませていることをラバーダックに向かって、声を出しながら話します。 ただこれだけのことですが、声に出して悩みを説明する過程で、「何について悩んでいるのか」「その解決策は何か」ということが次第に見えてきます。 IT系のエンジニアな

                  ラバーダッキング法とは?悩みや問題解決に効果的な実践方法をご紹介!
                • 糞コードは直すな。 - Qiita

                  とりあえず落ち着け。 みなさん、毎日なにかしらのコードを読み、開発する日々を送っていると思います。そんな中で、 糞コードは死ぬべきである!!絶対に直すべき!! という感情に取りつかれてしまうことがあると思います。自分の技術力に自信のある人ほど、無理やりにでも直そうと試みると思います。それがどんな修羅の道か。そして、糞コード修正がどんな道を歩むのか。この記事では糞コード修正の罠とありがちなストーリーについて書きたいと思います。 ビジネスとしてのプログラムは本質的に糞である 例えば、「携帯電話の利用料金」のプログラムがあります。 「携帯電話 透明性高め料金値下げを」という記事もあるように世の中の携帯電話の料金プランはかなり複雑です。例えば、auだと「auでんき」といった電気料金とパックされた電話料金プランがあります。また、「auスマートバリュー」といったプランもあり、家のインターネット回線をa

                    糞コードは直すな。 - Qiita
                  • ファイルダウンロード完全マスター | フューチャー技術ブログ

                    Real World HTTPでも紹介したネタですが、お仕事で受けている技術コンサル中に質問をいただいた時に、微妙に本で紹介した内容では少し足りなかったので、改めて整理のためにブログ記事にしてみました。次回、本が改訂されることがあればこのブログエントリーの内容も入れて加筆したいと思います。 Real World HTTPだとGoを使っていましたが、フロントとサーバーを同時にいじるので、本エントリーではNext.jsをサンプルに使います。Next.jsでプロジェクトを作って(npx create-next-app@latest –ts)、適当なプロジェクト名を入れてアプリケーションの雛形を作っておいてください。 Next.jsでは、1つのスクリプトファイルを作成すると、それがサーバーAPI(/pages/api以下)と、フロントの画面(/pages/以下のapi以外)になります。Next.j

                      ファイルダウンロード完全マスター | フューチャー技術ブログ
                    • 『龍が如く7』は進化を続け、自動バグ発見どころかほぼ全自動のバグ取りシステムを構築。これぞ無職から勇者に成り上がるデバッグだ!【CEDEC 2020】 | ゲーム・エンタメ最新情報のファミ通.com

                      本記事では、1日目におこなわれた『龍が如く7 光と闇の行方』(以下、『龍が如く7』)のデバッグに関するセッション“「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム”をリポート。 セッションには、セガのQAエンジニア・阪上直樹氏と、ビルドエンジニアの粉川貴至氏が登壇した。 バグをハグしたくなる自動システム! まずは阪上氏が開発者たちへ向けて、「バグは好きですか?」という質問からセッションがスタート。最初に龍が如くスタジオの各タイトルで、バグを発見した数の推移が公開された。ゲームの規模が大きくなるにつれ、バグも増加傾向にあるという。 そして全自動バグ取りシステムを運用した『龍が如く7』では、なんと25000ものバグが発見されたという。こう見るとネガティブな印象を受けるかもしれないが、バグ発見数が多ければ多いほど、ゲームクオリティがアップするということだ。 バグとい

                        『龍が如く7』は進化を続け、自動バグ発見どころかほぼ全自動のバグ取りシステムを構築。これぞ無職から勇者に成り上がるデバッグだ!【CEDEC 2020】 | ゲーム・エンタメ最新情報のファミ通.com
                      • もうみんなプログラマーになれるよ|shi3z

                        僕の20年来の親友にnpakaというプログラマーがいるんだけど、彼はもう超凄い。何でもすごい。何でも書けるし何でも早い。本を書くのもプログラムを書くのも、新しいわけわかんない説明書がバグだらけの環境に慣れるのも早い。 んで、これまではちょっとしたことも難しいことも全部npaka(布留川君)に頼んでたんだけど、最近二人とも独立したからつまんないこと頼むのは悪いなと思って「あれはできるんだっけ」くらいのことは自分で何とかしようかなと思った。 それでChatGPTに「Swiftで⚪︎⚪︎やるにはどうすんの?」と聞いたら、Swiftについてほとんど何も勉強してないのに作りたいものが何となくすぐにできてきちゃって、でもまあやっぱりChatGPTだと知識が古いので詰まったらネットで検索すると、だいたい結局npaka(布留川君)のページが出てきてやはり信頼と実績の大先生(仲間内ではそう呼ばれている)です

                          もうみんなプログラマーになれるよ|shi3z
                        • ヘタクソなコードを書いてもいい - 覚書

                          プログラミング言語のお作法から外れたコードやメンテ性が悪いコードを書くのはダメとよくいわれます。わたしは学生の頃、そういう意見を過剰に気にしていました。コードを書くことそのものに慣れていないのに綺麗に書こうとして手が動かず、動かないがゆえにコーディングの練習が進まない、という悪循環になっていました。そうすると何もアウトプットしないまま知識だけが増えていって、自分がこれくらいできそうというイメージと実際のプログラミング能力とのギャップで苦しみました。 この意識が薄れたのは、あるときものすごく手が早い人のコードを偶然見たときでした。たしかにちゃんと動くものができているんですが、そのコードの中身は当時の私の基準からいって*1おぞましいほど汚いものでした。そこで「これはわたしが書けば100倍くらい綺麗なコードを書けるんでは…」と一瞬思ったんですが、その後すぐに「あ、自分は知識はあるけど練習してない

                            ヘタクソなコードを書いてもいい - 覚書
                          • 「正直9年経ったいまでもfor文ググってる」 - Qiita

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

                              「正直9年経ったいまでもfor文ググってる」 - Qiita
                            • 「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita

                              はじめに 先日ツイッターで見かけた呟き pic.twitter.com/33Yk02hu1U — TOMO (@tomozh) October 14, 2020 そういうこともあるのか的な反応もあるようなので具体例を挙げてみることにする。 例1 所謂FizzBuzz問題。 #include <stdio.h> void fizzbuzz(int n) { int next; int i = 1; do { printf(i % 15 ? i % 5 ? i % 3 ? "%d\n" : "Fizz\n" : "Buzz\n" : "FizzBuzz\n", i); if (i++ >= n) next = 0; } while (next); } int main(void) { printf((char[]){""}); // この位置にprintfが無いとなぜか動かない fizzbuz

                                「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita
                              • もう初回コードレビューはAIに任せる時代になった - CodeRabbit -

                                どんな人向けの記事? レビューによって心理的なダメージを受けやすい方 非エンジニアだが、エンジニアチームがどんな機能を作っているか知りたい方 業務が溜まっていて、レビューに割く時間を捻出するのに苦労している方 コピペできるコードも公開します 初回レビューをAIに任せると、いろんなロールの人の役に立つ レビューは得意ですか? 優秀なエンジニアしかいないチームであれば、PRは1トピックに絞って小さく明確なコミットによって作成され、適切な要約とともに提供されることでしょう。 しかし、実際にはいろいろな制約から、PRが想定よりずっと大きくなってしまったり、関連トピックと異なるコードが混じってしまうこともあります。 実際のところ、大きなPRを適切にレビューするのは難しいことです。また、自分が詳しくない領域のレビューを行わなければいけない機会もあります。 今回の記事は、レビューを作成してくれるAI C

                                  もう初回コードレビューはAIに任せる時代になった - CodeRabbit -
                                • システム運用アンチパターン

                                  上層部がDevOpsに理解のない組織で働き、組織構造を変える権限を持っていない開発者であっても、チームにDevOpsを導入するための現実的な方法を紹介します。 重厚な承認プロセス、可視化されていない運用、プロセスの最後でのみ行われるソフトウェアテスト、ノイズだらけのアラート、インシデントから学習しない習慣、時間外のデプロイ、情報のため込みなどを取り上げ、ソフトウェアシステムの開発運用が滞るチームや組織に共通してみられる陥りがちな状況や犯しがちな間違いをアンチパターンとして紹介します。そして管理職やマネージャでなく、エンジニアが実行し、繰り返すことで改善できる具体的な行動を解説します。 組織で必要とされる変化を、エンジニアが行動することで実現する本書は、ソフトウェアシステムをよりよく開発運用したいエンジニア必携の一冊です。 目 次 序文 本書について 1章 DevOpsを構成するもの 1.1

                                    システム運用アンチパターン
                                  • とほほのChrome拡張機能開発入門 - とほほのWWW入門

                                    Chrome の拡張機能を開発する手順について説明します。まずは、拡張機能が実行されたらポップアップを表示するだけのものを作成してみます。下記のフォルダとファイルを作成します。 my-extension manifest.json popup.html { "name": "My Extension", "description": "My Extension", "version": "1.0", "manifest_version": 3, "action": { "default_popup": "popup.html" } } <!DOCTYPE html> <html> <body> <h1>Hello world!</h1> </body> </html> Chrome で chrome://extensions を開き、[パッケージ化されていない拡張機能を読み込む] から上記

                                    • 趣味のプログラミングで博士号を取った社会人の覚え書き

                                      ※追記:本記事では論文誌、学会名や社外講座名などを伏せております。もし必要でしたらSNS等にてお尋ねください(少しググれば見つかりますが)。 私は2022年3月に博士号(工学)を取得しました。いわゆる社会人博士というものです。 自分が博士課程に在籍していたときに、他の方のブログを読んで参考になったので、このようなものは数が多いほうがよいだろうと考え、自分の記録も残しておこうと思います。この記事が誰かの参考になれば幸いです。 tl;dr 研究者としては並以下の、プログラミング好きな研究者(40代管理職)が、4年かけて、「新しいソフトウェア作ったよ」という仕事とは無関係のテーマで博士号を取りました。 どのような人間か 私は企業の研究所に務めている研究者です。物理実験系の修士課程を修了し、情報系の研究所に入社するという、やや異色の経歴です。博士課程進学時(2018年4月)の肩書は主任研究員で、部

                                        趣味のプログラミングで博士号を取った社会人の覚え書き
                                      • ゲーム感覚でプログラミング学べるサービス集 - Qiita

                                        はじめに 今回はゲーム感覚でプログラミングを学べるサービスを紹介します。 ゲームを通して学んだ知識をアウトプットできるサービス集を厳選したので、ぜひ学んだ知識を「使える技術」として自分のものにしていただければと思います。 この記事の主な対象者 プログラミング初心者~中級者 基礎文法は学んだけどアウトプットができていない人 フロントエンジニアを目指してる人 楽しみながらプログラミングを学びたい人 ぷよぷよプログラミング まずはじめに紹介するのは、SNSでも話題になった、ぷよぷよを開発しながらプログラミングを学ぶことができる「ぷよぷよプログラミング」です。 ぷよぷよプログラミングでは、人気ゲームぷよぷよを開発しながらHTMLやCSSやJavaScriptといったプログラミングをしていく中で基礎となる技術を学ぶことができます。 実際にアプリ開発をしながら学べるので、インプットとアウトプットが同時

                                          ゲーム感覚でプログラミング学べるサービス集 - Qiita
                                        • Windowsで開発

                                          Windowsで開発環境を整えた。 背景 開発環境を改善しようと思い、PCデスクの見直しなどをやっていたら、Windowsでも開発できるようにしようと思い至った。新しい環境を試してみたい気持ちが1割と、新しいゲーミングPCを組みたい気持ちが9割だ。 エディション Windows 10 Homeエディションを利用している。 Windows 10 ProにはHyper-Vという仮想化機能を直接利用できる利点があるが、WSL2で同じようなことをより便利に実現できるようになったおかげで、この点においてPro版の必要性は薄れてきている。今のところ自分のやりたいことはWindows 10 Homeですべて実現できている。 Windows Update WSL2を使うために、Windowsをバージョン2004・ビルド19041に更新した。 日々の自動更新ではバージョン1903で止まっていて、まだ自動では

                                            Windowsで開発
                                          • Qiitaの質問に答えまくって気付いた初心者に足りないバグ解決スキル - Qiita

                                            ここのところちょっと時間に余裕があり、暇を見つけてはQiitaの質問に答えるという取り組みをやっています。以前StackOverflowでも同様の取り組みをちょっとだけしてたことがあります。 9日間で35個の質問に回答してみて、正直に思うのは「質問の質が悪すぎるなー」ということです。ただ、どう質が悪いのか上手く言語化できず悶々としていました。 そんな折、今朝googleのおススメ記事に飛び込んできたQuaraのこちらの回答を読んで、「これこれ!こういうことよ!」という気持ちになったため、これから質問する人に向けてこの内容を少し嚙み砕いてまとめてみます。 ベテランはどうデバッグをしてるのか (自分をベテランと言っていいのかはさておき)日頃からコードを書いていると、デバッグには、その時使っている言語やフレームワークによらず、ある程度の行動パターンがあることに気付いてきます。 デバッグには難しい

                                              Qiitaの質問に答えまくって気付いた初心者に足りないバグ解決スキル - Qiita
                                            • 要件定義、基本設計、詳細設計の流れを総復習

                                              はじめに 📘 この記事は ラクス Advent Calendar 2023 の7日目の記事になります。 要件定義から基本設計、さらに実装や保守運用に至るまでの一貫した経験を何度か積んできましたが、毎回 「要件定義って具体的に何の項目が必要だっけ?」 「基本設計との違いって何だったっけ?」 「基本設計と詳細設計の区別って?」 といった疑問が頭をよぎってきました。 そんなわけで、これまでの経験を振り返りつつ、開発プロセスについて1からまとめていくことで頭の中の大掃除を行なっていきたいと思います🧹 この記事の対象者 🎯 開発プロセスについて学びたい方 要件定義の基本を学びたい人 要件定義と基本設計の違いがわからない人 一緒に開発プロセスについて復習したい方 前提 記事中の一部(特に要件定義や基本設計、詳細設計のサンプル)を自動生成で作成してます。一貫性の無い内容があるかも知れませんが、あく

                                                要件定義、基本設計、詳細設計の流れを総復習
                                              • 「会議で話されている内容と、ソースコードが全然違う」〜イオン発の“新ネットスーパー”リリース直前の1年間を語る|イオンネクストCTOインタビュー |AEON TECH HUB

                                                イオンネクスト株式会社・CTO 樽石将人のインタビュー記事です。入社時にミッションとされた新ネットスーパー「Green Beans」は、期日通りのリリースが危ぶまれるほど問題が山積みだったと言います。プロジェクト立て直しのために目をつけたのは「現場」。樽石は何を変え、どう開発を進めたのでしょうか?リリース直前の1年を語ります。

                                                  「会議で話されている内容と、ソースコードが全然違う」〜イオン発の“新ネットスーパー”リリース直前の1年間を語る|イオンネクストCTOインタビュー |AEON TECH HUB
                                                • 納期がなぜ生産性をぶち壊しにしているのか?|牛尾 剛

                                                  昨年NewsPicks さんに取り上げてもらって最近動画が公開されました。そこでもお話させてもらっていることなのですが、アメリカで働きはじめると日本人からすると「納期が無い」感覚が物凄く衝撃的だった。 最近、納期が無いことと生産性について頭の中で整理がついてきたのでシェアしておこうと思う。ちなみに、動画も含めて、私の発言は私の体験と意見であり、所属会社には全く関係が無いことを改めてお断りしておきます。 日米納期の感覚の違い アメリカで働いていると、日本人からすると納期がほとんどないという感じを受ける。もちろん納期があるものもあるが「本当に必要なもの」に限られる。例えば、大きなカンファレンスで何かの製品を発表するとかそんなのだと納期はもちろんある。そうでなれけばほとんど無いという感覚だ。私の所属会社だけではなく、北米の他の会社の人も同じような感覚らしいので文化によるものだと思う。 常に納期が

                                                    納期がなぜ生産性をぶち壊しにしているのか?|牛尾 剛
                                                  • GitHub上に三井住友銀の一部コードが流出、「事実だがセキュリティーに影響せず」

                                                    三井住友銀行(SMBC)が行内で使っている業務システムのソースコードの一部が流出していたことが2021年1月29日、明らかになった。Twitterなどのソーシャルメディアで、2021年1月28日の夜ごろから流出の可能性が指摘されていた。三井住友銀行が1月29日に事実関係を調査し、行内システムのソースコードの一部と一致したことを確認した。 一部のソースコードが公開されていたのは米ギットハブが運営する「GitHub」。日本在住で三井住友銀行のシステム開発に関係した人物が投稿した可能性が浮上している。三井住友銀行は日経クロステックの取材に対し、「当行が利用しているシステムのソースコードが公開されていたのは事実。顧客情報の流出はなく、セキュリティーに影響を与えるものではないことは確認済み」(広報部)と説明している。 三井住友銀行によれば、公開されていたコードは複数ある事務支援系システムの1つに含ま

                                                      GitHub上に三井住友銀の一部コードが流出、「事実だがセキュリティーに影響せず」
                                                    • 【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita

                                                      弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 目次 1.はじめに 2.VSCodeの拡張機能紹介 3.コーディングのポイント 4.よく使われる英単語一覧 5.エラーとの向き合い方 6.テストで動作確認 7.検索の極意 8.公式ドキュメントに慣れる 9.リファクタリングでさらに読みやすく 10.資料作成で気をつけること 11.Gitで管理 12.よく使うLinuxコマンド一覧 13.仕事の進め方 14.プログラム以外で意識するところ 15.初心者こそ読んで欲しい本 16.まとめ 1. はじめに プログラミングは現代のデジタル社会において重要なスキルです。 AIがコードを書いてくれる時代ですが、それでも人の手によるプログラ

                                                        【11万文字越え】プログラミング初心者に贈る即戦力ガイド - Qiita
                                                      • プログラミングでつまづいてきたこと - 覚書

                                                        プログラミング初心者に対してどういう情報が役立つのかをぼんやり考えていると、そこそこコードを書けるベテランが、いつ、どういうことにつまづいてきたのかを書くとけっこう有益なのではないかと思ったので書きました。これを読むと直接プログラミング能力が上がるわけではないですが、「ああ、こういうところでつまづいてもいっぱしのプログラマになれている人もいるのだな」と思ってもらうのが目的です。成功談よりも失敗談のほうが役立つとよく言われますが、それと少し似ているのかもしれません。 全段落で「いっぱしのプログラマ」とか言った手前、自分のことを書いておきます。18歳ごろから20年くらい前からプログラミングをしていて、主に有名どころのOSSに向けてコードを書いてきました。昔はLinuxカーネルを10年少々やっていて、ここ最近はCephオーケストレータであるRookの開発とかをしています。プログラマとしてはスーパ

                                                          プログラミングでつまづいてきたこと - 覚書
                                                        • なぜ自動テストの導入は失敗するのか? - プログラマーの脳みそ

                                                          開発室の雑談。営業側のマネージャが言うには 「今のプロジェクトで自動テストの導入を試みている話をしたら、XXXさんのところでも過去にいくつか導入を試みたけどもみんな上手くいかなかったって話になって」 なるほど? まあ確かに自動テストはシステム開発にとって魅惑の技法ではあるものの、では導入がうまくいっているか? というと普及率は低いと言わざるを得ない。私がお手伝いしたプロジェクトでは、元請け側から自動テストをやるお達しが来たわけだが、紆余曲折あって掛け声倒れのような状態になってしまった。 ビジネス書の煽りタイトルのような本件だが、古式ゆかしき受注生産の業務システム開発プロジェクトに自動テストを導入しようとして失敗する事例を聞いたので、僕なりに分析して見出した要素を挙げておこうと思う。 V字モデル ソフトウェア開発の手法としてV字モデルというものがある。 オーダーメイドでシステムを作るにあたっ

                                                            なぜ自動テストの導入は失敗するのか? - プログラマーの脳みそ
                                                          • 【追記あり】プログラミング初心者がTwitterで質問したら「スクールではこんなクソコード教えてんのか」とキツい指摘が飛んできた

                                                            みりせっく@雌尻ンダー extends Siri @grandcraws ツイ主が勘違いされて傷ついてるようなので、一旦謝罪とこの場でも補足しますが、初学者のコードは普通汚い。初心者はコードが綺麗か汚いかも判断基準がないから。だから教える側がここは綺麗、ここはまずい、普通はこう書く、特殊な書き方はやめよう、という教えをちゃんとやりなさいっていう話です。 2022-08-17 02:49:22 みりせっく@雌尻ンダー extends Siri @grandcraws @manaboru 正論を言うことと相手を傷付けることは無関係で、傷付けるから正論を言わないは間違いだと思いますよ。傷付かないように正論を言うべきで。で、今回はその配慮が足りず誤解させて傷付けてしまったからそこに対して衆人に見える形でリプで直接謝罪してます。それ以上の話として何を求められてますか? 2022-08-17 12:2

                                                              【追記あり】プログラミング初心者がTwitterで質問したら「スクールではこんなクソコード教えてんのか」とキツい指摘が飛んできた
                                                            • ベテランプログラマの前に立ち塞がるのは「老眼」

                                                              プログラマ35歳定年説が滅びたいま、我々技術者の前に立ち塞がるのは「老眼」です。 諸先輩方を中心に貴重な経験談やアイデア等多数いただきましたので、ざっくりとジャンル分けしてまとめました。誠にありがとうございます。 (どなたでもまとめ編集可にしてありますので、問題がある場合は削除や編集などしていただければと思います)

                                                                ベテランプログラマの前に立ち塞がるのは「老眼」
                                                              • 『ソフトウェア設計のトレードオフと誤り』を読んで、”日付や時刻”を扱うことの難しさについて考えた - Magnolia Tech

                                                                ソフトウェア設計のトレードオフと誤り ―プログラミングの際により良い選択をするには 作者:Tomasz Lelek,Jon SkeetオライリージャパンAmazon ソフトウェア開発経験の最初の段階で「一つの機能には複数の選択肢が有って、メリット・デメリットがそれぞれ有り、それらはトレードオフの関係に有り、容易には決めることができない」という事実を教えてもらえる機会に遭遇できていれば、その人はとても幸運だと思う。 先輩や上司が一方的に、「一つの確かな方法」をただ伝える、みたいな場面(それが必ずしも一般的にはそうとは言えない方法であったとしても)も多いのではないでしょうか。 どんなに設計上の意思決定ができている人でも、その頭の中では「色々な選択肢の中で悩んで、ベストではないかもしれないけど、前の前の課題に対してよりベターな方法」を選んでいる。でもその思考の過程を見せてくれる人はとても少ない。

                                                                  『ソフトウェア設計のトレードオフと誤り』を読んで、”日付や時刻”を扱うことの難しさについて考えた - Magnolia Tech
                                                                • 「パパの書くプログラムってif文すごく少ないね」 → 「よく気がついたな。if文をあまり書かないよう設計すると皆に喜ばれるぞ」

                                                                  ミノ駆動 @MinoDriven 昨日ゲームプログラミングしてる最中 うちの子「パパの書くプログラムってif文すごく少ないね」 僕「よく気が付いたな。同じ動きのコードでも何も考えずに書くとif文だらけで読みにくくなるんだ。if文をあまり書かないよう設計すると皆に喜ばれるぞ」 とインプットしておいた。 2020-02-25 11:48:13

                                                                    「パパの書くプログラムってif文すごく少ないね」 → 「よく気がついたな。if文をあまり書かないよう設計すると皆に喜ばれるぞ」
                                                                  • とある女がプログラミングに救われた話

                                                                    駄文なので最初にまとめておくと、知識ゼロ異業種から転職して何とかエンジニアとしての人生を始めました、という話。経歴がショボすぎて誰かの道標にすらならないだろうけど書き残しておく。実名で書く勇気はないので増田にて失礼。 ・芽生えPCを初めて触ったのは4歳の頃。 父が仕事で使うと言って、ThinkPadを買ってきた。 黒くてごついボディが幼心にぐっときたのを覚えている。この記憶があったためか、初めて自分で購入したPCはThinkPadだった。 ・小〜中学生我が家にインターネット開通。深夜に親が寝てからこっそり2chとニコニコ動画を見ていた。PS2でドラクエ8をやってグラフィックに感動する。まだプログラミングという言葉は知らない。母親のヒステリーと父親の拳骨に耐える日々だった。 ・高校生地元の高校に進学。友人とホムペ(死語)を作成。html/CSSで文字の色か変えられたりアニメーションをつけら

                                                                      とある女がプログラミングに救われた話
                                                                    • Re: 僕らを縛る Node.js という呪いについて - あるいはなぜ TypeScript 以外が真っ当な選択肢にならなかったか

                                                                      Re: 僕らを縛る Node.js という呪いについて - あるいはなぜ TypeScript 以外が真っ当な選択肢にならなかったか https://d.potato4d.me/entry/20220405-nodejs/ へのアンサーソング。 プログラミング言語としての JavaScript の話をする。 2010年頃、Python 2 でプログラミングを学習した自分にとっては Node.js + CoffeeScript が Better Python だった。 CoffeeScript は当時の JS(ES3~5) に足りない機能を補ってくれて、Python と同じく空白制御のオフサイドルールなのが気に入った。見た目が少しだけ Ruby っぽいので当時全盛だった Rails の人間に訴求するにも有利だった。 Node.js のモジュールシステムである Commonjs は Pytho

                                                                        Re: 僕らを縛る Node.js という呪いについて - あるいはなぜ TypeScript 以外が真っ当な選択肢にならなかったか
                                                                      • 高度に発達したウォーターフォールはアジャイルと見分けがつかない - An Epicurean

                                                                        tl;ldr ウォーターフォールという言葉を悪口として使うのは良くないんじゃない? 空想上の開発手法ウォーターフォールと進化したウォーターフォール アジャイル開発の説明がされるとき、アンチパターンとして「ウォーターフォール」が使われることがあります。これは「ダメな開発現場」と同義で使われており、共通仮想敵としての空想上の開発手法とも言えます。 それは、曰く、硬直化していて変化や手戻りを許さず、一本道でフィードバックサイクルがない、数十年アップデートされていない古臭い手法のことらしい。 もちろんそういう開発をしている現場もまだ数多く存在するでしょう。ただ、ウォーターフォールをカイゼンし進化させている人達もいます。そういう人たちの話を聞くと、例えば以下のような話を聞きます。 一ヶ月で1ウォーターフォールを回す 前の手順に戻る手続きが定められている 初期フェーズから開発者を巻き込む 定期的なレビ

                                                                          高度に発達したウォーターフォールはアジャイルと見分けがつかない - An Epicurean
                                                                        • プログラマーの脳は作業中に”誰かの声”を聞いていると判明! 数学力より音声理解力が重要 - ナゾロジー

                                                                          一般の人にとって、プログラマーの持つ知識と技術は別世界のもののように感じられます。 海外の研究者にとってもプログラマーの持つ特殊技能は興味の対象であったようで、古くは1980年代から、心理学的手法を使ったプログラマーの「特別な脳」の分析が行われてきました。 そんな中、近年の急速な神経科学の発展により、MRI(核磁気共鳴)やEEG(脳波測定)を用いて脳活動を可視化することが可能になってきました。 しかし、これまでの研究で可視化した脳領域は、読書やゲームといった日常生活時にも使われる汎用的な領域であり、プログラム時にだけ働く特異的な領域ではありませんでした。 そこで今回、ドイツのケムニッツ工科大学の研究者たちは、プログラム時にだけ働く「プログラム脳」の特定に挑戦。結果は、予測とは大きく異なるものとなりました。 なんと、プログラム時に働く脳機能は数学的能力や論理的推察力ではなく、会話時における相

                                                                            プログラマーの脳は作業中に”誰かの声”を聞いていると判明! 数学力より音声理解力が重要 - ナゾロジー
                                                                          • ハイフンに似ている横棒を全て統一するᅳㅡ˗𐆑–᭸‒-─−▬𐄐—━‐‑ー﹣―ー﹘-⁃➖⁻! - Qiita

                                                                            はじめに これらの横棒、コンピュータにとっては全て違うのですが 見分けがつくでしょうか? -˗ᅳ᭸‐‑‒–—―⁃⁻−▬─━➖ーㅡ﹘﹣-ー𐄐𐆑 郵便番号、住所、電話番号など、横棒が使われているデータを扱うとき、 人が入力したデータや購入したデータであると、同じ記号が使われていないことはよくあることです。 090-1234-5678 090᭸1234᭸5678 090‑1234‑5678 090−1234−5678 これらの電話番号の文字列も phone_no_list = ['090-1234-5678', '090᭸1234᭸5678', '090‑1234‑5678', '090−1234−5678'] # 文字をUnicodeコードポイントに変換 for n in phone_no_list: # 文字列の4番目の横棒の文字コードを見てみる print(n[3], ord(n[3]

                                                                              ハイフンに似ている横棒を全て統一するᅳㅡ˗𐆑–᭸‒-─−▬𐄐—━‐‑ー﹣―ー﹘-⁃➖⁻! - Qiita
                                                                            • 脳に収まるコードの書き方を読んだ。面白かった。 - Mitsuyuki.Shiiba

                                                                              いただきましたー!わーい。脳に収めるぞー! @haradakiro @ryuzee pic.twitter.com/3Qd6EvPioU— SHIIBA Mitsuyuki (@bufferings) June 13, 2024 明日(2024年6月18日)発売! www.oreilly.co.jp どう書くのがいいんだろうなぁ? 複雑なコードと向き合うときは「あー、これはメモを取りながら読まないと迷子になるやつだ」ってなる。最初はわりとキレイに作られていたとしても、機能追加を重ねていくとだんだん読めなくなっていく。 だから「時間が経っても読みやすいコードってどう書くのがいいんだろうなぁ?何かヒントがあるかなぁ?」って思いながらこの本を開いた。先に書いておくと、ヒントはあった。 アウトサイドインのTDD 全然予想してなかったから、おー!と思ったのが、説明をTDDで進めていくってところ。好き

                                                                                脳に収まるコードの書き方を読んだ。面白かった。 - Mitsuyuki.Shiiba
                                                                              • プログラマーって選民感情持ってる人多くない?

                                                                                その他多くの職業と同じく上澄みの天才以外は幾らでも替えがきく職業でしかないのにどうしてあそこまで選民感情が高まってるのかわからない 「ソースコードを思案してる最中は意識が飛んでるので話しかけられても困ります」みたいなツイートがバズった時にも思ったけど他の職業は頭使わないとでも思ってるんですかね?

                                                                                  プログラマーって選民感情持ってる人多くない?
                                                                                • 自分を救うプログラミング|naoya

                                                                                  子どものころは絵を描くのが好きだった。 学校の休み時間は、クラスメートはみな外にサッカーをしにいっていたが一人教室にのこってノートに漫画を描いている、そんな小学生だった。 自宅に戻っても、自室にこもってよく漫画を描いていた。 漫画と書くいっても、別に人を楽しませるために描いているわけではなかった。もちろん褒められると嬉しかったが、それが目的だったわけではなく、いま思えば、それは自分で自分を癒すかのような行為だった。自分を救うために絵を描いていた。 絵を描いているときは、それに夢中で没頭していて、ほかの何にも代えがたい時間を過ごすことが出来た。この時間が、どこか自分の救いになっていた。 中学二年生ぐらいになって思春期にさしかかった頃だろうか。教室で絵を描いていると浮いてしまうことに気づいて、恥ずかしくなって、描かなくなった。 それでもやっぱり絵を描いたりなにか作品を作ったりするのは好きだった

                                                                                    自分を救うプログラミング|naoya

                                                                                  新着記事