はてなキーワード: 設定ファイルとは
社内SEになった。
仕事を辞めて主夫業に勤しんでいたら、知り合いから声がかかった。
1人で社内システムを作ってきたおじいさんがあと数年で定年になるから、
引き継げないかとのこと。
メインのシステムはベンダーに委託してて、そのおじいさんが作っているのは、
メインシステムのデータを加工して2次利用しているものがほとんどとのことだった。
社内SEはなんとなく楽そうなイメージがあったので、就職した。
中身を見るとどちらもかなりやばい。
VBA編
・ウォッチウインドウを知らないのか、変数はすべてセルに入れてる。
変数名はすべてRANGE("A1").valueみたいな感じで全く意味が分からない。
・処理遷移がおかしい。
セルに1を入れる。そのセルのchangeイベントで処理が動くとか。
・なるべくワークシート関数で処理してる
データベースからとってきたデータを丸ごとワークシートにコピーして
if,vlookup,match関数を駆使して帳票にしたり、CSVにしてる。
データ100件制限があったり、1関数を直すときは100行コピーしないといけない。
画面中に埋め尽くされたワークシート関数をみて途方に暮れる。
・format関数を知らない。
8桁の日付をとりたいときyear、month、day関数がワークシートにあり、
その下の行で月の二けた判定、日の二けた判定のif関数で頭の0をつけ
3行目でconcatenateしている
・タイマー起動
毎朝100本ぐらいのマクロが動いてる。
タイマー起動なので、毎日セットしないといけない。(タスクスケジューラーを知らない)
がんがんエラーが発生するので、マクロ設定をエラー処理対象外のエラーで中断にしないと動かない。
・遅い
textboxのchangeイベントでDBからのデータ取得処理を入れているので、データが多くなると1文字打つごとに数分待つ状態。
DBの更新処理でもテーブル全件とってきて、ループしながらキーが一致するのを探して更新。
そんなつっこみどころしかないEXCELマクロが200本以上ある。
VB編
・.NET1.0
windows7や8に無理やり.netframework1.0を入れて動かしてる。
・オブジェクト名は代えない
変えられることを知らないのかもしれない
textbox100とか存在してる。
EXCEL同様変数は隠しtextboxに入れてる。
1.0なのでconfigがないのはしょうがないが、設定ファイルは固定パスのテキスト
行数で管理
・WAITがいっぱいある
試しに取ったら動かない
例外が発生するまでまわす。
ない。基本グローバル。
・クラス
ない。
・ネスト
ない。
TypeScript(TS)が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%いたら多いほうだろ。少なくともお前も俺も理解してねぇよ!PHPがRubyを駆逐するって言われて何年たった?今でもPHPは現役で、RubyはPHPの後ろを歩いてるじゃねえか。jQueryが消えるって?同じ理由で消えねえよ!一生やってろばーーか。JavaScriptも消えねぇよ。ECMAのアップデートに従って生で書けば十分だろ。こんなコード書くまでにうんこ行きたくなるような設定ファイルばっかいじらせる言語にとって代わるわけねぇだろ。消えるのはお前だばーか。
自分が昔、(今は非公開にしている)はてなダイヤリーに書いた記事を読もうとしている人がいたので、はてな匿名ダイヤリーに載せます。最近のMacではKeyRemap4MacBook(後のKarabiner)は使えないですが、AquaSKKの設定部分は参考になるかもしれません。
以下の手順で、AquaSKKで新下駄配列を使えるようにします。
一部のソフトでフォントサイズの拡大に使われるControl+Shift+;のキーボードショートカットが使えなくなるという不具合があります。(他にも使えなくなるショートカットがあるかもしれません)
また、AquaSKK以外の入力メソッドでも、新下駄配列になる上、多分そちらでは新下駄配列は快適には使えません。(適時、KeyRemap4MacBookの設定を切り替えてください)
なお、この設定はJISキーボード用です。USキーボードの人はKeyRemap4MacBook用の設定ファイルをUSキーボード向けに修正してみてください。
Q,X,Lのショートカットキーは使えなくなります。これらのキーが絡むショートカットキーは以下のように変更されます。
各種設定やファイルの内容の意味については、AquaSKKで新下駄配列を使うための設定 解説編を参照してください。
AquaSKKの環境設定の「変換」タブの「選択ラベル」の内容を以下の通り変更します。
1234567890
~/Library/Application Support/AquaSKK/
に以下の行を含み、ファイル名が.ruleで終わるテキストファイルを作成の上、AquaSKKの環境設定の「かな規則」タブでチェックを入れます。
s/,/,/,/
~/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
KeyRemap4MacBookをインストールの上、KeyRemap4MacBookに最初から含まれている「Space to Shift_L (+When you type spce only, send Space)」の設定を有効にします。
以下の要素を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
この前中途エンジニアに限定した合同説明会に行った時の話なんだが、
大体の会社はこういう技術メイン使うことが多くて取引先はこういうところでこういう企業理念で~みたいなまあある程度はざっくりした感じの話で細かいところは質疑応答で、みたいな話になることが多かったんだけど、
なんかとある会社名が全部漢字のお堅そうな企業だけ「このプロジェクトのこのシステムのこの機能に対してこの設定ファイルをこんな感じでいじっていただきます」みたいななんかやたらに具体性のある説明をしてきて、
しかもそれが1プロジェクト内の1タスクみたいな内容だったからなんか違和感あったんだけど、
で、どうやらXMLファイルを投入すると自動でフォームが作られる自社ツールがあるらしくて、
それを上流から流れてきたExceL通りにXMLファイルを作成・投入してExcelスクショでテストするお仕事らしい。
んで、そのフォーム作成のサービスはパッケージ化されているというか、取引先ごとに週次や月次でそのタスクが発生するからそれ専用の要員を募集しているとのこと。
それも昔から長く提供されているサービスらしく、案件が終了する目処はないし基本はガチでそれだけやり続ければいいらしい。
「使用言語はなんですか?」って聞いたら「XMLです。他は基本使いません。」って言われてびっくらこいた。
サーバ監視のバイトよりも何も自分の身に残らなそう。5年の務めたら市場価値めっちゃ下がるんじゃないかこれ。
こういう仕事が気楽でいいなって思う人はいると思うし会社としてこういう要員が必要なのは別にわかるんだが、これ中途エンジニアに募集かける必要あるか?
いやその要員の募集かけるにしてもその辺濁してやらんと誰もこんだろって思ったという話でした。
2年半ほど経ちますが、空前のNTT退職ブームなので便乗しちゃいます。
まず既知の通りNTTグループは社員数約28万人と非常に大きな組織であり、その中で研究所はエリート中のエリートが就く位置にある。つまり上記の方達は警察でいえばキャリア組にあたる方達にあたる。以降キャリア組と呼ばせていただく。
一方で、私は地方のノンキャリア警察官のようなポジションにある子会社(大株主は研究所)出身なので、その分際でこのようなエントリーを書くのはおこがましいかもしれないが、
キャリア組層のエントリーなのに共感できる部分がとても多い上に、すでに [ 10年勤めたNTTを退職しました(無能編) https://anond.hatelabo.jp/20181126192228 ]のようなノンキャリアそうな人(←失礼はご愛嬌)のエントリーもあったりしたのでちゃっかり便乗させてもらう。
データとデー子もこんな感じなのだろうか。ぜひ知りたいものだ。
内側に苦手なプログへのリンクを持つ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"])
01. ハンドルネームは?
03. xyzzyについて何かwebサイトを持っていますか?
持っていません
0.2.2.253
15年くらい
昔のことすぎて忘れましたが、学校の UNIX 演習で Emacs を使っていたので、Windows でも使おうと思っていて見つけたんだと思います
07. xyzzy 以外に使っているテキストエディタはありますか?
Atom, McEditor
08. xyzzy を使う前に Emacs 系のテキストエディタを使ったことはありますか?
プログラムを書いたり設定ファイルをいじったり、テキストに関することならだいたい
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円くらいなら買う
じじー
14. xyzzy の好きな点・嫌いな点はどこですか?
嫌いな点:動作をカスタマイズするときに不自由なところがある点
15. パソコンを立ち上げている時間の内、xyzzy をどのくらい使っていますか?
16. キーバインドは Windows風ですか? Emacs風ですか? オリジナルですか?
17. .xyzzyに書く派ですか? .siteinitに書く派ですか?
必要に応じてそれぞれに
してます
実際にさわりながら。Lisp は Google 先生さまさま
22. xyzzy を使うにあたって一番苦労したことは何ですか?
xyzzy 自体の Lisp API がマニュアル化されていないところ
23. xyzzy を使って目からウロコだった機能は何ですか?
Buffer Menu
24. 今の xyzzy に望むことはありますか? またそれは何ですか?
矩形機能に影響が出そうだけどプロポーショナルフォントへの対応と、絵文字など最近 Unicode に追加された文字への対応
26. Lisp のほかに読み書きできるプログラム言語はありますか?
JavaScript, ES 2016, Coffee Script, Action Script 3, C, C++のごく一部, Objective-C, Rust, Swift, Perl, PHP, Python, Ruby, bash, xyzzy lisp
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 の五目並べはやったことがありますか? また、結果はどうでしたか?
たまに。テキストの整形処理なら正規表現でゴリゴリやるほうが多いです
使っていません。国語、英和・和英、英英辞典は iPhone のアプリを使います
毎日の仕事に欠かせません。便利にカスタマイズしすぎてむしろファイラだけのために新しく xyzzy 自体を起動することもあります
あまり使いません。新しく(Windows における)ウィンドウ
使っていません
42. メーリングリストには参加していますか? また、メールを送信したことはありますか?
ありません
43. 2ch の xyzzy 関連スレッドに書き込みをしたことはありますか? また、その頻度はどのらいですか?
大昔にどうしてもわからないことがあって書き込んだ記憶があります
44. xyzzywikiに書き込みをしたことはありますか? また、その頻度はどのくらいですか?
たまにほしくなるので表示しています
隠しています
47. xyzzy のファンクションバーは表示していますか?
表示していません
表示していません
49. 色、フォントなどは変更していますか? またそれは何ですか?
色は暗い背景色、ハイライトカラーはできるだけ色相を離したパステルカラーです。
フォントは Consolas に源新ゴシック Regular を組み合わせています。
まだまだ xyzzy は不滅です
正直イキりたくて、 npm パッケージを公開してみた。
git_ignoreに入ってたから全然きにしてなかったんだけど、npm publish って思いっきりローカルファイル上げるのね。
https://docs.npmjs.com/cli/unpublish
unpublish で削除できるんだけど、72時間までという制約が。
もう一度新しい設定で、publish して 前のは deprecate したけど、採ろうと思ったらとれちゃうんだよな…
サポートに連絡したけど、どうなることやら。
幸い問題発生な情報流出はしてなかったけど、いろんなパッケージみてみたら、結構IDE設定ファイル公開してるのがある。
認証ファイルあたりを github で公開するようなミスじゃないからまあいいんだけどさ。
糞ニッチなライブラリだから、糞みたいなDL数しかなかったんだけど、最近DL数が増えたので
んなわけなかろうと調べてみて発覚した。
みんな注意してね。
構成はHDDへHOME以下をバックアップした後にUbuntuを削除、Windowsをクリーンインストールさせた
当然UbuntuとWindowsの共存も考えたが、共存状態だと使い慣れた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の作法に慣れろ」
「うーん・・・慣れかぁ」
予想通りLinuxとWindowsの違いに戸惑っている様だけど、本当に慣れてもらうしかない
娘が「そういえばアプリってどうやってアンインストールするの?」と聞いてきた
「スタートメニューでアプリアイコンを右クリックしてアンインストール。別窓でプログラムと機能が起動したらそこからアンインストール」
そう教えると再びアッチ行けされてしまった。父ちゃん寂しい・・・
そして昨日いろいろと娘にWindowsの使い勝手を聞いてみた結果が下記の通り
良いところも悪いところもまだまだ色々と言っていたけれど忘れてしまった。女の子は喋り出すとアッチコッチに行って止まらない・・・
また何かしら変化があったら報告しようと思う
-----------
追伸
https://oshiete.goo.ne.jp/qa/7981236.html
質問より
インターハートの「淫辱荘」と「続 淫辱荘」を最初からやりたくてアンインストールしたのですが、再度インストールしなおしゲームを始めたときに前のデータが残っているらしく、続きからの所にアンインストールする前のデータが載っています。
回答No1より
回答No2より
まず、インストールした状態で、淫辱荘が Windows 7 の どこを淫辱しているか調査します。アプリケーションが作成するフォルダー名をメモしておいたほうがよいでしょう。
アンインストールしたあと、ユーザーデータが淫辱されている場所の該当フォルダー(つまり完全にアンインストールされていないファイル)を手動で削除します。メモしたフォルダー名で検索すると発見しやすいでしょう。
回答内容は良いんだけどさ。淫辱されているって、この気持ち悪い比喩はなんだ。
関係ないけど、このインターハートって個人的には年上キャラの出る美少女ゲームのイメージだな。
ところで、質問者はフォルダを無事に見つけることができたとしか言っておらず、どこにあったのかを書いていない。
・C:\Users\[ユーザー名]\AppData\Roaming\INTERHEART\[ゲーム名]
このユーザー名だが、私の場合実際に使っているユーザーではなくて管理者権限のユーザー名だった。
[ゲーム].exeを起動しようとしても起動できずに、IHS.exeを管理者で起動し、ゲーム起動を選択しないといけないなど、何かおかしいように感じる。
分からなければ、C:\Usersに入って、ユーザー名フォルダを全て当たるしかない。
C:\Users\[ユーザー名]\AppData\Roamingの下には他のメーカーのアプリケーションデータも存在するので、いらないデータが無いかどうか年末くらいは見てみるといいかもしれない。
とにかくアプリケーションの設定ファイル等を確認したいときは下記のフォルダを確認することは有効であると思う。
ただ仮想Linuxで開発中のWebアプリを家のLAN越しに色んなデバイスで閲覧できればそれで良かったのに
まずどんな手段があるのか調べて、Apacheというのがあるのを知って、ubuntuにApacheインストールしたけど全然使えるようにならなくて、どうやら設定ファイルを弄る必要があるのは分かったけどその在りかが全然分からなくて、新しくLinuxのコマンドいくつか覚えて探しても見当たらなくて、またいろいろ調べたらDebian系のOSは設定ファイルの名前が違うってことが分かって、設定ファイルは見つかったのにどこをどう編集したらいいのか分からないから公式のドキュメント(英語)読んでーみたいな感じでこの2〜3日すげえ回り道したのに
結局Vagrantの設定を弄れば一発だったっていう…Vagrantすげー
初心者が一人で開発やってるとこういう徒労ばっかりで困る
私がいるところは、プログラマ/システムエンジニア、フロントエンドエンジニア/バックエンドエンジニアとかの区分がなくひとりでなんでもやるところです
一応フロントエンドが好きで得意だと自称はしているものの一般的なフロントエンドってどこまでするのでしょうか
デザイナがするような部分
ここは当然でしょう
最近では SPA のページも多いので単純な HTML と JS ではなくフレームワークを必要とされることもあります
SEOの都合などでJSレンダリングじゃなくサーバサイドレンダリングで、サーバから受け取るHTMLの時点で表示できる状態になってることを依頼される場合もあります
その場合はサーバサイド言語に応じたテンプレートエンジンも使います
PHP なら Blade、Python なら jinja、 Node.js なら ejs という感じ
JS のコードをテストしたり gulp などのタスクランナーや webpack などバンドルツールを使うので OS のコマンドラインのツールも使える必要があると思います
サーバサイドの言語は別の人が作るにしても自分の環境でそれを動かすためにサーバ構築は出来たほうがいいでしょう
VM に OS のインストールしてウェブサーバをインストールしたり
Vagrant, Ansible 等で管理されているなら、設定ファイルを書くことはないにしろ実行する方法やエラーが起きたときの簡単な対象方法くらいは知っていないと不便かと思います
ウチの場合は各自LinuxをVMにインストールして Ansible でという使い方なので気づきませんでしたが、考えてみたら全部設定済みの VM データを配布してくれるということもあるのかもしれません
データによって画面表示を変えるときに、それに応じたデータを作って画面を確認したいことがあるので、mysql や postgres などなどデータベースの知識も必要になることがあります
SQL 書けなくても pgadmin みたいな GUI ツールで表を書き換えればいいのですが最低限の仕組みは知っていないと苦労しそうです
完全にフロント/バックが切り離されてるところなら、フロントエンド開発者向けにデータベースは使わずテンプレートエンジンに渡ってくるデータを好きに設定できる機能が用意されてるのかも?とも思います
サーバサイドの処理は不要でクライアントサイドの動きのみを作るわけですから、決まった場所の JSON ファイルのデータがそのまま使われるならデータベースの存在を知らなくてもいいですし
ここまでできたらバックエンドよりフロントエンドのほうが何でも出来る人みたいに思えます
あとはサーバサイド言語を書ければもうサービスが作れてしまいます
でもこれぐらいできないとすごく不便で、すぐに他の人に頼らないといけなくなるように思います
サーバ冗長化とかそういった部分はかかわらなくてもいいと思いますけど、Linux やデータベースなんかは自分でどうにかできないと周り誰もいないときに動かなくなったら作業進められななんてことがありそうですし
ってみんな思うかもね。
なんでガチャの時のバグをみんな恐れているかと言うと、
設定ミスったら、今は全額返金がメジャーでして。
そして、単純な設定ファイルの編集ミスは実は結構やらかされている。
ゲームによっては、返金時に数億〜数十億円の損害が発生する。
(月初とか月末の目玉ガチャとかでミスったらぁぁぁぁあああああああ)
君のミスでうん億円の損失だよ、
と責められることはないだろうが
ミスると心が痛いぞ。
なので、ソーシャルゲームの開発に関わらない人から見ると、
異様にガチャのバグを恐れている感じに見えると思う。
俺には見えた。
確率変動なんて、バグ入りそうな実装やるくらいなら、
何度もガチャやったり、
素直に確率絞ったり、
ガチャにおまけつけろよぉおおおおお
とは思っちゃっても仕方ないよね
俺はゲーム内イベントやる方が良いと思うけどね!
みんな喜ぶから!
イベントは技術者の実装コストがかかるから!
新規開発を進める手が止まるんだ