loxop

1966年生まれ 福岡県に住む ソフトウェアエンジニア

loxop

1966年生まれ 福岡県に住む ソフトウェアエンジニア

マガジン

  • おにぎりラップ

    おにぎりのラップにラップ用ペンで3分で描くイラスト

  • 過去のプログラミング

    過去の個人のプログラミングや仕事のプログラミングについて書き綴っています。 自分用のメモ(ノート)ですね。 所感なども書いていきます。

  • ウイルスみたいな...

    ウイルスみたいな...生態系

最近の記事

おべんとう(20240116)

    • [2024年05月]C言語 Linuxネットワーク プログラミングバイブル

      C言語を3年ぶりにやるのでウォーミングアップ的に「小俣さん本」の Linuxネットワーク プログラミングバイブル をさらっと流してみたい。 https://www.shuwasystem.co.jp/book/9784798028620.html とりあえず、Chapter 1 のサンプルを動かしてTCP/IPを体感する。 3年前の仕事でアプリを作った時は、select() で通信アプリを作っていたので、今回は、本の中盤あたりに出てくる poll() や epoll()

      • [2024年05月]C言語で圧縮ファイルを解凍する

        C言語で圧縮ファイルを解凍するライブラリ zlib を使って圧縮ファイルを解凍する。 通信プログラムで電文を圧縮して送ってこられることは、普通にあるので その圧縮電文を解凍するために zlib を使う。 2021年ごろに zlib を使ったプログラムを書いたことがあるが、そのころは zlibのバージョンが 1.2.x だった。 最新の情報をみるとなんと 1.3.1 にバージョンアップしていた。 https://zlib.net/ ちょっと最新バージョンを使って動作させてみ

        • [2024年05月]C言語でログ出力プログラム

          C言語のログ出力ライブラリは、いろいろあるけれど… なぜか、いつも自作ログ出力を使ってしまう。 ログファイルに出力できて、ファイルはローテートできて、ファイル上限サイズができて(or 日付単位に出力できたり) ログレベルが出力できて… ミリセカンドまで出力時間が出力できて… 可変文字列が複数埋め込みできて… ぐらいで良いかなぁと思ってしまい、いつも自作ログ出力を使ってしまう。 こんな風に… /** * @file log.c * @brief

        おべんとう(20240116)

        • [2024年05月]C言語 Linuxネットワーク プログラミングバイブル

        • [2024年05月]C言語で圧縮ファイルを解凍する

        • [2024年05月]C言語でログ出力プログラム

        マガジン

        • おにぎりラップ
          65本
        • 過去のプログラミング
          37本
        • ウイルスみたいな...
          27本

        記事

          [2024年05月]C言語でJSONを扱う2

          C言語で使用できるメジャーなJSONライブラリには以下のものがあります: ・cJSON: : とChatGPTに言われて以下にアクセス https://github.com/DaveGamble/cJSON ドキュメントは、↑に書かれている内容。当然、英語である。英語ドキュメントを日本語化するツールをJavaで自作して持っているので、そいつで翻訳。 とりあえず、下記で公開。 http://loxop4biz.minibird.jp/cjson/README.htm

          [2024年05月]C言語でJSONを扱う2

          [2024年05月]C言語でJSONを扱う

          C言語の定義ファイルといったら iniファイル が定番ですが、 表現の豊かな JSON形式のファイル が素敵なので JSON を扱えるライブラリをChatGPTに聞いてみた。 C言語で使用できるメジャーなJSONライブラリには以下のものがあります: ・cJSON: ・Jansson: ・json-c: ・parson: ・UltraJSON (ujson): 定義ファイルを読む程度なら軽量の cJSON で良いみたい。 cJSON は、3年前に使っていたので、使い方も大体

          [2024年05月]C言語でJSONを扱う

          [2024年05月]C言語でUTF-8を扱う(扱いたい -> しかも楽に)

          C言語でマルチバイト文字を扱うのは、少々面倒です。 かつての shift-jis euc-jp であればライブラリも充実していて頭を悩ますことはないのですが、現在はUnicodeを使うのが普通です。 まぁ、Webでの通信の関係もありUTF-8を扱える必要があります。 C言語で可変バイト長文字のUTF-8を扱うのは大変です。 放棄 放棄する訳にもいかないので何かライブラリがないか探索します。 Julia言語方面でutf8procがありました。 これを使うのが良さそうです(あ

          [2024年05月]C言語でUTF-8を扱う(扱いたい -> しかも楽に)

          [2024年05月]今後の仕事に向けてC言語の開発環境を整える(3)

          Rocky Linux 9.3 をインストールして、画面解像度を 1280x1024 にして、日本語入力できるようにして まで出来ました。 次にEclipseをインストールするのですが、今は、LinuxでもGUIインストールできるのですね。知らんかった(結構前からやん)。 GUIインストーラをダウンロードしてインストーラを実行、workspaceフォルダなどを選択して… あら簡単、直ぐにEclipse2024-03 をインストールすることができました。 後は、Eclip

          [2024年05月]今後の仕事に向けてC言語の開発環境を整える(3)

          [2024年05月]今後の仕事に向けてC言語の開発環境を整える(2)

          Rocky Linuxを手持ちの富士通のパソコンにインストールする。 今、付いているハードディスクを別の500GBのブランクハードディスクに付け替えて Rocky Linux 9.3 の ISOイメージ をRufusを使ってUSBインストーラーにしてインストール。 えーっと、画面解像度が1024x768以上が選べないのと日本語入力ができない。 そこを、先ず解決する。 CentOS8以降のGUI環境では、X.org に変わって Wayland が採用されている。 Wayla

          [2024年05月]今後の仕事に向けてC言語の開発環境を整える(2)

          [2024年05月]今後の仕事に向けてC言語の開発環境を整える

          TIOBEで2位(2024年4月)のC言語。 長老なのにいまだに人気、派生言語のC++もTIOBEで3位(2024年4月)。 ハードウェアよりの開発では根強い人気とシェアがあると思われる。 ということで、残りのデベロッパー人生はC言語を軸にしてやっていこうと決断。 ということで開発環境を作ろうかと まず、OSを… RedHat系のCentOSの一択でしたが、提供がなくなるので後継とされている Alma Linux か Rocky Linux RedHatと完全互換に近い

          [2024年05月]今後の仕事に向けてC言語の開発環境を整える

          Vue3 個人的備忘録

          Vue3 サイト https://ja.vuejs.org/ Vue3 サイト ドキュメント 日本語 https://ja.vuejs.org/guide/introduction.html # Vue3 プロジェクト作成npm init vue@latest 言語はTypeScript Vue の setup 構文を使用 CompositionAPI を使用 Pinia (Store) https://pinia.vuejs.org/ Setup Stores ht

          Vue3 個人的備忘録

          [2023年12月]supabaseを使う

          googleのsupabaseを使いたい。 https://supabase.com/ FREEプランがあるので、まずはお試しで作ってみる。 って、実は、6月ごろに少し着手したまま放置していた。 年末に向けて少し自分の時間が取れそうなので残りを作ることにする。 SPAは、Vue.jsを使っている。 認証認可機能は既に作っているので、あとは中身の充実をやりたい。 普通のSQLデータベース(postgresql)をブラウザ上のVue.jsから操作するアプリサーバレスな構成なので、

          [2023年12月]supabaseを使う

          [1988年~]紙にコーディング

          紙にペン(正確には鉛筆やシャープペンシル、何度も書き直すからね)でコーディングするというのは今では社会人の入社時の新人研修でもしないかなぁ? 1990年頃まではコーディングはまず紙にするのが当たり前だった。 コードをキー入力できる端末の台数が限られていて開発者の間でシェアしながら紙に書いたコードをキーパンチしてコンパイルまでというのが通常の作業だった。 端末は時間貸しなので端末のアイドルタイムを少なくするためにも端末の前で試行錯誤するというのは無駄コストを発生させるため紙

          [1988年~]紙にコーディング

          [2008年4月~2008年9月]製鉄所プラント計装

          制御系の仕事を8年振りに行った。 製鉄所の生産ラインの計装を行う仕事だ。 担当は画面表示関係を行うことになった。 請負元であるY社のパッケージソフトを使って開発を行う。 8年程業種を離れているとだいぶ様変わりしているようで、Windowsで、このような計装の画面表示ならまず間違いなくVisualBasicで作成される(そういえばVC++のMFCという仕事もしたね。2008年くらいなら、C#かVB.NETになるでしょうね)。 しかし、今回はY社のパッケージ。 Visua

          [2008年4月~2008年9月]製鉄所プラント計装

          [1993年8月]タイムレコーダとデータ通信

          給与計算に使うためタイムレコーダからデータを取り出す仕事をした。 USB接続?いやいや時代が違う。 マシン用のドライバを使う?いやいや時代が違う。 インタフェースはRS232Cのシリアルインターフェースだ。 パソコンはMS-DOSのPC98。 ドライバなどはあったかどうか記憶にないが多分なかったと思う。 あったとしても10万円くらいはしたと思う。 タイムレコーダにはインタフェース仕様書が添付されていてACKやNAKなど無手順双方向通信ができるものである。 (無手順という

          [1993年8月]タイムレコーダとデータ通信

          [2003年08月]問題が解決するまで帰ってはダメです

          F社のフレームワークを開発した時のエピソード。 開発の母体は横浜または神戸で、私は福岡。 開発期間中、出張で仕様詰めを行い福岡に持ち帰って開発作業を行うといったスタイルだった。 開発期間も終了して、F社はリリースに向けて最終調整をしている段階になった。 福岡に戻っていてリリース完了の連絡を待つだけの状態だった、ある夕方に事務所の電話が鳴った。 F社の担当者からだった F社Aさん「どうも、おたくの開発したところがメモリーリークを起こしているようなので調査してください。リリース直

          [2003年08月]問題が解決するまで帰ってはダメです