SVX日記
2005-04-30(Sat) 白い服の男を返し、ドラクエ捜索
今日も天気がよい。ポクポクと近所の図書館に本を返しに行く。気づくとナナメ読みしかしていないCodeReadingを抱えて、である。いや、悪い本ではないし、この本にしか書いてない情報は多いとは思うのだが、パラパラとみて衝撃を受けるような内容でなかったのも事実なのである。そもそも、コードの読解テクニックなんていうモノを本から得ようとするコト自体が間違っているのだと思う。どんな本であれ読むことは無駄ではない「ことはない」と思う。とくにその本が高価な場合だ。やっぱり5,000円越えはちょっと高い。高すぎるよ。
一方で、星新一の「白い服の男」はシッカリと読んだ。以前にオイラが書いたニュースこそ規制すべし、という内容のコラムと主題が近いのではないかと思い、再読したくて借りたモノだ。結果、白い服の男の主題は「軍備や武器を減らしても戦争はなくならない、その概念から抹殺する必要がある、例えその抹殺行為がいかに不正であったとしても」というモノであった。厳密にいうと、最後は「抹殺行為がいかに不正であったとしてもやるべきか?」という読者への問いかけなのかもしれないけれども。
オイラの「ニュースこそ規制すべし」にその小説を当てはめるとどうなるのだろう。残酷表現のあるゲームソフトの抹殺はもちろん、その類のニュースは如何なる報道操作をしてでも抹殺すべし、というコトになるのだろうか。むしろ、そういった抹殺行為が不正というよりは、限りなく難しいのだというコトを表現しているという見方もできる。ま、なんにせよ、情報の隠蔽というものは難しく、今後さらに難しくなっていくコトが予想される。そしてインターネットが、テレビよりも公平なメディアであるコトに間違いない。なんか、うまくまとまらないが、そーゆーコトなのである。
2011-04-30(Sat) Blu-ray★マギカ
なんつーか「ライブ」はまだ終わってない、ということに気づかされた。「ライブ」感を重要視して、新横浜まで行ったのに。これは予測できなかった。
結局、Blu-rayプレーヤ持ってないし、Blu-ray版は買ってないんだが、セリフのミスで交換とか、買ってないと味わえない「ライブ」な出来事が起こっている。あー、買っておけばよかった。
しかし、なんでいまさらセリフのミスが入る余地があるのかと思ったら、カットの修正とかもハンパなく入っているのね。放送版とは異なる「ディスクを買え」というビジネスモデルを、よりハッキリと打ち出してきた、というか。
6巻の発売まではまだ何ヶ月もある。こーなると、6巻は「全部新作カット」とかになりかねないのではないか。展開も変えてくるのではないか。尺も長くしてくるのではないか。そして、5巻の発売直後に映画版を公開、とかもやるのではないか。
……DVD版という手もないことないが。
2020-04-30(Thu) テイクアウトに乗りまくれ!!
自粛、自粛と、あらゆる店を潰しにかかっている政府を無視し、可能な範囲で遊んでいるオイラである。今日も、カラオケ屋で喉の筋肉を鍛えまくってきた。いつもの店が閉まっているので、新たに発掘した店に行っているのだが、そこは2時間以上歌うなら、フリータイムのが安くなってしまう価格設定のせいで、練習時間に際限がなくなるという恐ろしい店である。仕方なく3時間程度で自粛している。
ちなみにこの店、家族以外はふたりまでしか同室不可、という制限を設けつつ営業している。なんでも一律に営業自粛を迫り、挙げ句の果に店名を晒し上げるなどして、知事は頭の悪さを自慢するのではなく、そういう工夫を求めるべきではないのか。パチンコなんて、台をひとつ空ける程度で、十分に危険度を下げられるように思える。入場前に記名させ、追跡できるようにすれば、実際に感染が起きるのかどうかも把握できる。今後、自粛を長く続けたいなら、そういうデータは必要ではないのかね。
どうも政府は、自粛したいという世論の言いなりになっているだけのように感じる。どこの店だって、ひと月の固定費は、百万オーダのはず。数十万とかの協力金って、ガキの使いかよ。最大限の対策をしつつ営業を続けることこそ、正しい経営者ではないのか。この騒ぎで、気に入っていたホテルも、近所の温泉もツブれてしまった。なんなんだよ。
というわけで、自分はせめて少しでもお気に入りの店の売上に貢献すべく、テイクアウトの利用を増やしている。協力金の名目で生活費を増額し、カミさんの家事の負担を下げつつ、ちょい高級焼肉店の弁当、近所にできたばかりの家系ラーメン屋、そして、今日はちょっと遠いが猛烈にウマいハンバーガを食わすアメリカンダイナーである。持って帰ると間違いなく豚のエサになってしまうので、すぐ近所の公園で食す。ところが、思った以上に景色のいい展望台があり、コロナに感謝したくなるくらい、素敵なピクニックになった。どれもウマすぎて、健康被害が気になるくらいだ。
しかし、アホな芸能人のツイートで人間の器の小ささが次々と明らかになるものだな。バカ発見器とはよく言ったものだ。なかなかの名言は「10万円を辞退するなどという宣言や書き込みをするな」だ。オマエ、別に金に困ってないだろ。それなのに、自分が10万円欲しくて、人の辞退が眩しく見えるって、どんだけケツの穴が小さいんだよ。たかが10万円じゃねぇか。「手を挙げるだけでもらえる」に文句つけてるヤツもいる。必要ないやつは受け取らない。それで十分によい方法じゃないか。
2023-04-30(Sun) Ruby on Rails and Factorio
我ながらRubyはネイティブ言語のように使いこなせるが、RailsはDBとくっついていて、敷居が高そうというイメージでイマイチ興味がわかなかった。しかし、Rubyでプログラマをしようと思うと、Ruby on Railsが基本らしい。
つうわけで、まずはコンテナで開発できる環境を整えようと思ったのが4/10。しかし、開発環境が整うまでに10日ほどもかかった。それから、習作のカレンダを作り始めて10日。ようやく形になった。休日と予定の登録ができる。
結局、わかったことは、必要だと思うデータ構造を、全部「rails generatescaffold XXX」して、その雛形に肉付けしていけばいい、ということだ。驚くべきは、今回の習作のカレンダは、コードにして30行くらいで済んでいる。カレンダの描画以外、休日や予定の登録や更新、削除処理は書かずにデフォルト処理で済んでしまっているのが大きい。
$ rails generate scaffold Calendar
$ rails generate scaffold Holiday day:date:index cause:string
$ rails generate scaffold Schedule day:date:index member:string note:text
diff --git a/config/routes.rb b/config/routes.rb
index c5228e5..880faaf 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,4 +1,5 @@
Rails.application.routes.draw do
+ root "calendars#index"
resources :schedules
resources :holidays
resources :calendars
diff --git a/app/controllers/calendars_controller.rb b/app/controllers/calendars_controller.rb
index ec6db2e..3c75b0f 100644
--- a/app/controllers/calendars_controller.rb
+++ b/app/controllers/calendars_controller.rb
@@ -4,6 +4,27 @@ class CalendarsController < ApplicationController
# GET /calendars or /calendars.json
def index
@calendars = Calendar.all
+
+ @today = Date.today
+ @first_day = @today.beginning_of_month
+ @start_day = @first_day - @first_day.wday
+
+ @days = []; day = @start_day
+ loop {
+ 7.times {
+ @days << {
+ day: day,
+ holidays: Holiday.where(day: day),
+ schedules: Schedule.where(day: day),
+ attrs: {},
+ }
+ @days.last[:attrs][:color] = day.strftime('%a').downcase
+ @days.last[:attrs][:color] = 'holiday' if(@days.last[:holidays].size > 0)
+ @days.last[:attrs][:size] = 'small' if(day.mon != @today.mon)
+ day += 1
+ }
+ break if(day.mon != @today.mon)
+ }
end
# GET /calendars/1 or /calendars/1.json
diff --git a/app/views/calendars/index.html.erb b/app/views/calendars/index.html.erb
index 069f2ce..5c44f22 100644
--- a/app/views/calendars/index.html.erb
+++ b/app/views/calendars/index.html.erb
@@ -1,5 +1,29 @@
<p style="color: green"><%= notice %></p>
+<H1>Calendar</H1>
+ <H3><%= @today.year %>/<%= @today.mon %></H3>
+ <TABLE border='1' cellspacing='0' cellpadding='4'>
+ <TR align='center'><TD>
+<% @days[0, 7].each {|day| %>
+ <TD><IMG src='/rd.png' width='128' height='1'><BR><SPAN class='<%= day[:attrs][:color] %>'><%= day[:attrs][:color].upcase %></SPAN>
+<% }
+ @days.each {|day|
+ if(day[:day].wday == 0) %>
+ <TR valign='top'><TD><IMG src='/rd.png' width='1' height='64'>
+<% end %>
+ <TD><SPAN class='<%= [day[:attrs][:color], day[:attrs][:size]].join(' ').strip %>'><%= link_to(day[:day].day, new_schedule_path(day: day[:day])) %></SPAN>
+<% day[:holidays].each {|holiday| %>
+ <SPAN class='cause'><%= holiday.cause %></SPAN>
+<% }
+ day[:schedules].each {|schedule| %>
+ <BR><SPAN class='member'><%= schedule.member %></SPAN>:
+ <SPAN class='note'><%= link_to(schedule.note, schedule) %></SPAN>
+<% }
+ } %>
+ </TABLE>
+
+<%= link_to "Manage Holidays", holidays_path %>
+
<h1>Calendars</h1>
<div id="calendars">
diff --git a/app/views/schedules/_form.html.erb b/app/views/schedules/_form.html.erb
index 29f58c0..3662bbd 100644
--- a/app/views/schedules/_form.html.erb
+++ b/app/views/schedules/_form.html.erb
@@ -13,7 +13,7 @@
<div>
<%= form.label :day, style: "display: block" %>
- <%= form.date_field :day %>
+ <%= form.date_field(:day, value: params[:day]) %>
</div>
<div>
diff --git a/app/assets/stylesheets/base.css b/app/assets/stylesheets/base.css
index e69de29..08a0148 100644
--- a/app/assets/stylesheets/base.css
+++ b/app/assets/stylesheets/base.css
@@ -0,0 +1,25 @@
+a {
+ color: inherit;
+}
+span.sun {
+ color: red;
+}
+span.sat {
+ color: blue;
+}
+span.holiday {
+ color: red;
+}
+span.small {
+ font-size: 60%;
+}
+span.cause {
+ font-size: 80%;
+}
+span.member {
+ font-size: 80%;
+}
+span.note {
+ font-size: 80%;
+}
+
以前に任天堂スイッチのデモでチラッと見たデモが面白そうだったのだが、体験版をダウンロードしたら、いきなり病みつきになってしまった。恐ろしいことに、Linux版が手元の環境で快適に動いてしまった。これはアブない。