「Zsh」を含む日記 RSS

はてなキーワード: Zshとは

2020-06-01

はじめてmacを買ったので愚痴ったり褒めたりする

これまで使ってたパソコン(surfacelaptop)に不満がある訳ではなかったが、好奇心macも使ってみたい思いが募りついに買ってしまった。

2年くらい使って売ればそれなりに高く売れるやろの精神でかなりオーバースペックなやつを買ってしまった。

せっかくなので初体験直後に驚いた仕様・感じたことを記録しておく。(MBP16インチ)

ボタン押してもkillされない仕様

ビビった。昔から伝統なんだね。ウィンドウ無い癖にタスク切り替えには居座っててお前どういう状態やねんという感情が未だ拭えない

画面端にウィンドウもっていって整列する機能が無い

驚いた。GNOMEとかでも標準で使えるからmacにも当然標準搭載だと思ってた(課金するか迷ってる)

アプリをD&Dでインストールするやつ

これは事前に知ってたけどやっぱ謎。結局caskのお世話になってるからあんまり見ないけど

commandキー

ctrlのつもりでfnキー押す→いや押すべきはcommandだった、というパターン20回くらい繰り返した

でもcontrolとcommandが別なの良い。まあ慣れよね。

GUIで弄れない設定

マウス加速度無効くらいはチェックボックスで設定させてほしい

日本語入力はMSIMEより若干劣るかも

というか英字→日本語への切り替え直後にラグくなるのは仕様なんだろうか

タッチバー

位置コロコロ変わるキーボードって何だよ……

fnキー位置が左下角になってるのはこいつのせいなのか?!おおん??

バタフライじゃないキーボード

バタフライ使ったことないけどこのキーボードはかなりすき

メールプレビューアプリ結構すき

iPhoneのに慣れてたからかも

Finderきらい

大してディレクトリ構造重要じゃなさそうなファイル添付画面とかで急に4ペイン表示になったりするのは何か意味があるんだろうか

というか素直にパス表示して欲しい(表示できたらごめん)

ユーティリティ系のアプリが思ってたよりチープ

タスクマネージャーは偉大

ターミナル

デフォzshいいですね

USB-C

そんなに不自由しない。自分に合ったアダプタ勝手につけろの精神はきらいではない。

画面綺麗

ねだん高かったからね

金属の質感が良い

ねだん高かったからね

電池持ち良い

ねだん高かったからね

スピーカー良い

ねだん高かったからね、ってだけでは済まされないレベルで良い。謎技術


総評

ちゃごちゃ書いたけど言う程大きな差もなく快適なので、ふつうハイスペマシンとして便利に使っていきます

2020-05-21

初心者向け】プログラミング言語人気TOP20簡易解説

概要

プログラミング経験からプログラミング勉強してみたい、でもどのプログラミング言語をやればいいのかわからない」というような悩みを聞くことがあるので、https://redmonk.com/sogrady/2020/02/28/language-rankings-1-20/ に載っている人気の言語TOP 20について、未経験者が最初に学ぶのはどの言語が良いかという観点簡単解説してみます

対象読者はプログラミング経験者なので、なるべく難しい言葉を使わないようにしたつもりです。また、正確性よりもわかりやすさを重視しているので何かしら間違っているかもしれません。ご留意ください。


ランキング

1位 JavaScript

Webブラウザの上で動くプログラミング言語。元々ただの文書しかなかったインターネット世界に、グリグリ動くページを作りたいという欲求により生まれた。JavaScriptのおかげで今のWebページグリグリ動きまくりである

元々HTMLちょちょっといじる為だけのものだったが、どんどん進化を続けて今は一つの超人プログラミング言語である。今ではブラウザ上でなくても普通に動かせる(Node.jsという)ので様々な用途で使われている。

ブラウザ上で動くプログラミング言語基本的JavaScriptしかないので、JavaScriptはすべてのWebプログラマが学ぶ必要があると言っても過言ではない。

ちょっとしたプログラムを書いてすぐブラウザ上で動かせるので楽しい。そういう点ではプログラミング入門に適していると言えるかもしれない。


2位タイ Python

機械学習を始めとしたデータサイエンスの分野で激烈に人気のある言語理由としてはNumPyとかTensorFlowのようなライブラリが充実しているというのが大きく、資産がたくさんあるのでこれからも使われ続けるであろう。

Webも作れるが、日本ではWeb系の求人は少ない気がする。

言語としては、誰が書いても簡潔で読みやすコードになる傾向にあり、小さいプログラムを書くにはいい感じである米国ではプログラミング教育Pythonがよく使われているという話も聞くし、初心者プログラミングを始めるのにはいいのかもしれない。

将来AIデータサイエンスをやってみたいと思うのであればPythonから始めましょう。


2位タイ Java

ランキングでは常に一位に近い順位をつける言語Javaができた当時は色々と革新的だったらしく、組み込み業界からWebまで流行りまくっていた。今でもその名残か使っているところは多い。過去資産プログラマの数が多いのが一番の理由だと思う。AndroidアプリJavaで書く(もしくはKotlin)。

実行速度が速く、また下位互換性がしっかりしているので過去に書かれたコードが新しいマシン上でも動きやすいのが長所短所としては、歴史ある言語下位互換性を保っているため文法が古い感じがする。タイプ量も多くなるし、学習コストJavaScriptPHP, Ruby, Pythonあたりに比べると高い。

