ミッキー

ゲームとか電子工作とかが好きなプログラマ。Qiitaで技術的な記事を書いてるから、それ…

ミッキー

ゲームとか電子工作とかが好きなプログラマ。Qiitaで技術的な記事を書いてるから、それ以外の雑記的なものをこっちに書いていく予定です。

マガジン

  • Javaアプリ勉強会の勉強ログ

    勉強会で講師をすることになったので、サンプルを作るための作業を日記形式でまとめてみた

最近の記事

Turing Completeでtelnetの公告を表示したい その2

あらすじ前回はとりあえず、6x8ドットディスプレイの仕様を確認し、1行の電光掲示板っぽいものを作成した。おおよそ仕様を把握したため、Shift JISでエンコードされたテキストファイルを読み込むことができるようにする。 Shift JISについてShift JISは、ざっくり言うとアルファベットなどを1バイト、日本語を2バイトで表現する文字のエンコーディング方法で、簡単な説明はWikipediaを見るのが一番早いと思う。 Turing Completeで扱う場合、最初のバ

    • Turing Completeでtelnetの公告を表示したい

      きっかけ無職である程度まとまった時間を確保できるときにコンピュータについて学んでおきたいと思っていて、 ちょうどいい題材としてTuring Completeというゲームを遊んでいた。 ストアページは下記においておきます。 https://store.steampowered.com/app/1444480/Turing_Complete そんなときに例のtelnet公告が目について、ふと思ってしまった。 「これ、もしかしてTCPとファイル入力に対応しているTuring

      • Ergo the End + ProMicro(USBTypeCコネクタ版)の自分流のコンスルー不足対策

        概要KeyballとErgoDashを分割キーボードのメインキーボードとして使っていたとき、だんだん数字行が面倒になってきたため、40%キーボードで親指のキーが多めのキーボードが欲しくなった。選定の結果、Ergo the Endが面白そうだと思った。しかし11月頃にキットを買ってパーツを集めたときに事件が起きた。 コンスルーが売っていなかったのだ。 それ以外のパーツを集めて下記の設計者の記事を見て、念のためにコネクタなどを基板にあてて確認したが、またもや問題が起きた。 U

        • Keyball61カスタムログ レイヤー切り替え

          目的前回、Keyballの回路関連を修正して、普段遣いできるまでにもっていった。 ただ、このKeyballはその特徴から片手でマウス(トラックボール)操作を行いたいため、レイヤーをトグルする操作が多くなった、 その結果としてレイヤーを認識できずに誤操作する事故が多くなったため、これを軽減すべくファームウェアのカスタムを行った。 環境自分のメインマシンはWindowsなので、コンパイル環境はQMK Toolboxを利用した。 手順ファームウェアコンパイルまで keybal

        Turing Completeでtelnetの公告を表示したい その2

        マガジン

        • Javaアプリ勉強会の勉強ログ
          9本

        記事

          Keyball61ビルドログ(もしくはトラブルシューティング)

          前書き今年の頭に電気工作を行いたくなって、自作キーボード入門セットを遊舎工房で購入して使用していた。 https://shop.yushakobo.jp/collections/keyboard/products/beginnerset?variant=37772273418401 おおよそ半年経ち、分割キーボードと特殊なキー配列に慣れてきたが、 「ホームポジションから手を離さずにタイプしてるんだから、マウス操作もそのまま行いたい」という次の欲求が出てきた。 これが沼か…

          Keyball61ビルドログ(もしくはトラブルシューティング)

          煽り行為と差別的発言とキャンセルカルチャー

          自分の中で答えが出せない問題が頭に浮かんでしまった。 背景今からだいたい一週間前、問題発言をしたeSports選手が契約を解除される事例があった。詳しい内容はニュースサイトを見てください。 で、この騒動で処分を受けた人に対する擁護やキャンセルカルチャーに対する批判をしていて、かつ下記ような大会を素晴らしい大会だと絶賛する人を見かけてしまった。 現状のルール規約の「6-17. 出場不可扱い」では、いわゆる煽りプレイに値する行動を過去に行っていた場合、出場できなくなるらしい

          煽り行為と差別的発言とキャンセルカルチャー

          「失敗の科学」感想

          ErgoDashを買ったので新しいキー配列習熟のためにアマプラで読んだ失敗の科学という本の感想を書いてみる。(折角だし、Astarte配列のテスト中) 「失敗の科学」要約自分なりの要約をすると、この本は「様々な団体を失敗が絶えない組織とそうではない組織に分け、どのような差があるのかを分析した本」であったと感じた。 失敗している組織の負けパターンは「失敗を認めない」事から始まっていて、失敗を認めることができないためより酷い組織になっていく、と言ったことを様々な組織を例にして

          「失敗の科学」感想

          2021年のまとめと2022年に向けて

          2021年のまとめ2020年末ぐらいからSESの会社にうつり、2つの派遣先で働いてきた。そこで色々感じたこと、今後やりたいことをまとめてみる。 2021年のまとめ雑に言ってしまうと、詰んでいる派遣先はどんなものかと言うのを体感で得ることができた。ビジネス的に詰んでいる職場と、技術的に詰んでいる職場である。 派遣先の名誉のため、仕事内容を言うにしても架空のものを使っておく。 ビジネス的に詰んでいる職場最初の派遣先はシステム子会社であり、とある基幹系システムの運用・保守の人員

          2021年のまとめと2022年に向けて

          ヤバい設計をするチームの言葉

          はじめに現在の派遣先の契約が今月で無事に切れ、自社開発の案件を担当できるようになったため、半年の経験をもとに「どんな言葉がヤバい設計につながるのか」を考えてみようと思う。 技術レベルとしては、「ユニットテストが存在しておらず、手動テストの結果のスクリーンショットをエクセルに貼り付けて図形機能で加工するレベル。なおかつ自動化への意思が一切ない。」と書けばなんとなくわかるかもしれない。 「動いてるものが正義だから」この言葉の問題点は既存のコードへの改善の意思が見られないこと。

          ヤバい設計をするチームの言葉

          PHPとJavascriptの勉強会ログ

          はじめに前回まで自分がやっていたJavaの勉強会から、別の人の勉強会になり、テーマがWebアプリの作り方になった。 ただ、勉強会を受けていた人の様子を前回から見ていたが、「何をどう調べたら答えにたどり着けるか」といった探し方もわかっていなさそうだったので、どう調べたかに着目して勉強会ログを残しておく。 勉強会課題勉強会の課題は大きく分けて2つ。 ・PHPを使って、外部のAPIから情報(画像の入ったURL)を持ってきて、それを表示しよう ・JavaScriptを使って、画

          PHPとJavascriptの勉強会ログ

          TDDで電卓アプリを実装する日記#8

          はじめに今回でおおよそすべての機能が実装できたから一区切り。 今回の実装範囲今回実装するToDoリストは以下の通り ・正負反転の符号の実装 ・GUIへの紐付け ・最後の入力の取り消し(忘れてた) 正負反転の符号の実装符号の変換は数字に対して行い機能だからValueKeySequence.addKeyの引数に取れるタイプのクラスにしたい。 だけど今までの数字キーとは処理が全く異なるから、前回のLockedSequenceクラスのような継承を使った処理は無理そう。 この場合

          TDDで電卓アプリを実装する日記#8

          TDDで電卓アプリを実装する日記#7

          はじめに淡々と実装していくだけになってきたから、もうそろそろはじめにも要らなくなってた気がする。 今回の実装範囲今回実装するToDoリストは以下の通り ・一度=を押して出した数値は書き換えることができなくする ・クリアキー(C,CE)の追加 計算結果のロックこれは比較的簡単。実装に必要なのは、「ValueKeySequenceとして使える、新しく数値入力が来たらその数値だけを返すクラス」なので、ValueKeySequenceを継承し、上記の処理だけ書き換えたクラスを追加

          TDDで電卓アプリを実装する日記#7

          TDDで電卓アプリを実装する日記#6

          はじめにオブジェクト指向エクササイズが「常にリファクタリングを要求する事によって設計の質をあげさせる手段」な気がしてきた。 今回の実装範囲今回実装するToDoリストは下記の通り ・1+1+1…のような連続して数値を入れる機能 ・1+*1=1のような、演算子を修正する機能 ・ゼロ除算例外の検出 …とは言ったものの、実は上2つは前回のプログラムですでに実装が完了している。必要なのは一番下の機能のみだ。 ゼロ除算の検知機能を追加するちょうど前回、四則演算の機能を追加したため、

          TDDで電卓アプリを実装する日記#6

          TDDで電卓アプリを実装する日記#5

          はじめに第5回にしてやっと四則演算の追加を開始しています。手癖で雑に書いてしまえばすでに電卓が完成している気もするけど、今回は練習も兼ねてひたすら丁寧に作成するので気にしないことにする。 今回実装するToDoリスト今回は四則演算すべてをまとめて実装する。(ただしゼロ除算を始めとする例外処理はまずは考えない。) 四則演算を一つのクラスで使い分けたいが、それには関数オブジェクトやそれに準ずるものが必要。Javaで関数オブジェクトを扱う方法は…BiFunctionインタフェース

          TDDで電卓アプリを実装する日記#5

          TDDで電卓アプリを実装する日記#4

          はじめにほぼ隔日の更新間隔が板についてきた気がする。今日も地道に実装したことを日記にしておく。 判断力とかやる気が残っている朝に実装するようにしようかな。 実装するToDoリスト今回実装していたのは下記のもの 「10+234を押したとき、234が表示される」 今回は深く考えずに、第二項を格納するValueKeySequenceをFormulaクラスに追加し、SignalKeyが入力済かどうかで振り分けるようにして… …あれ、メソッドの先頭は小文字推奨だったのか。まず

          TDDで電卓アプリを実装する日記#4

          TDDで電卓アプリを実装する日記#3

          はじめに自分の想定以上の頻度で割り込みスキルが入るから、2日に一回程度の更新日時が現実的な気がしてきた。それはともかく、実装を行っていきます。 現状とりあえずToDoリストの確認から。これから足し算ボタンを実装していくため、実際の電卓を見ながらToDoリストの追加を行う。 ・+キー→表示→0 ・10→+→表示→10 実装するために変更する場所が多くなりそうなことが予想されるから、なるべく小さな単位で行う。 Keyクラスの分離#2まででは、数字キーだけをキーとしていたが

          TDDで電卓アプリを実装する日記#3