「設定ファイル」を含む日記 RSS

はてなキーワード: 設定ファイルとは

2020-06-24

neomutt installationに長時間要する

めちゃくちゃ長時間かかったわ。なにもの曲者?やっとこさインストールできたとおもったら次は設定ファイルでもがくんだろな???やっとこさうまくいかしたとしても結局ウェブメール見た方早かったちゅーはなしになんのかな?はあちゅー。

2020-06-19

センスのない奴はプログラマになってはいけない

センスの無い奴の問題は、知識がないことではなく、頭がおかしことなんだ。

これは後天的に直せない。そして、センスのないプログラマ他人迷惑をかける。だからセンスのない奴はプログラマになってはいけない。

たとえば、BMI計算するプログラムを作るとしよう。

こんなのは誰でも書ける。身長(m)と体重(kg)を受け取って、(体重)÷(身長*身長)を計算して出力するだけだ。

GUI等をつけたとしても、総コード行数10数行で実装できるだろう。

ところが、センスのないやつは全く違うことを考える。

彼らの一部は、BMI計算するプログラムを作るのに、なぜかユーザー登録画面を作ろうとする。

そして、身長体重のほかに、年齢や性別などの様々なパラメータ管理できるようにし、それらのパラメータを日ごと、あるいは週ごと、あるいは月ごとに入力できるようにし、指定期間での推移をグラフで表示するシステムを作り出す。

ユーザーごとに管理するパラメータの種類は増減するため、BMI計算する場合、「身長体重はどのフィールドに格納されているか」というような間接的な情報必要になり、それを記載した設定ファイル等を読み取る別のプログラムを作り出す。

BMI以外の様々な指標計算させるために、設定ファイルに書ける独自DSLのようなものを作り、パラメータ同士の加減乗除や、指定した期間の移動平均などを計算できるようにする。

データ定義にもとことん拘る。単位を何にするかとか、グラフで表示したときに何色にするかとか、軸に単位を表示するかとか、スケールからはみ出したときにどう表示するか等のありとあらゆる情報を各パラメータに対して定義できるよう設計する。

こうして出来上がった巨大なシステムは、身長Hと体重Wを入力すると、W/H*Hの結果を表示するためだけに使われる。

既に述べたように、ここで問題なのは、彼がYAGNIYou Ain't Gonna Need It.)という原則を知らないことではない。

普通開発者ならあえてそんなことはしない」ということを自然に行ってしまうこと。これが本質的問題なのだ

ちなみに、センスのない奴の頭のおかしさというのは、本当に常軌を逸している。だから、読者がすっと腑に落ちるような例を挙げることは極めて難しい。

たとえば、「数学ができない生徒がいる」という現象説明するためには、「計算問題は解けるが、文章問題は解けない」というような類型を示すことができる。しかし、「センスのないプログラマ」は、常人世界観を超越しているので、そういうシンプルな例示や説明ができない。上に書いたたとえ話ですら、実在する彼らに比べれば、まだマシなのである

2020-06-11

設定ファイルを外出しにする」の別の言い方

「外部ファイル化する」

題名みたいな書き方だと、エロい事考えてしまうから良い言い方無いかなって考えてた。

やっと名前が出てきた。

2020-05-19

Dockerの速習

7. Docker原則

Dockerには1 コンテナ1プロセスという原則があります

なるほど、そういうものなんですね。

 

Dockerは、「Dockerfile」という設定ファイルを作って運用するみたい。

手書きコマンドをまとめるのは、結構大変そうだから、こういう設定をGUIツールでチャチャッと済ませたい。

最初は、仕組みの理解のために手書きでやってみよう。

 

説明を最小限にして、操作の手順だけをまとめたら、これだけコンパクトな文量になるんだな。

 

なんとなく、インストール作業操作雰囲気がつかめてきた。

もう13時だし、ここらで試しにインストールしてみるか。

トラブルに遭遇したら、都度エラーメッセージなどで調べながら進んでみる)

2020-04-29

ソフトウェアエンジニア生産性10倍違う説は本当だった・・・

ちまたにソフトウェアエンジニア生産性10倍違う!なーんていう話を聞くことがありました。

ほんとかよ!と思って生きてきました。そんなことあるはずない・・・と。

去年、あるエンジニアと3ヶ月お仕事しました。

年齢は40代くらいの経験のあるエンジニアさん(仮にAさん)で、単価はおそらく75~90万円/月といったところで、3人月フルコミットでした。

一方、私は、1人月(0.5人月、0.2人月、0.3人月で3ヶ月)の稼働でご一緒しました。

Aさんは、バージョン管理ツールログで、変更行数(追加と削除を合わせた数、※1)が、だいたい1ヶ月7,000行くらい。

私は、バージョン管理ツールログで、同様に変更行数が、1ヶ月だいたい130,000行ぐらい。

うーん、まじなんなんだこの差は。10倍説を認めざるを得ない・・・

自分ができるエンジニアだとは全く思わないけどいくらなんでもひどすぎないか

もちろん担当した機能領域とか、自動生成のコードがあるとか(全体に対して過度に多いわけではない)、

テストデータかに応じて程度の差こそあれ、10倍以上の差が出ている・・・

品質に差があるんじゃないかって思うでしょう?

正直Aさんの品質は良くない。まともにまともに動いていても仕様漏れ考慮漏れがあたりまえの状況。

(※1)

この対象には、もちろん設定ファイルとかテストデータとかDDLとか、実コード以外の周辺のファイルもすべて含まれています

端的に言えばリポジトリコミットされたすべてのデータ

自慢ではありません、ちょっとやるせない気持ちになったので、仕事愚痴でした。

[追記]

なんだかんだ反応があって嬉しい。

あくまバージョン管理ツール上の差なので、リファクタリングパッケージ移動的なことをすると当然行数が増えます

たまたまリファクタリングを多く行ったので、差分が多く出ただけじゃないか?と結論付けられるのも別良いです。

私的感覚を表すために行数を測ってみただけで、行数の絶対値生産性を測りたい意図はなく、相対的な数値の差がでている、というニュアンスです。

