読者です 読者をやめる 読者になる 読者になる

97%

メソッド

はじめに

たまたま目にした雑誌の特集の焼き直しであるため、以下全ての文章の語尾に「らしい」を付けること。
とりあえず見様見真似でやってみると、新たな気付きがあったりなかったり。

マインドフルネス

  • 概要
    注意の向きをコントロールする(拡散しがちな意識を一点に集中させる)ことで認知/感情/行動に影響を与え、
    生活の質を高めるメンタルトレーニング。
    禅の瞑想が起源となっており、神秘的な面を排除し脳科学で明確に証明された、テクニックとしての禅に注力している。

  • やり方
    姿勢を正す「調身」、呼吸を整える「調息」、注意をコントロールする「調心」から成る。

  • 効果
    科学的な検証によって、仕事のパフォーマンス向上や人間関係改善に効果があることが明らかになってきた。
    すべてが瞑想で改善される(実践すればストレスから解放される)わけではなく、あくまでも自分を整えるメンテナンスとして捉える。

調身

  • 概要
    「調息」を行うための準備として、楽に呼吸ができる姿勢をつくる。
    姿勢が悪いと(前屈み/猫背等)、横隔膜が機能せず呼吸が浅くなってしまう。
    基本的には、背筋を伸ばして胸を張ればいいと思ってる。


  • 姿勢を正そうと一度力を入れてから脱力してストンと落とす。
    いい具合に力が抜けていい感じの姿勢になる(適当)。


  • 軽く(クッと)前に張る。
    背中が丸いと肺が狭まり呼吸が十分にできない。


  • 前と後ろの両面から軽く圧をかけ、周辺を締める。
    自然と背筋が伸びる。


  • 骨盤が立つように座る。椅子に座る場合は、浅めに座り骨盤を立てる。
    背が反らず腰への負担が減る。


  • 股の近くや膝の上など自分の落ち着く箇所に置く。


  • 膝の位置を腰より低くなるよう調整する。
    骨盤が立ち、背筋が伸びる。膝の位置が高いと、骨盤が後ろに倒れ、背中が曲がってしまう。

調息

  • 概要
    瞑想のベースとなる。ゆっくり深く呼吸するよう意識する。

  • コツ
    取っ掛りとして、息を長く吐くことを意識する。
    息を吐くとリラックスし(自律神経の副交感神経が優位になる)、息を吸うと緊張する(自律神経の交感神経が優位になる)。

  • 目安
    吐く息の長さが吸う息の二倍程度になるよう意識する。
    例えば、5秒程度かけて息を吸い、10秒以上かけてゆっくり吐き出す。
    息を吸う際は胸や腹が膨らむ感覚、息を吐く際はそれらが縮んでいく感覚に集中する。

調心

集中瞑想
  • 概要
    対象(呼吸/身体の一部等)に注意を向ける。大体20〜30分ぐらいやればいいと思う。

  • やり方
    姿勢を整え、ゆっくりと息を吐いたり吸いたりを繰り返し、呼吸に意識を集中させていく。
    しばらくして、注意が散漫になってきたら、その状況を拒絶せず(過敏に反応せず)、一度状況を確認した後、またゆっくりと再び呼吸に意識を集中させていく。
    ここでの「集中」は、外部からの刺激を遮断するものではなく、あくまでリラックスした状態を指す。

  • 効果
    脳をデフォルト状態(エネルギーをセーブする)に戻す。
    集中力、記憶力、意思決定等の認知機能を高める。
観察瞑想
  • 概要
    瞑想中に沸き起こる思考や感覚を客観的に捉え、そのまま観察していく。

  • やり方
    まず集中瞑想を行い、呼吸に意識を集中させる。
    しばらくして、思考や感覚が拡散し始めた際に、その状態を察知し客観的に観察を試みる(集中瞑想の場合は、察知した後に再び呼吸に意識を集中させていく)。
    仕事のことについてあれこれ考え始めた意識の成り行きを、当事者目線ではなく第三者として傍観する。
    慣れないうちは、考えている内容を、第三者が読み上げるようにしてナレーションしていく。

  • 効果
    発想力の向上、感情のコントロールがしやすくなる(自分を客観視することで扁桃体による脳のハイジャックを防げるようになる)等の効果が期待できる。
    感情を抑え込むのではなく、それぞれの感情を自在にコントロールして活用することを目指す
    (怒りは感情的な行動を取りやすくさせる一方楽観的にさせる効果がある、また不安は悲観的にさせる効果がある一方ロジカルな思考が浮かびやすくなる)。