正しく使えば強力な言語だが、日本のクソSEもどきは全員(自称JavaエンジニアであることがJavaが毛嫌いされる理由の一つになっている[要出典]。いわゆるGAFAJavaをかなりヘビーに使っているので要は玉石混交ということである

Androidアプリ作ってみたいというならJavaからはじめるのはアリ。


4位 PHP

Webページを作るためだけに生み出された言語プログラマの数が非常に多い。日本求人が一番多いのはJavaPHPであろう。

初心者でもとっつきやすく、すぐに動くプログラムを作れるので入門に使われることも多い。学習コストの低さはトップレベルであるしか基本的には古くてダメ言語とみなされており、PHPで作られたWebサービス脆弱性が多いという都市伝説もある。真実は闇の中である

近年のバージョンアップ比較的良い方向に向かっている(と個人的には思う)ので、選択肢としては意外と悪くないかもしれない。


5位 C#

Microsoftが生み出した言語で、.NETというプラットフォームを使ってWebサービスを、Unityというゲームエンジンを使ってゲームを作ることができる。

最近有名なのはUnityで、今やほとんどの3Dソーシャルゲーム(の一部分)はUnityで作られている。そう考えるとC#プログラマ結構いそうだし将来もある程度安泰かもしれない。もちろん.NETも広く使われている。

ただし.NETUnityも触らない人にとっては基本的に縁のない言語である

なんかゲーム作ってみたいかもなーと思う人はC#から始めてもいいんじゃないでしょうか。


6位 C++

C言語に色々な機能を足しまくってできた巨大な迷宮のような言語言語仕様は複雑怪奇だが実行速度は全プログラミング言語中でも最速レベルなので、パフォーマンス重要な開発において使われる。アプリサービスというよりは、それらを作るためのライブラリプラットフォームなどを作るときに使われることが多い。Web系の会社でいうとGoogleなどは主にC++を使っている。

基本的には初心者が触る必要はない。競技プログラミングを極めたいとかならC++からはじめてもいいかもしれない。


7位タイ Ruby

このランキングの中で唯一、日本人によって作られた言語。作者のまつもとさんは世界有名人である。ちなみに島根県出身、在住。

プログラミングを楽しくすることがモットーらしく、確かに書き味は良い。また作者が日本人なこともあってか日本情報が多く、情報収集という点ではとてもやりやすい。

Ruby on RailsというWebサービスを作るためのフレームワーク世界的に大ヒットしたため、必然的Ruby知名度も上昇した。少し前まで日本Webスタートアップは猫も杓子もRuby on Railsといった様相であった。今は少し落ち着いたようだが今も人気は根強く、Webプログラミングスクール等ではだいたいRuby on Railsを教えているとかいないとか。

Webに興味があるのならRubyから始めるのが一番無難選択肢と言える…のか?まあ悪くはないと思う。今でも需要は多い。スクールに行きたいのであれば黙ってスクールカリキュラムに従いRailsをやりましょう。


7位タイ CSS

これは他の言語とは毛色の違う言語である。というかCSSプログラミング言語と呼んでいいのだろうか?

CSSHTMLを装飾するためのものである。字に色をつけたり、背景を変えたり、レイアウトサイズを変えたりするのは基本的CSS役割である

すごく大雑把にいうと、HTMLで表示する内容(文章画像)を定義し、CSSでその見た目を整え、JavaScriptで動きをつける。というのがWebサービスの”見た目”を作るやり方である

なので、Webに興味があるのであればある程度はCSS知識必要である。が、これ単独で学ぶようなものではない。Webサービスを作る時についでに調べて少しずつ覚えていけば良い。


9位タイ TypeScript

TypeScript比較的新しい言語で、JavaScriptさら拡張したものであるMicrosoftによって開発されている。

プログラムにはデータの型(Type)というものがある。例えば「1」や「2」は数値型、「あいうえお」は文字列型といった具合である。大まかに言うと、この「型」に対して厳しい言語は型チェックによりバグの混入を防ぎやすいがプログラムを書くのが大変、というかコード量が多くなる。型が緩い言語サクサクかけるし短く書けるがバグを生みやすプログラマの力量が問われる。ランキングの中だとJavaScript, Python, PHP, Ruby, Perlあたりは緩く、Java, C++, C, Swift, Go, Kotlinあたりは厳しい。

そんな中、世で広く使われているJavaScriptの型チェックが緩すぎるのでもっとちゃんと型をつけたい、そんな要望を叶えるのがTypeScriptである基本的JavaScript理解している人間が使うべき上級者向け言語というのが現状なので、初心者が始めるには適していない。

ただしこの先主流になっていく可能性は大いにあるので、どこかのタイミングで勉強してみても損はしないと思う。


9位タイ C

C言語基本的OSを作るための言語であるOSというのはWindowsとかmacOSとかLinuxといったもので、マシンを動かすための基盤となるソフトウェアであるAndroidスマホにはAndroid(という名のOS), iPhoneにはiOSが載っている。コンピュータ基本的OSがあって初めて動かすことができ、OS提供する機能を使ってブラウザスマホアプリなどを動かせるのである

というわけで、初心者が学んで実用的なものではない。ただしC言語というのは世の中の様々なものの基盤になっており、他言語文法C言語から拝借しているものが多い。例えばC言語をある程度勉強していればJavaPHPなどはなんとなく雰囲気で書けてしまったりする。

そういうわけで、コンピュータサイエンスをこれからちゃんと学んでいきたいという人(大学生とか)はC言語から始めるのもいいと思う。ちなみに筆者は初めて書いた言語はCであるが、意味理解できるまでに2年かかった。才能がないとこうなるので注意。


11Swift

SwiftAppleによって作られたAppleのための言語であるiOSアプリiPhoneアプリと言い換えても良い)を作るためだけに存在している。

言語自体は他と比べて新しいため文法機能イケてる雰囲気があるので基本的はいいのだが、iOSアプリ以外で使っている人は多分世界で5人くらいしかいないと思う。なのでiOSアプリに興味がない人はやめておきましょう。iOSアプリを作りたいあなたは他に選択肢はない。Swiftをやりなさい。


12Objective-C

Swiftが生まれる前はiOSアプリを書くためにObjective-C必要だったため、多くの人がこの言語を使っていた。が、今はSwiftがあるので、古くからあるObjective-Cアプリメンテナンスする時以外に使う機会はない。名前すら覚える必要がないので存在を忘れてしまって構わないが、これだけ順位が高いということは多くの企業がいまだにObjective-Cで開発し続けているということであり、ニッチ需要はこれからも残るのかもしれない。


13位タイ Scala