2020-03-05

anond:20200305183316

editorconfigの設定ファイル置いとけば大概のエディタは読んでくれるやろ。

2019-12-18

地獄の社内SE

社内SEになった。

仕事を辞めて主夫業に勤しんでいたら、知り合いから声がかかった。

1人で社内システムを作ってきたおじいさんがあと数年で定年になるから

引き継げないかとのこと。

メインのシステムベンダー委託してて、そのおじいさんが作っているのは、

メインシステムデータを加工して2次利用しているものほとんどとのことだった。

社内SEはなんとなく楽そうなイメージがあったので、就職した。

言語エクセルVBAとVB.NET 1.0。

中身を見るとどちらもかなりやばい

VBA編

ウォッチウインドウを知らないのか、変数はすべてセルに入れてる。

 変数名はすべてRANGE("A1").valueみたいな感じで全く意味が分からない。

・処理遷移がおかしい。

 セルに1を入れる。そのセルchangeイベントで処理が動くとか。

 SHIFT+F2が無力化されてる。

・なるべくワークシート関数で処理してる

 データベースからとってきたデータを丸ごとワークシートにコピーして

 if,vlookup,match関数を駆使して帳票にしたり、CSVにしてる。

 データ100件制限があったり、1関数を直すときは100行コピーしないといけない。

 画面中に埋め尽くされたワークシート関数をみて途方に暮れる。

・format関数を知らない。

 8桁の日付をとりたいときyear、month、day関数がワークシートにあり、

 その下の行で月の二けた判定、日の二けた判定のif関数で頭の0をつけ

 3行目でconcatenateしている

タイマー起動

 毎朝100本ぐらいのマクロが動いてる。

 タイマー起動なので、毎日セットしないといけない。(タスクスケジューラーを知らない)

 がんがんエラーが発生するので、マクロ設定をエラー処理対象外エラーで中断にしないと動かない。

・遅い

 textboxのchangeイベントでDBからデータ取得処理を入れているので、データが多くなると1文字打つごとに数分待つ状態

 exitイベントを知らないらしい

 DBの更新処理でもテーブル全件とってきて、ループしながらキーが一致するのを探して更新

そんなつっこみどころしかないEXCELマクロが200本以上ある。

VB編

・.NET1.0

 windows7や8に無理やり.netframework1.0を入れて動かしてる。

 顧客PCにも入れてる

オブジェクト名は代えない

 変えられることを知らないのかもしれない

 textbox100とか存在してる。

 EXCEL同様変数は隠しtextboxに入れてる。

設定ファイルおかし

 1.0なのでconfigがないのはしょうがないが、設定ファイルは固定パステキスト

 行数で管理

・WAITがいっぱいある

 試しに取ったら動かない

・DBを最後まで回すとき

 例外が発生するまでまわす。

変数関数スコープ管理

 ない。基本グローバル

クラス

 ない。

ネスト

 ない。

おじいさんが20年にわたって深夜残業休日出勤を厭わず作ってきた、地獄の社内システム担当になったらしい。

2019-11-07

TypeScriptは滅びる。確実に

TypeScriptTS)がJavaScriptの代わりになるだと?確かに型を使えるのは良い。意味不明オブジェクト操作しまくって意味不明な動的型付けするJSに型が追加されたら、そりゃバグも減るだろうよ。でもそれは意味不明オブジェクト操作し、再代入を繰り返すレベルの低いJSerの責任だ。コーダー責任なんだよ。Python意味不明オブジェクト操作しまくるが、JSほどはひどくならない。Pythonも型ヒントなんてものが導入されたが、誰が使うんだこんなの。果てしなく冗長になって糞だ糞。DocStringを充実させるのと型ヒントを充実させるの、どちらがどれだけメリットが有るっていうんだ。DocStringで十分だろ。全員アホだ。話をTSに戻そう。

散々文句を言ってしまったが、型が使えるのにはこしたことはない。TSを始ようじゃないかTSインストールしよう。Node.jsをまずインストールして、TSインストールしたぞ。ついでにgulp、webpackもいるのか。おいまてよ、ts-loader、webpack-cli、webpack-dev-serverもいるのか。何が何のために必要なのかよくわからないが、node_modulesはすでにパンパンだぜ。tsconfig.jsonを設定してsrcとdistを決め、ECMAバージョンも決めたぜ。webpack.config.jsってファイルもあるじゃないか。これも設定が必要なのか?俺はいつになったらHello Worldを書けばいいんだ?なめてんじゃねえぞ!!!なんかに似てるんだよ!これはCだ。C言語プログラムを書こうってときに、コンパイラ必要インストールして、パスを通して、謎のおまじないを書いて、それでよくわからないままHello Worldを出力したあの頃の思い出がフラッシュバックしたぜ!いや、TSはそれ以上に糞だ。なにせ設定ファイルばっかいじってまだ一行もコードを書けてないくせに、ファイルサイズは70MBを超えてるんだからな。「TS コンパイル」で検索したら、なんで「次にgulpをインストールしましょう」なんて記事がヒットするんだよ!糞か?いや糞だお前は!

プロジェクト必要ツールインストールするのは当たり前だって?偉そうなこと言ってんじゃねーぞ!どうせお前なんか先達がすでに準備してくれたプロジェクト環境に後でアサインして、「これとこれが必要からインストールしてね」って言われてそのまんまインストールしたクチだろうが!どのツールがどのシチュエーションで最適なソリューションなんかわかってねえに決まってら!どのツールがどのシチュエーションで最適なんか誰もわかってねぇんだよ!インターネット情報適当に転がってて、お前の先達もDevelopers.IOの記事を読んでなんとなく良さそうだからインストールしてんだよ!全てを正しく把握してるやつなんか日本で3%いたら多いほうだろ。少なくともお前も俺も理解してねぇよ!PHPRuby駆逐するって言われて何年たった?今でもPHPは現役で、RubyPHPの後ろを歩いてるじゃねえか。jQueryが消えるって?同じ理由で消えねえよ!一生やってろばーーか。JavaScriptも消えねぇよ。ECMAアップデートに従って生で書けば十分だろ。こんなコード書くまでにうんこ行きたくなるような設定ファイルばっかいじらせる言語にとって代わるわけねぇだろ。消えるのはお前だばーか

