2024/01/14 日記

Seekbar Control Keyboard 1月10日、学校の先生に頼み、半田コテと、半田を貸していただきました。キーボードに使用する部品はすでに揃っていたため、半田を行いました。途中ダイオードを潰してしまったり、Pro Microのピンの付ける向きを間違えたりしてしまいました。またスイットを取り外しできるようにホットスワップ方式を採用していたため、ソケットを半田する必要がありました。部品が小さく非常に難しかったし、熱かったです。部品がこんなに熱くなっていて壊れていないかとても不安になりました。 なんとか全て組み立てることができました。実際に組み立ててみるとかっこいい!! 1月11日、学校の先生に頼み、レーザー加工機を貸していただきました。レーザー加工機を使用し、キーボードのプレート(ケース)を作成しようとしました。 しかし、使用した素材がPPというものだったため、断面が溶けてしまい、思った通りの仕上がりにはなりませんでした。さらに、M2のネジ穴など円形の部分が正しく認識されず、穴を開けることができませんでした。 次回はアクリル板を使用してみたいと思います。また、レーザー加工機のソフトウェアを改良して円を正確に認識できるようにしたいです。 1月12日、キーボードにファームウェアを書き込みました。「qmk_firmware」というオープンソースのファームウェアを書き込みました。 独自のキーボードのため、作成するのは設定など難しいのかなと思っていたのですが、キーボード名やMCU(マイコンの種類)などを答えるだけで、大枠のコードを自動で生成してくれました。(以下のようなプロンプトに答えるだけです)特にこちらのサイトを参考にしました。大枠は自動で生成されるので、実際のキーの構成や、キーが押されたときにどのようなキーコードを送信するかをプログラムして、コンパイルし、キーボードに書き込んであげます。 ➜ ~ qmk new-keyboard -u sotarokashiuchi Ψ Generating a new QMK keyboard directory Name Your Keyboard Project For more infomation, see: https://docs.qmk.fm/#/hardware_keyboard_guidelines?id=naming-your-keyboardproject Keyboard Name? seekbar_control_keyboard Pick Base Layout As a starting point, one of the common layouts can be used to bootstrap the process Default Layout? 59. tkl_nofrow_iso 60. none of the above Please enter your choice: [60] 60 What Powers Your Project For more infomation, see: https://docs.qmk.fm/#/compatible_microcontrollers MCU? 13. promicro 14. promicro_rp2040 Please enter your choice: [28] 13 Ψ Created a new keyboard called seekbar_control_keyboard. Ψ To start working on things, `cd` into keyboards/seekbar_control_keyboard, Ψ or open the directory in your preferred text editor. Ψ And build with qmk compile -kb seekbar_control_keyboard -km default. こちらのタップダンスという機能を使用することで、ダブルクッリックのときだけ別の動作をさせることができたりします。実はドキュメントはサンプルコードが間違っており、始めはエラーを出力していました。データの型が間違っていることに気づき修正を行いました。そうすると無事タップダンスに対応させれました。 ...

2024/01/14 · KashiuchiSotaro

2024年の目標

2024年の大きな目標 2024年の目標は「Against Flows」です。この言葉には、流れに逆らい、積極的に行動を起こしていこうという意味が込められています。 私達の生活には、社会的権力や、周囲の過度な期待、悪い空気に流され、自分自身が思っている意見が発言できなかったり、望んでいるよういにならなかったりします。「Against Flows」の意味するところは、そのような流れに逆らい、自分の意見をしっかりと持ち発信していくことです。 2023年では、寮生会の上級生達に意見を言うことができなかったり、倒れた人がいたのに救急車を呼べなかったり(幸い周りの人が救急車を呼んでくれた)、周りの多数の意見に流されたりしてしまいました。2024年では少しでもこのようなことをなくしていきたいです。 この目標を達成するためには、自己の信念を強化し、他者の期待や外部の影響に左右されずに、自分自身の道を歩むことが重要だと考えています。意見がコロコロ変わり、適当に根拠を述べているようでは説得力がなく、周りの流れに押し流されてしまうでしょう。そこでより一層自分の意見を磨きあげ、発言していく必要があると考えています。 今年1年はこの目標を達成できるようがんばります!! 2024年の小さな目標 小さな目標もあります。それは、健康を促進し、免疫力を高めるために、運動を取り入れることです。特に、ヨガから始め、週末にはランニングを取り入れたいと思っています。 忙しい日々の中で、自分自身の健康までなかなか気を付けることができませんが、運動は健康的な生活を送るためには重要な要素です。そのため、ヨガを毎日のルーティンに取り入れることからスタートしようと考えています。 ヨガは身体だけでなく、心や精神にも良い影響を与えてくれることで知られています。柔軟性を高めるだけでなく、ストレスを軽減し、心を落ち着かせる効果も期待できます。自宅でできるヨガのポーズや呼吸法を学び、毎日少しずつ実践していくことで、健康への第一歩を踏み出したいと思っています。 そして、週末にはアウトドアでの運動も取り入れたいと考えています。ランニングは、新鮮な空気を吸いながら心地よい運動を楽しむことができます。週の疲れをリセットし、新たなエネルギーを充電するために、積極的に取り組んでいきたいと思っています。 2024年は健康的なライフスタイルを築くための一歩を踏み出す年にしたいと考えています。ヨガから始めて、週末のランニングを取り入れることで、心身ともに健康を促進し、免疫力を高めていきたいと思います。