Scala関数型言語と呼ばれる言語の一つ。Javaの親戚みたいなものなのでJavaとの連携が容易であり、上手く使えば性能も出るしコード量も少ないしバグも少なくて最高、な感じらしい。が、その分難易度が非常に高いので初心者が手を出すものでは絶対にない。どんなに早くても他に二つは言語を覚えてから勉強しましょう。Javaを覚えてからやるのがベター


13位タイ R

R言語データ解析用のプログラミング言語である

正直ほとんど書いたことがないのでよくわからないが、ビッグデータというワード流行りだした頃はデータ解析用途でかなり流行っていた。その後機械学習AIブームが来て、今でも現役で使われてはいるがPythonがどんどん勢力を拡大しているので少し目立たなくなってきた、というのが個人的な印象である。まあプログラミング初心者最初にやるようなものではないことだけは確かである


15位タイ Go

Go言語比較的新しいGoogle製のプログラミング言語で、Googleのように巨大なシステムでの使用目的に作られたものであるしかし実際には様々な企業が利用しており今一番勢いのある言語と言ってもかもしれない。

他のプログラミング言語の良い点や悪い点を参考に設計されており、実行速度の速さと生産性プログラムの書きやすさ、読みやすさ)を両立できるような言語になっている。ただし、機能を増やすのではなく本当に重要機能だけに絞るという思想があるようで、他の言語に慣れていると機能の少なさに不便を感じるかもしれない。

学習コストが低いという点では最初に学ぶ言語として適しているかもしれないが、GoだけでWebサービス等をサクッと作れるのかというと微妙なので、アウトプットを出しにくいというのはあるかもしれない。

二番目や三番目に学ぶ言語としてはオススメ


15位タイ Shell

シェルというのはテレビなんかでハッカー的な人間PCを開いて謎の黒い画面に白い文字を打ち込んだりするアレである説明としては正確ではないがまあ大体そんなもんである。何が言いたいかというと初心者最初に学ぶとかそういうものではない。しかし実際に開発の仕事をやるとシェル知識はあったほうがいいし、シェルに多少詳しくなるとPC上でテキスト操作をしたりファイルをいじったりというのが便利にできるようになる。ただし(通常は)極める必要はない。

Shellと言っても実際にはbash, csh, tcsh, zshなど色々あるのだがそれらをひとまとめにしてShellとなっているようだ。


17PowerShell

PowerShellは上のShellの親戚みたいなもので、ShellがMacLinuxで動くのに対しPowerShellWindowsで動く。そんだけである。あと正直あまり知らない。


18位 Perl

ランキングの中ではかなり昔からある言語で、サーバーと呼ばれるマシンには大体Perlが入っている。そのくらい市民権を得た超有名言語で、C言語C++で書くほどでもない小さなプログラムはとりあえずPerlで書く、というくらいには広く使われていた。インターネット初期はほとんどのWebサイトはPerlで書かれていたとかいないとか。PHPなどの登場はその後である

今でも広く使われてはいるが、RubyPythonPerlの後継的な位置付けであるため、初心者が新しくPerlを学ぶメリットというのはあまり思い浮かばない。何か特定目的があるのであればいいと思う。


19位 Kotlin

Kotlin簡単に言えばBetter JavaであるJavaをもうちょっといい感じに書きたいという気持ちで作られた言語で、Scalaと同じくJavaの親戚のようなものである

ランキングの中ではSwiftと並んでかなり新しい部類。AndroidアプリKotlinで書けるようになったことがきっかけで人気が爆発的に上昇、今ではWebの開発にも使われていたりする。

とは言えまだまだ新参者といった感じで、ドキュメントなどの情報も他の言語に比べると物足りないので初心者には厳しいかもしれない。

言語自体はとてもいい感じなので、もう少しコミュニティ成熟してくれば最初に学ぶ言語選択肢として有力になるかもしれない。


20Haskell

HaskellScalaと同じく関数型言語であるScalaJava的な書き方でも動くの対し、Haskellは「純粋関数型言語」と呼ばれ、ランキング中の他の言語とは一線を画した書き方になる。どう考えても初心者にはオススメしない。少なくとも他に二つは言語マスターしてからやりましょう。


総評

なんとなくWebに興味がありそうならJavaScriptRubyもしくはPHPAndroidアプリに興味があればJavaiPhoneアプリに興味があればSwiftAIデータ分析に興味があればPython3Dゲーム開発に興味があればC#。この辺りをやりましょう。

特に目的がないのであればフィーリングで選んで大丈夫ですが、やめておくべき言語というのはあるのでその辺だけ参考にしてもらえれば。

なお筆者はただのヘボプログラマであり、大好きな記事http://www.mwsoft.jp/column/program_top10.html) の現代版かつより初心者向けなものを書いてみたいと思ってこの記事を書きなぐった次第である。あまり真に受けないよーに。

2020-03-16

anond:20200315225230






















ほぼ毎日使っている一部を挙げたけれども、出勤準備の時間が近付いてきたのでココまで。
気分が向けば追記するかも知れない。

2019-06-05

[]2019年6月4日火曜日増田

時間記事文字数文字数平均文字数中央値
0016721528128.951
0182624476.142
0236324190.039.5
0323224897.741
04132213170.245
05243170132.144
06385128134.957.5
07464903106.667
081461149178.742.5
091381076678.045.5
101851761095.249
112331861579.947
122731906069.835
132101440768.636.5
141721680997.743.5
151931264065.534
1615719480124.136
172171592573.438
182151407165.432
191591109469.837
201411076276.335
212551881473.835
2217122433131.246
231791375876.947
1日347329641085.340

本日の急増単語 ()内の数字単語が含まれ記事

熊沢(8), 英一郎(5), 産み分け(4), カネカ(26), 6月2日(5), 日高屋(12), フルーツパーラー(3), 家庭内暴力(12), 熊澤(4), 手荒(4), ヨット(5), 事務次官(44), ひきこもり(30), 引きこもり(99), 転勤(26), 川崎(18), 女性専用(11), 就い(11), ゴジラ(8), 包丁(14), 法治国家(8), 男性差別(28), 息子(45), 下着(21), 痴漢冤罪(12), 迫害(11), ドラクエ(11), 女性専用車両(35), 報道(38), 殺人(31), 死ね(65), マスコミ(18), 殺し(50), 殺さ(36), 障害者(17)