2019-10-16

ハードコーディング撲滅運動

時々「オンコーディング」とも言ってるけど、ようは将来変わる可能性があるのに消費税率を1.08とか1.10と決め打ちでプログラムに書き込んじゃうこと。

変更するにはプログラム修正しなければいけない。

これを避けるため、プログラム内ではなくDB設定ファイルに保持しておき、税率変更があればそこだけを変えれば済むって話。

んで、こういうのを「(プログラムの)外に持つ」とか「外に出す」って言ってる。(こう呼んでるのうちだけじゃないよね?)

もついついハードコーディングちゃうんだよね。

話変わるけど、もし中高生の頃に「外出し」って言葉聞いたら、すげえ想像するんだろうな。

あの頃の爆発的な想像力を今一度欲しいもんだ。

2019-10-06

みんなプライベート端末(windows)の運用どうしてるの?

購入直後ははりきっていろんなファイルとか整理整頓させてるけど使ってくうちにディスクのいろんなとこに大事ファイルとかが散らかってわけわかんなくなっちゃ

加えてソフトウェアとかが重要設定ファイルとかをいろんなとこに勝手に生成するからどんどんごちゃごちゃになっちゃ

それがいやになって定期的にクリーンインストールしたい欲に駆られちゃう

みんなどうしてるんだろう

2019-08-22

プロマネさん「お客さんが、プログラム動かねーて言ってるで」

わい「うーん・・まず、設定ファイル1の書き方にケアレスミスあるな。ここお客さんに書いてもらう場所やが」

PM「ほーん・・あ、お客さんから連絡や。

   設定ファイル2にミス見つけたか修正したと。

   でもまだ動かんからちょっと見てくれや」

わい「設定ファイル1の修正あくしろよ

PM「おっそうだな。でも2を修正したのに動かないのはなんでや?」

わい「」(1もミスってるからやと言ってるやろ・・・

このプロマネさんとのやり取りが、そろそろキツくなってきた。

今日に限らず、ちょくちょくこういうやり取りがあるんだが。

若年性認知症じゃないだろうな?

2019-07-10

外出しを常用するエンジニア

プログラム中にベタ書きされていたパラメータを外部の設定ファイルに書き出す、肥大化したルーチンを外部モジュール化する、といった意味で「外出し」という用語を使ってくるエンジニアがいる。

外出しといえば、コンドームを装着せずにセックスしてイク直前に膣から抜いて射精する行為しかかばないので、「設定ファイルに外出し」「モジュールに外出し」と聞くとワンテンポ理解が遅れてしまう。

エンジニアなら外出しを使い分けられて当然なんだろうか。

2019-06-21

AquaSKK新下駄配列を使うための設定 設定ファイル

自分が昔、(今は非公開にしている)はてなダイヤリーに書いた記事を読もうとしている人がいたので、はてな匿名ダイヤリーに載せます最近MacではKeyRemap4MacBook(後のKarabiner)は使えないですが、AquaSKKの設定部分は参考になるかもしれません。

0 手順

以下の手順で、AquaSKK新下駄配列を使えるようにします。

  1. AquaSKKでの選択ベルを変更
  2. AquaSKK用.ruleファイル作成有効
  3. AquaSKK用のkeymap.confを作成有効
  4. KeyRemap4MacBookでSandSを設定
  5. KeyRemap4MacBook用のprivate.xml新下駄配列用設定を追加、有効
不具合留意

一部のソフトフォントサイズの拡大に使われるControl+Shift+;のキーボードショートカットが使えなくなるという不具合があります。(他にも使えなくなるショートカットがあるかもしれません)

また、AquaSKK以外の入力メソッドでも、新下駄配列になる上、多分そちらでは新下駄配列は快適には使えません。(適時、KeyRemap4MacBookの設定を切り替えてください)

なお、この設定はJISキーボード用です。USキーボードの人はKeyRemap4MacBook用の設定ファイルをUSキーボード向けに修正してみてください。

ショートカットキーの変更

Q,X,Lのショートカットキーは使えなくなります。これらのキーが絡むショートカットキーは以下のように変更されます

カタカナへの切り替え
Control+Q
半角カタカナへの切り替え
Shift+Control+Q
半角英数への切り替え
Control+L
全角英数への切り替え
Control+Shift+Lまたはalt+Shift+L
変換候補を一つ前に戻す
Control+X
変換候補ユーザー辞書から削除
Control+Shift+X
現在入力モードを表示する
Control+;
設定の意味について

各種設定やファイルの内容の意味については、AquaSKK新下駄配列を使うための設定 解説編を参照してください。

1 AquaSKKでの選択ベルを変更

AquaSKK環境設定の「変換」タブの「選択ベル」の内容を以下の通り変更します。

1234567890
2 AquaSKK用.ruleファイル作成有効
~/Library/Application Support/AquaSKK/

に以下の行を含み、ファイル名が.ruleで終わるテキストファイル作成の上、AquaSKK環境設定の「かな規則」タブでチェックを入れます

s/,/,/,/
4 AquaSKK用のkeymap.confを作成有効
~/Library/Application Support/AquaSKK/

に下記の内容を含むkeymap.confという名称テキストファイルを追加した後、AquaSKKメニューから設定ファイルの再読み込みをします。

###
### keymap.conf
###

# ======================================================================
# event section
# ======================================================================

SKK_JMODE		ctrl::j||alt::j||ctrl::shift::j
SKK_ENTER		group::hex::0x03,0x0a,0x0d||ctrl::m
SKK_CANCEL		ctrl::g||hex::0x1b
SKK_BACKSPACE		hex::0x08||ctrl::h
SKK_DELETE		hex::0x7f||ctrl::d
SKK_TAB			hex::0x09||ctrl::i
SKK_PASTE		ctrl::y
SKK_LEFT		hex::0x1c||ctrl::b||keycode::7b
SKK_RIGHT		hex::0x1d||ctrl::f||keycode::7c
SKK_UP			hex::0x1e||ctrl::a||keycode::7e
SKK_DOWN		hex::0x1f||ctrl::e||keycode::7d
SKK_PING		ctrl::;
SKK_UNDO                ctrl::/

# ======================================================================
# attribute section(for SKK_CHAR)
# ======================================================================

ToggleKana		ctrl::q||alt::q
ToggleJisx0201Kana	shift::ctrl::q
SwitchToAscii		alt::l||ctrl::l
SwitchToJisx0208Latin	shift::ctrl::l||alt::shift::l

EnterAbbrev		/
EnterJapanese		Q
NextCompletion		.
PrevCompletion		,
NextCandidate		hex::0x20||ctrl::n
PrevCandidate		ctrl::x||ctrl::p
RemoveTrigger		ctrl::X

UpperCases		group::A-Z
Direct			group::keycode::0x41,0x43,0x45,0x4b,0x4e,0x51-0x59,0x5b,0x5c,0x5f
InputChars              group::hex::0x20-0x7e

CompConversion		alt::hex::0x20||shift::hex::0x20

# ======================================================================
# handle option
# ======================================================================

AlwaysHandled           group::keycode::0x66,0x68
PseudoHandled          hex::0x1b

4 KeyRemap4MacBookでSandSを設定

KeyRemap4MacBookインストールの上、KeyRemap4MacBook最初からまれている「Space to Shift_L (+When you type spce only, send Space)」の設定を有効します。

5 KeyRemap4MacBook用のprivate.xml新下駄配列用設定を追加、有効

以下の要素をKeyRemap4MacBook用のprivate.xmlファイルに追加し、private.xmlの再読み込みをした上で、有効します。

                <item>
                  <name>新下駄配列Aqua SKK向け・ローマ字入力)</name>
                  <identifier>remap.jis_shingeta_input_roman_qwerty_skk</identifier>
                  <inputmode_only>JAPANESE</inputmode_only>

