並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 700件

新着順 人気順

cppの検索結果41 - 80 件 / 700件

  • 高校生のなりたい職業1位に「エンジニア・プログラマー」 学研調査 男子・高1女子に人気

    高校生のなりたい職業1位は「エンジニア・プログラマー」――こんな調査結果を、学研教育総合研究所が12月24日に発表した。性別・学年別では男子全学年と、1年生女子の部門で1位を獲得した。 男女総合ランキングでは「エンジニア・プログラマー(機械・技術・IT系)」が6.7%で1位を獲得。2位が「公務員」(6.0%)、3位が「会社員」(4.5%)、4位が同率で「学校の教師・先生」「看護師」(2.7%)となった。 エンジニア・プログラマーは男子総合ランキングで1位(11.3%)を獲得した一方、女子総合ランキングでは12位(2.0%)と男女で人気に差がついた。 女子学年別ランキングでは、2年生・3年生の部門で得票はなかったものの、1年生の部門で1位(6.0%)を獲得。学研教育総合研究所は、文部科学省が推し進める教育のデジタル化施策「GIGAスクール構想」や、新学習指導要領による「情報I」の新設などの影

      高校生のなりたい職業1位に「エンジニア・プログラマー」 学研調査 男子・高1女子に人気
    • どのウェブフレームワークが一番高速に動作するのかが一目で分かる「Web Framework Benchmarks」レビュー

      普段何気なく目にしているウェブサイトも、裏ではさまざまなフレームワークを活用しています。「Web Framework Benchmarks」はそうしたフレームワークたちがアクセスをさばくときの処理速度を計測してベンチマークにまとめたもので、2013年に公開されて以降、年々アップデートが積み重ねられて多種多様なフレームワークの実力を一目で確認できるようになっています。 TechEmpower Framework Benchmarks https://www.techempower.com/benchmarks/ 上記のURLへアクセスすると、2020年5月28日にアップデートされた「Round 19」の内容が表示されます。 こんな感じでテスト結果がランキング形式で表示されます。さまざまなテスト結果が掲載されていますが、最初に表示される「Fortunes」はデータベースを読み取ってHTMLを生

        どのウェブフレームワークが一番高速に動作するのかが一目で分かる「Web Framework Benchmarks」レビュー
      • カルマンフィルターが自動運転の自己位置推定で使われるまで - TIER IV Tech Blog

        はじめまして、ティアフォー技術本部 Planning / Controlチームで開発を行っている堀部と申します。 今回は状態推定の王道技術「カルマンフィルター」が実際に自動運転で用いられるまでの道のりやノウハウなどを書いていこうと思います。 みなさんはカルマンフィルターという言葉を聞いたことがありますでしょうか。 カルマンフィルターとは「状態推定」と呼ばれる技術の一種であり、自動運転においては現在の走行状態、例えば車速や自分の位置を知るために用いられます。 非常に有名な手法で、簡単に使えて性能も高く、状態推定と言えばまずカルマンフィルターと言われるほど不動の地位を確立しており、幅広いアプリケーションで利用されています。 使い勝手に定評のあるカルマンフィルターですが、実際に自動運転のシステムとして実用レベルで動かすためには多くの地道な作業が必要になります。 この記事では、カルマンフィルターが

          カルマンフィルターが自動運転の自己位置推定で使われるまで - TIER IV Tech Blog
        • プログラミング言語へのMicrosoftの影響力がヤバい - きしだのHatena

          Tiobe indexを眺めながら、C#とVBが入っていてMicrosoftは強いなーと思ったのだけど、よくみると他の言語もMicrosoftの影響力すごいのではとなったので調べてみた。 https://www.tiobe.com/tiobe-index/ Python 例えば1位のPythonにMicrosoftはかなり力をいれている。象徴的なのが、Pythonのオリジナル開発者の入社 C/C++ Windows上でのC/C++コンパイラではMS C/C++が圧倒的シェアであるし、C++の標準化団体にMicrosoftはGold Memberとして参加している。 https://isocpp.org/about Java 4位のJavaに関してもかなりリソースは割いているわけですが、全体の影響度としてそこまで大きくはないですね。 昨日のブログにも書いたようにOpenJDKビルドを出してい

            プログラミング言語へのMicrosoftの影響力がヤバい - きしだのHatena
          • 個人開発激安 GCP (にしたい)

            とりあえず GCP で軽くサーバーとデータベース立ててみたいっつって脳死で使ってたら1日で 1800 円いって焦った。慌ててチャットサポートに聞いたらいろいろ教えてくれて安心したけど、もうちょっと調べてみためも。自分が使いそうなものしか書いてないよ。 Google Cloud Calculator めっちゃ便利。 App Engine TLDR これを app.yaml に書いておけば一番安上がり env Standard environment と Flexible environment があって、無料枠があるのは Standard だけ。他にも Flexible だと想定外の請求が来たりするらしい。なので Standard を指定しておく instance_class サーバのインスタンスの種類。F1 が一番しょぼいスペックのサーバで F1, F2 とかの "F" 系なら一日 28

              個人開発激安 GCP (にしたい)
            • 「2038年問題」について、現実のものとして考える時期が来たのかもしれない「2000年問題よりはるかに深刻」「映らないテレビとか出てくると思う」

              上原 哲太郎/Tetsu. Uehara @tetsutalow ソフトハウスバイト→同経営→京大助手→和歌山大講師→京大助教授→同准教授→総務省で役人→立命館大学教授。その間NPOやってたり。得意分野はシステム管理とか情報セキュリティとかデジタルフォレンジックとか情報教育とかですがICTだいたいどこにでも突っ込みます。でも私のつぶやきは組織の公式見解とは無関係です。 uehara.tetsutaro.jp 上原 哲太郎/Tetsu. Uehara @tetsutalow 当研究室では2038年問題を追いかけていますが、この度論文が出ました。 doi.org/10.20729/00239… 「32bitを超えるtime_t型を持つ環境における2038年問題とその検出」 関連して本研究で開発したツールを含むDockerイメージを配布開始しました。合わせてご活用下さい。 github.com/

                「2038年問題」について、現実のものとして考える時期が来たのかもしれない「2000年問題よりはるかに深刻」「映らないテレビとか出てくると思う」
              • ゲーム開発者のための C++11~C++20, 将来の C++ の展望 - CEDEC2020 - Speaker Deck

                ゲーム開発者のための C++11~C++20, 将来の C++ の展望 【CEDEC ページ】https://cedec.cesa.or.jp/2020/session/detail/s5e8327a52702c.html 【解説付きの書籍版 📚】https://zenn.dev/tetsurom/…

                  ゲーム開発者のための C++11~C++20, 将来の C++ の展望 - CEDEC2020 - Speaker Deck
                • おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary

                  みなさんはC++の読み書きができますか? 自信がある方、いつ頃勉強しましたか?もし20世紀に勉強したのであれば、その知識は相当古いです。実質現在のModernC++(C++11以降のC++)とは概念上の互換性がないので脳のアップデートが必要です。 自信がない方、文法は知っているけどなんとなく使いこなせていない方、マサカリ屋にあーだこーだ言われて大混乱している方。必勝パターンを身につければもっと楽にコードを読み書きできるようになるかもしれません。 この文章の目的は、ModernC++におけるメンタルモデル(考え方)や必勝パターンをざっくりと導入することでみなさんが楽にModernC++を読み書きできるようなお手伝いをすることです。主要な内容としてはムーブセマンティクスと右辺値 とその次の章でだいたいA4換算で15ページくらい?ほかは正直流し読みしてもらえるような内容です。また、内容的にはその

                    おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary
                  • 良いソフトウェアとコードレビュー / Good software and code review

                    Scala + Caliban で作るGraphQL バックエンド / Making GraphQL Backend with Scala + Caliban

                      良いソフトウェアとコードレビュー / Good software and code review
                    • プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!

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

                        プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!
                      • C言語1000行でテキストエディタを作るチュートリアルをやった

                        結果的に1200行を越えましたが。 kilo 成果物はこれ↓ 参考サイトはこれです↓ インスパイア元↓ 感想 C言語は10年ぶりくらいに書いた 進めていくうちになんとなく思い出すことができた 最初にちゃんと授業で学んだ言語なので懐かしく思った Cに出会っていなければプログラミングしてなかったかもしれないので感慨深い しかしこのレベルのメモリ管理は正直たいへん 「この関数で確保したメモリはこっちの関数で開放されるので問題ありません」みたいな この調子でやっていったらバグる未来しか見えない 1000行・1ファイルというコンセプトは良いのだがファイル分けて管理したいナ〜〜と思った 配列や文字列の操作、メモリ管理がやりやすい別の言語で書き直したい Cを書くの大変だな…という感想を持った 速さはともかく他の言語で書きたい もっとimmutableに… お手本よりも行数が増えた 1行のif文などでもブ

                          C言語1000行でテキストエディタを作るチュートリアルをやった
                        • アルゴリズム本、書きました! - Qiita

                          最後に、17 章で PとNPに関する話題を解説し、世の中には「効率的に解くアルゴリズムを設計することができそうにない難問」が多数あることを見ます。18 章で、これらの難問に取り組むための方法論をまとめます。 競プロをやっている方向け 扱っている題材の難易度については、こんな感じのイメージです! チーター本 < 本書 = 螺旋本 < 蟻本 難易度が近い螺旋本は、スタンスが異なる部分もありますので、よい形で共存できたら、という想いです。 螺旋本と比べると、「動的計画法」「貪欲法」「二分探索法」などの設計技法に関する話題をより重視しています 螺旋本は「ライブラリを揃えていく」という思想なので、設計技法よりもライブラリになるものを重視する立場です 本書では、紙面の都合で「計算幾何学」と「整数論」には触れられませんでしたが、これらは螺旋本には載っています 2-2. 本書の対象読者 本書は、「アルゴリ

                            アルゴリズム本、書きました! - Qiita
                          • Go コンパイラのコードを読んでみよう - kosui

                            はじめに 本記事は、 DeNA Advent Calendar 2020 の 11 日目の記事です。 突然ですが、「コンパイラのコードを読んでみよう」なんて言われても、「どうせ巨大で難解で複雑なロジックを理解しないと読めないんでしょ?」と思いませんか。 コンパイラの構造を理解しようとしても聞いたことのないような専門用語がずらりと並び、コードを読もうとしたらそれらをすべて完全に理解してないと一行も理解できないんじゃないか...。Go のコンパイラ gc のソースコードを読むまでは、私もそう思っていました。 しかし、あまりにも暇な休日のある日、思い立って gc のコードを読んでみました。すると、「コンパイル」という難解な響きの処理も、一つひとつを小さなタスクに分解することで、少しずつ読み進めることができると分かったのです! 何よりも感動したことは、 gc そのものが全て Go で書かれていて、

                              Go コンパイラのコードを読んでみよう - kosui
                            • Rust を ChatGPT だけで勉強する【実験記録】

                              C++ 経験者が、ChatGPT との対話だけで Rust を学んでみる実験の記録です。 期待した回答が得られなかった際には、質問文を変えたり、回答を再生成したりしています。 AI の回答には不正確な情報が含まれている可能性もあります。不正確な技術情報が拡散しないよう、AI の回答は画像で掲載しています。

                                Rust を ChatGPT だけで勉強する【実験記録】
                              • C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と

                                Googleの技術者Chandler Carruth氏らは、C++の後継を目指す実験的なプログラミング言語として「Carbon Language」(以下、Carbon)をGitHubで公開しました(Chandler Carruth氏のツイート)。 GitHubのドキュメントでは、C++が性能を重視するソフトウェア開発において主流のプログラミング言語である一方、言語そのものにおいて数十年にわたる技術的負債が蓄積されていることなどにより段階的に改良していくことが極めて困難になっていると指摘。 一方で、GoやSwift、Kotlin、Rustを始めとする優れた開発者体験を提供する多数のモダンな言語は、C++の代わりに採用する、あるいはC++の開発から移行するには、プログラミング言語の違いや性能のオーバーヘッドなど障壁が多すぎるといった課題があるとも指摘しています。 そこでC++の段階的な改善では

                                  C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と
                                • プログラミング書籍を10年ぶりに改訂して気がついたこと

                                  はじめに 2011年に書いた良いコードを書く技術を増補改訂して出版しました。 Amazon | Rakutenブックス | honto | ヨドバシ.com | Gihyo Direct 10年ぶりに書籍を技術書を改定するという貴重な体験をさせていただいたので、執筆の中で気がついたことをご紹介します。 ちなみに初版を執筆した10年前はこんな世界です😳 VS Codeは存在せず、みんな秀丸やEmacs、vim、Eclipseでコードを書いていた Java 7が出てたけど、Java 8まではあと3年待たないと行けない TypeScriptもGo言語もSwiftもリリースされていない AWSの東京リージョンができたばかりでクラウドって何?って世界 GitはまだマイナーでSubversionでバージョン管理している人が多かった Dockerはまだない、VirtualBoxやVMwareを使ってた

                                    プログラミング書籍を10年ぶりに改訂して気がついたこと
                                  • Windowsのタスクバーでもネコ走らせてみた🐈 - Qiita

                                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに みなさまはMacのメニューバーでネコを飼うRunCatというアプリをご存知でしょうか?CPU負荷に合わせて走る速度の変わるネコをメニューバー上に表示するだけというしょうもないアプリですが、現在では世界累計45,000ダウンロードを突破し、多くのみなさまに可愛がってもらえる定番アプリとなりつつあります。はじめは悪戯心で作成したジョークアプリが、思いもよらず高評価をいただけており大変嬉しいです。 一方で、Windows版がほしいとの声もちらほら聞こえるようになり、Windows版の模倣アプリも作られつつあることを知りました。そこで

                                      Windowsのタスクバーでもネコ走らせてみた🐈 - Qiita
                                    • 「2038年問題」が2000年問題と比べ桁違いにヤバい…社会インフラで障害も

                                      「gettyimages」より 一部システムが2038年1月19日3時14分8秒以降の時刻になると誤作動を起こす可能性があるとされる「西暦2038年問題」。新たな論文が発表され、一般的に想定されているより広い範囲で大きな影響が出るのではないかという声が広まっている。どのような規模の影響の発生が想定されるのか。また、システム運用者はどのような対策をすべきなのか。9月に論文「32bitを超えるtime_t型を持つ環境における2038年問題とその検出」を発表した立命館情報理工学部教授の上原哲太郎氏に聞いた。 2038年問題とは、LinuxなどのUNIX環境、C言語プログラムのUNIX timeで表現されたタイムスタンプ値が32bit符号付き整数型で定義されている場合、2038年1月19日3時14分8秒以降の時刻で整数オーバーフローが生じ、それを参照したシステムが不具合・障害を起こすというもの。対

                                        「2038年問題」が2000年問題と比べ桁違いにヤバい…社会インフラで障害も
                                      • IT技術解説③:なぜ、組み込み業界ではRustが流行らず、未だC言語が主流なのか?

                                        はじめに 組み込みソフトウェア開発の世界では、プログラミング言語の選択が製品の品質、開発効率、そして長期保守性に大きな影響を与えます。近年、メモリ安全性や並行処理の安全性を強みとするRust言語が様々な分野で注目を集め、採用が進んでいます。Webバックエンド、システムプログラミング、そしてLinuxカーネルのような重要なプロジェクトでもRustの導入が進んでいるにもかかわらず、組み込み開発の現場では依然としてC言語が主流であり続けています。本稿では、最新の安全な言語であるRustが、なぜ組み込み開発において広く採用されず、数十年の歴史を持つC言語が今なお主要な選択肢であり続けているのか、その技術的・実務的な要因を詳しく検討します。 1.ヒープを使わない開発が多いのでRustの本領が発揮されない 組み込み開発では、動的メモリ管理を避ける設計が一般的です(ヒープを使わない)。 Rustの特徴で

                                          IT技術解説③:なぜ、組み込み業界ではRustが流行らず、未だC言語が主流なのか?
                                        • Linuxを生み出したリーナス・トーバルズが考える「優れたコード」とは何か?

                                          プログラミングをする上で、コメントをきちんと残したり、わかりやすい変数名をつけたりして「読みやすいコード」を目指す作業は重要です。しかし、「読みやすいコード」と「優れたコード」の間には、時として構造上の大きな違いがあるのも事実。そんな「優れたコード」に対するLinuxの開発者リーナス・トーバルズ氏の考え方について、エンジニアのmkirchner氏が説明しています。 mkirchner/linked-list-good-taste: Linus Torvalds' linked list argument for good taste, explained https://github.com/mkirchner/linked-list-good-taste Linus Torvalds: The mind behind Linux | TED Talk https://www.ted.co

                                            Linuxを生み出したリーナス・トーバルズが考える「優れたコード」とは何か?
                                          • 1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと - Mirrativ Tech Blog

                                            こんにちは ハタ です。 今回は以前iOSのクライアントサイドで実装していた通知ぼかし機能をサーバサイド(配信サーバ)上に再実装した事を書きたいなと思います 今回はかなり内容を絞りに絞ったのですが、長くなってしまいました、、 目次機能があったのでつけてみました、読み飛ばして読みやすくなった(?)かもしれません 目次 目次 通知ぼかし機能とは サーバサイド通知ぼかし プロトタイプの実装 苦労の始まり その1 画像処理速度 苦労の始まり その2 データ量 さらなる計算量の削減を求めて さらなる最適化へ Halide の世界へ 簡単な halide の紹介 苦労の始まり その3 いざ リリース リリースその後 We are hiring! 通知ぼかし機能とは 通知ぼかし機能は、ミラティブ上での配信中に写り込んでしまったiOSの通知ダイアログをダイアログの中身を見えないようにぼかし処理をしてあげる

                                              1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと - Mirrativ Tech Blog
                                            • Pythonコードを35000倍に高速化したい

                                              はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです。 この記事は: Pythonで書かれたアルゴリズムを35000倍に高速化する 事前コンパイル、並列化、SIMD演算を駆使する 最終的に44000倍まで高速化できた なぜ35000倍? 2023年5月2日にModular社よりPythonの使いやすさとC言語の性能を兼ね備える新しいプログラミング言語、Mojoの開発について発表がありました。低レベルのハードウェア向けにコンパイル可能なこと、文法的にはPythonを踏襲しており、既存のPythonライブラリを利用可能であること

                                                Pythonコードを35000倍に高速化したい
                                              • 浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記

                                                お近づきになりたい人向けシリーズです。 いろいろなトピックを詰め込みましたが、「これら全部を知らないといけない」のようなつもりではなく、いろいろなことを知るきっかけになったらいいなという気持ちなので、あまり身構えずにちょっとずつ読んでもらえたらうれしい気がします。 まえがき 予備知識 規格 用語 精度という語について 記法 表現について 有限値の表現について エンコードについて 丸めについて よくある誤差や勘違いの例 0.1 = 1 / 10? 0.1 + 0.2 = 0.3? 整数の誤差 Rump’s Example 基本的な誤差評価 用語に関して 実数の丸め 有理数の丸め 基本演算の丸め 差について 複数回の演算 補題たち 桁落ちについて Re: Rump’s example 融合積和 数学関数に関する式の計算 誤差の削減に関して 総和計算 数学関数の精度について 比較演算について 雑

                                                  浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記
                                                • sudoとsuがRustで書き直される。メモリ安全性向上へ

                                                    sudoとsuがRustで書き直される。メモリ安全性向上へ
                                                  • ゼロからの OS 自作入門 メモ

                                                    「ゼロからの OS 自作入門」の実装メモ

                                                      ゼロからの OS 自作入門 メモ
                                                    • 「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言

                                                      LinuxにRustを導入するかどうかという議論は終わりを迎えた。Rustの実装は既に始まっている。Linuxの父であるLinus Torvalds氏は電子メールによる筆者との対話の中で「何かおかしなことが発生しない限り、それ(Rust)は6.1で導入される」と述べた。 Linuxカーネルの記述言語としてプログラミング言語Rustを導入するという議論は、かなり前から存在していた。Linuxカーネルの開発者らは、年次カンファレンス「Linux Plumbers Conference(LPC)2020」の場で、Linuxの新たなインラインコードでのRustの使用について検討を開始していた。また、「Android」(それ自体がLinuxのディストリビューションだ)の開発言語としてRustを支持しているGoogleは、2021年4月にLinuxカーネルへのRust導入の動きを後押しし始めていた。

                                                        「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言
                                                      • Learn Modern C++

                                                        This site contains an original, self-contained guide to learning the fundamentals of Modern C++, intended to be the basis of a self-study course. Some Chapters depend upon material presented in earlier ones, so studying them linearly is recommended. There are also regular posts (accessible from the front page) which cover topics or areas of C++ not covered in the course. If you have any queries or

                                                          Learn Modern C++
                                                        • グーグル、Rust採用で「Android」のメモリーに関わる脆弱性が激減

                                                          メモリー関連の不具合を減らすために、「Android」の新しいコードにRustを使用するというGoogleの判断は、成果を挙げているようだ。この数年で、Androidのメモリー安全性関連の脆弱性は半分以下になった。この成果が達成された時期は、GoogleがCやC++からメモリー安全性の高いプログラミング言語であるRustに切り替えた時期と一致する。 Androidに発見されたセキュリティホールの中で、最も件数が多かったカテゴリーがメモリー安全性関連の脆弱性でなかったのは2022年が初めであり、Googleは1年前に、「Android Open Source Project(AOSP)」で新しいコードのデフォルト言語をRustに切り替えている。 GoogleがAndroidに使用しているほかのメモリー安全性を備えた言語には、JavaやJava互換のKotlinがある。AOSPで主流の言語はま

                                                            グーグル、Rust採用で「Android」のメモリーに関わる脆弱性が激減
                                                          • 脱オブジェクト指向講座(5分LT資料)

                                                            2022/5/14に開催されたTechFeed Conference 2022の5分LTでの登壇資料です

                                                              脱オブジェクト指向講座(5分LT資料)
                                                            • ルールズ・オブ・プログラミング

                                                              TOPICS Programming , Game , C/C++ 発行年月日 2023年08月 PRINT LENGTH 452 ISBN 978-4-8144-0041-6 原書 The Rules of Programming FORMAT Print PDF EPUB 全世界で1,300万本を超える実売数を誇り、日本でも累計実売数100万本を突破(2023年5月時点)した大ヒットゲーム『Ghost of Tsushima(ゴースト・オブ・ツシマ)』をはじめ、『Ghost of Yōtei(ゴースト・オブ・ヨウテイ)』などで著名なゲーム制作スタジオ、Sucker Punch Productions(サッカーパンチプロダクションズ)の共同創設者であるChris Zimmermanによる、プログラミングのベストプラクティス集。 全部で21の「ルール」から成り立っており、すべてのプログラマ

                                                                ルールズ・オブ・プログラミング
                                                              • Cコンパイラを作ろう!

                                                                こんにちは、21Bのseasonです。この記事はtraP夏のブログリレー3日目の記事です。 自作Cコンパイラでセルフホスト達成しました。 リポジトリ: https://github.com/season1618/c-compiler/tree/main 自作Cコンパイラでセルフホスト達成しました!!!!!!🎉🎉🎉https://t.co/8fLIAJWksQ pic.twitter.com/2fgH5sKoZ0 — season (@season1618) July 27, 2022 実際にどうやって作るかを書くと長くなるので、ここでは経緯とか完成までの流れとかを書こうと思います。一応開発メモは以下に上げておきました。 開発メモ: https://github.com/season1618/note/blob/main/cs/c-compiler/index.md 経緯 大学の講義で

                                                                  Cコンパイラを作ろう!
                                                                • シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ

                                                                  こんにちは! エンジニアリンググループ マルチデバイスチーム 新卒1年目の小林です。 エムスリーでは、2週間に1度、Tech Talkという社内LT会(現在はリモートで)が開催されています。これは、とある回の発表テーマリストです。 Tech Talkのとある回の発表テーマリスト このように、最近エムスリーでは文字列が流行っている(?)ようなので、その勢いに乗って私も文字列照合アルゴリズムについて書きたいと思います!(業務とは全然関係ない話です) Knuth-Morris-PrattやBoyer-Mooreアルゴリズムは解説記事がたくさん出ていると思うので、この記事ではシンプルかつ高速なQuick-SearchとQuite-Naiveアルゴリズムについて説明し、速度比較を行った結果についてご紹介します。 文字列照合アルゴリズムとは テキストとパターンという文字列が与えられたときに、中に出現す

                                                                    シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ
                                                                  • [速習] 配列から欠けている数字を見つける「XORトリック」の深い理論と実践 - Qiita

                                                                    皆さんは『配列から欠けている数字を見つけろ』と言われたら、どう答えますか? 多くの方は「HashSetで解けばいい」と考えるでしょう。しかし、1000万個の要素で実測したところ、Pythonのsetは945MBもの追加メモリを消費し、処理に2.3秒かかりました。一方、XORを使った解法は追加メモリゼロ、C言語なら1ミリ秒で完了します。 なぜこれほどの差が生まれるのか? XORには単なるトリック以上の深い理論があり、配列の欠損値検出だけでなく、RAID 5のデータ復元やネットワークのエラー検出など、実務で幅広く応用されているのです。 追記: ネットワーク転送時のパケットロスやノイズによるデータ欠損、さらには宇宙線がメモリに衝突してビットが反転する「ソフトエラー」により、配列から要素が失われることがあります。 本記事では、Florian Hartmannの「That XOR Trick」1を基

                                                                      [速習] 配列から欠けている数字を見つける「XORトリック」の深い理論と実践 - Qiita
                                                                    • 最近またLinux用の日本語IMEを作っている - tokuhirom's blog

                                                                      最近またLinux用の日本語IMEを作っている 本件は mozc の ut がどうこうとかは関係なくて、ふと linux desktop を使おうと昨年末に思いまして、昨年末からちまちまやってます https://github.com/tokuhirom/akaza かな漢字変換って作るの難しいのかなぁ、と思ったので作ってみている。これはまさに Just for Fun でやっている。 わりと普通に自分で常用してる分には困らないかな、というところまできている。 以下は、思ってることの垂れ流しという感じで、まとまってないですが。 「日本語入力を支える技術」という本が 2018年に出ていて、この本の内容を読めば、だいたいエンジン部分は実装できる。Amazon のレビューではこの本よんでも実装できないって書いてあるけど、変換エンジン自体は実装できます。 UI が辛い。けど。 エンジンは、ビタビア

                                                                      • C#やRustからWin32 APIをもっと簡単に呼び出せるように ~Microsoftが「win32metadata」プロジェクトを発表/今まで手動でメンテナンスされてきたバインディングやラッパーを自動管理する基盤

                                                                          C#やRustからWin32 APIをもっと簡単に呼び出せるように ~Microsoftが「win32metadata」プロジェクトを発表/今まで手動でメンテナンスされてきたバインディングやラッパーを自動管理する基盤
                                                                        • ついにBitNet Llama8Bが登場! CPUのみで爆速推論するLLM,BitNet.cpp|shi3z

                                                                          科学の世界では、それまでの常識が覆ることを俗に「パラダイムシフト」と呼ぶ。 しかし、もしもAIの世界にパラダイムシフトという言葉があるとしたら、今週の人類は一体何度のパラダイムシフトを経験しただろうか。 そのトドメの一撃とも言えるのが、BitNetのLlama8B版だ。 Lllama-8B構造で学習された最初のBitNetであり、全てを変えてしまうゲームチェンジャーでもある。CPUのみで秒間5-20トークンを出力する。超強力なLLM推論エンジンの出現だ。 BitNetとは、そもそも1.58ビットに相当する情報量で、本来は4ビット以上必要な大規模言語モデルの計算を劇的に高速化する技術である。 LLMの推論には通常は巨大な浮動小数点数(8ビットから16ビット)の、大量の乗算(掛け算)が必要なため、GPUなどの特殊な半導体を必要としていた。特にNVIDIAのGPUがこの目的にマッチしていたので今

                                                                            ついにBitNet Llama8Bが登場! CPUのみで爆速推論するLLM,BitNet.cpp|shi3z
                                                                          • 令和にふりかえる C10K 問題

                                                                            C10K 問題 (the C10K problem) は1999年に Dan Kegel が発表した文章、ならびにそこで提示された「問題」です。文章はその後も2000年代前半に何度か更新されているのですが、さすがに令和に読み返すと、当初の問題意識がわかりにくいところがあります。 2000年からの10年は、 ソフトウェア面では、select(2), poll(2) にかわる新しいシステムコールの実装と、それを使ったアプリケーションの普及 ハードウェア面では、x86 アーキテクチャの64ビット移行、仮想化命令の追加と、マルチコア化 さらにそこにクラウドも登場する、面白い時代でした。ここでは、それらの出来事を中心に、さらに、当時の雰囲気をつたえるような日本国内のブログやインタビュー記事をまとめることで、C10K 問題が、さまざまな側面から解決されていく流れを説明したいと思います。 書き足したいと

                                                                            • なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?

                                                                              回答 (3件中の1件目) なかなか理解しづらい話だと思いますが、当時のベル研究所において、Unixのグループは濃密な知のルツボだったのです。B言語が発明されるとすぐに、十数人の人々が使い始め、良かったところと悪かったところのフィードバックが集まりました。デニスは数日後にはインタプリタ言語だったB言語をコンパイラ化し、古いバージョンを分かりやすいところに置いていました。B言語のユーザーは、バグを見つけるとデニスにメールし、バグが直るまで古いコンパイラを使っていました。 B言語をC言語に改名した主な理由は2つあります。まずB言語(とBCPL)は、CPUのアドレスがバイト単位ではなくてワード...

                                                                                なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?
                                                                              • やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab

                                                                                国分崇志(@k0kubun)と申します。プログラミング言語Rubyのコミッターとして活動しています。2019年からシリコンバレーで働いており、2022年からShopifyという会社でRubyのJust-In-Time(以下、JIT)コンパイラをフルタイムで開発しています。 長い間趣味でやっていたコンパイラの開発を仕事にしたのは、現職が初めてでした。この記事では、趣味を仕事に変えた経緯や、どのようにして業務経験のない分野にキャリアチェンジしたのかを紹介します。 仕事で分散システム、趣味でコンパイラを書くキャリア 楽しく稼げる仕事を求めてたどり着いたRubyエンジニア 研究で分散システムと言語処理系の両方に興味を持つ 分散ミドルウェアを仕事で、JITコンパイラを趣味のOSS活動で やっぱりコンパイラを仕事にした複合的なきっかけ 働きながら大学院に通い、コンパイラが一番好きなことに気付いた コン

                                                                                  やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab
                                                                                • 疑われる「C++」の安全性、今後の動きはどうなる

                                                                                  「C++」は非常に人気があるプログラミング言語だが、同言語の標準化に取り組んでいるグループが、C++の「メモリ安全性」を(新しいライバル言語である「Rust」のように)高めるための今後の道筋について議論する文書を発表した。 Rustは、MicrosoftやAmazon Web Services(AWS)、Meta、GoogleのAndroid Open Source Project、主にC++で書かれている「Chromium」プロジェクト(まだ始まったばかりだが)、Linuxカーネルなど、多くの企業やプロジェクトで採用されており、メモリ関連のセキュリティホールを減らすのに役立っている。最近では、米国家安全保障局(NSA)までが、開発者に対してC++からC#やJava、Ruby、Rust、Swiftへの戦略的な移行を促す事態になっている。 C++の生みの親であるBjarne Stroustr

                                                                                    疑われる「C++」の安全性、今後の動きはどうなる

                                                                                  新着記事