頻出トラックバック先(簡易)

日高屋若い女の子グループがいて辛かった /20190604005659(28), ■anond20190603224216 /20190603230039(26), ■優生学自体は正しいでしょ /20190603174014(20), ■虐待を受けてた中卒引きこもりだけど辛いから話を聞いてほしい /20190603232856(16), ■過労退職氷河期世代だが「一人で死ね」の言葉が怖い。 /20190603022621(15), ■いまだにアニメ好きなおっさんいる? /20190603181500(15), ■何かを「決定する」メソッド名 /20190603165611(15), ■恋人に対して顔や胸や学歴など一切求めてないがそれでも破綻する /20190604185249(14), ■復讐したいんだけど /20190604135622(12), ■リベラル本音 /20190604085340(12), ■zshの読み方を決めよう! /20190604160730(11), ■飲み屋に出没するクソおもんないおっさんから罰金を徴取する財団作りたい /20190604001842(8), ■ /20190604180310(7), ■引きこもり自分が怖くて仕方がない /20190604164711(7), ■ /20190604152324(7), ■会社に食い殺された系引きこもりだがもしかしたら殺されるかもしれない /20190603155551(7), ■でもやっぱり殺すのはおかしいよね /20190603224216(7), ■めっちゃ気に入ったエロ小説の作者に感想送ろうと思うんだけど /20190604161727(6), ■マウスパッド敷かない人は /20190604162704(5), ■ハンドルネームをつけてほしい /20190604171300(5), ■三大子供に悪影響を及ぼすストーリー展開 /20190603142716(5), ■オタクのすべてが /20190604211620(5), ■友人がいきなり「オタク迫害されてきた!」と言い出した。 /20190604110849(5), ■ぶっちゃけた話、中年無職引きこもりは全員死んでもいいと思ってる /20190604010657(5), ■「百合」「エモい」等々のオタク用語の脆弱さについて /20190603185809(5)

増田合計ブックマーク数 ()内の数字は1日の増減

6333390(4385)

2018-03-24

anond:20180321224320

Linux教えてくれた先輩がzshのことをザッシュと呼んでいた影響で今でもzshをザッシュと呼んでしまます

2017-01-26

別にzshを使うのは自由だけどさ

posix shellかbashで動くスクリプトを用意してくれよ

プラグインインストールのためだけにいちいちzshを入れたくない

2016-04-18

出る杭を打つ技術

若者の成長曲線は半端なく、おじさんエンジニアは日々恐怖を覚えます

出る杭はちゃんと打っておきましょう。

環境の弄りがいのあるツールを教える

Emacs, VIM, zsh, tmuxなど…設定のいじりがいのあるツール理想環境を追い求めても終わりはなく、コンフィグはどんどん膨れ上がるばかりです。

それらを「一流のプログラマは、一つの道具にこだわりとことん使い尽くすもんだぜ」とでも言って、ずっとDotfilesのリポジトリばかりいじるようになってくれれば、彼らがプログラミングに費やす時間は減るはずです。

バイナリアンにさせる

いくらアプリケーションが作れても、低レイヤのことが分からないとダメだと刷り込みます

プログラムがどうやって起動するか分かってる? えっ、mainを書けばそれが呼ばれる? あのなぁ、_startというのがあってだな…」

無駄に低レイヤに詳しいおじさん力を活かして、あたか高水言語でオレすげーしてるのは、お釈迦さまの手のひらの孫悟空みたいなものだと、思わせていくのです。

そうこうして、若者たちバイナリエディタを眺めて、「ふむふむこのファイルは〇〇だなっ」などと口にするようになったら儲けものです。高機能IDEを使うよりも、バイナリエディタを愛用しそこに時間を使うようになるでしょう。

安定しないものに飛びつかせる

安定したプロダクトは、あっという間に習得してしまい、我々おじさんたちが安定するまで四苦八苦して身につけたノウハウは、「あっ、いまはそんなことしなくても大丈夫っすよ。昔は大変だったんすねw」と一笑に付される恐れがあります

Javascript界隈など、安定しないプロダクトを積極的に使わせるように導きましょう。そこでGitHubにIssuesを上げまくるようになれば、時間を費やさせることができるでしょうし、さらには「このプロダクトはいつまでたってもクソだから、オレがもっとイケてるやつを作ることにしましたよー」なんて方向に向かわせることができれば、しめたものです。

作業でやればすぐ済むことをツール化させる

若者作業スピードの向上はかなりのものです。おじさんたちの体力と作業スピードでは到底かないません。

そこで、「若いんだからそんなこと手作業でやるんじゃない。ツール作っておけば、次からは一瞬で済むようになるだろうっ」と言ってやりましょう。若者ツールを作っている間に着々と作業すませてやるのです。

イベントに登壇させる

プレゼンというのは慣れてないと、激しく時間を使います若者にはイベントの登壇機会を積極的にあたえ、そこで時間を使わせてやりましょう。

「ここで、〇〇って質問きたらどうする? えっ、考えてなかった? いやー、じゃあこれも調べておかないとねぇ」

なんて、いいながらレビューしてあげて、どんどん深みにはめてやりましょう。

2016-03-12

Chromeブックマークバーを表示するのはやめましょう

私はオンラインブラウザゲーム戦争をしていました。

個人ランキング1位です。

しかし、クリック誤爆して別のサイトを表示してしまいました。

急いでブラウザバックするもランキング3位に下がりました。

心が折れました。

ちなみにマイナー日本じゃ誰も知らないと思うけどLegend Knightプレイしています

サーバ63でプレイしています

ですがもう疲れました。

ゲームにハマるとrailsアプリ作ったり、Vimプラグインを書いたり、zshスクリプトを書く時間がなくなりました。

