並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 88件

新着順 人気順

cの検索結果1 - 40 件 / 88件

  • すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ、全銀システム通信障害の詳細を説明 | gihyo.jp

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

      すべてのフェーズでミスが重なった ―全銀ネットとNTTデータ、全銀システム通信障害の詳細を説明 | gihyo.jp
    • エンジニア・データ分析職の方々にお薦めしたい、LLM時代に不可欠な教養が身に付くテキスト3選 - 渋谷駅前で働くデータサイエンティストのブログ

      (『IT Text 自然語処理の基礎』より) 3ヶ月ほど前に空前のLLMブームについて概観する記事を書きましたが、それ以降も世間のLLMに対する狂騒ぶりは収まるどころかますます拍車がかかるという有様で、あまつさえ僕自身の仕事における日常業務にもじわじわと影響が及びつつあり、今後も良きにつけ悪しきにつけLLMと共生し続ける必要がありそうだと感じている今日この頃です。 そんな猫も杓子もLLMに群がるが如き空前のブームを受けて、エンジニアやデータ分析職の方々の中には「LLMに興味はあるんだけど世の中にあまりにも多くのLLM関連コンテンツが溢れ返っていて何から手をつけたら良いのか分からない」という向きもあるように見受けられます。そこで、僕も断じてLLM以下生成AIの専門家などではないのですが、個人的に「このテキストを読めばLLM時代を生き抜くことが出来そうだ」と感じた書籍を、全くの独断と偏見で3冊

        エンジニア・データ分析職の方々にお薦めしたい、LLM時代に不可欠な教養が身に付くテキスト3選 - 渋谷駅前で働くデータサイエンティストのブログ
      • 「//このコメントを消したら動かない」は大体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
        • オブジェクト指向宗教史

          OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ 本コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。

            オブジェクト指向宗教史
          • x86-64機械語入門

            この記事はx86-64の機械語を書けるようになるためのガイドとなることを目指します。読者はアセンブリー言語について既にある程度知っていることを想定します。 情報源 x86-64の機械語のオフィシャルなガイドはIntelのSoftware Developer ManualまたはAMDのAMD64 Architecture Programmer's Manualです。 Intel SDM: Intel® 64 and IA-32 Architectures Software Developer Manuals AMD64 Architecture Programmer's Manual, Volumes 1-5 このほか、Cから呼び出される関数を定義したり、Cの関数を呼び出すためには、呼び出し規約の知識も必要です。使用される呼び出し規約はOSに依存し、Unix系では主にSystem V ABI

              x86-64機械語入門
            • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

              はじめに 登壇版 Taskの本質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

                【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
              • jq が jqlang organization に移譲されました - プログラムモグモグ

                JSONを操作するコマンドラインツールであるjqは、これまでオリジナル作者であるStephen Dolan氏 (@stedolan)のリポジトリ(github.com/stedolan/jq)で管理されていました。 メンテナンスはNico Williams氏 (@nicowilliams)とWilliam Langford氏 (@wtlangford)の二名が行なっていましたが、近年は活動が減っておりメンテナンスが滞っていることが度々指摘されていました。 最新のリリースは2018年11月に行われた1.6であり、その後に様々なバグ修正やパフォーマンス改善、新機能の実装が行われているのにリリースされておらず、またissueやPRも放置されがちになっていました。 さらにCI (AppVeyor)は常に落ちるので、簡単なドキュメント修正でもCIが通らず苦情が来る、数か月放置されたPRは作った人が諦

                  jq が jqlang organization に移譲されました - プログラムモグモグ
                • 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++
                  • ソフトウェアアーキテクチャメトリクスの基礎: Software architecture metrics in a nutshell

                    ソフトウェアアーキテクチャメトリクス - Forkwell Library #44 での発表資料です https://forkwell.connpass.com/event/309739/ 動画: https://www.youtube.com/watch?v=C52rYX_E9bA #Forkwell_Library

                      ソフトウェアアーキテクチャメトリクスの基礎: Software architecture metrics in a nutshell
                    • strlen() の深淵 - Qiita

                      あらまし strlen() という関数がある。御存知の通り、文字列の長さを算出する標準 C ライブラリの関数だ。 やってることは単純で、例えば以下のように実装できる。 size_t strlen_simple(const char* str) { const char* p = str; while (*p) ++p; return size_t(p - str); } '\0' が見つかるまでポインタを進め、初期位置との差分を返すだけだ。これで機能的には std::strlen() と同等である。 では、速度的にはどうだろう?適当にベンチマークを書いて MSVC 2022 でコンパイル&実行するとこうなった。

                        strlen() の深淵 - Qiita
                      • 食器洗いにゴム手袋のすすめ(追記しました)

                        食洗機の話題になると毎回「手洗いでは不可能な高温!洗剤!」をメリットに挙げる人がいるんだけどそれゴム手袋で実現できます。 ていうか手洗いの人は使わない意味がわからない。 手が荒れないしお湯で汚れが落としやすいし価格は超プチプラ。 最初は素手と違う感触に戸惑うかもしれないけど慣れるよ。 以下は種類の解説。 塩化ビニール製100円ぐらいの安いのはこれ。 数ヶ月で指先が硬くなってしまうのでこれが原因でゴム手袋は使いづらいと敬遠される原因になってるかも。 使い捨てと承知の上でなら良いと思う。 天然ゴム製硬くならないし柔らかくて使いやすい。 オカモトとかいう聞いたことない会社が出しているマリーゴールドフィットネスが最高。真っ赤っかで気分もあがる。 ただし切れる時は切れる。たぶん薄く作るのも無理。 ゴムアレルギーある人は使えないらしい。 ニトリルゴム製今ダンロップのジョーブネというのを使ってるんだけど

                          食器洗いにゴム手袋のすすめ(追記しました)
                        • Why Is SQLite Coded In C

                          Note: Sections 2.0 and 3.0 of this article were added in response to comments on Hacker News and Reddit. Since its inception on 2000-05-29, SQLite has been implemented in generic C. C was and continues to be the best language for implementing a software library like SQLite. There are no plans to recode SQLite in any other programming language at this time. The reasons why C is the best language to

                          • 生のポインタは使わないで! Modern C++のメモリ管理

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

                              生のポインタは使わないで! Modern C++のメモリ管理
                            • C# Win32API完全入門 - Qiita

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

                                C# Win32API完全入門 - Qiita
                              • A Modern C Development Environment

                                Sometimes, C/C++ projects have a long development cycle. When working on such a project, it can be easy to take our development environment for granted, and forget about the effort invested in its bring-up. The build environment works like magic, the test framework is neatly integrated, and the CI/CD pipeline relieves us of tedious, repetitive tasks. For me, all it took was a simple thought: How d

                                  A Modern C Development Environment
                                • セガサターンのマルコンをUSB化する拡張ユニットを作りました - GEEKY Fab

                                  セガサターンのマルチコントローラー(マルコン)をUSB化するための拡張ユニットを作りました。 マルコンの標準ユニットと付け替えることで、マルコンがUSBゲームパッド化するっていうイカしたやつです。 セガが「拡張ユニット発売予定」と言ってから20年以上の時を経て、やっと現実のものとなりました。 マルコンの説明書に拡張ユニット発売するって書いてた 出典: https://segaretro.org/images/9/9e/MultiControllerSaturnJPManual.pdf 作ったもの なんで作ったか こんな感じの仕様にします マルコンの信号仕様調査 ハードウェア編 回路図を書いてみる 基板図を書いてみる 基板を製造します 部品を実装してみる シェルも作ることにする 回路と基板を設計しなおす シェルと基板を組み合わせる ソフトウェア編 プログラムを書く 動かしてみる 最後に 作っ

                                    セガサターンのマルコンをUSB化する拡張ユニットを作りました - GEEKY Fab
                                  • PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog

                                    こんにちは ハタ です。 Mirrativ では 2020年頃から サーバサイドの技術をPerlからGoへのシステム移行 を行っており、2024年現在でもサグラダファミリアのように移行作業は継続しています PerlとGoという2つの環境を同時に運用していますが、 基本的には 新機能は Go で実装 し、 Perlでは積極的に新規実装を行わない というスタイルで進めていました しかし、既存の機能の一部に手を加えたいとなった場合、まだまだ Perl の実装に手を加えることが一定あり、Perl から Go の機能を呼び出したいというニーズが出てきました (配信やギフトといったビジネスの根幹を支えるレガシーな実装においては顕著) そこで PerlXS を利用することで Perl から Go を直接呼び出せるようにできないかと考え検証を進めることにしました Goの -buildmode=c-shar

                                      PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog
                                    • 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
                                      • Linux コンテナのリブートとセキュリティ / SosaiLT 38th

                                        総関西サイバーセキュリティLT大会(第38回)の LT 資料です。 参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。

                                          Linux コンテナのリブートとセキュリティ / SosaiLT 38th
                                        • PEP 703 - 兼雑記

                                          https://peps.python.org/pep-0703/ Python の GIL 外す話。これすごく楽しい読みものでした。参照カウントのところが一番人気だと思うのですが、他のところも色々良い。こういう、「んーこういうことするとこういう問題が起きない?」と思ったら次の章くらいでそれが説明される、みたいな読みものは大変好きです 参照カウント: オブジェクトっていうのは作ったスレッドが解放するというのがほとんどなんだから、その場合はロックをいらなくする、他に渡ったら普通の参照カウントぽくする、という話。 Swift に 2018 年に導入された 話らしい。他のスレッドに渡された後で DECREF すると他スレッド用の参照カウントが負になりうるのだけど、その時に queue に入れるということをして、ややこしいので、なんかこれ無しですむ方法はないのかなぁ……と Immortalize

                                            PEP 703 - 兼雑記
                                          • VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に

                                            VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に マイクロソフトは、オープンソースで開発しているコードエディタ「Visual Studio Code」(以下、VSCode)の最新版となる2023年9月版(バージョン1.83)で、JavaScriptデバッガがWebAssemblyのデバッグにも対応したことを明らかにしました。 The JavaScript debugger can now debug code compiled into WebAssembly if it includes DWARF debug information. For example, C++ code compiled using Emscripten can be debugged: pic.twitt

                                              VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に
                                            • C言語向けコルーチン非同期 I/O ライブラリ neco を使ってみた。

                                              はじめに C言語でコルーチンを扱う方法は色々ありますが、専用の命令を専用の記述方法で実装しなければならなかったりなど、あまりとっつきやすいものではありませんでした。 今日 X/Twitter のタイムラインで見付けた neco はまさにそんな悩みを解消できる物でした。 neco とは neco はコルーチンを使った非同期 I/O ライブラリです。 コルーチン: 開始、スリープ、一時停止、再開、移譲、および結合。 同期: チャネル、ジェネレータ、ミューテックス、条件変数、および待機グループ。 デッドラインとキャンセルのサポート。 ファイルディスクリプタを使った Posix フレンドリーなインターフェース。 ネットワーク、シグナル、ランダムデータ、ストリーム、およびバッファ付き I/O の追加 API。 公正かつ決定論的なスケジューラを備えた軽量ランタイム。 高速なユーザースペースのコンテキス

                                                C言語向けコルーチン非同期 I/O ライブラリ neco を使ってみた。
                                              • PlayStation Programming with MIPS Assembly and C

                                                This course is a deep dive into the world of PlayStation programming! We'll explore the PS1 hardware, understand its sub-components, and learn how to code games using MIPS assembler & the C programming language. We'll also learn how to use a PS1 SDK library paired with a modern development toolchain to be more productive and push fast polygons out of our console. We are about to enter the 5th gene

                                                  PlayStation Programming with MIPS Assembly and C
                                                • Ruby の JSON ライブラリ Oj のパフォーマンス改善を行いました - Repro Tech Blog

                                                  Development Division/Repro Team/Feature 1 Unit の Watsonです。Feature 1 Unit は Repro Tool の機能開発と保守を担っています。 弊社でも利用している Oj gem のパフォーマンス改善 PR を送った話と、その PR の内容について共有します。 ことのはじまり 以前、同僚が Ruby on Rails で JSON を返す REST API を作成した際、JSON のエンコード部分のパフォーマンス計測をしていました。JSON のエンコード方法は JSON.generate、ActiveSupport::JSON.encode、Oj gem を利用する方法など色々ありますが、私としては Oj gemの ほうがパフォーマンス的にいいだろうからそちらを利用したほうが良いのではと思っておりました。 計測結果を拝見したら確

                                                    Ruby の JSON ライブラリ Oj のパフォーマンス改善を行いました - Repro Tech Blog
                                                  • C言語でWASMインタプリタを実装した話

                                                    概要 公式のcore testが全て(UTF8, WAT, SIMD関連のものは除く)通るWASMインタプリタをC言語でフルスクラッチで実装した。自作WASMランタイムで省略されがちなValidation Stageも実装した。この記事はWebAssembly Advent Calendar 2023の三日目の記事である。 目的 このWASMランタイムを実装するにあたり、「できるだけ仕様に従って実装する」ことを心掛けた。WASMの仕様書は以下のissueが立つほど読みにくいものとなっているが、ランタイムをどのように実装すべきかが詳しく書いてあり、一応仕様書を頑張って読めばランタイムが作れるようになっている。 この自作WASMランタイムの目的は、できるだけ仕様に従った実装を与えることで、仕様の理解を助けることである。早さや効率性よりも分かりやすさを優先しているため、実用には向かない。仕様書を

                                                      C言語でWASMインタプリタを実装した話
                                                    • 2023年に特にお世話になったC++ライブラリ8選 - Qiita

                                                      たぶん2023年一番お世話になったライブラリです。 2022年まではsimdjsonをよく使っていたのですが、新規プロジェクトはGlazeばかり使っています。 開発が活発だし、ISSUEへの対応が速いのもありがたいです。 良い点 SIMDを利用していないのにsimdjsonやyyjsonと遜色ない速度で動作する 構造体やクラスだけでなくSTLコンテナもJSONとの直接読み書きができる 中間データに独自バイナリ形式を利用してさらに高速化できる いまいちな点 長い文字列が多いJSONデータの読み込みではSIMDを使っているライブラリに対して不利になる 最後のフィールドのカンマやコメントの読み込みに対応していない ストリーム的な処理はない(と思う) 代替ライブラリ 似たようなアプローチでSIMDを使ってさらに速いJsonifierというライブラリがあります。 純粋な速度を求める場合にはこちらを使

                                                        2023年に特にお世話になったC++ライブラリ8選 - Qiita
                                                      • WasmGCについて予習する

                                                        この記事はWebAssembly Advent Calendar 2023 2日目の記事です. ガベージコレクタ(WasmGC)[1]が10月頃にChromeとFirefoxでデフォルトで有効になり,標準化目前ということで大いに盛り上がったのは記憶に新しいかと思います. これはChromeが対応したというよりはChromeが採用しているJavaScriptのランタイムであるV8がデフォルトでWasmGCが有効になったというのが正確な表現で,DenoでもDartからビルドしたWasmを実行する際にGCを有効にするフラグを立てる必要がなくなり,実行しやすくなったなぁと皆さんも感じているかと思います. -$ deno run --allow-read --v8-flags=--experimental-wasm-gc run.js +$ deno run --allow-read run.js

                                                          WasmGCについて予習する
                                                        • Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング

                                                          TIOBE Softwareが発表したプログラミング言語の人気ランキング「TIOBEインデックス」の2023月10月版では、JavaとC#のレーティングが1.2ポイントのわずかな差に縮まっている。 ソフトウェア品質の評価と追跡を手掛けるTIOBE Softwareは、2023年10月版の「TIOBEプログラミングコミュニティーインデックス」(通称「TIOBEインデックス」)を発表した。 TIOBEインデックスはプログラミング言語の人気度を示すランキングで、同社が毎月更新している。2023年10月のランキングでは「Python」が14.82%で首位を維持した。2位~5位は「C」(12.08%)、「C++」(10.67%)、「Java」(8.92%)、「C#」(7.71%)だった。 Python、C、C#は、それぞれ長期にわたって首位、2位、5位を占めている。C++は6月にJavaを抜いて3位

                                                            Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング
                                                          • データ型は明示しないで! Modern C++での型推論

                                                            このように、(1)(2)と「vector<int>」を2回も書かなければなりません。特に(2)では、右辺の型は分かっているんだから、左辺はそれに合わせてよ! という文句が出そうです。 初期化漏れを防止する このように、同じ意味の型を何回も書くのはかったるいな! というときに型推論は役立つわけですが、もっと切実な理由があります。それは、変数の初期化漏れの防止です。JavaでもRustでもそうなんですが、変数は宣言しっぱなしでOKです。宣言しっぱなしというのは、明確な初期化が行われていないという意味です。こうなると、その変数を参照しようとするといろいろとまずいことが起きてきます。 基本データ型とかなら、どんな値か分からない ポインタ型とかなら、どこを指しているか分からない(ダングリングポインタ) なので、実行時にプログラムが不可解な動作をしたり、いきなり落ちたりするわけです。しかし、コンパイラ

                                                              データ型は明示しないで! Modern C++での型推論
                                                            • ソフトウェア1 (2022)

                                                              ソフトウェア1 (2022)¶ 本サイトは、東京大学工学部電子情報工学科・電気電子工学科の進学内定者(2年生、A1ターム)を主たる対象としたソフトウェア1の講義ページです。C言語の基礎を勉強します。 電気系の学科のslackにて講義に関する通知を行うので、常時学科slackをチェックするようにしてください。 電気系の学生は既に全員slackに招待されるはずですが、もし招待されていなければこちらを参考に入ってください。 電気系以外の学生も、上記リンクを参考に入ってください。講義を受講する学生なら誰でも参加出来るという運用になっています。 本サイトは2022年度版です。2023年度版はこちら。 ニュース¶ [2022.11.24] week7を追加しました。 [2022.11.10] week6を追加しました。 [2022.11.03] week5を追加しました。 [2022.10.27] w

                                                              • Writing a C compiler in 500 lines of Python

                                                                A few months ago, I set myself the challenge of writing a C compiler in 500 lines of Python1, after writing my SDF donut post. How hard could it be? The answer was, pretty hard, even when dropping quite a few features. But it was also pretty interesting, and the result is surprisingly functional and not too hard to understand! There's too much code for me to comprehensively cover in a single blog

                                                                • スーパーファミコンで mruby/c を動かす

                                                                  はじめに mruby/c という軽量な Ruby 処理系をスーパーファミコンに移植し、標準出力に文字列を出力する簡単な Ruby コードをエミュレータ上で動かしたので、その移植作業を記事にまとめました。 この記事で動かしたコードは次のリポジトリにあります。 この移植作業を行うという発想は、2年前の RubyKaigi 2022 で行われた mruby/c を Mega Drive 上で動かすという Yuji Yokoo さんによる発表(https://rubykaigi.org/2022/presentations/yujiyokoo.html)がベースとなっています。 元々スーパーファミコン上で動くコードを趣味で書いたことはあったのですが、最近スーパーファミコンで使われている 65C816 という CPU 向けの(まともに動く) C コンパイラが存在することを知ったので、今回移植作業に取

                                                                    スーパーファミコンで mruby/c を動かす
                                                                  • 大学の C++ 講義で使っているオンラインコンパイラ

                                                                    C++ Advent Calendar 2023, 9 日目の記事です。 学校で C++ を教える場合、受講者に最初から Visual Studio Code や、Visual Studio, Xcode などの統合開発環境をインストールしてもらうのは難しいことがあります。 とくにプログラミングが初めての学生、パソコンに不慣れな学生が多い場合は、なるべく環境構築に時間をかけず、スムーズに C++ プログラミングの学習に入れるよう、講義の序盤ではオンラインコンパイラの使用が選択肢として有効です。 本記事では、筆者が実際に大学の C++ 講義で使った 3 つのオンラインコンパイラを、講義での活用の観点から紹介します。 Simple C++ Editor Simple C++ Editor は、Wandbox をバックエンドとしたオンライン C++ コンパイラです。初心者がよく起こすエラーや警告

                                                                      大学の C++ 講義で使っているオンラインコンパイラ
                                                                    • Making a 3D Modeler, in C, in a Week

                                                                      Last fall I participated in a week long programming event called the Wheel Reinvention Jam. The point of the Jam was to revisit existing software systems with fresh eyes. I ended up making a 3D modeler called “ShapeUp”. This post will make more sense if you watch the video demo of ShapeUp before reading more. You can try ShapeUp in your browser. This is what it looks like: Mike Wazowski modeled in

                                                                        Making a 3D Modeler, in C, in a Week
                                                                      • The Development of the C Language

                                                                        The Development of the C Language* Dennis M. Ritchie Bell Labs/Lucent Technologies Murray Hill, NJ 07974 USA dmr@bell-labs.com ABSTRACT The C programming language was devised in the early 1970s as a system implementation language for the nascent Unix operating system. Derived from the typeless language BCPL, it evolved a type structure; created on a tiny machine as a tool to improve a meager progr

                                                                        • GitHub - hrvach/deskhop: Fast Desktop Switching Device

                                                                          Did you ever notice how, in the crazy world of tech, there's always that one quirky little project trying to solve a problem so niche that its only competitors might be a left-handed screwdriver and a self-hiding alarm clock? I use two different computers in my daily workflow and share a single keyboard/mouse pair between them. Trying several USB switching boxes found on Amazon made me realize the

                                                                            GitHub - hrvach/deskhop: Fast Desktop Switching Device
                                                                          • コンマ演算子の使い道の話 - Qiita

                                                                            これは何? return の後ろにカンマ演算子で区切ったステートメントを記述し、最右のステートメントを返すことに有用性があるかどうか知りたいのです。 という記述を読み、そこに限定せずに コンマ演算子が役に立つパターンについて考えた。 とはいえ、 return 式, 式; が念頭にある。 そもそも そもそも、コンマ演算子は C 言語に由来する。 と言いたいところだけど、よく知らない。BCPL には無かったようなので、B言語か C言語なのかな。 いずれにせよ、C言語がきっかけで広まったと思う。 可読性の低下に寄与 コンマは演算子以外の用途でも使われるのでコンマ演算子なのかそうじゃないのかを判断するのがめんどくさく、可読性の低下に寄与しやすい。 a=(b,c); // コンマ演算子 a=f(b,c); // 引数区切り a=g((b,c)); // コンマ演算子 a=typeof(b,c); /

                                                                              コンマ演算子の使い道の話 - Qiita
                                                                            • RISC-VでC言語のポインターを理解する! ポインターの動作と処理を詳細に解説した書籍が発売/『RISC-Vから学ぶC言語 ポインタ理解のためのアセンブリ入門』【Book Watch/ニュース】

                                                                                RISC-VでC言語のポインターを理解する! ポインターの動作と処理を詳細に解説した書籍が発売/『RISC-Vから学ぶC言語 ポインタ理解のためのアセンブリ入門』【Book Watch/ニュース】
                                                                              • A 32-Bit RISC-V CPU Core In 600 Lines Of C

                                                                                If you have ever wanted to implement a RISC-V CPU core in about 600 lines of C, you’re in luck! [mnurzia]’s rv project does exactly that, providing a simple two-function API. Technically, it’s a user-level RV32IMC implementation in ANSI C. There are many different possible flavors of RISC-V, and in this case is a 32-bit base integer instruction set (RV32I), with multiplication and division extensi

                                                                                  A 32-Bit RISC-V CPU Core In 600 Lines Of C
                                                                                • 「C++」「Solaris」のゼロックス複合機から、「GO」「NetBSD」のリコー複合機まで 63歳現役エンジニア・柴田芳樹氏の開発人生

                                                                                  日本CTO協会が主催の「Developer eXperience Day 2023」は、“開発者体験” をテーマに、その知見・経験の共有とそれに関わる方々のコミュニケーションを目的としたカンファレンスです。ここで登壇したのは、株式会社カウシェの柴田芳樹氏。45年の歴史から振り返ったソフトウェア開発とキャリアの変遷について発表しました。全3回。2回目は、米国駐在から帰国した後のキャリア変遷について。前回はこちら。 ゼロックスのパロアルト研究所に転勤後は「PageMill」プロジェクトに従事 柴田芳樹氏:1990年の終わりには、Globalviewの開発はほぼ目途が立って、20人近くいた駐在員も1991年には日本に帰る予定でした。私1人だけゼロックスのパロアルト研究所に転勤してくれと言われたのは、たぶん1990年の終わりか1991年の頭ですね。 私自身は、もう日本に帰るつもりだったのですが、今

                                                                                    「C++」「Solaris」のゼロックス複合機から、「GO」「NetBSD」のリコー複合機まで 63歳現役エンジニア・柴田芳樹氏の開発人生