JavaScriptでカレンダーを作った話

いやさ、こんなのごちゃごちゃいうほどのもんでもない。 kmaebashi.comJavaScriptでカレンダーを作るのは別に難しい話でもないんですが、どうもカレンダーとかWebページに貼るとなると、すぐこうあれやこれやと外部ライブラリを使おうという話が出てくる。外…

JSONパーサにクラスとの相互変換機能を付けた

ここで作ったJSONパーサに、通常のクラスのインスタンスとの相互変換機能を追加しました。 kmaebashi.hatenablog.com 上記の時点では、JSONのテキストをJsonElementという独自クラス(インタフェース)にパースし、そのサブインタフェースのJsonElementやJsonO…

正月休みの最終日、JSONパーサを作りました

「コピペで使おう! ライブラリ」とか始めたものの現在内容がしょぼいので、正月休みの最終日である今日、JSONパーサを作りました。 朝から(といっても11:00頃ですが)からかかって20:00頃まで、途中昼食を作って食べたりおやつを食べたりとかはしたものの、割…

「コピペで使おう! ライブラリ」なるページを作ってみました

私のWebサイトkmaebashi.comに、「コピペで使おう! ライブラリ」というページを作ってみました。 kmaebashi.com 能書きはリンク先に散々書いてあるので、ここではあまり繰り返しませんが(つまり一部は繰り返すのですが)、プログラマのお仕事が、コードを読ん…

ホームページのアクセスカウンタを作りました。2023年に。

うちのWebサイトkmaebashi.com、Niftyのメンバーズホームページに最初に開設したのが1998年、その後メンバーズホームページ閉鎖に伴い2004年にドメイン取ってレンタルサーバに引っ越して、その後もその会社が潰れて再販元に引き取られたりとか色々あったので…

サーブレットのweb.xmlで静的ファイルを除外する方法

たとえば生サーブレットで作ったオレオレフレームワークで、掲示板のひとつも作ろうと思ったとする。 オレオレフレームワークは、すべてのリクエストをひとつのサーブレットで受け付け、その先は独自のオレオレルータがルーティングして、各種処理を行って、…

PHPでCSVをダウンロードする方法(一時ファイルを作らない)

kmaebashi.comのサーバ移転に伴い、掲示板のデータも移行したわけですが、その際、PHP + MySQLで作った旧掲示板のデータをCSVにしてダウンロードする、という作業を行いました。 当方PHPは2004年だか2005年だかに旧掲示板を作って以来、PHPはほとんど使って…

kmaebashi.comをSSL化しました

先日サーバ移転した私の個人サイト「K.Maebashi's home page」(kmaebashi.com)について、前々からやりたいと思っていたSSL化を実施しました。これにより、URLが http://kmaebashi.com から https://kmaebashi.com に変更になります。 今まで通り、http://kma…

kmaebashi.comのサーバ移転を行いました

私の個人Webサイトである「K.Maebashi's home page」(kmaebashi.com)を置いていたレンタルサーバ業者が事業を撤退するとのことで、新たにさくらインターネットのVPSを借りてそちらに移転しました。 昨晩20:00頃にDNSの更新を行いました。TTLはデフォルトで36…

Rustで親への参照を持つ木構造

前回の記事、Rustで木構造の続きです。 前回の木は、親が子への参照を持つ1方向の木でしたが、今回は、子が親への参照も持つようにします。親が子への参照を持つだけであれば、各ノードを指す参照は必ずひとつなのでBoxが使えましたが、子が親への参照も持つ…

Rustで木構造