引退を考えなければならないのかも知れません。

でも引退する前にライバルを潰しておきたいのです。

こうやってブラウザゲームにはまって時間を搾り取られていくのです。

からブラウザゲーム運営は儲かるんですね。

http://legendknight.com

話がそれましたが、Chromeブックマークバーを常に表示すると損しかありません。

必要ない時はブックマークバーを非表示しましょう

2015-12-28

Vimキーバインドを忍ばせる人々

(Qiitaのほうに2019年版があるので今はそちらを…。こちらは2015年版な感じです。)

Vim(あるいはvi)のキーバインド提供する人がいる。

Vimの外でもVim風の操作ができたりするのは彼らのおかげだ。

デフォルトオプションプラグインアドオン、様々な手段提供されている。

Vimを使っている人でも使うかどうかは人それぞれだし、

どの程度Vim再現できているのかも実装によってまちまちなのだが、

なんだかんだで有名どころのテキストエディタ統合開発環境では何らかの形で提供されることが多くなったように思う。

以下は提供しているソフトウェアの一覧。

(一覧に無いものは私が知らないか忘れているだけなので、実際にはまだあると思う)

統合開発環境名称
Visual Studio VsVim
Xcode XVim
Eclipse Vrapper
NetBeans jVi
IntelliJ IDEA IdeaVim
MonoDevelopVi Mode
Qt Creator FakeVim
テキストエディタ名称
EmacsVIP
EmacsViper
EmacsEvil
AtomVim mode
Atomvim-mode-plus
Sublime TextVintage
Sublime TextVintageous
Brackets vimderbar
Visual Studio Code Vim
Light TableVim

他にもブラウザ向けのアドオンとか。

ブラウザ名称
FirefoxVimperator
FirefoxVimFx
FirefoxVimium
ChromeVimium
Chrome Vrome
ChromeVichrome
Chrome cVim
OperaVimOperate
Opera wasavi
Safari sVim
Safarivimari

いくつかのコマンドでも。

コマンド分類
bashシェル
zshシェル
kshシェル
tcshシェル
yash シェル
tig gitインターフェース
less ページャー
cgdb デバッガ
LuaKit Webブラウザ

hjklでスクロールできるWebサービスとか。

名称操作
Twitterjk前後の項目に移動
TweetDeckjk前後の項目に移動
Facebookjk前後の項目に移動
Google+jk前後の項目に移動
Tumblrjk前後の項目に移動
GitHub jk前後の項目に移動
Pocketjk前後の項目に移動
Pixiv(複数投稿) jk前後の絵に移動
ニコニコ静画(漫画) jkスクロール
ニコニコ静画(電子書籍) hjklで前後のページに移動(wasdでも可)
はてなブックマークjk前後の項目に移動

ゲームも。

名称操作
nethackhjklで上下左右に移動(yubnで斜め移動)

追記

viのhjklは先行する何かの影響で実装された記憶があるので、操作共通からというだけで「viを忍ばせる」というのは言い過ぎではないかという気がする

> まして「vimを忍ばせる」というのは、ちょっとその、まあなんというか…

かにVimではなくvi模倣だったりして無理があった…。hjklの大元を辿るとどこに辿り着くんだろう(ビル・ジョイの使っていたキーボードとは別?)

2014-09-15

機能がどこにあるかわからないなら検索すればいいんじゃね

全ての機能がpecoやpercolのようなものを使ってインクリメンタルサーチしてアクセスできればいいと思う。

そうすれば抽象的に覚える事すら不要で、機能名の断片を覚えていればよいだけなので機能名の断片をタイプするとそっこーで機能アクセスできる。

そう思ってなんでもpecoで選択するようにしたらzsh(+vim + unite)だけで全てが事足りるようになった。

機能のなにかが変わっても糊付けしてるpecoをwrappしてるシェルスクリプト変えるだけなのでたやすく変更にも追従できる。

GUIみたいなまだるっこしいものに頼るよりCLIで過ごせばイイ。ほんとpecoとかpercolオススメ

そんでこれらはエンジニア向けの機能じゃねーかってつっこみがあるかもしれないが、インクリサーチを使う条件自体

タイピングできること」、「機能名や選択候補の断片を記憶してればいい」だけなので、バカに優しいし実は一般の人向けなUIなんじゃねえかとおもう。

例えばOfficeリボンみたいなものを用意するのと同時に、大量の作業を素早くこなしたい人向けにインクリメンタルサーチつければいいとおもう。

例えばintellij ideaのSearch everywhereみたいなかんじに。選択候補が絞られる度に選択候補機能リボンUI位置がユーザにわかるように絞られる演出がされてればなおベター

2014-09-02

なぜ kill -9 $$ が悪いのか誰も説明してない

震源地突っ込み: http://qiita.com/richmikan@github/items/2c90ddb778a7d4948324

別箇所の突っ込み: http://mattn.kaoriya.net/software/unix/20140901133437.htm

kill -9 $$ じゃなくてそれ HISTFILE を unset することでも実現できるよって突っ込みなのだけど、それはほかの方法提示であって kill -9 $$ を避けた方が良い理由になっていない。

一連のやりとりを眺めた中で関係がありそうだったのは

くらいだし、

  • SIGKILLで抜けるとtrapなどでの後処理が走らないからまずい

というのは全く別の話題である。(それはそもそもSIGKILLで終わると問題のあるプログラムの方が恐ろしい)

まり単なる好みの問題以上の説明をせず、ここまでぐだぐだ語れる界隈はキモい

個人的に考えた kill -9 $$ があまりよろしくない理由

何やってるか直感的に伝わらないから。HISTFILEを消すなら履歴を残して欲しくないのだなと言うのが分かるけど、ログインシェルプロセス強制終了させることが履歴更新抑制するため、とは、説明されないと分からない。明瞭さは独創性よりも良い。

bashで考えてんじゃねーよ、という突っ込みに対して思うこと