<!-- 新下駄配列 -->
<!-- 単打Shift -->
<!-- 2段目 - ーには、ちぐばこがひげ「 -->
<autogen>--KeyToKey-- KeyCode::Q, ModifierFlag::SHIFT_L, KeyCode::MINUS,                  KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::W, ModifierFlag::SHIFT_L, KeyCode::N, ModifierFlag::SHIFT_L, KeyCode::I,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::E, ModifierFlag::SHIFT_L, KeyCode::H, ModifierFlag::SHIFT_L, KeyCode::A,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::R, ModifierFlag::SHIFT_L, KeyCode::COMMA,                  KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::I,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::Y, ModifierFlag::SHIFT_L, KeyCode::G, ModifierFlag::SHIFT_L, KeyCode::U,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::U, ModifierFlag::SHIFT_L, KeyCode::B, ModifierFlag::SHIFT_L, KeyCode::A,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::I, ModifierFlag::SHIFT_L, KeyCode::K, ModifierFlag::SHIFT_L, KeyCode::O,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::O, ModifierFlag::SHIFT_L, KeyCode::G, ModifierFlag::SHIFT_L, KeyCode::A,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::P, ModifierFlag::SHIFT_L, KeyCode::H, ModifierFlag::SHIFT_L, KeyCode::I,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::JIS_ATMARK, ModifierFlag::SHIFT_L, KeyCode::G, ModifierFlag::SHIFT_L, KeyCode::E, KeyCode::VK_NONE</autogen>
<!-- 「 -->

<!-- 3段目 - のとかんっくういしなBS」 -->
<autogen>--KeyToKey-- KeyCode::A, ModifierFlag::SHIFT_L, KeyCode::N, ModifierFlag::SHIFT_L, KeyCode::O,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::S, ModifierFlag::SHIFT_L, KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::O,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::D, ModifierFlag::SHIFT_L, KeyCode::K, ModifierFlag::SHIFT_L, KeyCode::A,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::F, ModifierFlag::SHIFT_L, KeyCode::N, ModifierFlag::SHIFT_L, KeyCode::N,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::G, ModifierFlag::SHIFT_L, KeyCode::X, ModifierFlag::SHIFT_L, KeyCode::T, KeyCode::U, KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::H, ModifierFlag::SHIFT_L, KeyCode::K, ModifierFlag::SHIFT_L, KeyCode::U,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::J, ModifierFlag::SHIFT_L, KeyCode::U, ModifierFlag::SHIFT_L,                         KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::K, ModifierFlag::SHIFT_L, KeyCode::I, ModifierFlag::SHIFT_L,                         KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::L, ModifierFlag::SHIFT_L, KeyCode::S, ModifierFlag::SHIFT_L, KeyCode::I,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::SEMICOLON, ModifierFlag::SHIFT_L, KeyCode::N, ModifierFlag::SHIFT_L, KeyCode::A,     KeyCode::VK_NONE</autogen>
<!-- 」 -->



<!-- 4段目 - すまきるつてたで。ぶ¥ -->
<autogen>--KeyToKey-- KeyCode::Z, ModifierFlag::SHIFT_L, KeyCode::S, ModifierFlag::SHIFT_L, KeyCode::U,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::X, ModifierFlag::SHIFT_L, KeyCode::M, ModifierFlag::SHIFT_L, KeyCode::A,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::C, ModifierFlag::SHIFT_L, KeyCode::K, ModifierFlag::SHIFT_L, KeyCode::I,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::V, ModifierFlag::SHIFT_L, KeyCode::R, ModifierFlag::SHIFT_L, KeyCode::U,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::B, ModifierFlag::SHIFT_L, KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::U,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::N, ModifierFlag::SHIFT_L, KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::E,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::M, ModifierFlag::SHIFT_L, KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::A,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::COMMA, ModifierFlag::SHIFT_L, KeyCode::D, ModifierFlag::SHIFT_L, KeyCode::E,    KeyCode::VK_NONE</autogen>
<!-- 。 -->
<autogen>--KeyToKey-- KeyCode::SLASH, ModifierFlag::SHIFT_L, KeyCode::B, ModifierFlag::SHIFT_L, KeyCode::U,    KeyCode::VK_NONE</autogen>

