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

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

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あたりも使えるはず

娘はやらん

2018-06-11

この気持ち悪い比喩はなんだ。

https://oshiete.goo.ne.jp/qa/7981236.html

質問より

インターハートの「淫辱荘」と「続 淫辱荘」を最初からやりたくてアンインストールしたのですが、再度インストールしなおしゲームを始めたときに前のデータが残っているらしく、続きからの所にアンインストールする前のデータが載っています

回答No1より

あなたPC が淫辱されてしまっていますね。まず OS を教えてください。

回答No2より

まず、インストールした状態で、淫辱荘が Windows 7 の どこを淫辱しているか調査します。アプリケーション作成するフォルダー名をメモしておいたほうがよいでしょう。

アンインストールしたあと、ユーザーデータが淫辱されている場所の該当フォルダー(つまり完全にアンインストールされていないファイル)を手動で削除します。メモしたフォルダー名で検索すると発見やすいでしょう。

回答内容は良いんだけどさ。淫辱されているって、この気持ち悪い比喩はなんだ。

「淫辱荘」だからって一般サイトで変な表現をしないで欲しい。

関係ないけど、このインターハートって個人的には年上キャラの出る美少女ゲームイメージだな。

ところで、質問者はフォルダを無事に見つけることができたとしか言っておらず、どこにあったのかを書いていない。

からQ&Aを見た人にとってこれは不親切だ。

調べてみたらセーブデータは次のところにあるようだ。

・C:\Users\[ユーザー名]\AppData\Roaming\INTERHEART\[ゲーム名]

このユーザー名だが、私の場合実際に使っているユーザーではなくて管理者権限ユーザー名だった。

[ゲーム].exeを起動しようとしても起動できずに、IHS.exe管理者で起動し、ゲーム起動を選択しないといけないなど、何かおかしいように感じる。

#OSwindows10である

からなければ、C:\Usersに入って、ユーザーフォルダを全て当たるしかない。

C:\Users\[ユーザー名]\AppData\Roamingの下には他のメーカーアプリケーションデータ存在するので、いらないデータが無いかどうか年末くらいは見てみるといいかもしれない。

とにかくアプリケーション設定ファイル等を確認したいときは下記のフォルダ確認することは有効であると思う。

・C:\Users\[今使っているユーザー名]\AppData\Roaming\[メーカー名]

・C:\Users\[管理者名]\AppData\Roaming\[メーカー名]

2018-05-25

Vimに割と慣れた

https://anond.hatelabo.jp/20160327110936

を書いた増田だけど最近は割とVimと仲良くやれるようになった。

前はちょっとしたコード編集設定ファイル編集Vimを使うのは辛かったけれど、

今ではそこまで苦でも無い。やっぱり慣れって大切なんだな…

最近NeoVimやKakouneのようなVimフォークVimリスペクトエディタもあるらしいので

そういうのにも触っていきたい。

2018-04-26

ただ仮想Linuxで開発中のWebアプリを家のLAN越しに色んなデバイスで閲覧できればそれで良かったのに

まずどんな手段があるのか調べて、Apacheというのがあるのを知って、ubuntuApacheインストールしたけど全然使えるようにならなくて、どうやら設定ファイルを弄る必要があるのは分かったけどその在りかが全然からなくて、新しくLinuxコマンドいくつか覚えて探しても見当たらなくて、またいろいろ調べたらDebian系のOS設定ファイル名前が違うってことが分かって、設定ファイルは見つかったのにどこをどう編集したらいいのか分からいか公式ドキュメント(英語)読んでーみたいな感じでこの2〜3日すげえ回り道したのに

結局Vagrantの設定を弄れば一発だったっていう…Vagrantすげー

初心者が一人で開発やってるとこういう徒労ばっかりで困る

おかげでVPNとかVLANとか使えるようになりそうだから良いけどさ

2018-04-10

会社のクソソフト

ほんとクソ。

一応大手の手助けしたりもするんだが、ほんとクソソフト

問題点は以下の通りだ。

・正しい手順で実施してもバージョンアップに失敗する事がある

バージョンアップに失敗した場合ソフトが起動しない or ソフトが壊れる

設定ファイルを読ませるとソフトが壊れることがある

エラー番号は出るが、原因不明

ログを少量取るだけでも「1G」以上

・原因追求に6ヶ月とかザラにある。ログとっても「原因不明ですね^^」「様子見^^」の一言で終わったりする。

