スキップしてメイン コンテンツに移動

Tips:iPhoneでコーディングしよう

iPhoneでコーディングするというのは長年の夢です。電車の中でChromebookを出すのは気が引けますから…

しかし、たいていのそういうものはスペックや手が届かないとか不満店が多いものです。
そこで、良いサーバーを借りてそこで開発するという手法をとりましょう。わたしはこれを、PrivServer(プライベートサーバー)と呼んでいます。普通かw
これはChromebookからでも開発できるし、どこからでもいくらでも好きなだけすごいスペックの環境がネット環境さえあれば立ち上がるってのがものすごく、いいです。

エディタはわたしはvimなので問題なしです!

さてさて!この状況で、iPhoneで、コーディング作業は、一体どんなアプリが便利でしょう。

ご存知の通りvimはescをよく使います。またサーバーではctrlもよく使います。したがって便利なキーボードが必要です

…が、いまのところこんなキーボードは見つかっていません。Androidだとhacker's keyboardがいいのですが。

そこでこのsshアプリ

Crystalnix「Serverauditor - SSH Shell / Console / Terminal」
https://appsto.re/jp/K8AUG.i

良いですこれ。何がいいって、設定から音量ボタンにescやctrlといったキーを割り当てられるんです。

このおかげでかなりはかどってます。まあ画面は小さいですが…

ただ日本語の扱いは下手ですので要注意。わたしは使いませんが。

また、ターミナル部分を一回タップするとスクロールして読めるようになり、その際にURLがあるとタップしてそこに飛んでくれたりするめちゃくちゃ便利機能付です。まるでvimのモードの考えがsshクライアント自体に埋め込まれた感じ。

それでは。

コメント

このブログの人気の投稿

GoでPodcast用のサーバーを組むときに良い(良さそうな)lib

いい感じのライブラリ、あります。 現在作成中のPadio(仮名)というサービスではこれを使っています(が、しかしもしかしたら変えるかも。現状はすごい満足)。 https://github.com/eduncan911/podcast https://godoc.org/github.com/eduncan911/podcast

Vaffle.vimがいい感じ

実はいまのいままで、ずっとUnite.vimを使い続けてきていました。 Shougoさんのunite.vimは確かに素晴らしかったです。しかしながら、私には到底使い切れるものでもなく、もったいないとおもいつつ、ファイラーとmruのみを使う日々が続いておりました。 御存知の通り、随分前にご本人はすでにuniteからdeniteへと移行をしています。 知らなかったわけではないんですが、動いてるし速度にも問題を感じることがなかったので放置していました。 しかし今回、現状に合わせて、この部分を考え直すことにしました。要するにVimのファイラをどうしよう問題です。 で、いろいろ見た限り、わたしには、 https://github.com/cocopon/vaffle.vim これが最も適しているようでした。 ブログ記事はこちらです。 http://cocopon.me/blog/?p=6084 かなり気に入っています。動作はなかなかに速いですし、hjklで移動できる感覚も、なれると良いものですね。 あとはmruをどうしようかなーというところのみとなりました。

NULLのcolumnを含むDBでデータを取得する/Golang

どうも、@CreatorQsFです。我が家にもやっと春が舞い戻ってまいりました。 さて、僕はもともとCとPHPとMySQLでサービス作ってた人です。そんな中で世紀末ぐらい困ったことが会ったので記しておきます。 まず、PHPでの時わたしはDB関連は全て自作していました。これでも一応SQLかけるので。 ですが、Goに変えてからgithubなどのLibraryを積極的に使うようにしています。フレームワークも今はrevelを使ってます(╹◡╹) そして、当然のごとくgorpを使いはじめるわけなんですが…これが意外と難しい。というよりPHPの成り上がり下克上果たせなかった系Goプログラマには結構問題点が多くて。私自身にですが。 まず、DBを使うのに、structと組み合わせるためにマッピングしなきゃならない。いや正確に言うと、今まではDBから取得したらそれが自動的にオブジェクトに落とし込めていたので、なんか気にすることなかったんですな。 だけど、最近のモダンなやつ見てるとどうもそうでもないらしい。構造体を作ってそこに落としこむのが主流なのかな。 ってことで、やってみたのはいいものの… …動かないっす先輩。 思ったとおりに行かないっす 原因は、MySQLのcolumnにNULLが含まれているためでした。そこで、sql.NullStringの存在を知ります。 で、それを   for _, l := range list {     p := l.(*models.A)     fmt.Printf("%d,%t, %s\n", p.Id,p.Status,p.Url)               } こんなかんじに調理したとします。 この青四角のところが大問題なわけで、最初こう書きました。 result string = p.Url そうすると、みんな大好き型エラー。 で、次にこう。 result string = fmt.Sprintf("%v",p.Url) いや、動いたんですけど…。問題はそうじゃなくて、吐出されたものがめちゃめちゃに汚い。オエッの方じゃなくて。 で、なんじゃこりゃと思って、次...