拡張機能を使わずにVSCodeのマルチカーソル機能で行に連番をふる方法

例えば、

10 VSCodeで
20 拡張機能を使わずに
30 連番をふる

というのを書きます。

VSCode
拡張機能を使わずに
連番をふる

という文章に連番を10, 20, 30とつけるとすると、別途番号を用意します。

10
20
30

これを選択して、Ctrl-Cでコピーして、連番をふりたい行頭から3行にAlt+Shift+下矢印でマルチカーソルを入れて、Ctrl-Vでペーストする。 スペースを押す。 Escでマルチカーソルを抜ける。

以上。 簡単ですね!!!!  
 

補足:

連番に限らず、マルチカーソルは表の列を別の表の列にコピペで挿入できるので、便利です。  
 

連番の作り方:

手元にPythonがあれば、端末(ターミナル)で、

python -c 'import numpy; print(numpy.arange(10,101,10))'

=> [ 10 20 30 40 50 60 70 80 90 100]

これをVSCode上にコピペして、前後の括弧を取って、最初のスペースを選択して、Ctrl-Dを何回か押して間のスペースにマルチカーソルを入れて改行すれば縦の列になるのであとは本文の手順。

列のコピペは行数が合っていないと各行にペーストされてしまうので注意が必要です。  
 

感想:

拡張機能も便利そうだけど、基本機能だけでできることを考えるのもいいですよね。 頭の体操になるし、別途応用もきく。

電動アシスト自転車の回生充電機能で筋トレ(アイデア)

ブリジストン電動アシスト自転車で、電源オンの状態で、アシストオフにして、ギアをトップにして、立ち漕ぎで加速、後ろブレーキで回生充電、を繰り返せば充電ができる上にトレーニングになるのではないか。 アシストは上り坂でしか使わない、というアイデアです。

こういった使い方ができるかどうか知りたいので、ネットを検索しているのですが、とりあえず見つかりません。

アシストがオンの状態で立ち漕ぎは危険、とのことなので立ち漕ぎしたいときは必ずアシストをオフにする必要があって、手間がかかる。 現実的ではないのかもしれない。

東京はけっこう坂が多くて、上り坂を利用してスポーツ自転車でトレーニングしています。 上り坂大好き人間です。 上り坂は好きなのですが、遠出をして疲れ果てた帰りなどに、上り坂になると、アシストがあったらなぁ、と思う。 そんなときにだけアシストを使いたい。

自転車でのトレーニングは強い意志がなくても自分を追い込めるので好きです。

現在はアシスト自転車は持っていません。

Colabで学ぶC++

Colabの環境にg++(gcc)があるので、コードセルにC++のプログラムを書いて%%writefileで保存してg++でコンパイルして実行するというやりかたにすればインタラクティブC++が学べる!!!! というアイデアでためしにw3schoolsのC++ TutorialをColab化してみました。

https://colab.research.google.com/github/kalz2q/mycolabnotebooks/blob/master/learncpp.ipynb

Colabで開いて読まれることを想定しています。 Colabで開いて下さい。

非常に初歩的な内容で、頭から実行していくだけでざっくりC++が学べる。 所要時間 30分、てとこかな。

ふだん別の言語をやっていて、ちょっとC++を思い出したい、というような用途にいいかもしれない。

もう少し内容のあるC++学習用のノートブックを作りたいと思うのですが、いい材料ないかな。

Colabで学ぶ NumPy

100 numpy exercises というのがあって、これが素晴らしいのですが、問題と解答を Colab 化するのをやっています。

まだ途中ですが、とりあえず半分 50 題を越えたのでご紹介。

https://colab.research.google.com/github/kalz2q/mycolabnotebooks/blob/master/numpyexercises.ipynb

例によって、Colab で開くことを想定しているノートブックです。

テキストセルに問題を日本語に翻訳してあります。解答がコードセルにありますので、それを実行して確かめる。

疑問があったらいろいろ実験してみる。

というのの繰り返しで勉強ができます。

ほとんどの問題にコードセルを追加して、「実験」をしているのはわたしの理解での別解とか、numpy 使わないで、今どきの python では関数型で簡単に書けるじゃん、とかいろいろやっています。

元のには図や数式があまり入っていないので、追加しようと思っています。

受け身で勉強するより学習がはかどると思うので使ってみてください。

コラブ Colab で学ぶ高校数学

はじめに

Doing Math with Python: Use Programming to Explore Algebra, Statistics, Calculus, and More!
Amit Saha

を Colab でなぞりながら読む。

というのをやっていて、とりあえず最後まで行ったのでご紹介。

元の本の章立ては次のようになっています。

  1. 数を扱う
  2. データをグラフ化する
  3. データを統計的に表現する
  4. Sympy を使った代数と数式処理
  5. 集合と確率で遊ぶ
  6. 幾何図形とフラクタルの描画
  7. 微積分を解く

この内、1章から5章までのノートが

https://colab.research.google.com/github/kalz2q/mycolabnotebooks/blob/master/doingmath01.ipynb

