並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 78件

新着順 人気順

C言語の検索結果1 - 40 件 / 78件

  • 私が独学をして、マジ神だと思うサイトおよび他 - Qiita

    初めに 私は独学でプログラミングその他について勉強をしていますが、基本的に知識を得るために金はかけません。調べれば何とかなるので。 私がプログラミングを始めるにあたって自分に投資したものは安いノートパソコンとマウスのみで合計金額は14600円(ノートパソコン14000円、マウス600円)ですね。 もちろんいいものはお金をかけなければ手に入りません。しかし、いいものというのはある程度のレベルにならなくては持っていても意味がほとんどないと思います。 実際にプログラミングの勉強を独学で始めると、なかなか教材を見つけることができず、え?こんないいサイトあったの!?もうちょっと早く見つけときゃあよかった!というものがめっちゃありましたので、これから独学でプログラミングの勉強をしたいという方に向けて、少しでもお役に立てたらと、紹介をしたいと思います。 というわけで、今回は私が感謝する神サイトおよびその

      私が独学をして、マジ神だと思うサイトおよび他 - Qiita
    • すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ、全銀システム通信障害の詳細を説明 | gihyo.jp

      すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ⁠⁠、全銀システム通信障害の詳細を説明 全国銀行資金決済ネットワーク(以下、全銀ネット)とNTTデータは12月1日、2023年10月10日~11日にかけて全国銀行データ通信システム(以下、全銀システム)で発生した通信障害に関する報道関係者向けの説明会を開催しました。本件についてはNTTデータが11月6日に行った途中経過報告の内容をもとにレポートしましたが、今回、全銀ネットとNTTデータが揃って会見を行ったことで、より詳細な障害の原因が判明したので、あらためてその内容を検証してみたいと思います。 説明会の登壇者。左から、全銀ネット 企画部長 千葉雄一氏、事務局長兼業務部長 小林健一氏、理事長 辻松雄氏、NTTデータ 代表取締役社長佐々木 裕氏、取締役副社長執行役員 鈴木正範氏 なお、全銀ネットとNTTデータは、今回の障害に関して金融

        すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ、全銀システム通信障害の詳細を説明 | gihyo.jp
      • AIにプログラミング作業を奪われている - k0kubun's blog

        せっかく10年以上かけて学んだプログラミングだが、人間がコード書くよりChatGPTにやらせた方が早いなということが度々あり、だんだん自分でプログラミングをやる時間が減ってきた。AIにコードを書かせてそれをGitHubにコピペして残りの時間は遊んでるだけで成果が出てお給料ももらえる日は近いし、段々会社もそのことがわかってきて失職する日も近い。 残念ながら現時点では全ての仕事がAIで上手くいくわけではないが、どういう時に使えるかを知っておくと楽をしやすくなるので、僕がどう使っているかをまとめておく。 失職できるケース 簡単なスクリプトを高速に書かせる 僕はRubyが全ての言語の中で一番慣れており、StackOverflowやドキュメントをほぼ見ずに大抵のプログラムを書き切れるため、Rubyを書いている時がプログラマとして一番生産性が高いのだが、それでも最近AIにRubyを書かせたことがあった

          AIにプログラミング作業を奪われている - k0kubun's blog
        • はじめに - Writing an OS in 1,000 Lines

          本書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基本機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 本書では素朴なコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法・能力を習得する必要がありま

            はじめに - Writing an OS in 1,000 Lines
          • AIはどのような仕事ができるようになったのか?ChatGPTで変わる「優秀な人材」

            この図はざっくりと3つの領域に分かれます。まず左下が従来のプログラミングの領域です。これは簡単に言うと「プログラムは間違ってはいけない定形な仕事を奪う」ということです。次にその上の士業が責任を取る領域です。これは「責任」を取る人がいないと成立しない仕事です。ミスが発生した際に罰則を与えるという形で、ミスの発生を防いでいます。最後に右側のホワイトカラーの仕事の領域です。ホワイトカラーの仕事は入出力が不定形であり、作業フローも非定型であったりします。そのため、多少のミスはあっても仕方ないという前提の上で仕事が行われています。 機械学習がビジネスに組み込まれるにつれ、ホワイトカラーの仕事領域はそれらによって少しずつ代替されつつあります。その図がこちらになります。 ホワイトカラーの担っていた領域は、表データの機械学習(重回帰や、Lasso回帰、SVM、RandomForest、LightGBMなど

              AIはどのような仕事ができるようになったのか?ChatGPTで変わる「優秀な人材」
            • 「尖った人ではなく、暗黙知を形式知に変換する人がほしい」 “均質人材”を育成してきた日本でこれから求められる能力とは

              「プログラミングを学ぶ」ではなく「要件定義を学ぶ」 田中邦裕氏(以下、田中):あと13分ぐらいになったので、今後の展望にいきたいのですが、その前に、質問が7個ほど来ているので、みなさんに聞きたいと思います。 一番投票数が多い質問が、「非エンジニアでAIを使ったスマホアプリを作りたいんだけれども、プログラミングをそもそも学ぶべきか?」という質問です。 生成AIがある今、何をどのように学ぶべきなのか。プログラムを学ぶべきなのか、それ以外になにか手段があるのか。目的によっても違うのですが、ざっくりとしたこの質問に対して、なにか答えられる方はいますか? 比戸将平氏(以下、比戸):じゃあ、私から。 田中:はい、お願いします。 比戸:先週ぐらいに、NVIDIAのジェンスン(Jensen Huang氏)が、「今後はAIがプログラムを書くから、もうプログラムを学ぶ必要はないよ」と発言したのが切り取られて、

                「尖った人ではなく、暗黙知を形式知に変換する人がほしい」 “均質人材”を育成してきた日本でこれから求められる能力とは
              • Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場

                Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場 WindowsやMacなどのデスクトップPCでVisual Studio Code(以下VSCode)を利用して開発をする場合、同じローカルマシン上でDockerコンテナのLinux環境を起動し、VSCodeのターミナルで接続して操作することは、開発環境としてよくあることだと思います。 これと同じことをWebブラウザ版のVSCodeでも実現する、すなわちWeb版VSCodeが同一Webブラウザ上にWebAssembly化したDockerコンテナを起動し、Web版VSCodeからローカルマシンとして接続し利用できる、実験的実装を実現したVSCodeの拡張機能「vscode-container-wasm」が登場しました。 V

                  Web版VSCodeがDockerコンテナをWASM環境で起動、Webブラウザ内ローカルマシンとして利用可能に。拡張機能「vscode-container-wasm」登場
                • 「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita

                  TL;DR Shift_JISにしただけでコンパイラが通らなくなる恐ろしい事件とその回避法について。 \ (¥)のASCIIコードは0x5c 表、能は良くない UTF-8は神 2023/12/06追記 誤りがあったので訂正します。こんな読まれると思ってなかったので正直ちょっとびっくりしていますが、いろいろコメントありがとうございました。(ツイート等全て拝見しました。) Shift_JISが悪いわけではない(デフォルトのエンコーディング設定の問題)→追記しました UTF-8にはUTF-FSSという仕様でこの問題が回避されている→マジでタメになる知識ありがとうございます OSによってデフォルトのエンコーディング設定が異なるせいで、デフォルト環境での動作がOSにより異なる→なるほど?(調査中) CRLFとLF問題では→なるほど?(調査中) そんな問題何を今更→UTF-8が出てから生まれたからです

                    「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita
                  • Visual Studio Codeに入れるべき拡張機能【2023年最新版】 - Qiita

                    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに VSCodeは世界で多くの人が使っているコードエディタです。 開発の際に使用している人も多いのではないでしょうか。 今回はそんなVSCodeの拡張機能を一挙に紹介していきます。 拡張機能 VSCodeは世界中で支持されているコードエディタですが、最大の魅力が「拡張機能」です。 機能を追加して、より自分が使いやすいコードエディタにすることができます。 拡張機能のインストール 拡張機能のインストールのやり方を説明します。 アクティビティバーの拡張機能マークをクリックする(四角が4つあるマークです) インストールしたい拡張機能を検索する 拡張機能を選ぶ インストールをク

                      Visual Studio Codeに入れるべき拡張機能【2023年最新版】 - Qiita
                    • C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -

                      C言語(C++を含む)を習得したい人,ポインタを勉強したい人はgcc-14を使いましょう.難しいところは gcc-14 が丁寧に解説してくれます C言語の難しいところ 例を示します.C言語で記述された,たった6行のソースコードです int main() { int buf[10]; buf[10] = 0; return 0; } このソースコードには問題があります.初見でわかるでしょうか? : : : 問題があるのは buf[10]=0 の部分です.C言語でやりがちなミスですが,これがバグやセキュリティホールの原因になります. C言語が難しい理由は二つあります.この手の問題を見逃しやすい点と,この手の問題を理解することが難しい点の二つです gcc 14 に解説してもらいましょう 上記の6行のソースコードをgcc14を使ってコンパイルしてみます ソースコードのファイル名は test.c と

                        C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -
                      • スキル0から1年間でマルウェア解析を習得した学習方法 - the_art_of_nerdのブログ

                        みなさん、こんちにはmです。 今回は私が1年の期間でマルウェア解析のスキル0から習得するまでに取り組んだ方法をまとめました。 初めに開始時のスキルや1年間でかけたコスト、スケジュールなどを共有します。 開始時のスキルなど 表層解析、動的解析、静的解析の違いもあまり理解していない プログラミングはPythonを学び始めた程度 低レイヤーの知識なし アセンブリの知識なし Windowsアプリケーション開発の経験なし SOCアナリストとしてブルーチームの知識は多少 脆弱性診断の経験も(深くはないが)多少 エンジニア歴7、8ヶ月目くらい ざっくりですが、このようにマルウェア解析に絡んでくる知識はほぼ0でした。 学習にかけたトータルコスト 書籍:約5万円 オンライン教材:12万円 約17万円近く1年間に使いましたが、お金で直接スキルは買えないので必要経費です。 なお、オンライン教材の12万円について

                          スキル0から1年間でマルウェア解析を習得した学習方法 - the_art_of_nerdのブログ
                        • GitHub、脆弱性のあるコードを実際にデバッグして学べる「Secure Code Game」シーズン2がスタート

                          GitHub、脆弱性のあるコードを実際にデバッグして学べる「Secure Code Game」シーズン2がスタート 「Secure Code Game」は、ゲームと名付けられていますが、実際のコードを月間60時間無料で提供されるGitHub Codespacesの機能を駆使して修正し、ユニットテストを通して完成させる手順となっており、実践に近い内容となっています。 昨年(2023年)3月に開始されたシーズン1は、PythonとC言語でのセキュアなコーディングを学べる内容でした。今回のシーズン2ではこれらに加えてJavaScript、Go、そしてGitHub ActionsのYamlファイルなどが含まれており、これらのコードのバグを修正することになります。 Secure Code Gameの始め方 「Secure Code Game」の始め方は次の通りです。 まず「Secure Code G

                            GitHub、脆弱性のあるコードを実際にデバッグして学べる「Secure Code Game」シーズン2がスタート
                          • スレッドとプロセスの違いを完全に理解する

                            はじめに こんにちは、FarStep です。 プログラミングを学ぶ中で、「プロセス」と「スレッド」という言葉を耳にしたことがある方は多いと思います。 しかし、これらの違いを明確に説明できる自信がない方も多いのではないでしょうか。 本記事では、プロセスとスレッドの違いについて、エッセンスを抽出して 解説します。 説明を簡潔にしましたので、本記事は 5 分程度で読み終えることができます。 本記事の内容を自分の言葉で説明できるようになれば、プロセスとスレッドの違いの理解は十分でしょう。 それでは、始めます 🚀 プログラムとは プロセスとスレッドの違いを理解する前に、まずは「プログラム」について理解しましょう。 プログラムとは、プログラミング言語で書かれた一連の命令 のことです。 プログラミング言語の例としては、以下のようなものがあります。 C 言語 Java Python Ruby JavaS

                              スレッドとプロセスの違いを完全に理解する
                            • シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ

                              はじめに 開発部の ikasat です。 皆さんは git, ssh, rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後から Python のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、 rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ

                                シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ
                              • 「Bluesky」「Python」「Vim」「404」「ぬるぽ」などIT関連のかわいい高品質ロゴを作りまくる人物現る、BlueskyやReact公式が早速ロゴを実装するなど爆発的な盛り上がり

                                IT関連の高品質な自作ロゴを大量に含むGitHubリポジトリが、プログラマーやゆっくり実況者として活動するさわらつき氏によって公開されました。当該リポジトリは公開直後から大きな注目を集めており、すでにBlueskyでは「Kawaiiモード」の実装が進んでいるほか、Reactの公式サイトにもさわらつき氏のロゴを表示する隠しモードが実装されています。 GitHub - SAWARATSUKI/ServiceLogos: ロゴを可愛く作ろう 節度を持って利用してくださいね🫠 https://github.com/SAWARATSUKI/ServiceLogos さわらつき氏が作成したロゴの例は以下の通り。これはPythonのロゴです。 C言語 Vim Visual Studio Code Discord GitHub 404エラー 「ぬるぽ」のロゴもあります。 これはBlueskyのロゴ。 2

                                  「Bluesky」「Python」「Vim」「404」「ぬるぽ」などIT関連のかわいい高品質ロゴを作りまくる人物現る、BlueskyやReact公式が早速ロゴを実装するなど爆発的な盛り上がり
                                • これまで見たことある凄腕プログラマはどんな人でしたか?思い出とともに聞かせていただけると嬉しいです | mond

                                  この質問をする方ならたぶん名前は聞いたことがあるであろう、とあるプログラマの方です。私は関東地方のとある地方国立大学の情報系学部に進学しましたが、彼は私と同じサークルで一年後輩でした。ここではN君(仮名)としておきます。 N君の名前は高校時代にとある伝手で聞いていたのですが、その時は一度聞いただけですぐに忘れてしまっていました。しかし、二年生に上がった頃、サークル内では「今度入ってくる新入生はヤバいらしいぞ」ということで噂になっていました。私が入っていたサークルはとにかくコンピュータやプログラミングが好きな人間が集まる「ちょっと変わった」サークルでしたが、彼は高校生にして書店に並ぶような技術書籍を執筆しており、当時のケータイのメモリを編集するソフトなんかも開発しているということで、入ってきた時点で技術の面で頭抜けていたことは確かでした。 そんなN君と私はサークル内でよく激論を交わす間柄でも

                                    これまで見たことある凄腕プログラマはどんな人でしたか?思い出とともに聞かせていただけると嬉しいです | mond
                                  • Obsidianが大学生活を変える! 学生必見の活用術 - Qiita

                                    ナレッジベース共有ではなく、自分のためだけのクローズドなローカル環境で動作する点において差別化がされている。何かを発信するのではなく自分自身のためにテキストをまとめるのです。 このテキストも外出先で書いています。 金欠学生はもちろん格安を売りにしたプロバイダーと契約しているので3GB程度しか余裕がないはずです(私は月の半ばでなくなりました)。しかしローカルで動作するので速度制限を恐れることなく使うことができるのです。 Obsidianは単なるノートアプリではなくアイデアを書き溜め、思考をまとめ上げ、一つの思想を創り上げる、最強のセカンド・ブレインである。 —私 メリット 日常的に使えばマークダウン記法に慣れて、サークルや研究室のesaの記事を書く心理的ハードルが下がる QiitaやZennなどの記事を公開するハードルも下がる 有名な使い方としてはドイツの社会学者が考案したツェッテルカステン

                                      Obsidianが大学生活を変える! 学生必見の活用術 - Qiita
                                    • Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ

                                      はじめにTIG真野です。育休明けです。 フューチャー社内のタスクランナーはmakeやTaskなど複数の流派があり、チームによって使い分けられています。個人的にはmakeで良いんじゃないかと思っていますが、Taskも良いですよね。 makeは細かい記法をいつも忘れる+調べるとC言語向けの情報が出てきて脳内変換に手間を感じたため、makeを用いてWebバックエンドアプリをGoで開発するということをテーマに、役立ちそうな情報をまとめます。 なお、今記事におけるmakeは、GNU Makeを指します。バージョンは以下で動かしています。 MakefileのためのEditorConfigMakefileのインデントはハードタブである必要があります。誤りを防ぐためにもEditorConfigを設定しておくと良いでしょう。 makeは通常、Makefileという名称をデフォルトで認識しますが、同一フォルダ

                                        Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ
                                      • NVIDIAのCEOが「AIがコードを書くのでもうプログラミングを学ぶ必要はない」と発言して議論を巻き起こす

                                        by Hillel Steinberg ハイテク企業やベンチャー企業のトップが、「これからの若者はプログラミングを身につけるべき」とアドバイスするのを見聞きしたことがある人は多いはず。こうした潮流とは裏腹に、NVIDIAのジェンスン・フアンCEOが「プログラミングはもはや不可欠なスキルではない」と提唱しました。 NVIDIA CEO: Every Country Needs Sovereign AI | NVIDIA Blog https://blogs.nvidia.com/blog/world-governments-summit/ Jensen Huang says kids shouldn't learn to code — they should leave it up to AI | Tom's Hardware https://www.tomshardware.com/tec

                                          NVIDIAのCEOが「AIがコードを書くのでもうプログラミングを学ぶ必要はない」と発言して議論を巻き起こす
                                        • プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!

                                          僕がプログラミングに触れた当時は、プログラミングといえば「まず C 言語」でした。それから 10 年以上が経ちました。学校の授業や企業の研修では未だに C 言語を教えているところがあるようです。関数型プログラミング言語という波が来ている 2012 年にもなって未だに C 言語をやっているというのはまるで進歩が無く残念な気もしますが、比較的多くのプログラマに浸透している共通言語を最初に教えるというのは、一方では喜ばしい事だと解釈する事もできるのかもしれません*1。まぁとにかく、本意にせよ不本意にせよ現場で プログラム初心者に C 言語を教える羽目になった 人がたくさんいて、プログラム初心者なのに C 言語を学ばざるを得なくなった 若者がたくさんいるということです。 C 言語を教えるときに避けて通れないのがポインタで、プログラム初心者が C 言語を学ぶときにやたらとつまずく人が多いのがポインタ

                                            プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!
                                          • Pythonの独学を支える教科書づくりの裏側、京都大学の喜多教授が授業に込めた思いとは?

                                            Pythonユーザのためのグローバルイベント「PyCon APAC 2023」が2023年10月27日と28日に、TOC有明コンベンションホールで開催された。1日目の基調講演に登壇したのは、京都大学国際高等教育院の喜多一教授。「Why University Teachers Wrote a Python Textbook?」と題し、大学の授業のために書き下ろされたPythonの教科書執筆の背景を紹介した。プログラミング初心者のつまずきポイントを理解しているからこそ、オリジナルの教科書を作ったという喜多教授。はじめてプログラミングに触れる学生向けの授業と教科書に込めた思いを語った。 Pythonを学び、学生は興味をひろげてゆく 喜多教授がPythonを教えるワケ 京都大学の国際高等教育院で教養教育、特に新入生向けの教育を担っている喜多教授。自身のプログラミングとの出会いは、学生時代の1978

                                              Pythonの独学を支える教科書づくりの裏側、京都大学の喜多教授が授業に込めた思いとは?
                                            • 高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性

                                              高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性 Modular社はPythonの高速なスーパーセットと同社が位置づける開発中の新言語「Mojo」の、Appleシリコンにネイティブ対応したMac版をリリースしました。 Today is the day! Mojo for Mac is live! Download it right now! Read our launch blogpost on how to get startedhttps://t.co/XSMkqUmHKt — Modular (@Modular_AI) October 19, 2023 Mojoは9月に初めてローカル環境でコンパイルなどを実行可能なLinux対応のツール群を公開しています。今回のAppleシリコンにネイティブ対応した

                                                高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性
                                              • ついに日本で利用可能になったChatGPTの強力ライバル「Claude」使用レビュー、テキストファイルやPDFファイルの認識も可能でランチの相談からコーディング補助までサクサク応答

                                                チャットAI「Claude」は人間の学者に匹敵する能力を持つとされるほどの性能を備えており、ChatGPTのライバルとみなされています。そんなClaudeが日本でも利用可能になったので、実際にClaudeを使う方法や性能をまとめてみました。 Now users in all supported countries can access both our free experience and Claude Pro to boost their productivity and get more done.— Anthropic (@AnthropicAI) ◆Claudeのアカウント作成手順 Claudeを使うには無料のアカウントを作成する必要があるので、まずは以下のリンクをクリックしてアカウント作成画面にアクセスします。 Claude https://claude.ai/login アカ

                                                  ついに日本で利用可能になったChatGPTの強力ライバル「Claude」使用レビュー、テキストファイルやPDFファイルの認識も可能でランチの相談からコーディング補助までサクサク応答
                                                • 【2024年】ITエンジニア本大賞まとめ

                                                  アジャイルプラクティスガイドブック チームで成果を出すための開発技術の実践知 チーム・組織にプラクティスを導入し、根付かせるために! 116の手法を一冊にまとめた“実践”の手引き チームでのアジャイル開発には、開発技術やツールなどの「技術プラクティス」の活用が重要です。 プラクティスはそれぞれの目的や役割を意識することで効果を発揮します。しかし、目まぐるしく状況が変化する開発では、当初の目的を忘れて、プラクティスに取り組むこと自体が目的化してしまうチームも少なくありません。 本書は、チーム・組織でアジャイル開発に取り組んできた著者が、プラクティスの効果的な選択・活用のしかたについて、自らの実践経験に基づいてまとめたガイドブックです。 架空の開発現場を舞台にしたマンガとともに、チーム開発の様々なシーンで役立てられるプラクティスを、幅広くかつわかりやすく解説しています。開発現場に備えておけば、

                                                    【2024年】ITエンジニア本大賞まとめ
                                                  • 生のポインタは使わないで! Modern C++のメモリ管理

                                                    本連載では、Modern C++と称されるC++について、Modern C++らしい言語仕様をピックアップし紹介していきます。第3回は、スマートポインタについて紹介します。高度なメモリ管理には生のポインタの使いこなしが必須という古い常識はもはや通用しません。メモリを効率よく、しかも安全に使うことを実現しているスマートポインタについて理解を深めます。 はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょうか。本連載では、かつてはC++をたしなんでいたという方、今からC++言語を始めるという方に向けて、Modern C++らしい言語仕様をピックアップし

                                                      生のポインタは使わないで! Modern C++のメモリ管理
                                                    • Rust で SQLite を再実装している - kawasin73のブログ

                                                      セキュリティを盾に一点突破。どうもかわしんです。最近 Rust で SQLite を実装してます。 以前の記事で HTTP Parser を Rust で実装しようとしたものの、すでに実装されていたので断念しましたが、いい題材を見つけました。SQLite です。開発中のリポジトリはこれです。 github.com 今の時点では、Read Only で1つの WHERE 句を持った SELECT 文しか処理できないですが、以下の機能を実装しています。 sqlite3 で生成された database ファイルの読み取り (cursor.rs, btree.rs, record.rs) SQL 文の解析 (token.rs, parser.rs) テーブルとインデックスのメタデータのパース (schema.rs) 動的なファイルの読み込み (pager.rs) SQL クエリとスキーマ情報を元に

                                                        Rust で SQLite を再実装している - kawasin73のブログ
                                                      • Rustプログラムのデバッグ辛すぎ問題 - Qiita

                                                        この記事は Rust Advent Calendar 2023 シリーズ2 の1日目の記事である。 Rustは良くも悪くもシステムプログラミング言語なので、何も工夫しなければデバッグの体験がC言語と同じレベルになってしまう。例えば「rust lldb」でググると上位に Debugging Rust programs with LLDB is a nightmare というスレッドが出てきてしまう。 使うべきツールを知っていれば幾分かマシな体験にできる。Rustコンパイラはデバッガとして LLDB, GDB, WinDbg/CDB をサポート していて、僕はWinDbGは10年くらい触ってないので、この記事ではLLDBとGDBについて書く。 LLDB Apple SiliconのMacだとGDBが使えないので、必然的にLLDBを使うことになる。 CodeLLDB GDBと同じく、LLDBにも

                                                          Rustプログラムのデバッグ辛すぎ問題 - Qiita
                                                        • C# Win32API完全入門 - Qiita

                                                          はじめに 対象とする読者について 本記事の対象者としては以下のような人を想定しています。 C#でこれからWin32APIを使ってみたい。 C言語のことがあまりよく分かっていない。 今までは適当に使っていたので一度きちんと理解したい。 自分が同じような状況であったため、一から調べて整理してみました。自分が理解した順番や内容で記載することで、また、具体的な使用例によってできることの広さや動作を感じ取ってもらうことで、理解の助けになればと思っています。 但し、分かっている人からすると冗長な説明になっている部分や好ましくない内容、正確性に欠ける内容などもあると思います。実際に使用する場合はその点にご留意願います。 Win32APIについて Windows API - Wikipedia Microsoft Windowsのシステムコール用APIのこと。特に32ビットプロセッサで動作するWindow

                                                            C# Win32API完全入門 - Qiita
                                                          • 3値論理

                                                            なぜ「= NULL」ではなく「IS NULL」と書かなくてはならないのか? これは、気になっている人も多いはずです。まだ SQL に不慣れな頃、ある列が NULL である行を選択しようとして、 SELECT * FROM table_A WHERE col_1 = NULL; というクエリを書いてしまい、エラーになったり思い通りの結果が得られなかった、という経験は、ほぼ全ての人が持っているでしょう。ちょうど C言語や JAVA を習い始めのころに「if (a = 5)」と書いてしまう間違いとよく似ています。最初は、言語仕様の汚さにぶつぶつ文句をいいながらも、そのうち「IS NULL」という書き方に慣れてしまって、疑問を持たなくなります。 でもどう考えても奇妙な書き方ですよね。こんな素直でない書き方をしなくてはならないということには、やはりそれなりの理由があるのです。今からその理由を説明しま

                                                            • すべてのコードやライブラリ自体が技術的負債である / 高利率な技術と低利率な技術 - Lambdaカクテル

                                                              技術的負債という言葉がある。もともとは、「楽するために導入したが、メンテにコストがかかるようになってしまった技術や構成」くらいの意味合いで使われているように思う。しかし、そもそも全部が負債ではないか、というのがこのメモの趣旨である。 負債 同僚とSlackで会話していると、「けっきょくどの言語を利用しても負債になるときはなるし、大抵負債になる」といった話になった。言われてみればそうで、基本的にコードというものは書いたそばから負債になっていく。去年書いたコードのことも思い出せない。 そんな中で思ったのだが、そもそも、負債になるコードと負債にならないコードとがあったり、技術が「負債化する」のではなく、コードや技術そのものが負債なのではないか。そして、どの言語で書こうが負債からは逃れることができない。負債にならないコードは存在しない。ゆえに、コードや技術は無ければ無いほど良い、ということになる。

                                                                すべてのコードやライブラリ自体が技術的負債である / 高利率な技術と低利率な技術 - Lambdaカクテル
                                                              • 追悼 Bram Moolenaar ~Vimへの情熱と貢献を振り返る | gihyo.jp

                                                                Bram Moolenaar the Creator of Vim 2023年8月5日、悲しい知らせが入ってきました。長年、多くのエンジニアに愛され今もなお使われ続けているテキストエディタVimの作者Bram Moolenaar氏が同月3日に亡くなったという知らせです。ショックでしばらく信じることができませんでした。 筆者は長年Vimを使い、Vimに多くのコントリビュートを行ったり、その都度Bram氏と対話したり議論したりしてきました。そのBram氏が突然、この世界からいなくなってしまったことをしばらく受け入れられなかったからです。 本記事では追悼の意味を込め、Bram氏がどのようにVimの開発を始め、Vimがどのように広まっていったのか、また長年Vimを追い続けてきた筆者から見たBram氏の人物像を筆者の思いを交えて解説していきます。 Vimの歴史 Bram氏についてお話しする前に、まず

                                                                  追悼 Bram Moolenaar ~Vimへの情熱と貢献を振り返る | gihyo.jp
                                                                • Pythonがグローバルインタプリタロックの解消へ、マルチスレッド処理の高速化実現

                                                                  Python Software Foundationのステアリングカウンシル(Steering Council)は、Pythonのグローバルインタプリタロック(Global Interpreter Lock)を解消する方向で開発を進めていくことを明らかにしました。 グローバルインタプリタロックとは? グローバルインタプリタロックとは、その名前が示すとおりインタープリタ全体で1つのロックを持つことです。 これによりシングルスレッドのプログラムにおいては細かなロック制御が不要となって速度の向上がはかれる一方、マルチスレッドの平行性は制限されるという欠点があります。 また、スレッドセーフではないC言語などによるライブラリとの結合が容易となっています。 Pythonの標準実装であるCPythonでは、以前からグローバルインタプリタロックが採用されていました。 グローバルインタプリタロックを解消する

                                                                    Pythonがグローバルインタプリタロックの解消へ、マルチスレッド処理の高速化実現
                                                                  • 次期Python、ついにJITコンパイラ搭載の見通し。「copy-and-patch」と呼ばれる新たなJITコンパイラの仕組みとは?

                                                                    次期Python、ついにJITコンパイラ搭載の見通し。「copy-and-patch」と呼ばれる新たなJITコンパイラの仕組みとは? 機械学習やAI処理の分野を中心に非常に高い人気のプログラミング言語である「Python」の次期バージョンに、処理速度の向上を目指したJITコンパイラが搭載される見通しです。 このJITコンパイラは、PythonコアデベロッパーのBrandt Bucher氏が提案し、実装しています。 そしてPython Software FoundationのフェローであるAnthony Shaw氏がブログ「Python 3.13 gets a JIT」で、このJITコンパイラについて解説しています。 これらの情報を元に、PythonのJITコンパイラがどのように実装されようとしているのか、少し紹介していきましょう。 RubyもJavaScriptもJITが高速化を実現してき

                                                                      次期Python、ついにJITコンパイラ搭載の見通し。「copy-and-patch」と呼ばれる新たなJITコンパイラの仕組みとは?
                                                                    • Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料

                                                                      Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料 Kotlin言語や統合開発ツールIntelliJ IDEAなどの開発を行っているJetBrainsは、Rust言語用の統合開発環境「RustRover」の正式リリースを発表しました。 All systems are GO! We’re over the moon to see RustRover finally land! Read all about the release and the new free non-commercial license in our blog post https://t.co/s3MnqfiTrs, and see how we can help you stay focused on what matters pic.twitter.com

                                                                        Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料
                                                                      • 【2024年】ITエンジニア本大賞まとめ - Qiita

                                                                        アジャイルプラクティスガイドブック チームで成果を出すための開発技術の実践知 チーム・組織にプラクティスを導入し、根付かせるために! 116の手法を一冊にまとめた“実践”の手引き チームでのアジャイル開発には、開発技術やツールなどの「技術プラクティス」の活用が重要です。 プラクティスはそれぞれの目的や役割を意識することで効果を発揮します。しかし、目まぐるしく状況が変化する開発では、当初の目的を忘れて、プラクティスに取り組むこと自体が目的化してしまうチームも少なくありません。 本書は、チーム・組織でアジャイル開発に取り組んできた著者が、プラクティスの効果的な選択・活用のしかたについて、自らの実践経験に基づいてまとめたガイドブックです。 架空の開発現場を舞台にしたマンガとともに、チーム開発の様々なシーンで役立てられるプラクティスを、幅広くかつわかりやすく解説しています。開発現場に備えておけば、

                                                                          【2024年】ITエンジニア本大賞まとめ - Qiita
                                                                        • 【AtCoder】Pythonで競プロをするときの注意点まとめ【競技プログラミング】 - Qiita

                                                                          これは何? 競技プログラミングをPythonでやるときに注意すべき点をまとめました。 言語選択編 PythonがAtCoderには5種類ある AtCoderにはPythonの処理系が5つ入っています。具体的には Python (CPython 3.11.4) Python (Mambaforge / CPython 3.10.10) Python (PyPy 3.10-v7.3.12) Python (Cython 0.29.34) SageMath (SageMath 9.5) の5つです。それぞれ特徴があります。 Python (CPython 3.11.4) 一番オーソドックスなPythonです。 一般に(競プロ界隈でなく)Pythonというときはこれを指すと思います。 Python (Mambaforge / CPython 3.10.10) mambaforge経由で導入されたp

                                                                            【AtCoder】Pythonで競プロをするときの注意点まとめ【競技プログラミング】 - Qiita
                                                                          • Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita

                                                                            はじめに 2024年1月1日に VGS-Zero (Video Game System - Zero) という RaspberryPi Zero 2W のベアメタル環境で動作するオリジナルのゲーム機エミュレータと SDK を公開しました。 VGS-Zero は、RaspberryPi Zero 2W をテレビに HDMI ケーブルで接続し、USB ゲームパッドで遊ぶタイプ(据え置き型)の新しいゲーム機です。 無料でゲームを開発&販売ができる SDK も公開していて、開発したゲームを完全ロイヤリティフリーで自由に販売して頂くことができます。 なお、OS は Linux ではなく独自カーネルです。 特徴 VGS-Zero の特徴について、カーネル視点とゲーム機視点の両面から解説します。 独自カーネルの特徴 ラズパイ全般(※Picoを除く)は Linux で動かすのが一般的ですが、VGS-Zer

                                                                              Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita
                                                                            • bashの機能いろいろ

                                                                              シェルスクリプトを書いていると「それはbash独自機能だから」「POSIXシェルには無い機能だから」と言われることがよくあります。だいたいは「それみんな使ってるのでPOSIXで標準化されてると思った」といったものなのですが、本記事では便利なものから「え、それやるくらいならPythonでよくない?」まで、bashの機能を紹介しようと思います。 for文でC言語っぽくループを回す シェルスクリプトでfor文といえばfor i in $(seq 10)とかをよく使いますが、bashだと以下のように書けます。

                                                                                bashの機能いろいろ
                                                                              • 【ABA Games】インディーゲーム制作歴40年。PC黎明期から生成AI時代まで折れずに続ける理由

                                                                                【ABA Games】インディーゲーム制作歴40年。PC黎明期から生成AI時代まで折れずに続ける理由 2024年3月25日 インディーゲーム開発者 長 健太 早稲田大学でコンピュータサイエンスを学び、学士号・修士号・博士号を取得。メーカー就職後はITの研究職を経て、現在はマネジャーとしてシステム開発に携わる傍ら、大学時代から一貫してインディーゲーム開発者としての顔を持ち続けている X ABA Games GitHub Blog -ABAの日誌- シューティングゲームを中心にこれまで400作以上もの作品を生み出し、インディーゲーム界の第一人者として国内外で知られる「ABA Games」こと長健太氏。 2023年9月に公開した「小さなゲーム開発の楽しみ」という電子冊子も話題となり、開発の楽しさを心から味わっている様子がうかがえます。 今回は長きに渡りインディーゲーム業界を牽引してきた長さんにイ

                                                                                  【ABA Games】インディーゲーム制作歴40年。PC黎明期から生成AI時代まで折れずに続ける理由
                                                                                • とあるコーディング初心者勢のエディタ遍歴

                                                                                  追記 初出では記事のタイトルを「とあるコーディングチョットワカル勢のエディタ遍歴」としていました。 「チョットワカル」の意味を全く理解せずにタイトルに用いてしまい、不快に思われた方にお詫び申し上げます。 「チョットワカル」とはすなわち、Linus Torvalds レベルの超上級者のことをさす言葉ということを先ほど知りました。 もちろん自分は到底上級者とは程遠い存在であると自負をしております(記事を読んでいただければわかると思います)。 今年でコードを本格的に書き始めて 8 年目になる。 これまでに メインのエディタを 3 回変えているので遍歴を書いてみる。 (本記事では IDE は除く) Atom (2015 ~ 2017) 2015 年に大学に入学して、初めて自分のコンピュータ(MacBook Pro 13)を手に入れることができた。 小学生の頃からコードを書くことには興味があった

                                                                                    とあるコーディング初心者勢のエディタ遍歴