2024/01/8 · KashiuchiSotaro

2023/12/31 日記

大晦日 今日は2023年最後の日です。とりあえず、今週一週間を振り返ってみます。 組織体制案決定 コンピュータ部とゆめくじらのメンバと会議を重ね、ついに合併後の組織体制の案を決めました。この案をコンピュータ部の部員が承認することで、正式に決定します。ゆめくじらの良さと、コンピュータ部の良さをそれぞれ活かし、よりよりコミュニティーになれるように、貢献していきたいと思います。 自作キーボード PCB基盤が届きましたー。一番頑張った、ロゴもきれいに印字されていました。サイコーのクリスマスプレゼントーーー 注文していたキースイッチや、ダイオードなどが届きました。いい感じ〜 基盤にはめたりして、問題がないかを確認し、問題をリストアップしました 遊び 和歌山の中学生の時の友達と遊びました。皆全然変わっていませんでした。 友達に進められ、Instagramを始めました。難しい… 奈良に行きました。 奈良の中学生時代の科学部の皆と遊びました。奈良には約3年ぶりっだったため、非常に懐かしかったです。 他の県の高専の話を聞けたり、今の趣味などを聞けたりと、面白かったです。 奈良ファミリーで食事をしていたのですが、途中で人が倒れ、頭から血を少し流す事故がありました。私はその近くにいたのですが、うまく行動することができませんでした。幸い、そこまで傷は深くなく、意識もあり、他の周りの人が救急車を呼んだりと対応をしていたため、無事でした。頭でこうした方が良いと理解はできているのに、それを行動で起こすのは難しいと改めて思いました。 奈良の中学生時代の友達と遊びました。変わっていない人も、めっちゃ変わっている人もいました。ちなみに身長は一番小さかったです… 写真は食べたハンバーグの写真です。美味しかった

2023/12/31 · KashiuchiSotaro

2023/12/22 日記