<!-- 単打 -->
<!-- 2段目 - ーには、ちぐばこがひげ「 -->
<autogen>--KeyToKey-- KeyCode::Q, ModifierFlag::NONE, KeyCode::MINUS,                  KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::W, ModifierFlag::NONE, KeyCode::N, KeyCode::I,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::E, ModifierFlag::NONE, KeyCode::H, KeyCode::A,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::R, ModifierFlag::NONE, KeyCode::COMMA,                  KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::T, ModifierFlag::NONE, KeyCode::T, KeyCode::I,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::Y, ModifierFlag::NONE, KeyCode::G, KeyCode::U,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::U, ModifierFlag::NONE, KeyCode::B, KeyCode::A,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::I, ModifierFlag::NONE, KeyCode::K, KeyCode::O,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::O, ModifierFlag::NONE, KeyCode::G, KeyCode::A,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::P, ModifierFlag::NONE, KeyCode::H, KeyCode::I,          KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::JIS_ATMARK, ModifierFlag::NONE, KeyCode::G, KeyCode::E, KeyCode::VK_NONE</autogen>
<!-- 「 -->

<!-- 3段目 - のとかんっくういしなBS」 -->
<autogen>--KeyToKey-- KeyCode::A, ModifierFlag::NONE, KeyCode::N, KeyCode::O,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::S, ModifierFlag::NONE, KeyCode::T, KeyCode::O,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::D, ModifierFlag::NONE, KeyCode::K, KeyCode::A,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::F, ModifierFlag::NONE, KeyCode::N, KeyCode::N,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::G, ModifierFlag::NONE, KeyCode::X, KeyCode::T, KeyCode::U, KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::H, ModifierFlag::NONE, KeyCode::K, KeyCode::U,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::J, ModifierFlag::NONE, KeyCode::U,                         KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::K, ModifierFlag::NONE, KeyCode::I,                         KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::L, ModifierFlag::NONE, KeyCode::S, KeyCode::I,             KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::SEMICOLON, ModifierFlag::NONE, KeyCode::N, KeyCode::A,     KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::JIS_COLON, ModifierFlag::NONE, KeyCode::DELETE,            KeyCode::VK_NONE</autogen>
<!-- 」 -->

<!-- 4段目 - すまきるつてたで。ぶ¥ -->
<autogen>--KeyToKey-- KeyCode::Z, ModifierFlag::NONE, KeyCode::S, KeyCode::U,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::X, ModifierFlag::NONE, KeyCode::M, KeyCode::A,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::C, ModifierFlag::NONE, KeyCode::K, KeyCode::I,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::V, ModifierFlag::NONE, KeyCode::R, KeyCode::U,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::B, ModifierFlag::NONE, KeyCode::T, KeyCode::U,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::N, ModifierFlag::NONE, KeyCode::T, KeyCode::E,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::M, ModifierFlag::NONE, KeyCode::T, KeyCode::A,        KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::COMMA, ModifierFlag::NONE, KeyCode::D, KeyCode::E,    KeyCode::VK_NONE</autogen>
<!-- 。 -->
<autogen>--KeyToKey-- KeyCode::SLASH, ModifierFlag::NONE, KeyCode::B, KeyCode::U,    KeyCode::VK_NONE</autogen>
<autogen>--KeyToKey-- KeyCode::JIS_UNDERSCORE, ModifierFlag::NONE, KeyCode::JIS_YEN, KeyCode::VK_NONE</autogen>

<!-- 中指シフト -->
<!-- 2段目 - K:ファごふフィフェ , D:ウィぱよみウェウォ -->
<!-- K -->
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::Q, KeyCode::F, KeyCode::A,                      KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::W, KeyCode::G, KeyCode::O,                      KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::E, KeyCode::F, KeyCode::U,                      KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::R, KeyCode::F, KeyCode::I,                      KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::T, KeyCode::F, KeyCode::E,                      KeyCode::VK_NONE</autogen>
<!-- D -->
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::Y, KeyCode::W, KeyCode::I,                      KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::U, KeyCode::P, KeyCode::A,                      KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::I, KeyCode::Y, KeyCode::O,                      KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::O, KeyCode::M, KeyCode::I,                      KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::P, KeyCode::W, KeyCode::E,                      KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::JIS_ATMARK, KeyCode::U, KeyCode::X, KeyCode::O, KeyCode::VK_NONE</autogen>
<!-- Shiftウォ -->
<autogen>--SimultaneousKeyPresses-- KeyCode::D, ModifierFlag::SHIFT_L, KeyCode::JIS_ATMARK, KeyCode::U, ModifierFlag::SHIFT_L, KeyCode::X, KeyCode::O, KeyCode::VK_NONE</autogen>


<!-- 3段目 - K:ほじれもゆ , D:へあ[][]え -->
<!-- K -->
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::A, KeyCode::H, KeyCode::O, KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::S, KeyCode::J, KeyCode::I, KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::D, KeyCode::R, KeyCode::E, KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::F, KeyCode::M, KeyCode::O, KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::G, KeyCode::Y, KeyCode::U, KeyCode::VK_NONE</autogen>
<!-- D -->
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::H, KeyCode::H, KeyCode::E, KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::J, KeyCode::A,             KeyCode::VK_NONE</autogen>
<!-- [] -->
<!-- [] -->
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::SEMICOLON, KeyCode::E,     KeyCode::VK_NONE</autogen>

<!-- 4段目 - K:づぞぼむフォ , D:せねべぷヴ -->
<!-- K -->
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::Z, KeyCode::D, KeyCode::U,     KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::X, KeyCode::Z, KeyCode::O,     KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::C, KeyCode::B, KeyCode::O,     KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::V, KeyCode::M, KeyCode::U,     KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::K, KeyCode::B, KeyCode::F, KeyCode::O,     KeyCode::VK_NONE</autogen>
<!-- D -->
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::N, KeyCode::S, KeyCode::E,     KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::M, KeyCode::N, KeyCode::E,     KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::COMMA, KeyCode::B, KeyCode::E, KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::DOT, KeyCode::P, KeyCode::U,   KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::D, KeyCode::SLASH, KeyCode::V, KeyCode::U, KeyCode::VK_NONE</autogen>