残りのノートが

https://colab.research.google.com/github/kalz2q/mycolabnotebooks/blob/master/doingmath02.ipynb

です。

元の本のプログラムは多くの場合、main を持ったプログラムの形にしてあるのに対し、この Colab では コードセルで走るように書き直してます。

数式は LaTeX で転記しています。

グラフや図形は matplotlib で転記しました。

Colab について

Colab は Google が無料で用意してくれている機械学習環境ですが、Jupyter なので、普通の数学環境でもあります。

自分のマシンに Anaconda などで Jupyter 環境を作る手間をかけることなく、ログインするだけで Jupyter が使える。

ほかの人が作った ノートブックを Colab から開くと自動的にコピーができて、インタラクティブなノートブックが自分のものになって、自分の GitHub に保存することもできる。

Jupyter ノートブックをオンラインで読む方法はいままでも nbviewer をつかったサイトがありましたが、開けて読めるだけでインタラクティブではありませんでした。

ある意味、夢のような環境が Colab だと思います。 無限に勉強できてしまう!!!!

Colab で学ぶシリーズ

今回は本を読みながら数式とプログラムの実験をする、というノートブックでしたが、これで Python, Numpy, Sympy, matplotlib, LaTeX がだいたいわかったので、同じ手法でいろんな本のノートをとってみようかと思っています。

イデア

  • Colab で学ぶチャート式数学の例題集
  • Colab で学ぶ幾何
  • Colab で学ぶHaskell
  • Colab で学ぶ物理
  • Colab で学ぶプログラミングの古典 Structure and Interpretation of Computer Programs とか
  • Colab で学ぶ数学の古典

とか

マークダウンでドルマーク `$` を表示する方法

マークダウンでドルマーク $LaTeX (MathJax) で数式を表現するので使われてしまうので、バッククォートで囲んで逃げるか、HTML で表現するしかありません。

HTMLでの表現を調べたので備忘です。

$ => $5 ドル

が確実か。

$ => $10 ドル

もとりあえず colab では使える。こちらは覚えやすい。=> はてなのマークダウンでも使えた。

£4ポンド

£ としたら出た。

€20ユーロ

¥100円

https://dev.w3.org/html5/html-author/charref

character entity reference chart
というページがあった。すべての通貨が網羅されているわけではないみたい。

電子マネーについて。今の考え。少し陰謀論。

電子マネーについて。 なんとかペイ系のシステムは、銀行口座からのチャージを自動化する場合不正は避けられない。 すでに発覚しているのは氷山の一角。 中国人は自動チャージなどせず、スマホ経由ではあるが自分でチャージする。 日本では自動チャージでなければほとんど意味のないシステムなので、各社強く押している。 二段階認証も口座を設定する際の話のようなので、すでにある数億の休眠口座は狩り放題。 電子マネーはお金の移動に上限があるので、大きな金額の被害はない。また、休眠口座を使う限り、被害者はある意味「いない」が、儲ける方は無限大。

気づいた時にはたぶん数千億円が北朝鮮に行って、核開発に使われている。

諸外国でいまのところ被害がないのは、自国民にこのような馬鹿げたシステムを推進している国がないからで、電子マネーが進んでいると言われる韓国のシステムはクレジットカードベースである。クレジット会社からの口座引落しは明示的であり、不正はユーザー管理に委ねられる。また不正があった場合の対応も決まっている。自己破産により払わないことも可能である。

ということをわかった上でこのシステムを推進しているとすると、日本の偉い人はこう考えているのか。 多少の、最大で数千億円の被害があったとしても、日本の素性のわからない口座を使えなくするいい機会である。 また、中国のネットと自己管理に委ねたシステムと違い、日本ではフェリカやコンビニ決済、金額制限などの安全策が講じられている。なんとかペイが始まる前からすでに交通系電子マネーの自動チャージや、ドコモカードの支払いとか危ない仕組みは動いてしまっているので、臭いものに蓋をするよりはオープンにして将来の禍根を断つ方が得策。

とか。

追記:

すでに発覚しているのは氷山の一角、というのは不正かどうかは本人しかわからないので、申告ベースだから。

日本では自動チャージでなければほとんど意味のないシステム、というのは、現金でチャージする手間がかかるくらいならば、現金で払った方が早いから。

休眠口座が数億ある、というのはウソだが、数百円動いて気にしない口座は数億あるだろう。

北朝鮮、というのにも根拠はありません。

口座引落しは、不正を立証できないと、ユーザー負担になる、という仕組みだと思う。 クレジットカードでも同じではあるが、調査の依頼ができるとかそれなりの仕組みがある。

日本の素性のわからない口座、というのはホントに頭の痛い話で世界が狙っていると思う。アメリカで口座管理料を取るのも手数料稼ぎというよりは管理責任の明確化だと思う。

江戸時代にすでに江戸と大阪の間の取引きには為替手形が使われていたという、日本の頭のいい人、偉い人たちを信用しているので、正しい方向に進むことを期待しています。