エスケープシーケンスで、既存の行、文字を書き換える
こんにちはー
Vim は、ターミナル上で動くアプリですが、カーソルの位置を変えて、既存の行、文字の内容を上書きしたりできます。
こういうのって、どうやるのかなあと調べていたら、どうやら、エスケープシーケンスというのを使うらしいです。
というわけで、使ってみました。
目的
ターミナル上の既存の行、文字を書き換える
方法
エスケープシーケンスを使用して、カーソルを動かす
カーソルを動かしてみる絶対座標でカーソルを変更します。次のような形です。
1\e[行;列H
今回は Ruby でやってみたいと思います。12# 左上から 2行、3列目にカーソルを移動printf "\e[2;3H"
カーソルが
…
Read More
WindowsのGVim をかっこよくする
仕上がり※ Vim-airline というプラグインを使用していますが、 その方法はまた今度説明します。
各種設定をする.vimrc に追加します。ない場合は、ホームディレクトリに、.vimrc というファイルを作ってください。
12345678" 行番号を表示set number" 対応する()、{}、[]をハイライトset showmatch" 折りたたみ(任意)" indent の数で折りたたむよう設定set foldmethod=indent
.gvimrc に追加します。ない場合は、ホームディレクトリに、.gvimrc と
…
Read More
WindowsだけれどVim使ってみた
こんにちはー。
Vim、いいですよね~~~~キーボードですべてが完結しちゃうところがかっこよくて、僕も使いたくなりました。
今回は、Windows でかっこ良く Vim を使う方法を紹介します。
Vim を使う時の条件Vim を使う方法はいくつかあります。「かっこ良く」ということで、いくつか条件を用意しました。
背景を透過できる
かっこいい colorscheme が使える(256色表示できる)
バグがない
プラグインを入れられる
ConEmuで使いたかった。ConEmu という、コンソールをタブ化できたりするものがあるので、それでVimも使いたかったんです。
これでできるかなと思いました
…
Read More
js で文字列が色かどうかを見分ける方法
こんにちはー。
js から css の backgroundColor や、color など、色を指定することがよくあります。しかし、その時、色でない文字列が backgroundColor などに指定されると、正しい結果になりません。
今回は、色である文字列が指定されているかを判別する方法を紹介します。
やりたいこと次のサンプルを見てください。
See the Pen Jsで文字列が色かどうかを判別する by shundroid (@shundroid) on CodePen.
textbox に、blue や rgb(255,0,0)を指定して、「判別」ボタンを押すと、「色です」と結果
…
Read More
【Canvas】mousemoveのタイミングで円を描くときに円が離れてしまう問題
こんにちはー。
前回、arc を使って描いた時、円が散らばらないようにする方法を紹介すると書いたので書きます。
まず、下の例を見てください。
うまくいかない例See the Pen Canvas Mousemove 円で描いてうまくいかない例 by shundroid (@shundroid) on CodePen.
よくありがちなコンテンツです。mousemove のイベントが発生した時に円を描いているわけですが、めっちゃ速く動かして書くと、円と円の間が空いてしまいます。
今回は意外と初歩的なことかもしれませんが、この、間が空かないようにする方法を描きます。
moveToとlineToを
…
Read More
【JS】Canvasで丸や四角で「消す」方法
こんにちはー。題名のとおり、Canvas の「消す」機能で、丸などに形を変える方法を紹介します。
「消す」機能についてまずはじめに、消す方法としてのルールを書いておきます。
白く塗る はダメ!(背景が白でない場合があるため)
消した部分は透明になるようにする。
実装のポイントcontext の globalCompositeOperation を、destination-out に変更すると、fill や stroke で指定した領域を 切り取る ことができます。
また、このプロパティは、その他いろいろな値に変更できます。
サンプル:円形で消すglobalCompositeOperatio
…
Read More
js の正規表現で、「完全一致」でマッチする
こんにちはー。
機会があって、正規表現で「完全一致」のテストの方法が知りたくなりました。今日はその方法を紹介します。
どういうことがしたいのか12/abcde/.test("abcde"); // true/abcde/.test("abcdef"); // これも true
このような場合だと、1行目のようなテストする文字列がパターンと同じ場合、 true になりますが、含んでいる場合(2行目)も true になってしまいます。これを、2行目が false になって、1行目だけ true になるようにしたいんです。
完全一致したいときhttps://developer.mozilla.org
…
Read More
voidを使えば、アロー関数 で{}が省ける。
こんにちはー。
今、void を使えばアロー関数で{}がいらないんじゃないか説が、ふと頭のなかを通り過ぎて行きましたので紹介いたしますー。
「void 演算子で、アロー関数の {} がいらない気がする」ということです。
普通に {} はずせばいいのでは?まず、通常のアロー関数の{}なしの使い方です。普通の関数がどんどん短くなっていく過程をご覧ください。1234567891011// function 式var a = function (a) { return a + 2; };// アロー関数にそのまましてみたvar a = (a) => { return
…
Read More
Tumblr でプログラミングに関する面白い投稿があったので紹介!
tumblrに プログラミングに関するジョークがありました。すごく「たしかに」「あるある」と思えたので、紹介します。
1つ目:https://nandof.tumblr.com/post/140329227580/sometimes-you-just-gotta-drop-this
sudo rm -rf /* というコマンドについてです。絵を見ると大体想像できると思いますが、絶対にやってはいけないコマンドです。意味は、
sudo ・・ 管理者権限で動かす
rm ・・削除するコマンド
-rf の r ・・ディレクトリを再帰的に削除(ディレクトリの中のファイル・ディレクトリも削除)する
…
Read More
【Rx.js】画像を非同期に読み込むサンプルコード
こんにちはー。
非同期の処理をいい感じに使える js のライブラリないかなーと探していたら、Rx.js というのを見つけたので、それを使ったサンプル?を紹介します。
Rx.js とは?.NET 向けの Reactive Extensions を js 用に移植したもの。ぼくは、最初 .NET の方を使っていて、「それの js 版があったらいいな~」と思っていたらピンポイントであったという感じですー。
コードの概要では、今回書いてみるコードの概要を紹介します。
3つの画像が配列になっている
それらを非同期で読むが、1つ読み終わったら次を読むという条件。
1つ読み終わった後と全部読み終わった後に
…
Read More
Visual Studio Code の言語を変えたい時【Insiders も書くよ】
追記!! 2016/03/31Version 0.10.13 から、言語の変更が可能となりました。下の手順2 の、引数付きで起動(英語)にした状態で、Ctrl + Shift + P から「Configure Language」、locale.json が開くので、そこで言語を変更できます。参考 : https://github.com/Microsoft/vscode-docs/blob/vnext/release-notes/latest.md#localization
こんにちはー。
ついに、VSCode が、日本語に対応したっぽいです!!リリースノートを見ると、v0.10.10 で、T
…
Read More
Sphero.js で、指定した時間だけ orb.roll をしたい
しばらく投稿してなくてすみません。
Cities Skylines にハマっていました。え? 動かないんじゃないのだって?VAIO の設定で、CPU を静かさ優先 -> パフォーマンス優先にしたら、なんとか動きました。こんなに違うんだ・・その代わり、パソコンがあったかい~☆し、めっちゃうなっています。めっちゃ重いけど、めっちゃ面白いです。
さて、今回は、Sphero を Node.js から動かせるというすぐれもの、Sphero.js に関する Tips ですー。内容はタイトルの通り!
コード123456789101112131415161718192021222324252627var
…
Read More
Cities Skylines やりたいけど重すぎるよ・・
Cities Skylines、めっちゃ面白いです!!↓の記事でも紹介しました。
しかし、人口が 7000 人(少なっ!)になって、もう使いものにならないくらい重くなってしまいました。
スクリーンショット撮るの苦労した・・(街は、俺塚 orz さんの動画を参考に作っています)
うぅぅ・・。多分これぐらいの時から面白くなっていくと思うのに・・。
メモリは 12GB、CPU は、Core i5-3340M 2.70GHz、GPU は、Intel HD Graphics 4000 (うそでしょ)でした。
ここのサイトのベンチマークで、推奨である nVIDIA GeForce GTX 660 (2G
…
Read More
暗号化はなぜ大切なのか
この前、Mozilla Japanの記事で、暗号化の大切さがわかるビデオが紹介されましたので、共有したいと思います。
最近、Apple に対して、米国政府が、セキュリティ保護をぬけ出すバックドアを作るなどと命令したことで、暗号化の話題が広がっているように感じます。
データが暗号化されずに送信される場合、他の人に知られたくない個人情報や、サプライズも、すべて第三者にわかってしまいます。
暗号化の重要さが、改めてわかりました。
ログイン情報を入力するときなどは、プロトコルが「https」になっていて、鍵のアイコンが付いているか、確認してから送信するようにしましょう。
…
Read More
VSCode のExtensionを開発してみる
こんにちは。Visual Studio Code、使っていますか?ぼくはこのエディタが大好きです。
今回は、このエディタの Extension(=プラグイン)の開発をしていきたいと思います。
※ node.js が必要です!
開発方法
TypeScript + Node.js でいけます。
ジェネレータは Yeoman でできています。
手順1: Yeomanを入れる。1$ npm install -g yo
また、VSCode Extension generatorも入れます。
1$ npm install -g generator-code
手順2: ジェネレータを実行123456789
…
Read More
TypeScriptのES6 Moduleでexport varしたものに書き込む
TypeScriptで、次のようにしたい時があります。
1export var field1 = "foo";
123import {field1} from "./export";// エラーになるfield1 = "bar";
しかし、エラーになります。
1> Invalid left-hand side of assignment expression.
方法1:namespace で囲むこれは、変数を namespace(旧 module )で囲ってあげることで解決できます。
123export namespace fields { export
…
Read More
AzureでGithubからデプロイするとき、jsonやwoffなどを読み込む
こんにちはー!Azure の App Service では、Github から、直接デプロイすることができて便利です。
Githubとの連携は、下のサイトが便利です。
Json を読み込められるようにするWeb アプリケーションで、JSON が使われていることは多いと思います。しかし、初期状態では、JSON をレスポンスとして返すことはできないため、ajax とかができなくなってしまいます。これは、App Services で使っている IIS で、Json の MIME が読み込まれていないためです。
Git のリポジトリのルートディレクトリに、web.config というファイルを作って、
…
Read More
Gitで非公開のリポジトリが使いたかったらBitbucket!!
こんにちはー!!
Gitいいですよね~~!!バックアップもしっかり取れるし、間違えてもすぐに戻せます。
ぼくはリモートでGithubを使っていましたが、非公開のリポジトリが使いたくなりました。
Githubで非公開のリポジトリを作るには、お金を払うか、学生認証するかしかありません。
ぼくの場合、「学生」という文字に一文字余計についていて、学生なのか学生じゃないのかよくわからないし、認証とかたぶんできないし、審査英語だし・・
というわけで、Bitbucketを使うことにしました。
https://bitbucket.org画像はBitbucket 公式サイトから
https://bitbucke
…
Read More
UnityのSceneManagerで、シーンが存在するか確認する
Unity 5.3 から追加された、Multi Scene Editingで、シーンを追加する時、同じシーンを何個も追加したくない!ってこと、ありますよね。
「SceneManager.Contains()」的なメソッドがあれば最高なのですが、アクティブなシーンしか取れなかったりとかするんですよねー(GetActiveScene 関数)。
そこで、次のようにしました。しかし、Unity 5.3.1 くらいではOKだったのですが、5.3.2にしたら非推奨になっちゃってw・・
1234567891011using UnityEngine.SceneManagement;using System.L
…
Read More
【感動】UnityでC# 6.0 が使えた!!
追記:朗報Unity 2017 からは、デフォルトで C# 6.0 および .NET 4.6 が使用可能なようです!
この記事では Unity 5 での場合を紹介しています。
こんにちはー!!
Unityでも、最新の C# 6.0 を使って、async、await とかカッコよくコードを書きたいんだ ლ(´ڡ`ლ)
そんなことできないかなーと思って、調べてみました。
そしたら、なんと、ありました!!ので紹介します。
1. リポジトリをダウンロードC# 6.0関係のいろいろが入ったリポジトリをBitbucketからダウンロードします。
https://bitbucket.org/alexzzzz
…
Read More