プログラムdeタマゴ

nodamushiの著作物は、文章、画像、プログラムにかかわらず全てUnlicenseです

組み込み屋さんのC++学習は普通にやっちゃ駄目って話

周囲の組み込み屋さんを闇のC++プログラマに堕落させたいと目論む訳ですが、組み込み屋さんが普通のC++の教科書を片手にお勉強しちゃ駄目だよねって話。特に取り纏めもないメモ書きなんだけど。 私はもう流石にC++の入門書は手元にないのですが、例えば、私…

組み込み屋こそC++を使うべきなのです

やーやーやー。なんとワタクシ、遂に脱8bitしました!ワーワー、ドンドンパチパチ! さて、組み込みでもRustがアツかったり色々しますね。ただまぁ、Rustってサポートや車載対応等が無いので、政治的ごにょごにょでちょっと使いにくいですよね。 だから、今…

今更ながら、文字列を型にしたい

やーやーやー なんで私、最近こんな黒魔術に手を出してるんだろうね。最近、相当変態的な方向性でC++を悪用 利用しようと企ててるから、こんな羽目になってますよ。 と言うのもですね、こう、色々と面倒くさい諸問題を回避しようとしてたら、黒い方法を思い…

constexprでfloatのバイナリ値を取得したい

constexprで計算したfloatの値を、バイナリをそのままにuint32_tに変換して配列の一部に保存したいという場面に出くわしました。 templateの構造体で定義すれば良いようにも思えますが、floatが入る位置や数は未定で、やりにくいのです。 というわけで、floa…

Wordを捨ててTeXでドキュメントを自動生成しようじゃないか

社内のドキュメントがWordじゃないと駄目だなんて誰が決めた!TeXで自動生成だ!

簡単なHTMLの表をXMLに変換する方法

どーも。 Markdownとかorg-modeとかで表で書いてた情報と、同じ情報をXMLで書かなきゃいけなくなったという場面に遭遇しました。 これらはGitBucketで表示していたので、要するにHTMLの表→XMLへの変換をしたい。 かといって、今回の為だけにプログラム書くの…

もっともシンプルなmalloc,freeの実装と理解

C

mallocはOSからメモリを動的に確保する? mallocをするとOSからメモリを確保出来る。 mallocで確保したメモリはfreeでOSに返される。 一体どこの誰だ、こんな嘘の解説を世に出したのはぁ! こんな説明がまかり通っているから、初心者の脳内メモリイメージが…

コンピューターの起源:ジャカード織機の仕組み

富岡製糸場然り、工業の近代化において、衣服にまつわる技術は多く世に貢献してきた。 さて、私たちが今扱っているコンピュータも元を辿っていくと、実はジャカード織機という織機に辿り着く。 いわゆるパンチカードによるプログラミングの原型とも言えるべ…

ExcelやWordに判子の無駄はなくならない

「証明書が必要だって言うから、証明書取りに行くじゃん?」 「せやな?」 「で、その証明書を発行するのに判子が必要だっていう。」 「よくあるな。」 「しゃーないから、判子持ってって証明書もらうじゃん?」 「うん」 「で、その証明書持ってったら、ま…

Shell(Bash,Power Shell)でバージョンソート

x.y.z形式のバージョンをソート バージョンの形式は、「接頭辞x.y.z」とする。これのソートは割と簡単。(接頭辞はvとかver.とか) Shell(Bash) ※最初のVERSIONは、各行にversion情報がある情報を、パイプに流すコマンドなど VERSION | sed 's/^接頭辞//' | s…

SystemVerilog: ビット長拡張(符号拡張)の書き方