bash だったら HISTFILE かも知れないけど、すべてのシェルがそれでうまくいくなんて誰が保証するの? みたいな反論もあったけど、同じ事は kill -9 $$ にも言えるわけで、コマンド履歴保存シェル通常終了時の処理だなんて誰が保証してるんだ。

2014-05-23

ジェンツーは最高

ジェンツーは最高

gentooを使い続ける理由とも言えるかも知れません。あくまで主観なので反論はうけつけてないです。

ホクホクしたのでかきます

僕は小学生の頃からずっとGentooだったので、その視点でゲンツーをアゲていこうと思います

Fontconfig - Gentoo Wiki

速い。

タワーPCとかはでかくてbadなんだけど、なんでgentoはmac miniとかimacみたいなスリムなやつにも入っちゃう

site:packages.gentoo.org inurl:package/media-fonts/ ちなみにぼくはInconsolataとRictyあたりが好きです。

理不尽にキレてるだけです。なんでGentooexe使えるんですか。 Gentoo Packages /package/app-emulation/wine

macに入れればデュアルブート出来るかも知れない。適当にいった。

これは結構かいと思いますZsh - Gentoo Wiki がすごい使いやすい。cdするときもいちいち打たなくていいしなんでなんだよ。あとrubyも標準であるportageって重要ですね。

  • 全体的にUIがダサくない

ダサダサダサくない〜w

はいってもxfce4.10からUI結構良くなったと思いますしかし、タッチパネルかいらないし使いやすいところもあるのではないでしょうか。どちらでも楽につかえると良いなと思います。でも色はもうちょっと工夫して欲しいところはありますね。僕が言うのもなんですが。

こんな感じでしょうか。偏見で書いてみました。実際使ったgentooほとんど学校のものなので、スペックに関しては「もっといいのあるよ!」ってのもあるかもしません。ともあれ、僕はgentoo一つ欲しいですね。

ウインドーズはクソ - kurotei datebook

2014-03-26

http://anond.hatelabo.jp/20140326141929

bashzshが使えるということは、Linuxや*nixのコマンドを一通り知ってることを意味してるからなあ。

あとプログラム書くよりはエディタ検索・置換機能Excelに貼り付けて式を追加したり、場合によっては目grepや目diffすら使って仕事をする方が楽な場合ほとんどだしね。プログラミング重要だけど、道具の一つにすぎない。

http://anond.hatelabo.jp/20140326141929

シェルスクリプトを物凄く詳しい人は、自分の事をzsh/bashでのプログラムが得意なんです!なんて絶対言わないと思う。

補助的なもので、ホントに巨大な物を作ろうと思えば遅すぎて使いものにならないし。

その辺詳しい人ってのは、普段からターミナルベース仕事してる人だろうし、「プログラム」は別の物をメインで必ずやってるだろうし。

その中で、PHP/JavaScriptは「それしか使えない」人間が多いと思う。

それこそターミナルコマンドすら知らない人間も。

ある程度のことは理解なんてしてなくてもコピペでできるし、設計書通りに組み立てるくらいならもはや一昔前の事務作業と同じレベル

C#なんかもそう言った事務作業レベルのことをやらせ職場が沢山あるから同じように受ける。

その辺の人に、他の言語をやってみて、って言ったら全く使い物にならない感を受ける。



まあ、「コレ出来ます」っていう自己申告、っていうのと、実際何が出来るかってのはつなげづらいけどね。

2014-02-22

http://anond.hatelabo.jp/20140222204121

そこかwてっきりシェルスクリプトのことを良く理解せずにシェルとか言ってるんだと思ったら

さらに斜め上を言ってたw

環境変数すら知らない子だったwww

ねえねえ、なんでchshがvim開くか知ってる?ねえ、知ってる?

しかMacしか使ったことない子かな?

まさかこんな子がFreeBSD使ってるとは思えないしwww

zsh使ってる俺かっけーwwwとか思ってるんだろうなwww

2013-03-27

プログラミングの初級になるためにの目次

http://anond.hatelabo.jp/20130325172822 の続き

言語Java7を想定。(Java8が迫っていますが、Lambdaなど関数型は、まだ早いと言うことで)

定理由は、C++比較して学べるところが大きく、安全シンプル言語から

※いきなりJavascriptはやめとけ、PHPは論外。

RubyScalaでないのは、筆者が初心者には適切には教えられないから。

おもちゃToyとしてjQueryで遊ぶのは、悪くは無いと思う。

0.はじめに

これ以降は名著の紹介や学習方法の紹介が主体となります。名著のコンポジションという形が時間限界ですね。

量については「初級になるなら、専門書を計3,000ページは修得することは覚悟してね」なんて言ったりしています

Javaで初級のわかりやすい指標ですと、[amazon:Effective Java]とGoFまでの修得。

初級になるまでに登竜門への挑戦期間を含めて、3~4年はかかっても仕方が無いとも思います

※逆に「一山いくらのコーダー」というのは、Effctive JavaGoFが達成している技術も知らずに「自分Javaプログラマー」だと誤解してしまっているような人達です。

そういったコーダーは何年経とうとも初級プログラマーにすら敵いません。

初級を目指して、プログラミングを楽しんでください。

ただ、学ぶべきことはべらぼうですが、「各分野毎に、エレガントな方法がある。だから探して修得する」ということが大切です。

※「一を聞いて十を知る」ような優秀な人に、50冊くらいドーンと本を置いてあげて、各本の目次を読ませるだけで、

底の見え無さを悟ってくれたりすると、嬉しくなってしまます

※余談ですが、その底の見え無さは数学という学問のものですね。例えば、関数型言語の底流に「圏論」というここ100年の最新の数学があります

また中級くらいで、Liskovの置換原則などが載っている本を紹介しますが、

そのLiskovの置換原則の周辺で出てくるcovariant(共変)って、圏論という数学概念だったりします。

数学出身としては、数学現実に活かされている嬉しい事例です。

閑話休題

1.目次

1)エディター・コマンドライン正規表現友達

「速く正確に大量の出力」という能力は、プログラミングをする上でも、ドキュメントを書く上でも、何より「つまら仕事」の時間圧縮ができるようになるため、重要です。