ソフトインストール&バージョンアップトータルで5時間かかる

簡単に「PCリカバリしてください」と言ってくる(費用はお客持ちとか抜かす)

もうね、アホかと。

ソフトバージョンアップは無理やり上書きできるようにしろよ。

バージョンアップその他完全にソフト不具合だったら

費用負担しろよ!客からクレームになるだろうが!

もー、ほんとクソ!!!

2018-03-12

どこまでがフロントエンドのやることなんだろう

私がいるところは、プログラマ/システムエンジニアフロントエンドエンジニア/バックエンドエンジニアとかの区分がなくひとりでなんでもやるところです

一応フロントエンドが好きで得意だと自称はしているもの一般的フロントエンドってどこまでするのでしょうか


デザイナがするような部分

ここは当然でしょう


最近では SPA のページも多いので単純な HTMLJS ではなくフレームワーク必要とされることもあります

ここもブラウザ側の話なので必要でしょう


SEOの都合などでJSレンダリングじゃなくサーバサイドレンダリングで、サーバから受け取るHTMLの時点で表示できる状態になってることを依頼される場合もあります

その場合サーバサイド言語に応じたテンプレートエンジンも使います

PHP なら BladePython なら jinja、 Node.js なら ejs という感じ


JSコードテストしたり gulp などのタスクランナーwebpack などバンドルツールを使うので OSコマンドラインツールも使える必要があると思います


サーバサイドの言語は別の人が作るにしても自分環境でそれを動かすためにサーバ構築は出来たほうがいいでしょう

VMOSインストールしてウェブサーバインストールしたり

Vagrant, Ansible 等で管理されているなら、設定ファイルを書くことはないにしろ実行する方法エラーが起きたとき簡単対象方法くらいは知っていないと不便かと思います

ウチの場合各自LinuxVMインストールして Ansible でという使い方なので気づきませんでしたが、考えてみたら全部設定済みの VM データを配布してくれるということもあるのかもしれません


データによって画面表示を変えるときに、それに応じたデータを作って画面を確認したいことがあるので、mysql や postgres などなどデータベースの知識必要になることがあります

SQL 書けなくても pgadmin みたいな GUI ツールで表を書き換えればいいのですが最低限の仕組みは知っていないと苦労しそうです

完全にフロント/バックが切り離されてるところなら、フロントエンド開発者向けにデータベースは使わずテンプレートエンジンに渡ってくるデータを好きに設定できる機能が用意されてるのかも?とも思います

サーバサイドの処理は不要クライアントサイドの動きのみを作るわけですから、決まった場所JSON ファイルデータがそのまま使われるならデータベースの存在を知らなくてもいいですし


ここまでできたらバックエンドよりフロントエンドのほうが何でも出来る人みたいに思えます

あとはサーバサイド言語を書ければもうサービスが作れてしまます

でもこれぐらいできないとすごく不便で、すぐに他の人に頼らないといけなくなるように思います

サーバ冗長化とかそういった部分はかかわらなくてもいいと思いますけど、Linuxデータベースなんかは自分でどうにかできないと周り誰もいないときに動かなくなったら作業進められななんてことがありそうですし

2017-11-16

何でガチャ確率操作話題で、バグをみんな異様に恐れているか

あいつらバグ恐るとか。テストすれば良いじゃん。無能なの?

ってみんな思うかもね。


なんでガチャの時のバグをみんな恐れているかと言うと、
設定ミスったら、今は全額返金がメジャーでして。

そして、単純な設定ファイル編集ミスは実は結構やらかされている。


ゲームによっては、返金時に数億〜数十億円の損害が発生する。
(月初とか月末の目玉ガチャとかでミスったらぁぁぁぁあああああああ)


君のミスでうん億円の損失だよ、
と責められることはないだろうが
ミスると心が痛いぞ。


なので、ソーシャルゲームの開発に関わらない人から見ると、
異様にガチャバグを恐れている感じに見えると思う。
俺には見えた。


確率変動なんて、バグ入りそうな実装やるくらいなら、
何度もガチャやったり、
素直に確率絞ったり、
ガチャにおまけつけろよぉおおおおお
とは思っちゃっても仕方ないよね



俺はゲームイベントやる方が良いと思うけどね!
みんな喜ぶから
イベント技術者実装コストがかかるから
新規開発を進める手が止まるんだ

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