今週、C言語の2次元配列を扱う授業の中で、魔法陣に取り組んでみたのですが、興味関心を引くためにJavaScriptで作ってみました。
魔法陣のアルゴリズム
1. 1行目の中央に1を入れる。 2. 2からn*n(n:奇数)まで以下を繰り返す。 2-1. 右斜め上に進む。このとき (a) すでに数字が入っているときは、すぐ下へ (b) 上に飛び出した場合は、一番下へ (c) 右に飛び出した場合は、一番左へ 2-2. 数字を埋める
今週、C言語の2次元配列を扱う授業の中で、魔法陣に取り組んでみたのですが、興味関心を引くためにJavaScriptで作ってみました。
1. 1行目の中央に1を入れる。 2. 2からn*n(n:奇数)まで以下を繰り返す。 2-1. 右斜め上に進む。このとき (a) すでに数字が入っているときは、すぐ下へ (b) 上に飛び出した場合は、一番下へ (c) 右に飛び出した場合は、一番左へ 2-2. 数字を埋める
「Sinatra 入門 - Qiita」は、Sinatra, ActiveRecordの初歩について学ぶのに非常に分かりやすくまとめられていると思います。概要を学ぶのに参考になったのですが、
以降、そのままだとコメントの削除機能など、動作しない部分があったので、自分の勉強を兼ねて作ってみました。
まず、ファイル構成は以下の通りです。
$ tree sinatra_lessons sinatra_lessons ├── bbs.db ├── import.sql ├── main.rb └── views └── index.erb 1 directory, 4 files
# coding: utf-8 require "sinatra" require "sinatra/reloader" require "active_record" ActiveRecord::Base.establish_connection( "adapter" => "sqlite3", "database" => "./bbs.db" ) class Comment < ActiveRecord::Base end helpers do include Rack::Utils alias_method :h, :escape_html end get "/" do @title = "BBS(掲示板)" @comments = Comment.order("id desc").all erb :index end post "/new" do Comment.create({:body => params[:body]}) redirect '/' erb :index end post "/delete" do Comment.find(params[:id]).destroy end
create table comments( id integer primary key, body text );
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title><%= @title %></title> </head> <body> <h1><%= @title %></h1> <ul> <% @comments.each do |comment| %> <li data-id="<%= comment.id %>"> <%= h comment.body %><button class="deleteCmd">Delete!</button> </li> <% end %> </ul> <h2>Add new</h2> <form method="post" action="/new"> <input type="text" name="body"> <input type="submit" value="post!"> </form> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script> $('.deleteCmd').click(function(){ var el = $(this).parent(); if (confirm('are you sure to delete?')){ $.post('/delete',{ id: el.data('id') },function(){ el.fadeOut(800); }); } }) </script> </body> </html>
子供が買った本が目についたので、どんな本を読んでいるんだろうと何気無く手に取ってパラパラと読み始めたら、途中でやめられなくなって最後まで一気に読んでしまいました。
読み終えて、調べて見ると最近、映画化もされているんですね。最近の事情に疎いので全く知らなかったのですが、是非、映画も見てみたいと思うような感動の物語(実話)でした。
2018年最初に読み終えた本が、この本で良かったと思います。
Raspberry PiにサーボモータとWebカメラを接続し、Mac上のブラウザからカメラの画像を見ながらサーボモータを制御する実験を行ってみました。
実験なので、サーボモータとWebカメラは両面テープで貼り付けています。
以前、個別に取り組んだこと
を組み合わせることで、なんとか形を作ることができました。
ゆくゆくは、Raspberry Pi+Webカメラを搭載したミニカーを製作し、タブレットなどでRaspberry Piから送られてくる動画を見ながらミニカーをコントロールすることを想定しています。
今回やってみて、
使用したのRaspberry Piが初代だからなのでしょうか。現在の最新機種でも試してみたいところです。
「天気に応じてLEDの点灯パターンを変える - Mae向きなブログ」では、Raspberry PiからYahoo天気予報のピンポイント天気にアクセスし、現在の時刻の天気に応じてLEDの点灯パターンを変えるスクリプトを作成しました。
このスクリプトでは、まだ「曇り」の場合しか実装していませんが、今後、「晴れ」、「雨」、「雪」などといろんな天気を追加していくにつれ、case文の条件が長くなってしまいます。実は前回作成したときにこの問題点に気付いてはいたのですが、つい安易な実装で済ませていました。
このような場合には、デザインパターンのStateパターンを使った方が良いと思い改善してみました*1。
「晴れ」のとき、LEDを5回点滅させるという動作を追加したいとき、Stateクラスを継承した「S晴れ」クラスを作成し、動作をdoメソッドの中に書いていくことになります。
class S晴れ < State def do io 5.times { io.digital_write(LED, WiringPi::HIGH) sleep 0.5 io.digital_write(LED, WiringPi::LOW) sleep 0.5 } end end
前回のプログラムでは、天気の状態を増やす場合は、以下のcase文を増やしていく必要がありましたが、
weather = get_weather case weather when "晴れ" # …
Rubyでは、文字列から動的にクラスを取得しインスタンスを生成することができるので、天気の状態を増やしても以下(63,64行目)は変更する必要がありません。ただクラス名はアルファベットの大文字で始まらなければならないので、'S'を天気の前に追加しています。
weather = get_weather Object.const_get("S#{weather}").new.do(io)
*1:Contextの役が出てきてないので、厳密にいうとStateパターンではないのかもしれません
第93回天皇杯・第84回皇后杯全日本バスケットボール選手権大会のファイナルラウンドが1月4日(木)~7日(日)の日程で始まります。 大会公式ホームページの
にB1クラブ全チーム(18チーム)のプレイヤーリストが掲載されていますので、身長の高い順に並べ替えてみました*1。
身長(cm) | 氏名 |
---|---|
221 | ハシーム・サビート・マンカ(横浜ビー・コルセアーズ) |
216 | ヴァンデンバーグ・ジョーダン(西宮ストークス) |
214 | ギャレット・スタツ(島根スサノオマジック) |
213 | ロバート・サクレ(サンロッカーズ渋谷) |
211 | ダニエル・ミラー(レバンガ北海道) アレックス・カーク(アルバルク東京) デクスター・ピットマン(富山グラウジーズ) スコット・モリソン(三遠ネオフェニックス) ディオー・フィッシャー (滋賀レイクスターズ) オマー・サムハン(滋賀レイクスターズ) ヒルトン・アームストロング(琉球ゴールデンキングス) |
210 | ニック・ファジーカス(川崎ブレイブサンダース) |
209 | アンドリュー・ネイミック(栃木ブレックス) |
208 | ランデン・ルーカス(アルバルク東京) ジョシュ・ハレルソン(サンロッカーズ渋谷) ジャレッド・バーグレン(新潟アルビレックスBB) ダニエル・オルトン(シーホース三河) アイザック・バッツ(シーホース三河) クレイグ・ブラッキンズ(名古屋ダイヤモンドドルフィンズ) ジョシュア・スミス(京都ハンナリーズ) グレッグ・スミス(大阪エヴェッサ) デイビッド・ウェア(大阪エヴェッサ) ジョシュ・スコット(島根スサノオマジック) |
207 | 竹内 譲次(アルバルク東京) |
206 | マーク・トラソリーニ(レバンガ北海道) 竹内 公輔(栃木ブレックス) ライアン・ロシター(栃木ブレックス) ギャビン・エドワーズ(千葉ジェッツ) トニー・ガフニー(千葉ジェッツ) マクドナルド ウィリアム(横浜ビー・コルセアーズ) オースティン・ダフォー(新潟アルビレックスBB) 太田 敦也(三遠ネオフェニックス) マーカス・ダブ(京都ハンナリーズ) コナー・ ラマート(西宮ストークス) ブレンダン・レーン(島根スサノオマジック) |
205 | サム・ウィラード(富山グラウジーズ) ファイ サンバ(滋賀レイクスターズ) |
204 | 伊藤 俊亮(千葉ジェッツ) ジャワッド・ウィリアムズ(アルバルク東京) ドリュー・ヴァイニー(富山グラウジーズ) |
203 | グレゴリー・ウィッティントン (レバンガ北海道) ジョシュ・デービス(川崎ブレイブサンダース) ジェフリー・パーマー(横浜ビー・コルセアーズ) ダバンテ・ガードナー(新潟アルビレックスBB) 桜木 ジェイアール(シーホース三河) ジュリアン・マブンガ(京都ハンナリーズ) ジーノ・ポマーレ(大阪エヴェッサ) |
202 | 青木 ブレイク(富山グラウジーズ) |
201 | カルティエ・マーティン(三遠ネオフェニックス) ハッサン・マーティン(琉球ゴールデンキングス) |
200 | マイケル・パーカー(千葉ジェッツ) 野本 建吾(川崎ブレイブサンダース) ジャスティン・バーレル(名古屋ダイヤモンドドルフィンズ) |
199 | ローレンス・ブラックレッジ(三遠ネオフェニックス) |
198 | セドリック・ボーズマン(栃木ブレックス) 荒尾 岳(千葉ジェッツ) 馬場 雄大(アルバルク東京) 満原 優樹(サンロッカーズ渋谷) ジャマール・ソープ(サンロッカーズ渋谷) ジュフ・バンバ(川崎ブレイブサンダース) 佐藤 託矢(横浜ビー・コルセアーズ) 小原 翼(富山グラウジーズ) ジェロウム・ティルマン(名古屋ダイヤモンドドルフィンズ) 大宮 宏正(名古屋ダイヤモンドドルフィンズ) 永吉 佑也(京都ハンナリーズ) 頓宮 裕人(京都ハンナリーズ) |
197 | 小野 龍猛(千葉ジェッツ) 鎌田 裕也(川崎ブレイブサンダース) 張本 天傑(名古屋ダイヤモンドドルフィンズ) 小阪 彰久(島根スサノオマジック) |
196 | 野口 大介(レバンガ北海道) 鵜澤 潤(新潟アルビレックスBB) 比留木 謙司(三遠ネオフェニックス) 西川 貴之(シーホース三河) 土屋 アリスター時生(西宮ストークス) |
195 | 根来 新之助(大阪エヴェッサ) 熊谷 尚也(大阪エヴェッサ) 坂井 レオ(西宮ストークス) |
194 | 桜井 良太(レバンガ北海道) 遥 天翼(新潟アルビレックスBB) 寒竹 隼人(大阪エヴェッサ) バーンズ・ドゥレイロン(西宮ストークス) |
193 | ザック・バランスキー(アルバルク東京) 広瀬 健太(サンロッカーズ渋谷) 川村 卓也(横浜ビー・コルセアーズ) 上江田 勇樹(富山グラウジーズ) 樋口 大倫(滋賀レイクスターズ) 谷 直樹(西宮ストークス) アイラ・ブラウン(琉球ゴールデンキングス) |
192 | 落合 知也(栃木ブレックス) 栗原 貴宏(川崎ブレイブサンダース) 鹿野 洵生(三遠ネオフェニックス) 金丸 晃輔(シーホース三河) 高橋 耕陽(滋賀レイクスターズ) 谷口 淳(西宮ストークス) 波多野 和也(島根スサノオマジック) |
191 | 菊地 祥平(アルバルク東京) 菊池 真人(サンロッカーズ渋谷) 湊谷 安玲久司朱(横浜ビー・コルセアーズ) 池田 雄一(新潟アルビレックスBB) 宇都 直輝(富山グラウジーズ) 加藤 寿一(シーホース三河) 中東 泰斗(名古屋ダイヤモンドドルフィンズ) 晴山 ケビン(京都ハンナリーズ) |
190 | 折茂 武彦(レバンガ北海道) アキ・チェンバース(千葉ジェッツ) 田中 大貴(アルバルク東京) 長谷川 技(川崎ブレイブサンダース) 高島 一貴(横浜ビー・コルセアーズ) 比江島 慎(シーホース三河) 森川 正明(シーホース三河) 船生 誠也(名古屋ダイヤモンドドルフィンズ) 安藤 周人(名古屋ダイヤモンドドルフィンズ) 藤高 宗一郎(大阪エヴェッサ) セオン・エディ(西宮ストークス) 熊谷 宜之(島根スサノオマジック) 古川 孝敏(琉球ゴールデンキングス) |
188 | 牧 全(レバンガ北海道) 川邉 亮平(レバンガ北海道) 谷口 光貴(川崎ブレイブサンダース) 満田 丈太郎(横浜ビー・コルセアーズ) 竹田 謙(横浜ビー・コルセアーズ) 大塚 裕土(富山グラウジーズ) 岡田 慎吾(三遠ネオフェニックス) 松井 啓十郎(シーホース三河) 中務 敏宏(名古屋ダイヤモンドドルフィンズ) 内海 慎吾(京都ハンナリーズ) 橋本 拓哉(大阪エヴェッサ) 石崎 巧(琉球ゴールデンキングス) 田代 直希(琉球ゴールデンキングス) |
187 | 原 修太(千葉ジェッツ) 小澤 智将(川崎ブレイブサンダース) 田中 健介(富山グラウジーズ) 岩田 涼太(三遠ネオフェニックス) 石塚 裕也(西宮ストークス) 須田 侑太郎(琉球ゴールデンキングス) 渡辺 竜之佑(琉球ゴールデンキングス) |
186 | 川嶋 勇人(三遠ネオフェニックス) 菅原 洋介(滋賀レイクスターズ) 澤地 サミュエルジュニア(滋賀レイクスターズ) 佐藤 公威(島根スサノオマジック) |
185 | 遠藤 祐亮(栃木ブレックス) 鵤 誠司(栃木ブレックス) 山崎 稜(栃木ブレックス) 喜多川 修平(栃木ブレックス) 長谷川 智也(サンロッカーズ渋谷) 辻 直人(川崎ブレイブサンダース) 水戸 健史(富山グラウジーズ) 田渡 修人(三遠ネオフェニックス) 田中 大地(滋賀レイクスターズ) 岡田 優介(京都ハンナリーズ) 坂東 拓(京都ハンナリーズ) |
184 | 伊藤 大司(レバンガ北海道) 岡田 優(富山グラウジーズ) 狩野 祐介(滋賀レイクスターズ) 片岡 大晴(京都ハンナリーズ) 澤邉 圭太(大阪エヴェッサ) |
183 | 関野 剛平(レバンガ北海道) 松島 良豪(レバンガ北海道) 清水 太志郎(サンロッカーズ渋谷) ベンドラメ 礼生(サンロッカーズ渋谷) 蒲谷 正之(横浜ビー・コルセアーズ) 城宝 匡史(新潟アルビレックスBB) 橋本 尚明(富山グラウジーズ) 柏木 真介(名古屋ダイヤモンドドルフィンズ) 長谷川 智伸(滋賀レイクスターズ) 今野 翔太(大阪エヴェッサ) 合田 怜(大阪エヴェッサ) 梁川 禎浩(西宮ストークス) 金城 茂之(琉球ゴールデンキングス) |
182 | 石井 講祐(千葉ジェッツ) 宮永 雄太(富山グラウジーズ) 相馬 卓弥(島根スサノオマジック) |
181 | 安藤 誓哉(アルバルク東京) 佐藤 優樹(新潟アルビレックスBB) |
180 | 田原 隆徳(レバンガ北海道) 生原 秀将(栃木ブレックス) 阿部 友和(千葉ジェッツ) 小島 元基(アルバルク東京) 正中 岳城(アルバルク東京) 山田 謙治(横浜ビー・コルセアーズ) 田渡 凌(横浜ビー・コルセアーズ) 五十嵐 圭(新潟アルビレックスBB) 笹山 貴哉(名古屋ダイヤモンドドルフィンズ) 渡邊 翔太(島根スサノオマジック) 後藤 翔平(島根スサノオマジック) |
179 | 村上 直(シーホース三河) |
178 | 藤井 祐眞(川崎ブレイブサンダース) 篠山 竜青(川崎ブレイブサンダース) 橋本 竜馬(シーホース三河) 狩俣 昌也(シーホース三河) 小林 遥太(滋賀レイクスターズ) 横江 豊(滋賀レイクスターズ) 綿貫 瞬(京都ハンナリーズ) 安部 潤(大阪エヴェッサ) 松崎 賢人(西宮ストークス) 道原 紀晃(西宮ストークス) 津山 尚大(琉球ゴールデンキングス) |
177 | 西村 文男(千葉ジェッツ) 木下 博之(大阪エヴェッサ) |
176 | 前村 雄大(栃木ブレックス) |
175 | 山内 盛久(サンロッカーズ渋谷) 細谷 将司(横浜ビー・コルセアーズ) 輪島 射矢(新潟アルビレックスBB) |
174 | 伊藤 駿(サンロッカーズ渋谷) |
173 | 田臥 勇太(栃木ブレックス) 藤永 佳昭(名古屋ダイヤモンドドルフィンズ) 伊藤 達哉(京都ハンナリーズ) 山本 エドワード(島根スサノオマジック) 二ノ宮 康平(琉球ゴールデンキングス) 岸本 隆一(琉球ゴールデンキングス) |
172 | 大口 真洋(三遠ネオフェニックス) 並里 成(滋賀レイクスターズ) 大塚 勇人(西宮ストークス) |
171 | 多嶋 朝飛(レバンガ北海道) 大石 慎之介(三遠ネオフェニックス) |
170 | 畠山 俊樹(新潟アルビレックスBB) 鈴木 達也(三遠ネオフェニックス) 岡本 飛竜(島根スサノオマジック) |
167 | 冨樫 勇樹(千葉ジェッツ) |
*1:本当は、B2も調べたかったのですがリンク先がないチームがあったので断念しました。
第93回天皇杯・第84回皇后杯全日本バスケットボール選手権大会のファイナルラウンドが1月4日(木)~7日(日)の日程で始まります。 大会公式ホームページの
にB1クラブ全チーム(18チーム)のプレイヤーリストが掲載されていますので、選手の出身校別の人数を調べてみました*1。
将来Bリーグの選手を目指す中高生の参考になればと思います。
出身校 | 人数 |
---|---|
東海大学 | 25 |
青山学院大学 | 20 |
筑波大学 | 11 |
拓殖大学 | 8 |
日本大学 | 8 |
大東文化大学 | 7 |
専修大学 | 7 |
日本体育大学 | 6 |
中央大学 | 5 |
大阪学院大学 | 5 |
天理大学 | 4 |
法政大学 | 4 |
明治大学 | 4 |
早稲田大学 | 3 |
近畿大学 | 3 |
コネチカット大学 | 3 |
マーケット大学 | 2 |
コロンビア大学 | 2 |
愛知学泉大学 | 2 |
ジョージタウン大学 | 2 |
慶應義塾大学 | 2 |
アップルスポーツカレッジ | 2 |
コロラド大学 | 2 |
大阪商業大学 | 2 |
同志社大学 | 2 |
白鴎大学 | 2 |
テキサス大学 | 2 |
関西学院大学 | 2 |
ゴンザガ大学 | 2 |
国士舘大学 | 2 |
ケンタッキー大学 | 2 |
ロヨラ・メリーマウント大学 | 1 |
パシフィック大学 | 1 |
浜松大学 | 1 |
国学院大学 | 1 |
サンディエゴ・シティ・カレッジ | 1 |
カンザス州立大学 | 1 |
ポートランド州立大学 | 1 |
国際武道大学 | 1 |
アパラチアン州立大学 | 1 |
UCLA | 1 |
セント・ジョーンズ大学 | 1 |
オハイオ大学 | 1 |
アイオワ州立大学 | 1 |
福岡第一高校 | 1 |
東京成徳大学 | 1 |
セント・メリーズ大学 | 1 |
ウェストバージニア大学 | 1 |
ゴードン大学 | 1 |
オハイオ州立大学 | 1 |
神奈川大学 | 1 |
マイアミ大学 | 1 |
関西大学 | 1 |
サンディエゴ大学 | 1 |
カリフォルニア州立大学 | 1 |
カリフォルニア大学 | 1 |
芦屋大学 | 1 |
ディポール大学 | 1 |
甲南大学 | 1 |
京都産業大学 | 1 |
ノースカロライナ州立大学 | 1 |
立命館大学 | 1 |
大阪教育大学 | 1 |
新潟工業短期大学 | 1 |
ペパーダイン大学 | 1 |
ウィチタ州立大学 | 1 |
ロードアイランド大学 | 1 |
福岡大学所属大濠高校 | 1 |
ソノマ州立大学 | 1 |
ジョージア工科大学 | 1 |
サンタクラーラ大学 | 1 |
札幌大学 | 1 |
ポートランド大学 | 1 |
ブリガムヤング大学ハワイ校 | 1 |
ミシガン州立大学 | 1 |
カリフォルニア大学ロサンゼルス校 | 1 |
タコマ・コミュニティ大学 | 1 |
シエナ大学 | 1 |
モントロス・クリスチャン高校 | 1 |
エバーグリーン州立大学 | 1 |
カリフォルニア大学マーセド校 | 1 |
マサチューセッツ大学 | 1 |
カンザス大学 | 1 |
ノースカロライナ大学 | 1 |
ニューメキシコ大学 | 1 |
ヒューストン大学 | 1 |
尚学院国際ビジネスアカデミー | 1 |
日本大学東北高等学校 | 1 |
サンディエゴ州立大学 | 1 |
東海大学九州 | 1 |
ネバダ大学 | 1 |
関東学院大学 | 1 |
盛岡南高等学校 | 1 |
フロリダ・アトランティック大学 | 1 |
ドミニカン大学 | 1 |
サウスフロリダ大学 | 1 |
ウィスコンシン大学 | 1 |
ニューヨーク市立大学シティカレッジ | 1 |
*1:本当は、B2も調べたかったのですがリンク先がないチームがあったので断念しました。