ついに閉寮 12/22、明日から冬休みです。サイコーです。よくここまで頑張りました。 それでは、閉寮までの一週間を振り返ってみます。 ミッションステートメント完成 ゆめくじらというサークルのミッションステートメントをゆめくじらのメンバとコンピュー部の部長と共に完成させました。そもそもミッションステートメントとは何かとういうと以下のようなものです。 ミッションステートメントとは、ミッションを文としてわかりやすくまとめたもの。十数年通用する一貫し、メンバ全員が同じミッションという価値観を共有するとともに、部として共通のゴールを目指し、道がそれないようにするためのもの。ミッションを達成するための手段や、タスクが変化したとしても、ミッションステートメント自体が変更することは滅多にない。 完成したミッションステートメントは以下です。 一.初めの一歩をサポートして、お互いに刺激しあい、モチベーションを維持できるコミュニティになる。最終的に、独学し成長できる人間になることを目標とする。 二.他学年や卒業生、企業の方々との交流の場となり、イベント・技術の情報を得たり、自分の将来像について考えたりできる機会を提供する。 三.技術を習得するだけでなく、その技術を用いて「どのように社会に貢献できるか?」という視点を身に付ける。 とても素晴らしいミッションステートメントだと思っています。「独学し成長できる人間になること」は非常に大切だと考えています。情報系の分野はすでに多くの情報がインターネット上に公開されています。そのため基本的にいつでも、誰でも勉強することができます。そこで独学する力を手に入れると、最強なわけです。しかしいきなり独学をするのは難しいでしょう。まず何を独学すればよいのか全くわかりません。そこでゆめくじらでは、その独学するための初めの一歩をサポートできるようなコミュニティになりたいです。またいくら独学で勉強できるからと言って、一人で孤独に作業しようということではありません。メンバ同士刺激しあい、モチベーションを維持できるようなコミュニティを目指しています。 また自分の将来像を固められる場になれば嬉しいです。他学年・卒業生・企業の方々と交流することでこのようなことが実現できるのではないかと話し合いました。特に先輩方の姿は、将来の自分を考える上で大変参考になると考えています。そのためにも、私が先輩となった時は、何かできることがないか考えていきたいと思っています。 さらに社会に貢献していく視点を身につけるていくこともミッションとしました。技術は手段であり、何か社会の問題を解決していきたい。まずは自分に、「どのように社会に貢献できるか?」ということを考え、そのような視点を身につけられるようなコミュニティになりたいです。 このミッションを見れば、やる気に満ち溢れてきます。このような素晴らしいミッションステートメントが完成したのも、いろいろな意見を出し合い、意見を一致させてきたからだと思っています。個人的にはすごく居心地がよい会議でした。多分ほとんどのメンバが意見を言えていたと思います。私もその一人です。本当に感動しています。また、ミッションステートメントを作っただけでなく、このミッションを達成するために、メンバ一丸となって活動をより活発にしていきたいと考えています。ミッションステートメントを知ってもらうこともその一歩につながると思っています。今回ミッションステートメントを紹介したのもこのような経緯からです。(いつかはサークルのホームページなどから発表したい 寮生会 寮生会がありました。次期会長、副会長、会計、書紀候補を決定しました。私を含め4人の執行補佐という役職の中から、来年の会計・書紀を決めることが習慣だそうです。僕は書紀をしたかったのですが、他にも書紀をしたい人がいました。で、流れ的にじゃんけんで決めることになりました。私はじゃんけんで決めることには反対でした。なぜなら今までの寮生会で、私は積極的に意見を述べ、寮生がより楽しんでもらえるように活動してきたからです。それらのことも考慮して決めるべきだと思っていたからです。しかし私はその場の空気に飲まれ、じゃんけんをし、負けてしまいました。 悔しいですが、じゃんけんでするのはおかしいと述べれるぐらいの度胸と、芯を持っていないと、今後の書紀・会長・副会長になる適正が、完全にあると言えないとも思いました。どのような権力や、周りの空気などがあったとしても、それに押し流されずに意見を述べれるような人間になって行きたいと改めて、強く思いました。そうしないと今後もチャンスを逃し続けるのだと思いました。 コンパイラベンチマークテスト 学校の授業で、VisualC#を用いて何かしらのアプリを作りなさいという課題が出ています。そこで私は、音声が流れ、それをタイピングしていくゲームを作ろうと考えていました。しかし、すでに世の中に存在しているものが非常に多く存在しているので、別の案を出すことにしました。考えついたのが、コンパイラベンチマークテストです。入力と出力のフォーマットを規格化し、それに基づいたコンパイラ同士の警告文の比較や、実行結果などの比較などを行えるアプリです。これは自作コンパイラを作るに当たり、言語仕様通りに作られたコンパイラの出力と、自作コンパイラの出力を比較したい時があるので作ろうと思いました。すでにプロファイルなどで設定を保存する部分などは実装できたのですが、肝心の比較処理ができていません。今後頑張りたいです。。。 またVisualC#のSystem.Windows.Formsのオブジェクトの位置を動的に動かす方法などが結構難しく、試行錯誤しながら実装中なので、終わり次第記事にまとめたいと思います。 自作キーボード 12/19に自作キーボードで使う、トッププレートとボトムプレートの加工を、学校の設備を使用してもよいかどうか、先生に尋ねにいきました。部活として使用するという条件なら良いと、意外とあっさいりOKしてくれました。とてもやさしそうな先生で、ものづくりを楽しむ学生をサポートするのが本当に好きなんだろうなあと感じられ、また同時に頼もしくも感じました。(ちなみに知能機械工学科の先生です。 特別食 12/21に特別食が出ました。特別食とは普段よりも豪華な寮食のことを指します。今回は、バイキング形式でした。ナゲット、ポテト、ウィンナー、チェロすもどき、シュークリームなどが取り放題でした。私達が寮食堂に入ったときには、すでにすごい量の人がおり、とんでもなく込み、座る席すらなくなっていました。バイキングも30分待ちぐらいありとんでもなく待たされました。ようやく順番が回ってきたため、好きな料理を取皿に入れていました。友達の分も取っていたのですが、周りからの圧力に負けて少ししか取れませんでした。周りの圧力に弱いです…. 一番美味しかったのは、シュークリームです。いっぱい食べました。食べきれなかったのは、サッカー部が食べてくれました。流石です! 冬休みしたいこと ゆめくじらの組織体制決定 自作キーボード作成 部品発注まで行う 新学期開始と同時に加工に入れるように準備する コンパイラベンチマークテストソフトを作成する ソフトを作り上げる 取扱説明書を書き始める手前まで作る ネットワークスペシャリストに合格する 過去問を一度解いてみて、現在地を確認する 本をノートにメモしながら読み進める Cコンパイラ作成 セルフホストまで行きたい!

2023/12/22 · KashiuchiSotaro

2023/12/17 日記

自作キーボード 私はずっとずっとずーと自作キーボードを作りたいと思っていました。その理由は、HHKBのサイトの動画の中で、「パソコンは今や消耗品だが、キーボードは一生もの」というような言葉を聞いたからです。私はこの言葉に非常に納得していました。しかしHHKBのキーボードでは望むようなキーの配列ではなく、また分割キーボードではありません。私は分割型で、親指で操作できるキーが多いキーボードがほしいです。そこで自作しようと随分と前から思っていました。 今回中間テスト期間が終わり、一段落したため、「自作キーボード設計入門 foostan著」という本を購入し、勉強することにしました。この本は非常に実践的で、非常に面白かったです。実際に本に記載されている、基盤をKiCadを使用し真似してみました。ある程度満足したものが作れました。 次に自分が求めているオリジナルのキーボードを設計しようか迷いましたが、その前段階として、小規模なキーボードを作成することにしました。小規模なキーボードだからといて、実用的で無いものを作成してもモチベーションがわかないので、Youtubeや、音楽などで次にスキップや、早送り、一時停止、音量の調節など「シークバー」を操作するためのキーボードを作成することにしました。このキーボードの名前を「Seekbar Control Keyboard」としました。 Seekbar Control Keyboardでは、キースイッチだけではなく、音量調節のためのロータリーエンコーダーも付けました。ロータリーエンコーダはスイッチも付いているものにしました。以下が回路図です。 回路図からプリント基板の設計図を作成していきました。フットプリントを配置したい場所に置くのが難しく苦労しました。配線も苦労したのですが、本を真似した回路よりもだいぶきれいに配線できたため満足です。(素人なのでこれがきれいか汚いかはよくわかりません(笑))とりあえず横方向の配線を表面、縦方向の配線を裏面にするという自分なりのルールを設け設計しました。 PCBの設計ができ、JLCPCBという会社に基盤の発注を行いました。人生初の基盤発注、難しいのかと思っていましたが、KiCadから出力したファイルを圧縮し、アップロードするだけでした。なんと簡単なのだ!下が発注した基盤です。ちなみに基盤の左上にあるロゴが一番こだわっています(笑)また、やや円安がマシになっていたということもあり、5枚、送料込みで442円!!安い! 基盤を発注している間、ボトムプレートと、トッププレートを設計しました。また必要な部品をカートに入れました。準備は順調に進んでいます!今後が楽しみです! GitHub Organizations 今までは個人でGitHubを利用してきたのですが、コンピュータ部内でGitHubを使いたいなと思い、GitHub Organizationsの使い方や設定方法について勉強しました。無料プランで個人アカウントのFreeとほぼ同じ機能が備えられているので十分です。 コンピュータ部でどのようにGitHubを使用するかと言うと、主にWikiやドキュメントの保管場所として使用する予定です。Markdown言語で記述するとGitHubではそれをHTML形式に変換し表示してくれるので便利です。しかしwikiやドキュメントでは会議中に共同編集したい時が出てくると思います。そんな時GitHubでは対応しきれません。そこでVSCodeのLive Shareという機能を使用し、共同編集を可能にしようと考えました。この組み合わせ案外よいのではないかと考えています。(高専のアカウントではNotionなどのWikiツールの学割は適応できないのでGitHubの無料枠を有効活用できていることは大きい) アート・オブ・コミュニティ アート・オブ・コミュニティと言う本を読み始めました。コミュニティーのメンバが自発的に行動し続けるためにはどのようにコミュニティーを形成する必要があるのかというのが書かれています。サークルや部活のために、少しでも良い情報があればと勉強中です。 サークル内では、まずはミッションが正しく定められていないので、そこから整備していく予定ですっ。 その他 書きたい内容は沢山あるのですが、眠たく、書くのはしんどいという状態なので、今日は寝ます。今週もよく頑張った!(っあ。明日英語の小テストだ… っあ。明日数学の課題提出日だ… … …)

2023/12/17 · KashiuchiSotaro

第一回ゆめくじら勉強会

第一回ゆめくじら勉強会 第一回ゆめくじらの勉強会を行いました。ゆめくじらのメンバである私が講師を努め、ゆめくじらのメンバ、コンピュータ部の方、知人の計8人が参加してくれました。この講座は2023/09/16リハーサルでリハーサルを行った講座です。エディタや、言語プロセッサ、Git、GitHubの使い方などを説明しました。 講義の資料はGitHubにあります。 受講者はとても熱心に聞いてくれ、良かったです。途中クローンできないというトラブルが発生しましたが、なんとか最後まで講義を終えることができました。下の写真は講義の様子と、講義中に使用したハンズオンのGitのグラフです。 受講者のアンケート結果 アンケートを実施しました。結果は以下のとおりです。満足度が高かったのは良かったです。しかし理解度がやや低いのと、講義の難易度が高いと答えた学生が多く改善の余地があると思いました。アンケートありがとうございました。 改善点 休憩を入れる(4時間ぶっ通し×2はまずかった) CUIを中心ではなく、Git ClientのGUIを中心に説明するのもあり ハンズオンの内容がやや難しいので、少し簡単な課題も用意する ハンズオンで実装してもらう関数が誰に割り当てられているのかわからない などなどが考えられました。Git Clientにはたくさん種類があり、どれを使うと普遍的に開発ができるか考える必要があると思いました。 改善 VSCodeのGit Graphを使用したGit,GitHubの講座を追加した。 初心者向けのシンプルなUI Linux, Max, Windowsの全てのプラットフォームで動作する 有名で、既存の知見がたくさんある Issuesを作成し、実装してもらう関数をアサインすることにしました。 Template Repogitoryで作ったリポジトリには自動で、実装が必要なIssuesが作成されるように変更した。 文字のサイズを大きくしました。 今後 実は今回この講座を行った目的は、学生が共同開発環境を構築できるようになってほしいという思いと、来年の春頃にもっと大規模に講座を開催する予定なので、その時の講師やアシスタントとして協力してほしいという思いがありました。なので今後としては、来年の春に行う予定の大規模な講座に向けた準備を進めていきたいと思います。 またこの講座以外にも、以下のような勉強会を開いてほしいと意見かあったので、今後開催していければと思います。講師は私以外にもでてきてくれるとより面白くなると思います。 OSの作り方 Ghidra等のリバースエンジニアリングツール 低レイヤー概論と面白さ chatgptの活用方法 AI(GitHubCopilot、chatGPT)などを使用したプログラミング手法

2023/12/7 · KashiuchiSotaro

2023 後期中間テスト

テスト期間中の出来事 KSECセキュリティコンテスト 11月18日に「KOSENセキュリティコンテスト2023」がありました。多分初めて申し込んでCTFに参加しました。(セキュリティのイベントの一つとして開かれるCTFを除く)。このコンテストでは1チーム最大4人参加できるそうです。私は私しかいない「Polaris」というチーム名で出場しました。メンバーを集めなかったのは、自分の趣味として楽しむためです。実はこの期間、中間テスト期間真っ最中のため、遊び半分で参加するのに、友達を誘うのは申し訳ないなという気持ちがありました。問題を特にあたって新しい技術や、新しい知見を手に入れられればよいなという軽い気持ちで参加しまた。 コンテストが始まりました。当日は寮から参加していました。午前中はみんな睡眠中のためかインターネットの回線が早くストレス無く競技に集中できました。しかし午後から、徐々に回線が重くなり、何度もVPNの接続が切れるようになってきました。問題のファイルをダウンロードしたり、ソフトウェアのダウンロードや、ネットサーフィンがサクサクできず、とてもストレスを感じました。 結果的に、順位はほぼ真ん中でした。後2時間あれば300point取れて、トップ10位以内に入れそうでした。 完全に実力不足でした。簡単な問題は解けましたが、高得点の問題は全然解けませんでした。バイナリ問題をもうちょっと解けるようになりたいです。順位は低かったですが、とても楽しめました。来年はメンバを集めて、数ヶ月前から練習を重ね、優勝を目指して出たいなと思いました。コンピュータ部やゆめくじらの友達を誘ってみたいと思いました。 駅伝の応援 12月2日に小学6年生の弟が出場する駅伝がありました。弟は1区を走る予定でした。 普段はほとんど家に帰省しない私でしたが、今回は帰省しました。なぜわざわざ帰省したかというと、弟が駅伝で走る姿を見たかったからです。弟は、いつもダラダラとしており、何か口にしたと思えば、「ゲーム、ゲーム」。こんな弟が、自ら駅伝に出ると言いだし、数ヶ月前から練習を重ね、今までは全く速く走れなかった弟が、校内マラソン大会で1位を取ったと母から聞いていました。こんな弟の姿は見たことがない。こんな弟が努力し、頑張って走っている姿をみたいと思い、帰省しまし。また、実はこの駅伝、私が小学6年生の時6区(アンカー)で走り区間賞(区間1位)、チームは総合3位になった大会でもあるため、当時の努力の日々を思い出し懐かしみたかったというのもありました。 駅伝の一日前に私は帰省しました。弟は実は大会の選手宣誓も任されており(多分くじであたった)、少しは緊張しているのかなと思いましたが、全く緊張していませんでした。なんならまだ選手宣誓で読む文章を考えていませんでしたし、覚えてもいませんでした。 駅伝当日、弟をグータッチで送り出しました。開会式が始まり、弟が選手宣誓を行いました。全くつまらず、堂々としていました。強っ。強すぎる。本番に強すぎると感じました。 開会式は終わり、ついにスタート10分前になりました。選手のコールが始まり、スタート地点に並びだしました。弟の名前も呼ばれ、ついにスタートしました。いいスタートでした。正直この時は、5位ぐらいでタスキを渡せれば、十分かなと思っていました。ゴール地点で待っていると、先頭が見えてきました。そして数十メートル後に「!!」なんと弟の姿があるではありませんか。そのままタスキを渡しました。想像よりも速っ。弟が見えた瞬間、感動のあまり泣きそうになりました。本当に感動でした。その後もチームメンバがタスキをつなぎ、総合4位でした。みんなよく頑張っていました。 閉会式、弟は区間2位として表彰されていました。またジュニア駅伝(町内の代表)の候補選手として選ばれました。普段ダラダラと生活していた弟が、こんなに頑張る姿を見て、こんなに成長する姿を見て、本当に感動しました。 大会を通して、私自身も多くのことが得ることができました。能動的に頑張ることの大切さなど…私も頑張らないと!! 中間テスト 中間テストが2023/11/30~12/4の全3日間ありました。高専生活の中で一番力が入らなかったテスト期間でした。何が問題かというと、全く勉強していないのに「焦ることがない」という点です。焦りがあるとまだ改善の余地があると思うのですが、全く焦りがありませんでした。「まあなんとかなるか。」という感じです。 話は離れ、実は中学1年生の成績はそこそこ良いのですが、中学2年でとんでもなく悪い成績を取っていました。この時は、社会を恨み、お金持ちを恨み、義務教育というものを恨んでいました。暗記中心の勉強、詰め込まれる勉強、そんなのが本当に必要なのか、テストという紙きれ一枚で人を測るのか、先生という人がなぜ勝手に私のことを評価するのか、など考えており、成績よりも当時頑張っていたロボットの分野を極めていくほうが大切なのではないのかと考えていました。そのため、ほとんど学校の勉強をせず(授業は真面目に聞いていたと思う..)、ロボット作りに打ち込んでいました。そのため成績が悪かったです。一つのことを極めることが大切という考え方も大切だと思うのですが、高校進学する際に日本の教育システム上、もう少し真面目に学校の勉強をしておけば良かったなと反省しました。 なぜこの話をしたかというと、中学一年生の時は成績がよく、中学2年生の時は成績が悪く、社会を憎んでいたということ。で、高専1年生は成績が良かったと、で高専2年生の今勉強のやる気が出ていない。うーーん。あれ…まさか中学2年生と同じ過ちを辿ろうとしている?!と気づいたわけです。そこからは少し焦りました。「耐えろ。耐えろ。耐えろ」と心の中で唱え、なんとか勉強仕切りました。 テストを受けてみた感想としては、まあ赤点は多分無いでしょう!よく頑張りました!目標としては全て80点代以上です!どうでしょうかね〜結果が楽しみです。 フィールドワーク 中間テストの次の日(12/05)にフィールドワークがありました。熊野本宮大社に行きました。 昼ご飯は時間があったため、ラーメンを食べました。美味しかったです! 午後からは、熊野古道を通って、熊野本宮大社を目指し、山道を歩きました。雨が結構降っていました。テスト明けで疲れているのに、雨で更に疲れました。山道を歩くのは好きなのですが、雨は流石に疲れました。ようやく熊野本宮大社に着きました。疲れすぎて写真すら撮るのを忘れていました。神様に願い事をし、帰りました。 今度は、晴れている日に行きたいです。 CBTテスト 12/06にCBTテストがありました。これは全国高専で一斉に行われる学力テストです。数学と化学を受けました。両方とも5問以内の間違いでしたが、忘れていることも多くありました。しかしCBTテストを受けただけでもよく頑張ったと思います。(笑) 今後の目標やしたいこと 今後達成したい目標を簡単にまとめておきます。 コンピュータ部向けに「共同開発環境を構築しよう」という講座の開講 C言語によるプログラミングスーパーリファレンス編 読破 Cコンパイラセルフホスト 達成 ネットワークスペシャリスト 合格 トビタテ留学 奨学金給付 自作キーボード 作成 部活 体制決定 セキュリティコンテスト チーム結成?

2023/12/6 · KashiuchiSotaro

2023/11/12 日記

自作Cコンパイラ 負の数を扱えるようにすることで、ついに2kmccを自作コンパイラでコンパイルすることができました!!よく頑張った!!まじでよく頑張った!! 今週の主な変更点を説明します。符号拡張、ゼロ拡張を行えるようにしました。1byte, 4byte, 8byteのサイズをレジスタが指すメモリアドレスから取り出し、8byteレジスタ(今回はrax)に代入する時、以下のようにすると1byteのときには1byte以外の上位7byteには前の不定な値が格納されています。4byteのときには上位4byteには0で埋め尽く(ゼロ拡張)されています。これでは負の数を扱えません。また文字列を扱う際に不便なので、変更します。 # 1byte mov al , [rax] # 4byte mov eax, [rax] # 8byte mov rax, [rax] 以下のように変更することで、対応できます。movzx(Move byte to quadword, zero-extension)はゼロ拡張を行い、movsxd(Move doubleword to quadword with signextension)は符号拡張を行います。1byteではゼロ拡張を使用します。この理由は1byteを扱うときはchar型のときだからです。また4byteの時、符号拡張するのは、負の数を扱うようにするためです。 # 1byte mov al , [rax] -> movzx rax, BYTE PTR [rax] # 4byte mov eax, [rax] -> movsxd rax, DWORD PTR [rax] # 8byte mov rax, [rax] 以下の動画は私が作ったテストケースと、2kmccをコンパイルしている様子です。 Your browser does not support the video tag. 直近の課題として、フラグレジスタのCarryとOverflowの違いがよくわからなかったので、その違いを調べたいです。そして最終目標は、セルフホストを実現させることです。頑張ろー!! 英検 11月13日、英検の二次試験がありました。高専祭とかぶっており、忙しかったです。ようやく一段落したという感じです。(英検に関する記事はこちら -> 英検準2級への挑戦) 高専祭 ゆめくじらでプログラミングコンテスト ゆめくじらでプログラミングコンテストを実施しました。(詳細はこちら -> [ゆめくじらプログラミングコンテスト2023])以下にパンフレットの写真を掲載しておきます。ちなみに「大成功」です プログラミングコンテストが終わった後、協賛企業の方に焼肉を食べさせてもらいました。とてつもなく美味しかったです。 焼肉を食べている最中に、来年のコンテストについて、私が思っていることを話しました。私が思っていることは以下の通りです。 ...

2023/11/12 · KashiuchiSotaro

ゆめくじらプログラミングコンテスト2023

去年の1月から準備を進めていた、「ゆめくじらプログラミングコンテスト2023」を今日(2023/11/12)実施しました。 コンテストの概要 このコンテストは、和歌山高専のサークル「ゆめくじら」が主催し、「Link-U」と「ReLic」の2つの和歌山県の企業が協賛企業として企画したコンテストです。コンテストのビジョンは「コンテスト参加者が新しい視点を得る。」、コンセプトは「コーヒーカップのようなコンテスト」です。コーヒーカップのようなコンテストとは、他学年、他クラスとの交流をコーヒーカップのようなグチャグチャ混ざり合う感じにしたいということです。 部門は2つ用意しました。一つはオセロ部門です。こちらの部門では参加者にオセロを行うためのプログラムを作成してもらい、対戦するという感じの部門です。もう一つの部門は、自由部門です。こちらは、どのような作品を作っても良いという部門です。 応募者を募集するチラシを載せておきます。 コンテスト前に講座を実施 コンテストを開催する前に、コンテスト参加者を募集することと、コンテストに出す作品のクオリティを上げるため講座を企業の方たちが、講座を実施しました。結構人があつまりました。 コンテストを実施 コンテストを実施してみての感想としては、「大成功」の一言に付きます。 コンテスト当日は、高専祭でもあったため、そのため学生以外の一般のお客様も沢山いました。そのため想像よりも沢山のお客さんが見に来てくださいました。当日配ったチラシの写真を載せておきます。 感想 企業が協賛して頂いているということもあり、景品が豪華で、チラシやポスターなども非常に豪華で、企業の力はすごいと感じました。またコンテストに参加してくれた学生が楽しそうだったのが嬉しかったです。自分の作った作品を誰かに見せれる場があると、ユーザ側の反応を知ることができ、非常に刺激になるなあと感じました。 今後は反省点を洗い流し、来年に活かしたいです。

2023/11/12 · KashiuchiSotaro

2023/11/05 日記

自作Cコンパイラ 自作Cコンパイラでは、2kmccをコンパイルしてみて、エラーが出た箇所を修正していくという方針で進めました。プロトタイプ宣言を実装しました。と言っても戻り値の型しか見ていません。関数を呼び出す時、戻り値の型がわかっていないと戻り値のためにどれぐらいのメモリ領域が必要か決定できません。逆に呼び出す引数のデータ型はわかっていなくても、実引数から必要なメモリ領域がわかります(実引数が正しいという条件のもと)。そのため、とりあえずプロトタイプ宣言では戻り値のみ使用することにしました。 細かな修正として、2kmccの1000行を超えるプログラムをコンパイルしたことがなかったため、グローバル変数で確保した領域が枯渇し、セグフォで落ちました。グローバル変数が足りなくなったらエラーを表示するように変更しました。 また、文字列リテラルをchar型のポインタではなく、char型の配列として処理するように変更しました。こうすることで、return &"rdi\0rsi\0rdx\0rcx\0r8 \0r9"[4 * n];といった文を適切に評価することができます。 関数の引数で関数が呼び出されても正常に動作するように変更しました。 これらの修正を加えるとエラーなく2kmccをコンパイルすることができるようになりました。コンパイルした2kmccでは、まだint main(void){return 5;}などの単純な文しか正常に動かず、関数の呼び出しなどではセグフォなどで落ちてしまします。これらの問題点を改良していきたいです。 卓球部 11月3日に卓球部の練習試合がありました。結果は全敗、1セットだけ取りました。 試合に参加して思ったことは、上手い人ほど足が動いているのが実感できました。上手な人はサーブを打った後はすぐに安定した場所に移動しています。安定した場所とは、どこに打ち返されても手が届く場所ということです。私の場合、サーブを打ったらほぼそのままその場所を動いていませんでした。また上手な人は決め球を決して逃さないとうことです。相手がミスった珠に対しては丁寧に決めていました。私の課題は足が動いていない、サーブが長い、ドライブでボールを弾いてしまっているなどです。 課題が多く見つかり、全敗したわけですが、めちゃくちゃ楽しかったです。初めての相手と当たると、どのような種類のサーブが有り、どのボールが好きで、どのコースが苦手なのか分析しながら卓球をすることができます。分析するのは本当に楽しい!!しかしその分析結果を基に、技などを実現する技術はありません…. GitHub Page更新 このサイトのtagを一覧で表示するページを変更しました。今まではtag名のみ表示していましたが、tagの説明も加えて表示されるようにしました。JekyllではLiquidというテンプレート言語を使用しているそうです。その言語と、Variablesという変数を組み合わせ、tagの説明をいい感じに取得し、表示させました。JekyllではsiteがWebサイトを全てを指し、postがsiteの中にあるブログのような投稿記事、pageがsiteの中にある固定ページであるという考えがあるようです。(多分です) その他 Git, GitHubをUSBに入れて持ち運ぶという記事を作成しました( »> 記事はこちら)。もともとはTeamsをUSBに入れて持ち運べるようにしたかったのですが。結局USBの転送速度がボトルネックになり実現できませんでした。 git rebaseでGitのコミット履歴を変更する手法を学びました。ブランチを切り替える前にコミットを複数個してしまいましたが、git rebaseで切り替え先のブランチに切り替え前のブランチにあるコミットを移動させ、git rebase -iで切り替え前のブランチのコミットを削除することで、正しくブランチを切り替えた状態でコミットしている状態にすることができました。 主メモリが足りなくなったら使用するためのswapファイルがあります。VMを複数個立てると主メモリが足りなくなり、さらにswapメモリも足りなくなり何度か落ちました。そこで、swapメモリの容量を増やしました( »> 参考サイト)。成功。 Avalonia UIという技術に触れたい

2023/11/5 · KashiuchiSotaro