ボディスキャン
  •  概要
    意識を集中する箇所を身体のさまざまな部位に移動させていくトレーニング。
    集中瞑想(意識を集中させる)、観察瞑想(身体の感覚を観察する)両方の側面を持つ。

  • やり方
    ゆっくりと息を吐きながら、意識を身体のさまざまな場所に移していく(神経が集中している末端の部位から始めると行いやすい)。
    まず、仰向けになり目を閉じ、呼吸(空気がどのように抜けているか/入ってくるか)を感じる。
    左足の小指から、次に薬指、中指・・・と順に意識を移動させ、最終的には全身に意識を巡らせる(移動はゆっくり行い、3ステップに10〜15分程度かける)。
    慣れてくると、神経の少ない後頭部や耳にも意識を移せるようになる。

  • 効果
    身体の反応に敏感になるため、ストレスを軽いうちに感じ取って早めに休息するなどの対応が取れるようになる
    (ストレスに対する耐性が高まるわけではないが、結果的に感情のコントロールがしやすくなる)。
思いやり瞑想
  • 概要
    上級者向きとされている瞑想。意図的に負荷をかけて耐性を上げていく。

  • やり方
    まず集中瞑想を行い、呼吸に意識を集中させる。
    しばらくしてから、自分に強いストレスをかける(失敗した姿を思い浮かべてプレッシャーを与える等)。
    その後、調息で呼吸を整え、リラックスしていく。

  • 効果
    相手の境遇を理解したうえでポジティブに思考できるようになり、結果的に自分に返ってくるメンタルダメージの軽減が期待できる。
    ストレスを利用して(トリガーにして)、リラックス状態(様々な情報を瞬時に分析して意思決定を行い行動に繋げる状態)をつくれるようになる。 

おわりに

迷走してる感。。。

とあるサービスの開発環境作成

メソッド

はじめに

一言で言うと、本番環境の設定を徹底的に調べる。
PHPのバージョン、「/usr/lib64/php/modules/」の中身、その他設定ファイル(php.ini/httpd.confとか)。
今回の場合は、以下を順番にこなしていった感じ。
具体的な内容はともかく、各項目はそれなりに普遍的なもののはず(サーバーコピーで済むならそれに越したことはない)。

アプリケーション基盤の移行

テストサーバー(ステージング環境)で動いているアプリケーションのディレクトリ構造(「/var/www/」配下)を確認し、ローカル(開発環境)に持ってくる。
その際に、git等でバージョン管理されているディレクトリを確認する。

 利用ツールのインストール

ツール群(apache/php/smarty/postgre/Redis等)を把握して、インストール有無を確認したうえでそれぞれインストールする。
例.
smarty等 → 「/usr/share/php/」をコピペ
php関連 → 「yum -y install php-mbstring php-pdo php-pgsql※」
php php-devel php-mbstring php-pdo php-pgsql php-pecl-yaml.x86_64 php-pecl-apc.x86_64 php-domxml-php4-php5.noarch php-gd.x86_64

設定ファイル(アプリケーション側)の編集

アプリケーションとツールの接続を修正する
例.
「/smarty/configs」配下のファイル(postgre接続に関する設定)」、
「server_list.php(Redis接続に関する設定)」を修正する、

設定ファイル(ツール側)の編集