Mbitの信号をNbitに符号拡張したい、0fillしてビット長を変更したい場合、Verilogは書くのが面倒くさい。でも、SystemVerilogなら短く書けた。 結論 以下のコードで符号拡張、ビット長拡張が出来る。S,Dはパラメータでも、直値(数値)でも良い。 logic [S-1…

GitBucketにorg-mode追加するPlugin作った

事の発端はこのたけぞうさんのツイートとブログ記事。 ブログ書きました。/ プロジェクト管理に便利なGitBucketプラグイン - たけぞう瀕死ブログ https://t.co/VynqpxXmLa— Naoki Takezoe (@takezoen) 2018年10月14日 このツイートに反応して、Excelプラグイ…

Eclipse プラグイン開発:TM4Eによるエディタ開発

Eclipse プラグイン開発 目次 本記事ではEclipse Photon以降のEclipseで、TM4Eを使った場合のシンタックスハイライト、インデントの実装について解説する。 TM4EはEclipse Photonで追加されたRustなどにも使われている。 本記事ではContents Assist(補完機…

Eclipse プラグイン開発:拡張ポイントの実装

Eclipse プラグイン開発 目次 さて、前回に引き続き、Eclipse Extension Point(拡張ポイント)の実装を行っていこう。 ………え?前回が1年半前? さぁて、何のことかな? あ、今回から環境がJava10、Eclipse Photonになっております。 拡張ポイントを取得する …

C#ぼっち勉強会 リスト

C#

C#のListをJavaと比較しつつ。Immutableについても調べてみたけど、C#にはSubListは何故ないんだ?

C#ぼっち勉強会 配列

C#

Java屋によるC#の配列操作をやってみたけど、Span最強、多次元配列いらなくね?

C++でタスクトレイに格納するアプリケーションを作る

コンソールアプリを作ってるんだけど、ちょっとした処理をタスクトレイに格納したいときに便利なC++ライブラリの紹介

Utubntu 18.04にTestLinkを入れてみた

外のサービスはあまり使わせてくれないのに、仮想サーバーはポンポンくれるので、サーバーにTestLinkを入れてみた。お金ないの。 で、自宅でもTestLink試してみるって事でVirtual Boxに入れてみた。その手順。 Virtual BoxにUbuntu 18.04をインストール いつ…

AWK超簡単再入門

「この合成ログファイルから使用セルの数とサイズ求めるプログラム作れ」 「んー、各行にインスタンスパスとセル名とサイズとかがあるんすか。こんなん、プログラムじゃなくって、awkでいいじゃん」 「何でも良いから」 「あいよ」 と、おもむろに端末を立ち…

Javaプログラマが今日から始めるC#ぼっち勉強会 その1

C#

話は聞いたぞ、人類 Javaは滅亡する! な、なんだってーーーー というわけで、Javaヤバイ ボラクル マジオニ と言いつつ既に数ヶ月。いい加減デブい重い腰を上げ、Javaから別言語への移行を本気で検討する必要があるでしょう。 私の場合、殆どデスクトップア…

Pythonが好かん

いや、もうね、昔からずっと思ってるんだけどね、言いたかった。Pythonが好かん。 Pythonのここがいい Pythonが好かんとか言いながら、相変わらずPython使ってるのには、やはりPythonにはPythonのメリットがあるからだ。 それは1にライブラリの多さ、2に手軽…

Razer Tartarus V2をRazer synapse3無しで動かす

昨日不満をぶちまけたRazer Tartarus V2だが、悪いのはソフトであって、ハードではない。 ソフトを憎み、ハードを憎まず。 ハードは物がなければどうにもならないが、ソフトなら何とかならないこともないはずだ。 Razer Tartarus V2 メカメンブレン 左手用キ…

Razer Tartarus V2 ハードは完璧、ソフトは酷すぎる

>追記:Razer Tartarus V2をRazer synapse3無しで動かす Razer Tartarus V2という左手用キーボードを購入したので、そのレビューというか、愚痴。 最近、Logicool アドバンス ゲームボードG13rの調子が悪く、新しい左手用キーボードが必要になりました。 で…

nio.Pathの小さなユーティリティライブラリを公開してみた

Google guava………便利だよね。Appache Common………便利だよね。 ………まぁ、デカいとは言わないけど、ちりも積もればなんとやらだよね? ………でかすぎね? そう、私は言いたいのだ。世の便利なJarファイルはデカい。デカすぎる。 ちょっとした内製ツールをウッカリ…

EmacsのIronyがタイムアウトする場合の対処法

EmacsのIronyがサーバーエラーも何も返さず、タイムアウトするという現象に悩み、何とか解決しました。 バージョン Emacs25 Irony :20180418 現象 company-ironyで補完を仕様とすると、サーバーエラーも返さず、タイムアウトする。タイムアウトの時間を10秒…

JAXBをEclipseLink MOXyに移行する

JavaでXMLを処理しようと思えば、やっぱJAXBですよね。便利ですもんね。 ですが、このJAXBがJava9で非推奨になり、早くもJava11で完全削除されることになりました。早くねぇ?1年しかないんですけどぉ? けっこう呑気していたnodamushiも一瞬巨大に見える程…

GitBucketのシンタックス拡張プラグインを作ってみた

はい、タイトルの通りです。 GitBucketは入れやすいし、愛用させて頂いているのですが、大問題があるのです。 それはシンタックハイライト機能がしょぼいと言うこと。とくに、Verilogとかね、悲惨なことになりますよ。 別にGitBucketのシンタックスハイライ…

初心者が実験用Ubuntu仮想OSを立ててSSHで繋ぐまで

サーバーとかWebを弄ってない私は、普段仮想OSっていうと単純にLinuxデスクトップを弄りたいだけ。基本的に、ホストOSとリモート接続する理由がなかったのですが、実験の為に仮想サーバーたてて、SSHで繋ぐまでをやってみました。 環境 この記事は以下の環境…

Chisel入門3~メリットデメリット~

入門三回目は今回はChisel3のメリットデメリットを紹介します。いつになったら入門するんだ? さて、私が感じるメリットは、IDEの支援が受けられる、接続表現が強力、抽象的な表現が可能である点。 デメリットは非同期リセットがない、IOポート名を変えられ…

Chisel入門2~開発環境の準備~

やーやーやー。 ハードウェアをScalaで書ける組み込み言語、Chisel3の入門インストール講座です。 というわけで、面倒でもまずは開発環境を準備するところから始めよう。 ごらんの番組は以下の内容でお送りいたします。 Chisel開発に必要な物 JDKのインスト…