並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 795件

新着順 人気順

cppの検索結果1 - 40 件 / 795件

cppに関するエントリは795件あります。 プログラミングprogramming開発 などが関連タグです。 人気エントリには 『ハーバード大のコンピュータサイエンス講座「CS50」の日本語化が完了し、無償公開』などがあります。
  • ハーバード大のコンピュータサイエンス講座「CS50」の日本語化が完了し、無償公開

      ハーバード大のコンピュータサイエンス講座「CS50」の日本語化が完了し、無償公開
    • 「Visual Studio」の中の人が作ったプログラマー向け十徳ナイフ「DevToys」/今までググって探していたツールがひとまとめに

        「Visual Studio」の中の人が作ったプログラマー向け十徳ナイフ「DevToys」/今までググって探していたツールがひとまとめに
      • ハーバード大学のコンピューターサイエンスの講義(日本語版)が無料公開されている件「聞き取りやすいから英語も勉強できる」

        QDくん⚡️Python x 機械学習 x 金融工学 @developer_quant 東工大が無料公開しているPython解説サイト chokkan.github.io/python/index.h… 初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。 基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。 pic.twitter.com/XyBBslyeBa QDくん⚡️AI関連の無料教材紹介 @developer_quant 東工大が無料公開しているPython解説サイト chokkan.github.io/python/index.h… 初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。 基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方

          ハーバード大学のコンピューターサイエンスの講義(日本語版)が無料公開されている件「聞き取りやすいから英語も勉強できる」
        • 100日後に退職する47歳 非公式 まとめ

          更新日:9月20日20時23分

            100日後に退職する47歳 非公式 まとめ
          • Webサーバーアーキテクチャ進化論2023

            はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自

              Webサーバーアーキテクチャ進化論2023
            • プログラムがメモリをどう使うかを理解する(1)

              この記事の狙い この記事は、端的に言えば この図が言わんとしていることを理解できるようになるための解説を目指しています。 昨今のプログラミング環境において、メモリの管理方法やその実態は、詳細を知らずとも目的を達成できるようになっています。といっても、実際にはメモリは無尽蔵に使えません。制約が厳しい環境下で動かさねばならないプログラムもありますし、多少潤沢に使える環境であっても、無駄に浪費するよりは、必要最低限のメモリで効率よく動作するプログラムの方が、多くの場面においては良いプログラムと言えるでしょう。 メモリのことなど知らなくてもプログラムを書けるのは一つの理想ではありますが、現実的にはその裏に隠されている(抽象化されている)仕組みを知っておいたほうが有利です。また、昨今のレトロゲームにおけるタイムアタックで駆使されるメモリ書き換えのテクニックなども、何故そういったことが可能なのかを知る

                プログラムがメモリをどう使うかを理解する(1)
              • はじめに - アルゴリズムとデータ構造大全

                はじめに このドキュメントは,主に競技プログラミングで出題される問題を解く際に利用できるアルゴリズムやデータ構造をまとめたものです.特定の問題にはあまりフォーカスしないため,問題を解く際の考察の仕方等の内容はありません.詳しく,正確に,分かりやすく書いていこうと思っています. このドキュメントは執筆途中です. 想定する読者 C++を用いたプログラミングに慣れている方を読者として想定しており,C++言語の仕様や,文法にはあまり触れません.また,計算量という用語についても説明しません.ただし,償却計算量など,計算量の見積もりが複雑なものについては必要に応じて説明します. コードについて このドキュメントで登場するコードは,可読性向上のため,以下のようなコードがファイルの先頭に記述してあることを前提としています.また,適切な問題を用いてコードの検証がなされている場合は,コード周辺にのように,検証

                • スーパー中学生誕生、プログラミング言語わずか数週間で開発、U-22プログラミング・コンテスト2019 - BCN+R

                  「もっと人間にとって扱いやすい、自分の言語をつくってみたかった」。10月20日に東京の秋葉原コンベンションホールで開催された第40回「U-22プログラミング・コンテスト2019」の最終審査会で、見事、経済産業大臣賞(総合)を受賞した開成中学校3年の上原直人さん(15歳)は、独自プログラミング言語「Blawn」を発表した。IT業界の経営者など、並みいる審査員を驚かせたのは、完成度の高さはもちろんのこと、今年8月からわずか数週間で完成させたスピードだった。一次審査の応募期間7月1日~9月2日に着想から開発、完成まで一人で仕上げたという。 C言語を使ったのは今年7月 それまでPythonを使っていたという上原さんは発表の中で、「今年の7月か8月にC++を始めたが、扱いにくかった。もっと可読性の高い構文とメモリの安全性や速度を高めたいと思った」と、開発のきっかけについて語った。 質疑応答で審査員か

                    スーパー中学生誕生、プログラミング言語わずか数週間で開発、U-22プログラミング・コンテスト2019 - BCN+R
                  • プログラムを動かす時にメモリがどのように割り当て・解放されるのかをめちゃくちゃわかりやすいイメージ画像で解説してくれるサイト「Memory Allocation」

                    コンピューター上でプログラムを動作する際に必要になるのがメモリです。プログラム自体をメモリに読み込む必要があるのはもちろん、プログラムが行う動作はほとんど「メモリから値を取りだして計算し、メモリに保存する」であるといっても過言ではありません。プログラムが動作する際にメモリがどのように管理されているのかについて、ベテランプログラマーのサム・ローズさんがブログで解説しています。 Memory Allocation https://samwho.dev/memory-allocation/ C言語の標準ライブラリには「malloc」と「free」という2つの関数が用意されています。この2つはなんと1979年のUnix v7から存在している歴史ある関数で、mallocがメモリの割り当てを担当し、freeがメモリの解放を担当しています。サム・ローズさんの解説は「この2つの関数の中身を自分で実装する」

                      プログラムを動かす時にメモリがどのように割り当て・解放されるのかをめちゃくちゃわかりやすいイメージ画像で解説してくれるサイト「Memory Allocation」
                    • 『ゼロからのOS自作入門』に込めた思い - uchan note

                      2021 年 3 月 22 日に『ゼロからの OS 自作入門』を出版する予定です。 本書は OS を手作りする本で、現代のパソコンでちゃんと起動する点が特長です。 15 年前の 2006 年に出版された『30 日でできる!OS 自作入門』を読んで育った私(uchan)が その後継となるだろう本を書いたということで、執筆の裏話を記してみたいなと思います。 書籍の概要 タイトル:ゼロからの OS 自作入門 著者:内田公太(uchan) 出版予定日:2021 年 3 月 22 日 ページ数:768(最大。実際はもっと少なくなる予想) ISBN:978-4-8399-7586-9 出版社の書籍ページ:ゼロからのOS自作入門 | マイナビブックス 本書は OS 作りに関する知識がないところから始め、オリジナルの OS「MikanOS」を作る一通りの過程を説明します。 パソコンの電源を入れ、他の OS

                        『ゼロからのOS自作入門』に込めた思い - uchan note
                      • 【AtCoder】中卒の主婦が青コーダーになったおはなし【競技プログラミング】 - Qiita

                        はじめまして。mayocornです。 先日のABC281で青コーダーになりました! 経歴 20代の主婦。旦那は競プロやってないです。 中学卒業→高校入学→高校中退→バイトを転々とする(ITに関してはSESで半年ほど働いた経験あり)→今の住所に引越してきてからは無職 趣味はゲームで、最近やっているタイトルはファイアーエムブレムエンゲージ、Splatoon3です。音ゲーやカードゲームに熱中してた時期もありました。CHUNITHMは旧レートでベスト枠15.3くらい。でものめりこむほどお金がかかるのでやめました。競技プログラミングは何問解いても無料なので続けられてます。 学力に関して話すと、高校数学は確率、論理と集合がちょっとわかるくらいで三角関数、微分積分、行列あたりは全然分かりません。青パフォーマンスをとるのにこのへんの知識が必要になったことはなかった気がします。(私が参加した回の中では) 競

                          【AtCoder】中卒の主婦が青コーダーになったおはなし【競技プログラミング】 - Qiita
                        • 技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL

                          技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL はじめに 新たに書きました。 MySQLを使っても会社は潰れない 久々に記事を書いたのでどうぞお手柔らかに... 私が過去2年間で行った技術選定の成功と失敗を振り返り、その学びを共有したいと思います。 文才無いので淡々と箇条書きでいきます Twitterエンジニア垢作りました。エンジニアのお友達がいません。 @uncode_jp 注意 意見を押し付けるものではありません。ただ建設的な議論は大事だと思う。 自分の意見は明確に、歯切れのよい表現を意識している。人それぞれだよねみたいな感じに逃げたくない。技術選定に結論はある(過激)。 ただし技術選定にはコンテキストがあり、例えばプロダクトのフェーズや組織の事情によって当然結論は変わる可能性がある。 OSSの開発者さん達は偉大ですごい。あ

                            技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL
                          • 電子情報学特論:Chromiumのアーキテクチャを解き明かす

                            電子情報学特論: Chromium のアーキテクチャを解き明かす 〜 EEIC の授業が生きるプロダクトの世界〜 Kentaro Hara 2020 April (๑>ᴗ<๑) * * * *

                              電子情報学特論:Chromiumのアーキテクチャを解き明かす
                            • すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ、全銀システム通信障害の詳細を説明 | gihyo.jp

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

                                すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ、全銀システム通信障害の詳細を説明 | gihyo.jp
                              • 全プログラミング学習者へ。ハーバード大の入門講座「CS50」が無償かつ日本語で学べるようになりました! | ライフハッカー・ジャパン

                                モバイルバッテリーとは呼べない。「ほぼポタ電」なコレ1台で有事の時もアウトドアも大活躍!【AmazonスマイルSALE】

                                  全プログラミング学習者へ。ハーバード大の入門講座「CS50」が無償かつ日本語で学べるようになりました! | ライフハッカー・ジャパン
                                • 現場で役立つシステム設計の原則メモ - Qiita

                                  This article is a Private article. Only a writer and users who know the URL can access it. Please change open range to public in publish setting if you want to share this article with other users. ※この記事は著者の増田さんの了解の上で限定公開させて頂いております。 https://twitter.com/masuda220/status/1215122054795522049?s=20 オブジェクト指向、設計がなぜ必要か = ソフトウェア全体の整理整頓をするため 第1章 小さくまとめてわかりやすくする 変更が大変なプログラムの特徴 メソッドが長い クラスが大きい 引数が多い 関心事を詰め込みすぎ

                                    現場で役立つシステム設計の原則メモ - Qiita
                                  • アニメ「Sonny Boy」の『難解』プログラムの解説 - まめめも

                                    『Sonny Boy』というアニメが放送されています。学校が異次元に漂流してしまい、超能力に目覚めた生徒たちがサバイバルしながら、さまざまな奇妙な現象の裏にあるルールを解き明かし、元の世界に変える方法を探す、というストーリーです。ルールが分かったあとで何度も見直したくなります。 anime.shochiku.co.jp さて今回、『Sonny Boy』に、プログラムを寄稿しました。プログラムでおもしろいCGを作ったとかではなく、プログラムの実行の様子そのものが『Sonny Boy』の5話の中で放送されました。 こういうプログラムです。 nankai.rb このプログラムがどういうものだったかを解説します。 どんなプログラム? 実行すると、「難解」という文字がほどけてなくなるアニメーションをします。 起動したらまず、プログラム自身が画面に表示されます。 しばらくしたら「難解」が左から右へほど

                                      アニメ「Sonny Boy」の『難解』プログラムの解説 - まめめも
                                    • なぜCを学ぶべきなのか - 立命館大学情報理工学部セキュリティ・ネットワークコース プログラミング言語サポートページ

                                      プログラミング言語としてのCは、初学者にとっては難しい言語であるのは確かです。中には、初心者が学ぶべき言語ではないと言い出す人もいます。ですが、私たちセキュリティ・ネットワークコースの教員は、我々のコースの学生は早期にCを学ぶべきであると考え、このカリキュラムを設定しています。以下に理由を列挙します。 Cはコンピュータの構造に深く根ざした言語なので、コンピュータそのものの学習を同時に進めることで、相互の理解が深まると考えています。例えば主記憶(メモリ)上にプログラムとデータの双方が置かれるフォン・ノイマンアーキテクチャや、メモリ上のデータ配置の問題、エンディアンの問題などを直接感じられるのはCならではだと思います。 CはOSや、コンパイラなどの言語処理系、組み込み機器などで広く使われており、その構造や動作と深く関わっているため、セキュリティとネットワークの理解のために欠かせないからです。

                                        なぜCを学ぶべきなのか - 立命館大学情報理工学部セキュリティ・ネットワークコース プログラミング言語サポートページ
                                      • 「この位置に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
                                        • 電子情報学特論:Chromiumのアーキテクチャを解き明かす

                                          電子情報学特論: Chromium のアーキテクチャを解き明かす 〜 EEIC の授業が生きるプロダクトの世界〜 Kentaro Hara 2022 April (๑>ᴗ<๑) * * * *

                                            電子情報学特論:Chromiumのアーキテクチャを解き明かす
                                          • マルチスレッド・プログラミングの道具箱

                                            まえがき クラウド上の仮想サーバから手元のスマートフォンまで、いまや複数のCPUコアを搭載するマルチコアはどこにでもある環境になりました。ハードウェア側が並列(Parallel)・並行(Concurrent)処理に向けて急速に進化する一方で、ソフトウェア側つまりプログラミング言語の進化はさほど追い付いていません。並行処理記述の手軽さを求めた Go言語 や、マルチスレッド処理の安全性を重視する Rust言語 などが登場してはいるものの、「普通にプログラムを記述するだけで複数CPUコア環境で高速に走るプログラミング言語」は遠い夢物語のままです。 モダンなプログラミング言語や並列・並行処理ライブラリは、複雑で難解なマルチスレッド処理を直接記述しなくてすむよう、安全性・利便性の高い抽象化レイヤを提供します(例:Go言語のgoroutineとchannel、Rust言語の Rayonライブラリ)。し

                                              マルチスレッド・プログラミングの道具箱
                                            • C++やPython向けのコード可視化ツール「Sourcetrail」がオープンソースに

                                              Sourcetrailは、開発者が他人の書いたソースコードを理解し、生産的にコーディングを行えるよう支援する。開発者は既存のソースコードを理解することに多大な時間を費やすが、一般的なコードエディタは、こういった作業にはほとんど役に立たない。 Sourcetrailの主要開発者であるEberhard Gräther氏は、「Google Chrome」のグラフィックスチームにインターンシップとして参加した2012年時点の経験を次のように語っている。 「割り当てられた単純に見えるタスクに着手し、具体的なコードの改善に取り組み始めるとすぐに、Chromiumの巨大なアーキテクチャを理解する機会が全くないことに気付いた。ドキュメントはあまり役に立たず、開発チームのメンバーは非常に友好的だったが、コードベースについて質問するインターンに邪魔されることを好まないことも分かった。そこで、ソースコードを読ん

                                                C++やPython向けのコード可視化ツール「Sourcetrail」がオープンソースに
                                              • Value Objectについて整理しよう - Software Transactional Memo

                                                Value Objectとは何であるか? マーチン・ファウラーのPatterns of Enterprise Application Architecture(PofEAA)やエヴァンス・エリックのDomain Driven Design: Tackling Complexity in the Heart of Software(DDD)が原典であるが、PofEAAではこう切り出している。 When programming, I often find it's useful to represent things as a compound. プログラミング時は物をcompound(合成物)として表現すると便利なことがしばしばある。 例えば2次元空間上での座標のように複数のメンバ(属性)を持つ物は便利である、と。しかしそれらを比較する方法は一意ではない、そこで Objects that a

                                                  Value Objectについて整理しよう - Software Transactional Memo
                                                • 技術推薦図書

                                                  注) 2016年辺りのまとめなので、新しめの本が入ってないのと、新しめの特定の技術の本は2020年現在だと通用しない本が多いです。 古典含め普遍的な物も多々あるので、現在も通用する物が多いはずです。リンク先が旧版の本も有るので注意。 Javaメインの会社の本棚です。あと、じつは洋書版もあります。

                                                    技術推薦図書
                                                  • 日立に戻りたいわけがない。 - テストステ論

                                                    新卒で日立へおれが新卒で入ったのは、日立製作所だ。 おれが面接を受けたのはシステム開発研究所というところだったが、 おれが入った年に研究所の再編成があって、横浜研究所というところに配属になった。 横浜研究所は横浜の戸塚というところにあり、 寮はそこまでバスで一本のところにあった。 寮生活は隣人の先輩が発狂して泣き叫びだしたり、色々トラブルはあったが、 まぁ楽しかった。 寮というのはなかなかいいものだ。 京大で吉田寮や熊野寮にわざわざ住みたいという人がいることも微妙にだが理解出来る。 システム開発という名前のとおり、 そこはソフトウェアの応用研究をやってる研究所で、 と言っても企業の応用研究というのは事業所から依頼された研究(通称、依頼研)だったり、 あるいはもう少し先のことを考えた先行研と呼ばれるものがあったするくらいで、 大学のような研究をやってるというところではないのだが、 まぁおれ的

                                                    • 徐々に高度になるリングバッファの話 - Software Transactional Memo

                                                      リングバッファのイメージ図 1. リングバッファとは何か 機能的にはFirst In First Out (FIFO)とも呼ばれるキューの一種であるが、リング状にバッファを置いてそれの中でReadとWriteのインデックスがグルグルと回る構造をとる事によって容量に上限ができることと引き換えに高速な読み書き速度を得たものである。キューを単に実装するだけなら山ほど方法があって線形リストを使ってもいいしスタックを2つ使っても原理的には可能だ。その中でもリングバッファを用いた方法の利点はひとえに性能の高さでありメモリ確保などを行わないお陰でシステム系の様々な場所で使われている。 これの実装自体は情報系の大学生の演習レベルの難度であるが少し奥が深い。まずリングバッファのスタンダードなインタフェースと実装は以下のようなものである。 class RingBuffer { public: explicit

                                                        徐々に高度になるリングバッファの話 - Software Transactional Memo
                                                      • CとRustで一から作るマイクロカーネルOS

                                                        マイクロカーネルは浪漫に溢れる非常に作りがいのあるソフトウェアです。この記事は,「マイクロカーネルベースのOSの一から作ってIaaSで動かす」ことを目標に作ったマイクロカーネルベースのOS Resea(りーせあ)の設計と実装について軽くまとめた物です。 ソースコードはGitHubにあります。 マイクロカーネルとは Linuxのようなモノリシックカーネルでは色んな機能がカーネル空間で動きますが,マイクロカーネルではユーザプロセスたちが互いに通信しながらOSを作り上げます。プロセス・スレッド・仮想メモリ管理,プロセス間通信,タイマーといった必要最低限の機能だけをカーネルが担います。デバイスドライバやファイルシステムといった残りの機能は,独立したユーザプロセスとして動きます。たとえデバイスドライバが暴走しても他のコンポーネントを壊すことはないのです。マイクロカーネルは信頼性が高く,疎結合で美しい

                                                          CとRustで一から作るマイクロカーネルOS
                                                        • コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み

                                                          Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。植山氏は、制作中のリンカである「mold」について発表しました。全2回。前半は、リンカの概要について話しました。 LLVMのリンカ「lld」オリジナルの作者 植山類氏:植山類です。今僕が作っているmoldというリンカについて発表します。 今回の発表の概要です。リンカが何かを知っている人はそんなにたくさんいないと思うので、まず説明します。次に、「mold」のポイントは速いことなのですが、速いと何がうれしいのかを説明します。そのあと、どれくらい速いのかを説明した上で、どう実現されているのか、概要を紹介します。詳細になると何時間あっても終わらないので、かなりハイレベルな話をします。 自己紹介のスライドを入れていませんが、僕はリンカを何度か作ったことがあって、LLVMのlld

                                                            コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み
                                                          • なんか「ITがつまらなくなった」叩かれすぎてムカついたので書いてみる

                                                            個人的には、ゲームエンジンを書く仕事がなくなった これはデカいと思うんだよな ゲームエンジンって職人芸的なところがあった Unityとか、Unrealとか、物理エンジンもBox2DとかBulletとか、当然昔はなかったので、みんな自前で書いてたはず 例えば、スーパーマリオの物理挙動とか衝突判定は当たり前だけど自前で書いてたはず でも、今はブロック崩しさえUnityとかUnrealに含まれてる物理エンジンで剛体力学使って書けちゃう なんかそういうの無駄な計算力だよなと思うけど、まあ書けちゃう、動いちゃう たしか、チュートリアルかなんかにもあったはず 昔はゲーム作るときって、リードプログラマーが1人いて、他も数人で、少人数で職人芸的に作ってたわけだよ 全て自前でやらなければいけないから、簡易的なものを作るにしても、一応大学でやった物理を再度勉強したりするわけだ 剛体力学とか、流体力学とか、材料

                                                              なんか「ITがつまらなくなった」叩かれすぎてムカついたので書いてみる
                                                            • プログラミングでつまづいてきたこと - 覚書

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

                                                                プログラミングでつまづいてきたこと - 覚書
                                                              • 「//このコメントを消したら動かない」は大体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
                                                                • Javaなら「この書き方がベスト」と信じて書ける - きしだなおきに聞く、Javaのこれまでとこれから|ハイクラス転職・求人情報サイト AMBI(アンビ)

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

                                                                    Javaなら「この書き方がベスト」と信じて書ける - きしだなおきに聞く、Javaのこれまでとこれから|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                                  • Pythonでも簡単にGUIは作れる - Qiita

                                                                    PythonだってGUIを作りたい Pythonで書いたプログラムを実行して使う場合、**『GUIで入出力できたら便利なのに…』**と思うときはありませんか? 誰かにプログラムを配布する場合でも、CUI(コマンドラインから入出力)はあまり親切とは言えません。 特にITスキルの高くない人にとっては、CUIは拒絶反応を起こすこともあります。 Pythonでも簡単にGUIを作れたら… そんな場合、PySimpleGuiを使ってみてはいかがでしょうか? PySimpleGuiは誰でも簡単にGUIを実装できるのが特徴で、PySimpleGui公式ドキュメントによると、PySimpleGuiはすぐに習得でき、コード量も他のGUIライブラリ(Tkinter、Qt、WxPythonなど)の1/2~1/10程度で済むとのこと。 百聞は一見にしかずなので、まずは下記のコードと実行結果をご覧ください。 impo

                                                                      Pythonでも簡単にGUIは作れる - Qiita
                                                                    • 他人のコードや設計を見て1番これはあり得ないだろと思う実装はありますか?

                                                                      回答 (9件中の1件目) qmailという、極端にバグが少なく、安全で高速なSMTPのサーバーがあります。いまはシェアを落としていますが、数年間放置しておいても安定して長期間動くので、まだまだ現在も使われています。 the Internet's MTA of choice このCソースはすごいですよ。putsやprintf, fopenなどの標準Cライブラリの関数は安全ではないという理由で使わず、すべてsubstdioという、stdioのサブセットを独自実装しています。こんなことは普通はしないですね。 作者のDJB氏は、プログラムは全部のパターンをテストできなければならない。全部の...

                                                                        他人のコードや設計を見て1番これはあり得ないだろと思う実装はありますか?
                                                                      • 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とかプログラミングの覚え書き -
                                                                        • Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現

                                                                          これだけ多種多様なデバイスに対して、ログイン画面やパーソナライズされたポータル画面、動画の再生などの機能を実現するために、Amazon Prime VideoのアプリケーションはC++で開発されたJavaScript VMと、その上で動くJavaScriptアプリケーションの2つから構成されています。 そしてそれぞれが必要に応じてデバイスにダウンロードされ、実行されます。 特にJavaScriptのアプリケーション部分は実行時にダウンロードされ実行されることで、機能追加などの変更やバグフィクスが容易になっていると説明されています。 プロトタイプのWebAssembly化で10倍から25倍高速に Amazon.comがこのAmazon Prime VideoのアプリケーションにWebAssemblyの採用を検討し始めたのは2020年8月とのことです。 同社はプロトタイプとして低レイヤのJav

                                                                            Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現
                                                                          • C++ の学習サイトを作りました - Qiita

                                                                            はじめに C++ って他の言語に比べると勉強しづらくないですか? 書籍や学習サイトの内容が古い、または少ないんですよね。ただでさえ言語仕様が複雑なのに、それを手助けする情報も少ないと初学者には辛いんじゃないかと思います。というか僕がそうでした。 そんなわけで、もう少し今風な学習サイトを作ろうと思って作成しました。 ゼロから学ぶ C++ ちゃんとスマホでも読めるようになっています。 C++11 をベースに作っているので、このサイトももはや古い方に入るかも知れませんが、C++20 が浸透してきたらアップデートしようと思います。 よかったらご活用下さい。 ゼロから学ぶ Python(姉妹サイト) 『ゼロから学ぶ Python』というサイトも作成しています。あわせてご活用下さい。 さいごに 上記のサイトはどちらも GitHub でソースコードを管理しています。 スターを付けてもらうと励みになります

                                                                              C++ の学習サイトを作りました - Qiita
                                                                            • ソフトウェア1 (2020)

                                                                              ソフトウェア1 (2020)¶ 本サイトは、東京大学工学部電子情報工学科・電気電子工学科の進学内定者(2年生、A1ターム)を主たる対象としたソフトウェア1の講義ページです。C言語の基礎を勉強します。 電気系の学科のslackにて講義に関する通知を行うので、常時学科slackをチェックするようにしてください。 電気系の2年生は最初のオリエンテーションで全員slackに招待されるはずですが、もし招待されていなければ松井まで連絡してください。 3年生は既に全員招待済みのはずです。電気系以外の履修者、および4年生は招待されていないので、松井まで個別に連絡してください。 本サイトは2020年度版です。2021年度版はこちら。 ニュース¶ [2020.11.16] Q&Aにweek7を追加しました。 [2020.11.12] week7、およびバージョン管理を追加しました。 [2020.11.09]

                                                                              • Unreal Engine 5 初公開

                                                                                Unreal Engineフォトリアルなビジュアルと没入的体験を作り出す世界で最も高度なリアルタイム 3D 制作ツールです。 Unreal Engine 5機能紹介最新機能ライセンス オプションUnreal Editor for Fortniteその他の製品MetaHuman高忠実度のデジタルヒューマンを短時間で作成できるフレームワークです。 Twinmotionリアルタイム没入 3D ビジュアライゼーションを高速に、簡単に制作します。 Bridge by QuixelMegascans と 3D コンテンツ世界へのゲートウェイです。 RealityScan写真を高精細な3Dモデルに変換する3Dスキャンアプリです。

                                                                                  Unreal Engine 5 初公開
                                                                                • 2のべき乗サイズの配列は危ないという話 via 行列積 - elkurin’s blog

                                                                                  こんにちは。労働者です。とあるプログラムで学生さんの課題を添削していたら面白い話に出会いました。 僕は今、主に学部生向けのインターン研修的なプログラムでメンターなるものをやっています。メンターとしての仕事は、学生さんの課題へフィードバックを返し、Office Hourというセッションを毎週設けて質問受けやCSに関するトークを行うといった内容になっています。今回話題に取り上げるのはその中の課題の1つ、「行列積のプログラムを書いて時間を計測せよ」という何気ない話で、続く課題たちのいわば前座のようなものです。こういったところに沼は隠されているものですね。 担当している学生さんたちが細かい実験を行ってくれて以下のような疑問が提示されました。 「行列積の計算が N = 1024のときだけ N = 1023, 1025のときに比べて3倍遅いのはなぜ?」 配列のサイズが2のべき乗になるのは避けるべきとい

                                                                                    2のべき乗サイズの配列は危ないという話 via 行列積 - elkurin’s blog

                                                                                  新着記事