最近Rustの勉強を始めました。手始めに以前Javaで作った簡易プログラミング言語samplanでも実装してみようかと思ったのですが、コンパイラを作るとなれば解析木が作れなければ話にならず、では木を作ろうとするとRustといえば所有権だのなんだのと参照(ポイ…

「完全初心者のためのプログラミング入門」完結しました

2021年の6月頃に初公開した「完全初心者のためのプログラミング入門」に、以下の二つのページを加えました。これにて完結となります。 シューティングゲームを作る(オブジェクト指向へようこそ) JavaScriptの「オブジェクト指向」はやわかり ここまでは「UFO…

Vue.jsでテトリス風ゲームを作ったよ

タイトルの通り、Vue.jsでテトリス風のゲームを作りました。 http://kmaebashi.com/programmer/vuetetris/index.html ゲーム画面はこんな感じ。 遊び方やゲーム本体のページへのリンク、ソースプログラム一式は上記のページに記載しています。 見た目、前回…

WordleとKotobade Asobou 言葉で遊ぼうの過去の解答ページを作りました

タイトルの通りですが、Wordleと「Kotobade Asobou 言葉で遊ぼう」の過去の解答ページを作りました。2022年6月からの分を掲載しています。 Wordle http://kmaebashi.com/etc/wordle.html Kotobade Asobou 言葉で遊ぼう http://kmaebashi.com/etc/kotobade_a…

緑のAACR 2022に参加してきました

先日、アルプスあずみのセンチュリーライド(緑のAACR)に参加してきました。 aacr.jp これは私は以前にも参加していたのですが、コロナ禍で2年連続で中止となり、今回は3年ぶりの開催となりました。自粛ムードは世間でもすっかり緩んでいますが、新型コロナ…

プログラミング言語の作り方のサンプルとして、言語「samplan」を作った

「samplan」という新しいプログラミング言語を作りました。 ソースはGitHubに上げてあります。 github.com 私のWebページの方に、説明記事を上げておきました。 kmaebashi.com ざっくりとした見た目はこんな感じになります。 # samplanサンプルプログラム va…

Windows8.1時代のLet's Noteを初期化してWindows10に上げた

2015年から使っているLet's Note CF-SX4にWindows Updateが勝手に当たって、それはよいのだが音が出なくなってしまったので復旧した、という話。まあ、リカバリ領域を使って初期化しただけなんですが、Windows8.1時代に購入して無償アップグレードでWindows1…

JavaScriptってJavaにそっくりだよね

JavaScriptとJavaは、違う言語である。それは間違いない。 しかし、「JavaScriptはもともとLiveScriptという名前だったのが、マーケティングの都合だけでJavaScriptに改名されたんです! その名前以外、Javaとは共通点は一つもありません!! JavaとJavaScript…

プログラミングを始める前の予備知識って結構多いな、という話

しつこく、「完全初心者のためのプログラミング入門」の話。 完全初心者のためのプログラミング入門 http://kmaebashi.com/programmer/beginner/index.html だいぶ前ですが、以下のようなツイートをしたことがあります。 もし私が「本当の初心者向けのプログ…

「完全初心者のためのプログラミング入門」に改題しました

先週公開した「本当の初心者のためのプログラミング入門」ですが、公開後にぐぐってみたら、同名の書籍がKindleにあることがわかりました。向こうが先なので、「完全初心者のためのプログラミング入門」に改題します。 完全初心者のためのプログラミング入門…

「本当の初心者のためのプログラミング入門」始めました

タイトルからして無謀ですが、「本当の初心者のためのプログラミング入門」というのを始めました(始めました、と言いつつ、続くかどうかは評判次第ですが)。 kmaebashi.com この入門では、JavaScriptを使って、以下のような「UFOゲーム」を作ります。 下にあ…

ロードバイクは結局時速何kmぐらいで走れるのか

結論から先に書く。信号待ちの時間を含めた、実効速度というか、「1時間で何km先まで行けるか?」という速度で言えば、私の場合、時速15kmくらいだ。 まあ、私は40代も半ばを過ぎてからスポーツバイクに乗り始めたおっさんなので、決して速くはない。他のロー…

自転車乗りなので所有する自転車について語ってみる その2

前回の続きです。 kmaebashi.hatenablog.com スポーツ自転車としては最初に買ったRF-7、かなり気に入って乗り回していましたが、それなりに走るようになると、やっぱりロードバイクというものに乗ってみたくなります。正直最初にRF-7を買った時から、「これ…

自転車乗りなので所有する自転車について語ってみる その1

昔、個人が「ホームページ」を作るのが流行ったころ、流行に乗って「ホームページ」を作っては見たもののその辺の普通の人にわざわざWebで世界に公開するようなことがそうそうあるわけもなく、たいていその手の「ホームページ」は、自己紹介と日記と掲示板、…

大阪万博ロゴ いのちの輝きくんブームに(いまさら)便乗してみました

大阪・関西万博のロゴマークで皆さん遊んでいる中、 nlab.itmedia.co.jp 仕事で時間が取れないし、と傍観していたわけですが、週末にちょっと参戦してみました。祭りには乗り遅れているうえ、たいした内容でもないのですが。 こちらから見てみてください。 …

bisonとflexで列番号を知る方法

拙著「プログラミング言語を作る」は中国で翻訳出版されていて、先日、中国の読者さんから質問メールをもらいました(英語で)。 この質問者さんからメールをもらうのは2回目で、前回は1年ほど前、その時点で「I'm a middle school student in China.」とのこ…

Software Design 2020年5月号に記事を書かせていただきました

久々のブログ記事です。 遅い報告になってしまいましたが、タイトルのとおり、SoftwareDesign 2020年5月号に記事を書かせていただきました。 SoftwareDesignトップページ 第1特集「データ型を正しく説明できますか?」の1章および2章を執筆しております。 2章…

JavaでJPEGのExif情報を読む

Exif情報について デジカメやスマホで撮影した画像は通常JPEGというファイルフォーマットで保存されますが、これにはExif(Exchangeable image file format)という付属情報が付与されていて、そこに画像のサイズやら撮影日時やら撮影したカメラのメーカーやら…

しまなみ海道にリベンジに行きました。今度こそ。(往復編)

昨年の7月、自転車乗りの聖地とも楽園とも言われるしまなみ海道にはじめて行き、当日は素晴らしく天気がよかったものの1週間前の洪水の影響でグルメライドとかがあまりできず、今年の7月リベンジに行ったら今度は当日の天気が悪かった、ということで、9/14~…

ビワイチ(自転車による琵琶湖1周)に挑戦しました

例年、5月の連休と8月の夏休みには京都まで自転車で行っていたのですが、もう8回行ったのでさすがに飽きてきたし、ということで、この夏休みは琵琶湖一周(ビワイチ)に挑戦しました。名古屋から京都までなら150km程度、私にとっての1日の最長走行距離は5月のA…