スローガンとしては「思考のスピードで出力することを目指そう」です。

紹介するエディターはemacsvimExcelです。ついでにIMEとしてATOKを使用しているため、ATOK操作Emacsライクにする話も紹介します。

ExcelWindows環境Meadowすら入れさせてくれない場合最後の砦という扱いです。

コマンドラインは、「コマンドラインというものがある」「時として非常に強力である」程度の紹介です。

※筆者はzsh全然使えません。使いこなしている方々と接する度に「勉強しなきゃな~、でも、あっちの方を先にやりたい・・・」とグズグズして、はや何年・・・

正規表現は置換を用いて、テキストの一括編集重要です。後、遭遇したくない事態ですが、スパゲッティコードの解析をする上での最後の砦です。

※遭遇したくない例

ん?何か変なところで副作用のある処理があるようだなぁ(消沈)、SQLのInsertかUpdateか一応Mergeも使っているところから逆算して原因箇所を探すか・・・(諦念)

この糞コードがっ!!こんなところに書くんじゃねぇ!!(憤怒激高)

(ここで、他にやらかしていそうな似たようなコード正規表現grep検索。改行コード込みにすれば複数文検索も可能)

わはは、予想通り共通化すべきロジックメソッドがそこら中にある・・・

2)アルゴリズムに始まりアルゴリズムに終わる(データ構造アルゴリズムの一部という認識言葉を使っています)

入門編で一つLinkedListというアルゴリズムを学びました。

少なくとも一つ本を読みながら自力でアルゴリズムを学べる人なら、大成できる可能性があります

前に紹介した[amazon:C++実践プログラミング]には、LikedListやStackなど基本的なアルゴリズムが載っておりますが、

これに加えて、初級になるためにはこれくらいは知っておいて欲しいというものを紹介します。

※後、最初から必ずしも手を出さなくても良い上限も紹介いたします。

3)正・不正の定式化・自動テスト・ロギング・アサーション・例外・契約プログラミング

プログラムは、データ入力して、加工して出力・保存する処理の繰り返しです。

まり、各一連の繰り返し毎に、「正しい入力」「正しい出力」を定式化する必要があります

それを人間の手では無くコンピューターやらせられるように、つまり自動テストできるようにテストプログラミングします。

そこで処理の進捗を確認するためにロギングし、処理が想定通りであるかをアサーションでチェックし、

不正入力不正な出力=例外が起きたら、対処策をプログラミングします。

(ex 途中で処理を中断して、入力者に適切な入力メッセージを伝えてあげる。入力自動補正などもあり得る)

で、ここら辺をまとめてどうあるべきかとして「契約プログラミング」があります

※余談。定式化・テストに際して、数学畑の人間としては、Javaだとequalsのオーバーライドでも必要になるし、同値関係同値分割だけでなく、集合論群論から学んで欲しい・・・(ここいらは数学科学部1~2年の学習内容)

4)名著を読め、新たな名著を探せるようになれ・素晴らしい人を見つけたら、縁を大切に

名著は英語で読みましょう。名著が名著たる由縁は、度々引用されることにあります

まり最新の技術書を読むときに、引用された名著のフレーズが、新旧のリンクをなし、理解の助けになります

対話は学問をする上で非常に重要です。

壁打ちといって、独り言で思考補助をするよりも遙かに有益です。

※素晴らしい師匠を探すなら、大学行くのが一番ですが、見聞を広げていく中で出会いを待つしかないとも思います

5)オブジェクト指向とはなんぞやとGoFデザインパターン + マルチスレッドプログラミング

マルチスレッドが難しいのは「バグを起こしにくいプログラミング」を求められるから

まりTry and Errorからの決別が求められ、今後の仕様変更拡張も踏まえて慎重に慎重にデザインする必要があります

できる限りステータス変数を持たずに安全に、でもマルチスレッドにするのだから効率を追求しなければ本末転倒

でも効率のためにはメモ化に代表されるキャッシング必須と、アンビバレンツな要素のバランス取りが難しい。

このために、リエントラントな実装・抽象と実装の分離など様々なエッセンスを駆使することが必要です。

床屋哲学者問題

6)日々コツコツと

というよりも孔子曰く、知っているよりも好きであること。好きであることよりも楽しめることのほうが強く、

気づいたら日々時間が許す限りプログラミングをしてしまうのが理想です。

仕事として嫌々スキルを磨かなきゃということが、これほど不幸な職業も無いですね。

余談 FizzBuzz写経について

FizzBuzz」は、本来の目的通り、協力会社の選定の際の足切りには便利ですが、

学習の達成度を測るには、簡単すぎる不適切な問題ですね。

写経

数学畑の人間として言わしてもらうと、

写経数学証明問題を、教科書テンプレ通りに、数値や名称だけ変えて記述することしか出来ない人の発想。

まり矛盾無く一貫した論理モデル」の構築が自由に出来ず、テンプレの微修正しか出来ない人の発想。

また、外部の「矛盾無く一貫した論理モデル」の吸収が不自由で、アルゴリズムを「手順」としてしか捉えられないように見受けられる。

プログラマーとしての大成は見込めないと思う。

数学畑として提供できる試金石

連続であること確かめるための「ε-Δ論法」(数学科学部1年の学習内容)

事前知識無く、このモデルを理解できる人は、十分に「矛盾無く一貫した論理モデル」を構築できる人。

1.まず「連続」とは何ぞやと考えて概念を膨らませてください。

2.十分思考できたと思えたら、Wikiあたりでイプシロン デルタ論法を見てください。

2013-01-18

続・うへぇ苦労するのガイドライン

前のはこれ http://anond.hatelabo.jp/20121219191602

PC-98

http://toro.2ch.net/test/read.cgi/unix/1036951410/601

