canvasをクリアする
var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); context.clearRect(0, 0, canvas.width, canvas.height);
半年ほど前に流行ったズンドコキヨシをJSで
遅ればせながら、いまごろ知ったのでやってみる。
var array = []; for (var i = 0; ; i++) { var s; var random = Math.round(Math.random()); if (random == 0) { s = 'ズン'; } else { s = 'ドコ'; } console.log(s); array.push(s); if (array.length > 5) { array.shift(); } if (array.join('') === 'ズンズンズンズンドコ') { console.log('キ・ヨ・シ!'); break; } }
1データが複数行で構成されたテーブルで1データを選択する
やりたいこと
以下のようなテーブルで、0〜2行目をクリックした場合は0〜2行めを着色、3〜4行目をクリックした場合は3〜4行目を着色…したい。
0 | aaa | aaa |
1 | aaa | aaa |
2 | aaa | aaa |
3 | bbb | bbb |
4 | bbb | bbb |
5 | ccc | ccc |
6 | ddd | ddd |
7 | ddd | ddd |
コード
あまりかっこよくないですが、これでいけました。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script> function handler(e) { // 全行の色を戻す var allRows = document.getElementById('table').rows; for (var row of allRows) { row.style.backgroundColor = 'white'; } // 選択された行と同じデータを着色 var name = e.target.parentNode.getAttribute('name'); var selectedRows = document.getElementsByName(name); for (var row of selectedRows) { row.style.backgroundColor = 'lightblue'; } } </script> </head> <body> <table id="table" border="1"> <tr name="data_a" onClick="handler(event)"> <th>0</th><td>aaa</td><td>aaa</td> </tr> <tr name="data_a" onClick="handler(event)"> <th>1</th><td>aaa</td><td>aaa</td> </tr> <tr name="data_a" onClick="handler(event)"> <th>2</th><td>aaa</td><td>aaa</td> </tr> <tr name="data_b" onClick="handler(event)"> <th>3</th><td>bbb</td><td>bbb</td> </tr> <tr name="data_b" onClick="handler(event)"> <th>4</th><td>bbb</td><td>bbb</td> </tr> <tr name="data_c" onClick="handler(event)"> <th>5</th><td>ccc</td><td>ccc</td> </tr> <tr name="data_d" onClick="handler(event)"> <th>6</th><td>ddd</td><td>ddd</td> </tr> <tr name="data_d" onClick="handler(event)"> <th>7</th><td>ddd</td><td>ddd</td> </tr> </table> </body> </html>
実行結果
3行目、または4行目をクリック
5行目をクリック
Ubuntu 14.04とWindows10のデュアルブート環境でブートローダが壊れたので復旧
Ubuntu 14.04とWindows10のデュアルブート環境で色々といたずらしていたところ、ブートローダを壊してしまったらしく、いずれのOSも(と言うかgrubも)起動しなくなりました。。
復旧までの手順をメモっておきます。
boot-repair-diskでブートローダを復旧
ほぼ全自動で復旧してくれる、素敵なツールがありました。
https://sourceforge.net/p/boot-repair-cd/home/Home/
UbuntuのLiveDVDを起動し、以下の手順でインストール&起動できます。
$ sudo apt-add-repository ppa:yannubuntu/boot-repair $ sudo apt update $ sudo apt install boot-repair $ boot-repair
GUIなツールが立ち上がるので、あとは特に迷うことなし。
grubは起動するようになり、Ubuntuも無事起動できました。
便利すぎる。。
Windows側のブートローダを復旧
前述の手順では、まだWindowsが起動できませんでした。。(grubメニューにWindowsが表示されていない)
今度はWindowsのシステム復旧ディスクで起動し、コマンドプロンプトを開きます。
よく分かってないので手探り。
> diskpart > list disk > select disk 1 →Windowsがインストールされているディスクを選ぶ > list partition > select partition 3 →Windowsがインストールされているパーティションを選ぶ > active > exit
続いてbootrecコマンドを使用。
> bootrec /fixboot →エラーになった。。 > bootrec /fixmbr →成功したらしい
この後、「boot-repair-diskでブートローダを復旧」の手順をもう一度やってみたら、Windowsも起動できるように(grubメニューに表示されるように)なりました。
文字列の連結
StringJoinerクラスを使用する
import java.util.StringJoiner; String s = new StringJoiner(",") .add("あいう") .add("えおか") .add("きくけ") .toString();
Collectors#joiningメソッドを使用する
import java.util.stream.Collectors; import java.util.stream.Stream; String[] array = {"あいう", "えおか", "きくけ"}; String s = Stream.of(array) .collect(Collectors.joining(","));
Ubuntu 16.04 LTSにChromeをインストールする
sudo apt install libappindicator1 sudo dpkg -i google-chrome-stable_current_amd64.deb