<!-- 薬指シフト -->
<!-- 2段目 - L:ぢめけティディ , S:シェぺどやジェ -->
<!-- L -->
<autogen>--SimultaneousKeyPresses-- KeyCode::L, KeyCode::Q, KeyCode::D, KeyCode::I,             KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::L, KeyCode::W, KeyCode::M, KeyCode::E,             KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::L, KeyCode::E, KeyCode::K, KeyCode::E,             KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::L, KeyCode::R, KeyCode::T, KeyCode::H, KeyCode::I, KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::L, KeyCode::T, KeyCode::D, KeyCode::H, KeyCode::I, KeyCode::VK_NONE</autogen>
<!-- S -->
<autogen>--SimultaneousKeyPresses-- KeyCode::S, KeyCode::Y, KeyCode::S, KeyCode::H, KeyCode::E, KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::S, KeyCode::U, KeyCode::P, KeyCode::E,             KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::S, KeyCode::I, KeyCode::D, KeyCode::O,             KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::S, KeyCode::O, KeyCode::Y, KeyCode::A,             KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::S, KeyCode::P, KeyCode::J, KeyCode::E,             KeyCode::VK_NONE</autogen>

<!-- 3段目 - L:をさおりず , S:びら[][]そ -->
<!-- L -->
<autogen>--SimultaneousKeyPresses-- KeyCode::L, KeyCode::A, KeyCode::W, KeyCode::O,         KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::L, KeyCode::S, KeyCode::S, KeyCode::A,         KeyCode::VK_NONE</autogen>
<autogen>--SimultaneousKeyPresses-- KeyCode::L, KeyCode::D, KeyC


  

2019-04-11

Windows10使ってないWinアプリ開発者の人へ

いわゆるマイドキュメントデスクトップ設定ファイルセーブファイルゲーム場合)置こうとするのはもうやめろ

Windowsセキュリティ旧称WindowsDefender)のランサムウェア防止のコントロールされたフォルダアクセス機能によってアプリから書き込み禁止されている

My Documents\My Games\ゲーム名\save とか最悪だ

2019-03-06

もうだめだ たすけてくれ

djangowebアプリherokuに突っ込んだけどデプロイ成功application errorで何もできなくなる

色々探して色々やったけど設定ファイルがぐちゃぐちゃになっただけ

herokuまで書いてあるチュートリアル通りに進めてみる

失敗

この辺でteratailで聞いてみる

そもそも何がわからないのかがわからないので答えがもらえるわけがなかった

俺にhello worldをさせてくれ……

2019-02-24

この前説明会受けてて印象に残った企業

この前中途エンジニア限定した合同説明会に行った時の話なんだが、

大体の会社はこういう技術メイン使うことが多くて取引先はこういうところでこういう企業理念で~みたいなまあある程度はざっくりした感じの話で細かいところは質疑応答で、みたいな話になることが多かったんだけど、

なんかとある会社名が全部漢字のお堅そうな企業だけ「このプロジェクトのこのシステムのこの機能に対してこの設定ファイルをこんな感じでいじっていただきます」みたいななんかやたらに具体性のある説明をしてきて、

しかもそれが1プロジェクト内の1タスクみたいな内容だったからなんか違和感あったんだけど、

で、どうやらXMLファイルを投入すると自動フォームが作られる自社ツールがあるらしくて、

それを上流から流れてきたExceL通りにXMLファイル作成・投入してExcelスクショテストするお仕事らしい。

んで、そのフォーム作成サービスパッケージ化されているというか、取引先ごとに週次や月次でそのタスクが発生するからそれ専用の要員を募集しているとのこと。

それも昔から長く提供されているサービスらしく、案件が終了する目処はないし基本はガチでそれだけやり続ければいいらしい。

使用言語はなんですか?」って聞いたら「XMLです。他は基本使いません。」って言われてびっくらこいた。

サーバ監視バイトよりも何も自分の身に残らなそう。5年の務めたら市場価値めっちゃ下がるんじゃないかこれ。

こういう仕事が気楽でいいなって思う人はいると思うし会社としてこういう要員が必要なのは別にわかるんだが、これ中途エンジニア募集かける必要あるか?

いやその要員の募集かけるにしてもその辺濁してやらんと誰もこんだろって思ったという話でした。

2018-11-28

7年勤めたNTT系列退職して2年半が経過しました(ノンキャリア編)

2年半ほど経ちますが、空前のNTT退職ブームなので便乗しちゃいます

はじめに

まず既知の通りNTTグループ社員数約28万人と非常に大きな組織であり、その中で研究所エリート中のエリートが就く位置にある。つまり上記の方達は警察でいえばキャリア組にあたる方達にあたる。以降キャリア組と呼ばせていただく。

一方で、私は地方ノンキャリア警察官のようなポジションにある子会社大株主研究所出身なので、その分際でこのようなエントリーを書くのはおこがましいかもしれないが、