ツールの挙動を修正する
例.
Apache → 「/etc/httpd/conf/httpd.conf」「/etc/httpd/conf.d/rewrite.conf(アプリケーションのルーティング機能)」「/etc/httpd/conf.d/*.conf」
PHP → 「/etc/php.ini」
Postgres → 「/var/lib/pgsql/data/postgresql.conf(postgreのクライアント認証、max_connections調整)」「/var/lib/pgsql/data/pg_hba.conf(postgreのクライアント認証)」

 アプリケーション/ツールの調整

本番環境用の挙動を、開発環境用に修正する
例.
アプリケーション → メール送信機能(アカウント登録/APIキー発行時にその旨を伝えるメールが飛ぶ)の無効化
ツール → postgreのリストア(+ダンプファイル内のユーザ名置換等)、
smartyのアクセス権限変更(chown apache:apache smarty/templates/、chown apache:apache smarty/templates_c/)

SublimeTextで利用(を検討)しているパッケージ群

SublimeText

探し方

https://packagecontrol.io/ のNew、Trending, Popular

利用中

  • Package Control
    基本

  • SFTP
    パネルが開かない結果、同期有無の判断を勝手に行うことがある(「(Select via quick panel) No」がコンソールに表示される)。
    パネル表示を行うパッケージ(ConvertToUTF8等)の設定を行い、パネル表示が重ならないように調整する。

  • Side​Bar​Enhancements
    サイドバーの拡張

  • All Autocomplete
    補完強化

  • ConvertToUTF8
    UTF8に統一

  • SyncedSideBar
    指定したファイルとサイドバーのカーソル位置が連動

  • Spacegray
    見栄え

  • Vintageous
    Vimmer、「Ctrl + v」からの「Shift + i」

  • Alignment
    「Ctrl + Alt + A」でインデント位置を揃える
    対象となる記号に関する設定

         "alignment_chars": [ ":", "=", "=>" ],
         "alignment_space_chars": [ ":", "=", "=>" ],
    }

 

  • BracketHighlighter
    サーチ範囲を限定しないよう設定(他にも強調表示の形状や、ブラケットを判別する条件などを設定可能)


    "ignore_threshold": true
    }

     

  • Pretty JSON
    JSONの整形

  • Incrementor
    連番の入力、詳しくはhttps://github.com/born2c0de/Incrementor
    [Ctrl + Alt + Shift + H] _ → \i

  • LaTex Word Count
    文字数数えたり

  • DocBlocker
    Docコメントの補完

  •  jQuery
    補完

  •  SublimeLinter-php
    補完
    php.exeをPATHに通す

     

  • SublimeLinter-jshint
    補完
    node.jsインストール、npm install -g jshint、npm update -g jshint

     

  • SublimeLinter-csslint
    補完
    npm install -g csslint

  • SublimeLinter-html-tidy
    補完
    http://www.paehl.com/open_source/?HTML_Tidy_for_HTML5、tidy.exeのパスを通す 

検討中

  • Elastic Tab
    編集時にタブを揃える
    [*.php]
    indent_style = tab
    [*.js]
    indent_style = tab

  • Local History
    Users\ユーザー名\.sublime\history

  • SublimeREPL
    irbとかpython的なやつ

  • Terminal
    "terminal": "C:\\Win~\\cnd.exe"

  • BoundKeys
    List bound keys
    キーマップの状態(被ってるやつとか)を俯瞰できる、
    固まるから使ってない

  • EditorConfig
    異なるエディター/IDE間で共通するコーディングルールを規定する.editorconfig

  • Emmet+Hayaku

  • View In Browser
    Ctrl+Alt+Vキー(Win)

  • DataConverter
    CSV形式のデータをさまざまな形に変換
    範囲選択後、実行

  • FindKeyConflicts
    「BoundKeys」で事足りる気がする(があっちは固まるし。。。)、
    コマンドパレットから「FindKeyConflicts: All Conflicts」を起動
    [Key Bindings- User]を編集

  • Project Manager
    プロジェクトごとに*.sublime-projectファイルを生成して管理する

  • GitGutter
    差分の視覚化

  • Trimmer
    空白の削除

SublimeTextでよく利用する機能

SublimeText
  • とにかくあれが使いたい
    「Ctr+Shi+p」 + キーワード

  • 全プロジェクトの中から、あるファイルを検索したい
    「Ctr+p(Goto Anything)」 + ファイル名

  • あるプロジェクトの中から、該当文字列が含まれるファイルを検索したい
    「Ctr+Sht+F(Find File in ...)」 + キーワード

  • あるプロジェクトの中から、シンボル(クラス、関数、定数など)を検索したい
    「Goto Symbol In Project」 + キーワード

  • あるファイルの中から、シンボル(クラス、関数、定数など)を検索したい
    「Ctr+p(Goto Anything)」 + @(Goto Symbo)キーワード

  • あるファイルの中から、文字列を検索したい
    「Ctr+p(Goto Anything) 」 + #(Search Word)キーワード

  • 定義元を確認したい
    文字列選択 + F12(Goto Definition)
    「Alt + -」で戻れる(「Alt + Sht + -」)

  • ブックマーク
    Ctrl + F2(登録、再度押すと解除)
    F2キー(ジャンプ)
    Ctrl + shift + F2(全て解除)

  • 画面分割したい
    View Layout

  • 同ファイルを新規タブで開きたい
    [File] [New View Into File]

  • インストールしたパッケージ群を共有したい
    Userフォルダ(Sublime Text > Preference > Browse Packages...)を丸コピ

  • 起動したい
    subl .

  • キーバインドを変更したい
    適時「FindKeyConflicts」を利用しつつ、各設定ファイルの編集

スーパーにて

エッセイ

f:id:aitaka:20161017223620j:plain

 

なにげなくスーパーで目にした光景。

この光景を見て、荷出しのバイトをしてたときのことを思い出した。

 ・・・

あのときは朝型だったこととか。

朝早く暗いうちから自転車こいで、もうあの時間に自転車乗ることはないなとか。

電気が消え客のいない店内には、独特な空気感があったこととか。

あの在庫管理のやり方はないなとか。

どんな取られ方をされても、結局消費期限で昇順ソートして入れなきゃいけなかったこととか。

牛乳と納豆の荷出しは特に大変だったこととか。

あの魚屋の人、元気にやってるかなとか。

一緒に荷出ししてた人達、まだ働いているのかなとか。

見栄えを少しでも良くするために、きれいに陳列するフェーズがあったこととか。

初めて飲んだ酒はバイト後その場で買った「ほろよい ソーダ」で、今も飲んでいることとか。

バイト始める前にテスト受けて、その場で言われたのが、点数よりもいかに素早く全ての問題に手をつけたかが大事だと言われたこととか。

院に進むことを考慮してバイトを始め、結果的にバイトを辞め就職してからもう2年経つこととか。

当たり前だけど、こういう作業があって初めて商品が並んでいるんだよなと感じたこととか。

 ・・・

こう、いろいろと思いにふけっていると、「あ、やっぱりそういうことなのか」と変に納得してしまった。
言葉で説明しようとするとありきたりな言い方しかできなさそうなのでもう終わりにするけど、なんとなく前に進めた感じがしたような。

こう対象を囲い込んで除々に攻略していくイメージ

メソッド

はじめに

複雑さにどう向き合うか。 

問題の理解

「なぜ作業に取り組むのか」、作業するにあたってその基盤となる明確な意思を培う。
そこを曖昧にしたまま取り組み始めると、作業中に迷子になってふりだしに戻るみたいなことが起きる。
徐々に攻略している対象が見当違いである可能性を配慮して、作業が思うように進まなかったらまずここに立ち返る。

  • 自分の責務・曖昧な要素(意図、用語の定義)を明確にする。
    曖昧にしたまま進めると、どんどん拡散していってしまう(収集がつかなくなりやがて…)。
    例.
    ① 機能の仕様を策定するときに、技術的な正確さに固執せず、そもそもなぜこの機能が必要なのか、当事者意識(1ユーザとして)を持つ。
    技術に関するさまざまな制約(インフラ不整備等)からの立往生を避け、ユーザビリティ性に注目する。
    すると、逆説的に技術的な問題が解決したりすることがある(データ量の問題が解消されてインフラを拵える必要がなくなったり等)。
    ② コードを読むときにただ漠然と読みだすのではなく、「全体の構成(ディレクトリ構造)を把握したい」等の目的を持つ。
    ③ 「○○なんて常識だろ」に対して、「え、○○って何ですか」と咄嗟に言えること。

  • 問題を再改修して自分のものにする。
    例.
    些細なことであっても、「これだけは...」というような課題を必ず設定する(例えば今日1日○○しないとか)。

戦略

上述のステップで定めたゴールに辿り着くためにすべきことを洗い出す。ここで、作業全体を見渡すようにする。
次に、作業内容を明確にし、その内容の妥当性について吟味する。各作業をシュミレーションしてみて、無駄と判断したことは省略する(この作業は時間の許す限り何度か繰り返してフラッシュアップさせていく)。

取り組む課題によってレベルは異なるけれども、いくつか事例を挙げると...

  • あらゆるツールを利用する前に、あらかじめ全体の構成、その特徴/流儀/立ち位置(どういう経緯でつくられたのか等)を把握する。
    例.
    AWS関連のツールを使うときには、推奨されている作法・流儀に倣う。
    フレームワークを使うときには、リファレンスその他公式情報に目を通し基本的な機能を確認して、無駄な作業(車輪の再発明)を避ける。

  • コードを修正する前に、巨大なコンテキストを読み込み(システムの構成や該当箇所の依存関係の把握等)、
    時間が許す限りさまざなロードマップのパターンを想定したうえで最善の手法を考える。

  • ググる前に、考える(内容の推測、検索語の選定等)。
    ツールがどのように動作するのかを考えれば、自ずとやるべき作業が見えてくる。
    例.
    smartyはページ内容を動的に定めるとき(該当ページにアクセスしたとき)、
    「template」配下のファイルをコンパイルして「template_c」「cache」配下に格納する
    → 「template_c」「cache」のアクセス権限を変更する必要があることがわかる

施行

  • やっつけで作業しない(下手でもいいから丁寧に)。
    ヒューマンエラーによる出戻り(無駄な作業)を防ぐ。
    自分の状態を一つ一つ仔細に観察して、「心配しながら、焦りながら、重圧を感じながら」と「穏やかに、ゆっくりと、気楽に」の配分を調整する。
    リラックスした穏やかな状態であるか、意味のない仕草や動作をしていないか、確認する習慣をつける。

  • (全体の作業を見渡したうえで)逐次的に作業を進める。
    トランザクションを張るイメージで、部分部分の作業を完結させていく。
    何の作業に取り組んでいるのか明確にし、その作業にのみ取り組む。並列的に進めるのは、全体の作業を見渡すフェーズのみに留める。
    着手する作業内容を曖昧にし、複数の作業を並行的に推し進めるようなことはやってはいけない。レンズを使って太陽光を一点に集めると、同じ光線を分散させたときの何倍もの熱が生まれる

  • 物事を理解しやすい姿形に落とし込む(抽象化によるイメージ化)。
    調べ物をする際はその都度調べるのではなく、後で確認できるよう/記事にできるよう、要点を絞って簡潔にまとめる。

おわりに

やっていく。

メソッド

海で溺れずに泳ぎ続けるために。
もしくは、海に入るときの心構え的な。

  1. 答えを探さない
    検索を安直な答えを見つけるための道具として利用しない。
    次々と現れる最新情報(インターネットや専門書、知人からの情報)をただ受け取るだけでは、なんとなく納得して終わってしまう。
    それは情報の「消費」に過ぎず、わかったような気になるだけ。
    大切なのは、「タグ付け(能動的な姿勢で情報に接すること)」と個々の知識を結びつける関連付けにある。

  2. 事実とノウハウの識別
    「事実」には、書き手の意図が加わっていない。
    「ノウハウ」には、書き手の意図が加わっている。
    「ノウハウ」の類に接する際は、事実関係を徹底的に調べ分析したうえで、「事実」と「書き手の意図」を別けて考える必要がある。
    「事実」に着目したいのであれば、こう生温かさにも似た「書き手の意図」を捉えて、その中身を剥き出しにしてみる。
    具体的にいえば、物事を極端かつシンプルなモデルに捉え直してみる。
    その過程で感じる、何かしらの心地良さや歪さこそが「書き手の意図」ということになる。
    つまり、「書き手の意図」はその人の思想に通じてる。

  3. 逐次理解して捨てる
    消化しきれない量の情報をストックし続けることによって、意識が集中できず分散してしまう。
    安易にストックするのは、悪循環をもたらすことが多い。
    情報収集とは、情報を集めることではなく、その情報を読み込むことである。
    理解できるまで集中して読み込み、核心部分に自分の解釈を加えたら、とっと捨てる。