601 :名無しさんお腹いっぱい。:2012/07/10(火) 15:04:00.62
今月はじめ、職場に古いパソコン(i486DX2の結構ローエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要がありハードパソコン系を採用するのは聞いていたの 
ですが、搬入されたパソコンのダンホール箱に印刷されていたのはPC-9801という 
文字でした。 

「うへぇ~、よりによって98かよ」 

NetBSD/OpenBSDインストール不可、Solarisも不可、SATA-HDDからブートできるのか、 
今時のLCDディスプレイにつながるのか、FreeBSD9.xは対応してるのか、 
今時のネットに繋いでもセキュリティ大丈夫なのか不安はつきませんし、 
非メジャーなのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一コンソールでの漢字ROMによる日本語表示ができたPC-98大学など 
教育機関に浸透していて、日本パソコン界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、makeしてもemacsが入らない、 
TeXが入らない、firefoxは使えないのか、Rubyが使えないのかなどと、 
サバ管気取りの偏ったどうでもいい我侭を言い出し、(だから鯖にするんじゃねーよ、 
鯖の常識で話すなつーのに)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去20年のパソコン界隈のくだらないそれらの 
議論が再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではPC/ATでもSPARCでもPA-RISCでも 
PowerPCでもなんでもいいですがメジャーかつ現行のマシンにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

Z80

http://toro.2ch.net/test/read.cgi/unix/992942337/737

737 :名無しさんお腹いっぱい。:2012/09/16(日) 16:27:31.40
今月はじめ、職場に新しい組み込みマシン(ファンレス結構省電力構成)が入りました。 
多分私が開発全般をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、プログラムアセンブラを使用するのは 
聞いていたのですが、添付のサンプルソースコードからチラッと見えたのは 
LD A,(HL)という命令でした。 

「うへぇ~、よりによってZ80かよ」 

アドレッシングモード皆無、リロケート不可、使いにくいインデックスレジスタ、 
今時の関数引数スタック渡しに対応できるのか不安はつきませんし、 
今の若者はこんなCPU使わないので人材も少なくソフト開発も大変です。 
おそらく導入に際して、大学など教育機関最初Z80に触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、8bitCPUi8080上位互換i8085よりも多くのツギハギ命令を追加拡張した 
Z80大学など教育機関に浸透していて、日本CPU界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、ADD A,(HL)はできるのにADD B,(HL)は 
できないのかとか、相対アドレスのCALL命令はないのとか、 
スタックフレームポインタとして使いたいのにLD HL,SPっていう命令ないじゃんとか、 
アセンブラ通気取りの偏ったどうでもいい我侭を言い出し(だからZ80使うんじゃねーよ) 
それと戦わなければならないのでしょう。そして時代によって決着している、 
過去30余年のCPU界隈のくだらないそれらの議論が再現され、それに巻き込まれるの 
でしょう。もう今からうんざりです。 

だからお願いです。教育現場ではi386でもi568でもi686でも 
x86_64でもなんでもいいですが現行のCPUにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

xinit

http://toro.2ch.net/test/read.cgi/unix/1011306728/134

134 :名無しさんお腹いっぱい。:2012/07/15(日) 14:17:53.53
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、X Window System上のアプリケーションを 
使用するのは聞いていたのですが、OSを起動して黒いバックに白い文字だけの 
英語の画面に表示されていたのはlogin:というプロンプトでした。 

「うへぇ~、よりによってxinit方式かよ」 

CUIログインなんて古い、コマンド入力なんて古い、今の奴は日本語入力設定大丈夫 
なのか(XMODIFIERS)、今時のマルチシート環境対応できるのか不安はつきませんし、 
xinitユーザーが少ないのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にxinitに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、X11で唯一$HOME/.xinitrcを手書きするというCUI方法環境設定できた 
xinit方式は大学など教育機関に浸透していて、日本X11界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、GNOME/KDEはどうやって起動するのか、 
ウィンドウマネージャを終了したらXごと落ちたとか、ck-xinit-sessionはないのか 
などと、X11通気取りの偏ったどうでもいい我侭を言い出し(だからxinit方式にするん 
じゃねーよ)それと戦わなければならないのでしょう。そして時代によって 
決着している、過去25年のX11界隈のくだらないそれらの議論が再現され、 
それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではgdmでもkdmでもwdmでも 
xdmでもなんでもいいですがグラフィカルなディスプレイマネージャにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

tcsh

http://toro.2ch.net/test/read.cgi/unix/1094041299/383

383 :名無しさんお腹いっぱい。:2012/07/12(木) 19:20:13.06
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、制御コマンドとしてシェルスクリプトを 
使用するのは聞いていたのですが、そのファイルを開いて1行目に書かれていたのは 
#!/bin/tcshという文字列でした。 

「うへぇ~、よりによってtcshかよ」 

ファイル記述子のリダイレクト不可、クオートのネスティング等に無理あり、 
今の奴でさえシェル関数は使えないし、パイプラインの終了ステータスおかしいし、 
今時の担当者が扱ってセキュリティ大丈夫なのか不安はつきませんし、 
スクリプトとしてのcshは嫌われるのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初cshに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、シェルで唯一aliasやhistoryやジョブコントロール機能が使えた 
csh大学など教育機関に浸透していて、日本シェル界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、$*でスペース入りファイル名が扱えないとか 
$<でファイルから読めないのかとか、if文の条件式のコマンドリダイレクト 
できないのかなどと、シェル通気取りの偏ったどうでもいい我侭を言い出し 
(だからcshスクリプト書くんじゃねーよ)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去25年のシェル界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではbashでもzshでもkshでもashでも 
Bourne shでもなんでもいいですがBシェル系のシェルにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

続く。

2010-04-08

http://anond.hatelabo.jp/20100408194404

普通エディターに比べてかな。秀丸だとか、そこら辺。

zshとかだとFinderとかExplorとか。

マウス使わなきゃいけないようなソフトに比べると効率が良いと思う。

http://anond.hatelabo.jp/20100407183029

別にマウスゼスチャ死ねまで思わんけど、ファイラーzsh使って、ブラウザvimperatorエディタemacsvim使えばマウス使わんで快適ではある。

もちろんキーボードHHKBな。

ログイン ユーザー登録
ようこそ ゲスト さん