キャリア組層のエントリーなのに共感できる部分がとても多い上に、すでに [ 10年勤めたNTT退職しました(無能編) https://anond.hatelabo.jp/20181126192228 ]のようなノンキャリアそうな人(←失礼はご愛嬌)のエントリーもあったりしたのでちゃっかり便乗させてもらう。

蛇足


自己紹介

自分について


会社について

データとデー子もこんな感じなのだろうか。ぜひ知りたいものだ。

よかったところ

各種エントリーと重複するところもあるがご愛嬌

いい人が多い
  • いい人の定義が難しいが、穏やかで真面目な人が多い。飲食店バイト時代のように「ボケコラ○すぞ」なんていう上司はまずいない。
  • たまにチート級の有能な人がいる。知っている人では今でも有名OSSプロジェクトコミッターやってたりとか。
  • たまにチート級の無能な人がいる。知っている人では開いてはいけないメールを毎回開く人とか。でもクビにも降格にも絶対にならないいいところ。
  • それ以外は可もなく不可もなく凡人。僕もその一人。思えば2-6-2の法則はよく出来ている。

法令遵守

金が腐るほどある



悪いところ≒退職理由

給料が安い

できる人もできない人もすべて同じ待遇

独自プロトコルが大好き

技術に興味がない人が多い

社内システムう○こ

その他

総評

2018-11-19

テキストエディタについて思うこと

最近流行りのエディタっていろんな機能が付いたり拡張機能があったりでIDEに近くなってきてるじゃん。

あれって開発してるときは便利なんだけどメモ帳の延長として使いたいときは鬱陶しく感じることがある。

やたらと起動時にの動きがもっさりするときがあるし、単純なメモ書きをしたい時とかシステム設定ファイルを少し変更するだけとかの時には昔から使ってるエディタで済ましてしまう。

2018-10-15

anond:20181015224307

内側に苦手なプログへのリンクを持つclassが"gtm-click-measurement-target"なdiv要素をブロックするという方針アドオンを作るか既製コンテンツブロッカーに指示を与えるかするという方針ブロックすることになるんじゃないかな。

それだけだとページトップに来た時だけは取り逃すので、classが"serviceTop-recommend-primary-img"なdiv要素もブロック対象にするとより完璧

もしuBlockかAdBlock系の広告ブロックアドオンを流用するのなら、設定ファイルに次の2行を加えることで実現できる。「苦手な.hateblo.jp」のところをブロックしたいサイトに書き換えること。

hatenablog.com##div.gtm-click-measurement-target:has(a[href*="苦手な.hateblo.jp"])

hatenablog.com##div.serviceTop-recommend-primary-img:has(a[href*="苦手な.hateblo.jp"])

2018-08-09

xyzzy 使いに 50 の質問

01. ハンドルネームは?

  増田

02. ご職業、年齢はいくつですか?

  なんでも屋さん、アラサー

03. xyzzyについて何かwebサイトを持っていますか?

  持っていません

04. 現在使用中の xyzzyバージョンは何ですか?

 0.2.2.253

05. xyzzy 使用暦はどれくらいですか?

  15年くらい

06. xyzzy を使うようになったきっかけは何ですか?

  昔のことすぎて忘れましたが、学校UNIX 演習で Emacs を使っていたので、Windows でも使おうと思っていて見つけたんだと思います

07. xyzzy 以外に使っているテキストエディタはありますか?

  Atom, McEditor

08. xyzzy を使う前に Emacs 系のテキストエディタを使ったことはありますか?

  はい

09. xyzzy を主に何に利用していますか?

  プログラムを書いたり設定ファイルをいじったり、テキストに関することならだいたい

10. xyzzy が関連付けされているファイルタイプは何ですか?

  txt, md, log, ini, bat, html, xml, css, less, scss, sass, styl, js, coffee, pl, php, py, rb, java, sqlかにもあるかも

11. xyzzy他人に勧めたことはありますか? また、結果はどうでしたか?

  使い始めた当時同級生が何人か使っていました

12. xyzzyフリーじゃなかったとしたらいくら位の値段になると思いますか?

  今なら3000円くらいなら買う

13. xyzzy を何と呼んでいますか?

  じじー

14. xyzzy の好きな点・嫌いな点はどこですか?

  好きな点:動作をほぼ自在カスタマイズできる点

  嫌いな点:動作カスタマイズするとき不自由なところがある点

15. パソコンを立ち上げている時間の内、xyzzy をどのくらい使っていますか?

  業務ときは3割くらい?

16. キーバインドWindows風ですか? Emacs風ですか? オリジナルですか?

  Emacs

17. .xyzzyに書く派ですか? .siteinitに書く派ですか?

  必要に応じてそれぞれに

18. 拡張Lispバイトコンパイルしますか?

  してます

19. セレクションリージョン、どちらを多く使いますか?

  リージョン

20. xyzzy を使っていて挫折したことはありますか?

  はじめのころ五目並べになかなか勝てなくて挫折しました

21. xyzzy の使い方をどうやって学びましたか?

  実際にさわりながら。LispGoogle 先生さまさま

22. xyzzy を使うにあたって一番苦労したことは何ですか?

  xyzzy 自体Lisp APIマニュアル化されていないところ

23. xyzzy を使って目からウロコだった機能は何ですか?

  Buffer Menu

24. 今の xyzzy に望むことはありますか? またそれは何ですか?

  矩形機能に影響が出そうだけどプロポーショナルフォントへの対応と、絵文字など最近 Unicode に追加された文字への対応

25. Lisp はある程度読み書きできますか?

  xyzzy自分の使いやすいようにできる程度には

26. Lisp のほかに読み書きできるプログラム言語はありますか?

  JavaScript, ES 2016, Coffee Script, Action Script 3, C, C++のごく一部, Objective-C, Rust, Swift, Perl, PHP, Python, Ruby, bash, xyzzy lisp

27. 自分で作った 拡張Lisp を公開していますか?

  GitHubGist にあるので探してください

28. 拡張Lisp で導入しているものは何ですか? (多い方は代表的ものをお答えください)

  clickable-uri, jscript-mode, markdown-mode など

29. これは外せない! という 拡張Lisp はありますか? またそれは何ですか?

  いろいろやるので今ある拡張機能がないと無理

30. NetInstaller を利用していますか?

  はい

31. 拡張DLL を導入していますか? またそれは何ですか?

  popup-dododo のための Cairo とか?

32. ドキュメント(info,reference等) は使っていますか? また、それは何ですか?

  使っていません。自分で改造してキーワードを全部 Web検索するようにしています

33. ネット関係拡張Lisp(www-mode,kamail等)を使っていますか?

  xyttr

34. アウトライン系のLispは使っていますか? またそれは何ですか?

  使っていません

35. メモ系(changelog-memo,howm等)Lispは使っていますか? またそれは何ですか?

  使っていません

36. xyzzy五目並べはやったことがありますか? また、結果はどうでしたか?

  今なら結構勝てます

37. キーボードマクロは使いますか?

  たまに。テキストの整形処理なら正規表現ゴリゴリやるほうが多いです

38. 辞書機能は使いますか?

  使っていません。国語英和・和英、英英辞典iPhoneアプリを使います

39. xyzzy のファイラは使いますか?

  毎日仕事に欠かせません。便利にカスタマイズしすぎてむしろファイラだけのために新しく xyzzy 自体を起動することもあります

40. フレームは使いますか?

  あまり使いません。新しく(Windows における)ウィンドウ

41. セッションは使いますか?

  使っていません

42. メーリングリストには参加していますか? また、メール送信したことはありますか?

  ありません

43. 2chxyzzy 関連スレッド書き込みしたことはありますか? また、その頻度はどのらいですか?

  大昔にどうしてもわからないことがあって書き込んだ記憶があります

44. xyzzywikiに書き込みしたことはありますか? また、その頻度はどのくらいですか?

  拡張機能実装に関してちょろっと書き込んだ記憶があります

45. xyzzyメニューは表示していますか?

  たまにほしくなるので表示しています

46. xyzzyツールバーは表示していますか?

  隠しています

47. xyzzyファンクションバーは表示していますか?

  表示していません

48. xyzzyバッファバーは表示していますか?

  表示していません

49. 色、フォントなどは変更していますか? またそれは何ですか?

  色は暗い背景色ハイライトカラーはできるだけ色相を離したパステルカラーです。

  フォントConsolas に源新ゴシック Regular を組み合わせています

50. 最後に、一言お願いします。

  まだまだ xyzzy は不滅です

2018-07-21

npm publish 時の注意事項

正直イキりたくて、 npm パッケージを公開してみた。

そしたら、IDE設定ファイルまで公開してた。

git_ignoreに入ってたか全然きにしてなかったんだけど、npm publish って思いっきローカルファイル上げるのね。

https://docs.npmjs.com/cli/unpublish

unpublish で削除できるんだけど、72時間までという制約が。

もう一度新しい設定で、publish して 前のは deprecate したけど、採ろうと思ったらとれちゃうんだよな…

サポートに連絡したけど、どうなることやら。

幸い問題発生な情報流出はしてなかったけど、いろんなパッケージみてみたら、結構IDE設定ファイル公開してるのがある。

認証ファイルあたりを github で公開するようなミスじゃないからまあいいんだけどさ。

ニッチライブラリから、糞みたいなDLしかなかったんだけど、最近DL数が増えたので

んなわけなかろうと調べてみて発覚した。

Qiitaでやったら作者ばれちゃうから増田で。

みんな注意してね。

2018-06-24

中2娘のWindowsデビュー

娘がWindowsデビューしてそこそこの日数が経った

構成HDDHOME以下をバックアップした後にUbuntuを削除、Windowsクリーンインストールさせた

当然UbuntuWindows共存も考えたが、共存状態だと使い慣れたUbuntuへ逃げる可能性があったので、少々可哀想だったがUbuntuは削除した

良い機会だったので隣で図解をまじえて教えながら娘自身インストール作業をさせた

「えっじゃあ他のプライマリパーティションUbuntuも一緒にインストールできるってこと?」

「その認識で間違いないけど今回はWindows練習のためにしない」

Windowsを起動してデスクトップを表示し、娘がまずやったことはWindowsキー(Superキー)を押下だった

「その辺は学校でやってるから判るだろ?」

「判るけど学校パソコンには無いパネルがかなりある

学生は遊ぶだろうしね余計なの消してんだろw」

「あー確かにw」

学校パソコンにはないであろうパネルを「ふーん」とクリックしながら、何かに納得したのか「じゃあそろそろクリスタ」と言われ、最大の目的であるクリスタインストールした

クリスタインストールが終わると、もう良いよと言わんばかりに「わからなくなったら呼ぶね」とアッチ行けされ初日を終えた

日経つと「ターミナルがない」と言われたので「SuperキーからのC,M,DしてEnterで起動するはずだけどcmdはLinuxと使い方が全く違うから調べたほうが良いよ」とアドバイスした

娘が自室に行くと直ぐ戻ってきて「cdできたけどlsできないんだけど?」と言われ「使い方違うと言ったろ?cmdの場合ディレクトリ内容一覧はD,I,R」と言いつつ娘の自室へ向かう

「昨日から少し試してたんだけどWindowsターミナルって全然違うよね?」

「うん違うし、今使ってもらってるのcmdって呼ばれたりコマンドプロンプトって呼ばれてるんだけど、もう一個パワーシェル(PowerShell)というのもある」

「こっちの方がLinuxに近いかもなぁ。lsはできる。だけどtouchはできないぞ。その辺はググれ」

「えっ?touchできないって意味わかんないんだけど」

PowerShell場合はN,E,W,-,I,T,E,Mでできる。cmdは作成できないわけでないけど、ファイル作成のためコマンドというものそもそも存在しない」

Vimも無かった。というかアプリ設定ファイルがどれなのかすら判らない」

「この辺りはLinuxじゃないと諦めて新規ツールを追加するしかない。Windows作法に慣れろ」

「うーん・・・慣れかぁ」

予想通りLinuxWindowsの違いに戸惑っている様だけど、本当に慣れてもらうしかない

娘が「そういえばアプリってどうやってアンインストールするの?」と聞いてきた

スタートメニューアプリアイコン右クリックしてアンインストール。別窓でプログラム機能が起動したらそこからアンインストール

そう教えると再びアッチ行けされてしまった。父ちゃん寂しい・・・

そして昨日いろいろと娘にWindowsの使い勝手を聞いてみた結果が下記の通り

良いところも悪いところもまだまだ色々と言っていたけれど忘れてしまった。女の子は喋り出すとアッチコッチに行って止まらない・・・

また何かしら変化があったら報告しようと思う

-----------

追伸

ディストーション本当にすみませんでしたギャギャギャーン

2018-06-12

anond:20180612125650

GUI普通に使えて、Ctrl+Alt+Tでターミナル起動してtouchやmkdirやcpmvを知っていてVim設定ファイル簡単な書き換えができる程度

たぶんwgetImageMagickFFmpegあたりも使えるはず

娘はやらん

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