OmniAICreator/Qiita-1.07M huggingface dataset:
「サーバント・リーダー」について基本的なことをまとめました。

１．この記事の背景
PM試験を勉強するなかで、「サーバント・リーダー」という言葉を知りました。
新しい言葉だったので整理してみようと思います。
![leader_business_man.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/bfb33c1f-ddec-792f-6496-f6369c732948.png)



２．「サーバント・リーダー」とは

人材育成サービスでおなじみの「<a herf="https://www.kaonavi.jp/dictionary/servant_leadership/">kaonavi</a>」によると、
下記のように説明されています。

>サーバントリーダーシップとは「リーダーはまず相手に奉仕し、その後相手を導くものである」という考えのもとに生まれた支援型リーダーシップのことで、部下の能力を肯定し、お互いの利益になる信頼関係を築くといったスタイルのリーダーシップです。

:point_up:「奉仕」というのがポイントです。

３．従来のトップダウンリーダーとの違い

いろんな記事を読んで、私見をまとめてみました。

| リーダーシップ| 支配型 | サーバント |
|:-----------|:------------|:------------|
| 型      | トップダウン        | ボトムアップ         |
| 端的に言うと    | 私の言う通りにしろ      | みんなで考えてやってみよう      |
| 相談されたら       | 具体的な指示を出す        | 逆に問いかけて考えさせる        |
| メリット(PJ)         | 短期間で結果が出せる          | リーダーの想定範囲を超えたものが出来上がる          |
| メリット(リーダー)         | 想定外が起こりにくい　| メンバーの成長が感じられる          |
| メリット(メンバー)         | 短期間で型を覚えられる| 自分で考えられるようになる         |
| デメリット(PJ)       | PJを通しての自主性育成は難しい| 完工までに時間がかかる  |
| デメリット(リーダー)       | メンバーと信頼関係構築が難しい| PJ以外の管理(メンバーの教育)に工数を取られる |
| デメリット(メンバ)       | 自主性が育たない| 自主性がないと動けない |
| メンバーの意識    | 指示通りにやろう     |  自分で考えよう     |
| リーダーに特に必要なこと    | 先導力、牽引力     | 忍耐力      |

４．リーダー像と求められるもの

支配型とサーバントを整理してみました。
リーダーの形はどんどん変わっていっており、シェアドリーダーシップというものもあります。
※<a herf="https://www.profuture.co.jp/mk/recruit/strategy/33066">こちらの記事に詳しく説明されています(『MarkeTRUNK』)</a>。これはメンバー自身もPJに対して影響力を持つ、というさらに進んだものになります。
この記事を読んで思ったのが、ジョブ型が前提としてでないとなかなか難しいのかなと。。
判断にはある程度経験値(経験知)が必要になります。経験値がないのに「どうしたい？」と聞かれても困ります。そこはリーダーの技術が必要になるところだと思います(サーバント型×支配型、とかハイブリッドがいいのではないかと思います！)。

良い雰囲気でお仕事できますように！

![group_people_no_dog.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/a054189f-ba3b-7c69-eb56-a26b6d79ddc9.png)
産業医面談を受けてみたので実際の流れをまとめておきました。

１．この記事の背景
　私の会社では長時間労働者には産業医面談のお知らせが来ます。


２．産業医面談とは

まずは言葉の定義から。

>産業医による面談は、従業員の心身の健康管理を主な目的としています。健康診断後に必要な場合や、ストレスチェックで高ストレス者であった場合のほか、休職や復職の際に専門的な判断として行われることもあります。徐々に起こる身体の変化は本人や周囲が気付かないこともあるため、専門的な立場から従業員と企業の双方に助言を行うために大切な取り組みです。

２．どういうときに面談があるの？
主には下記です。
・会社の健康診断で要指導があったとき
・長時間労働があったとき

３．一般的な面談までの流れ(長時間労働の場合)
(1)会社(人事)から本人に面談の案内がくる(強制ではない)
(2)本人から会社に希望の旨の連絡をする
(3)日程調整する
(4)産業医と面談する(産業医と本人の1対1)
(5)産業医から会社へ内容が報告される
　　→(4)の内容で会社に伏せてほしい旨伝えると秘密は守られる(守秘義務)
　　　会社が是正すべきことがあれば、産業医から伝えられる


４．産業医面談の流れ(私の場合)

(1)長時間労働した(1か月で70時間の残業)

(2)人事からメールでお知らせがくる
    →全然強制感はない。
　　過去はスルーしていたが、上司が体調を崩しているのをみたり、
　　産業医の先生が交代になると聞いて、1回は受けてみようという気になった。

(3)ZOOMのURLが送られてくる。面談は30分。
　 私の前も後も予約が入ってた(盛況・・・？)

(4)30分お話。特に資料投影とかはなく、質問に答えていく形。

(5)会社への報告内容を簡単に告げられ、同意して終わり。

＜たぶん報告されたであろう内容(内容自体は私には連携されませんでした)＞
・健康上に問題はない。
・寝るのが遅い。
・本人から会社へのリクエストは特にない。
・会社への指導事項なし(引き続き環境整備を、ぐらい？)。


５．具体的に聞かれたことと得られた知見(私の場合)
定型文の質問でした。これじゃあちょっと、、と思い、こちらからも質問して知識を深めることにしました(健康の類はネットでググっても見解があるので専門家の意見も聞いてみようと思いました)

・まず最初は睡眠について。
　　毎日寝れていますか。どれくらいですか。
　　　→一定以上の睡眠時間は重要だけど、短くても決まったリズムだったらいいらしい。
　　　　「リズム」が大事。

・次に生活習慣について。
　　飲酒。タバコ。日々の運動の状況。
　　　→筋肉は正義らしいです。いいことづくし。
　　　　これを聞いてyoutubeをみてエクササイズをやったのですが2日しか続かなかった・・・

・趣味について。
　　趣味はありますか。
　　　→エンジニアあるあるですが、仕事も趣味なのですよねー。
　　　　「休みの日も仕事のことを考えていますが、苦ではないのです」といったところ、
　　　　風船をふくらませて同じところをずーっと棒でつつている状態だからよくない、とのこと。
　　　　

４．面談を受けた上でわかった面談のメリット(めっちゃ私見)
　　案件を抱えていたら、なかなか面談の時間は取れないと思います。
　　(取れる時間があったら長時間労働になってない・・・)
　　ただ、業界の違う人と話す、という息抜き＋何かアドバイスもらえる、というのはたった30分だったら結構一石二鳥な部分があるのではないかと思いました。

　　しかし面談を受けると要チェック人物(ケアしないといけない社員)のリストに入る可能性もありますので、そのあたりは上司などに確認したほうがいいかもしれません。
そもそもの目的が労働状況改善なので、当然直属の上司にも面談内容は伝わります。
(私の場合、睡眠時間の短さが上司の知るところとなりました)
もうちょっと気軽にできたらいいのになとは思いました(早期改善にもつながります)。
「リスキリング」の最初の一歩の一歩目。

# １．この記事の背景
　遅ればせながら私は2022年の春にこの言葉を知りました。
　知ってから、あちこちで見かけるようになりました(認識してないとスルーしちゃうものです)。
　バズってるよう感じもしますが(データサイエンティストがセクシーとか言われたみたいな)、きちんとした考え方なのでまとめることにしました。
　尚、本記事は参考文献など調べたものをベースに私見を整理したものです。

# ２．参考文献
　下記に背景や課題感がわかりやすくまとめられています。
　<a href="https://www.meti.go.jp/shingikai/mono_info_service/digital_jinzai/pdf/002_02_02.pdf">リスキリングとは　-DX時代の人材戦略と世界の潮流ー</a>
![資料.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/e611f47c-561d-a72c-ae35-1f5c893200c2.png)


# ３．リスキリングとは
　この発表資料によると、

>「新しい職業に就くために、あるいは、今の職業で必要とされるスキルの大幅な変化に適応するために、必要なスキルを獲得する／させること

# ４．なぜこのような考え方が必要なのか
　**(1) 働き方が変わった、変える必要があるから**
　　⇒それにあった働き方、仕事の仕方へのアップデートが必要。
　　　ただし従来のやり方の全否定ではない。"うまいことやる"というイメージ。


　　**・これまで**
　　　DX、リモートワーク、いろいろあったが重い腰があがらない企業が多かった
　　**・今**
　　　労働人口減少が加速。そうは言ってられなくなった。(マイナス因子)
　　　コロナでリモワも身近になった(プラス因子)。
　　　"働き改革"で、"とりあえず残業でカバー"も難しくなった　((小声)ただし一般論)
　　**・これから**
　　　リモートワークも身近になり、"変化"に対して抵抗が薄れた(成功実績)。
　　　国の施策も加速する"はず"。(逃げられない)
　
　**(2) 新しい技術の導入**
　　　AIとか通信技術とかセキュリティとか、カバーするところが目まぐるしく変化している。     
　　　これに対応する人材が必要。外注だけでは限界がある。
　　　限界がなくてもビジネスのコア部分になるものは内製化がよいとされる。

　会社として取り組まないと、社会のビジネスチャンスのルールに乗っかることができず損するかも！？

# ５．で何したらいいの？
　　・会社の方針に組み込む
　　　個々のエンジニアならコミュニティで自身のリスキリングはすでにやってる。
　　　どう組織に組み込むかはトップの指針が必要(どこをめざすか)
　　・社内研修(WEB教材含む)
　　　個人任せではなく会社で。ひとまず社内で共通言語を持つ必要がある。
　　・人事評価の改定
　　　結局給料に反映されないとやらないんで！

# ６．人材(人財)開発に国も予算を確保している
　　<a href="https://www.meti.go.jp/information/publicoffer/ikenboshu/2022/downloadfiles/i221114002_01.pdf">令和４年度第２次補正予算案「リスキリングを通じたキャリアアップ支援事業」の概要（PDF形式：393KB）PDFファイル</a>
 ![政府.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/97ec0860-5338-a2fe-92e0-5efe67cd0dfa.png)

　　735億がどれくらいの規模かわからない・・・(血税なので賢く使ってほしい。。)

教育訓練給付制度とも連動しているようです。
(経済産業省<a href="https://www.meti.go.jp/policy/economy/jinzai/reskillprograms/index.html">「第四次産業革命スキル習得講座認定制度」</a>)
>経済産業大臣が認定した教育訓練講座のうち、厚生労働省が定める一定の要件を満たし、専門実践教育訓練として厚生労働大臣の指定を受けた講座について、労働者等が受講した場合に、その費用の一部が「専門実践教育訓練給付金」として支給されます。
また、経済産業大臣が認定した教育訓練講座を企業内での人材育成に用いる際に一定の要件を満たした場合、厚生労働省「人材開発支援助成金」の助成対象となります。　

賢く国の制度も活用して、自身のアップデートもしていきたいですね。
xRの概要をまとめてみました。

# １．この記事の背景
　私の会社ではワーキンググループの活動があり、2018年にHoloLensを会社で購入してもらいました。
　ただ本業に忙殺され、全然できていない・・・　
　気持ちを入れ替え、今一度、XR技術の初歩的なところをまとめてみようと思います。
![vr_game_mother.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/aaee4614-53c6-f3dc-20e4-974ae9c82b4c.png)


# ２．まずxRとは
xRとは「Cross Reality」の略称で、<a heref="https://time-space.kddi.com/ict-keywords/20180816/2406">『KDDI トビラ』</a>によると、

>XRとは、現実世界と仮想世界を融合することで、現実にはないものを知覚できる技術の総称だ。そのため、VR（仮想現実）やAR（拡張現実）、MR（複合現実）といった技術は、いずれもXRに含まれる。

つまり、デバイスなどを使って、現実と仮想の世界を融合する技術を総称しています。

# ３．融合する技術の整理

|xR|VR(Virtual) | AR(Augmented)| MR(Mixed) |
|:-----------|:-----------|:------------|:------------|
|日本語|仮想現実 | 拡張現実| 混合現実 |代替現実| 
|特徴 | 仮想世界の空間を投影し、現実世界のように体験| 画像や読み込まれた現実世界の空間にデジタル情報を付加し仮想的に現実世界を"拡張"|仮想現実と現実世界を組み合わせて融合(状況を計算する処理が可能)| 
|デバイス例 | VRゴーグル|スマホ|HoloLens
|具体例 | VRゴーグルを被ってジェットコースターの体験(現実にはジェットコースターは存在しない。つまり現実世界は関係ない。) | スカイツリーの前でスマホのアプリを起動すると特定のキャラと現実のスカイツリーのショットが撮れる(現実空間がアウトプットに入る。ただし、その状況や状態は関係なく、あくまであらかじめプログラムされた単一動作となる(ex.このキャラを表示させる)) |HoloLens越しに相手の顔を見ると、プロフィールと今の感情が表示される(デバイスに入った情報が計算され、表示される。ARでキャラが単一の動作だったものが、状況に合わせて表情が変わるなどの体験ができる) |

参考文献：
<a herf="https://ar-go.jp/ar-basic-knowledge/ar-terms/meaning-xr/">『ARGO』の「XR xR」のページ</a>

# ４．xR？XR？(xは小文字？大文字？)
　2018年頃は「x」が小文字である記事が多かったように思います。今は大文字の記事が逆に多い印象です。「XR」は総称のため、VRなどと区別する意味で小文字が使われることがあります。

# ５．今後の課題について
　ゲーム業界や訓練業務(航空、建設、運輸など)で使われることが多いです。
　より一般的にこれらの技術が使われるには「デバイスの限界」を突破する必要があります。
　(操作性、軽量性、値段など)

# ６．その他の"*R技術"
　このほかにも、SR(Substitutional、代替現実)やDR(Diminished、減損現実)というのも出てきました。また整理しようと思います。
情報処理PM試験でやったことをまとめておきました。

# １．この記事の背景
　　今年は2つの試験を受験しました。AWSと情報処理試験です。
　　次回、また何かの試験を受けるときにまた勉強法をイチから検索するのもあれなのでまとめておきたいと思います。
![test_shiken_businesswoman.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/6fac2d12-9d20-190c-ffe4-24dad0b98672.png)

# ２．なぜPMを受験したか
　　PMで必要な知識を体系的に整理したいという動機ももちろんありました。ただ動機の95%を占めていたのは、、、

　　・(会社の祝い金目当てで)応用技術者試験を受けて合格した
　　　　→　午前Ⅰ免除があるので、なにか高度試験も受けようと思っていた
　　　　　　→　仕事がいそがしくなる
　　　　　　　　→　ふと気づくと、秋試験しか残ってない！！
　　　　　　　　　　→　秋試験の中で消去法でPMに・・・(DBは苦手)

　　:point_up:午後Ⅰ免除の利用は計画的に！！

　　![スケジュール.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/5c532a08-e4d9-de93-e737-fe4e9592e796.png)
(IPA <a href="https://www.jitec.ipa.go.jp/1_11seido/seido_gaiyo.html">試験区分一覧</a> より抜粋した試験ごとの実施時期。これは2022年のものです。)


# ３．午前Ⅱ
　　みんながやってる<a href="https://www.pm-siken.com/pmkakomon.php">過去問道場</a>にお世話になる。
　　これ以外やっていません。でもこれでいけました。
    暗記物なので最初の方に5年分やり、受験間際(2週間前)に過去問道場に掲載されているものすべてをやりました。

# ４．午後Ⅰ・Ⅱ
　　みんながお世話になる本「情報処理教科書 プロジェクトマネージャ 2022年版」を買いました。
　　問題を解いて、解答プロセスをなぞって、自分との違いを明示する作業を繰り返しました。すべてノートに書いて、見返せるようにしました。
(知識の整理、同じ間違いをしないように・・・)

# ５．その他やりながら大事だと思ったこと

　　**・問題文は「確定した」要件定義！**
　　午後ⅠもⅡも、勝手な解釈は入れない、というのを心がけて過去問を解きました。
　　(問題文が"確定した"要件定義の内容でそれ以外のことをしてはいけない、というイメージが大切だなと実感)

　　・確定した要件定義の範囲で独自性を出すネタを用意する
　　本番は全然イチから構成を練る時間はありません。
　　段落ごと書き直す、とか自宅での練習ではしなかったことも本番会場では十分あり得ます。
　　(私は本番で一行空行にしてることに途中で気づきました。ありえない。。)
　　日頃のお客様との打ち合わせと同じで、お客様(=採点者)にわかりやすく、お！と思ってもらえるネタを披露できる文面は事前準備が安心です。
　　
　　・PJの話は、実際にやってないことでもいい
　　**試験は採用面接ではなく、単に知識理解力、表現力を採点される場所です。**
　　意外と忘れがちなので挙げておきます。

# ６．直前に目を通したサイト
　　IPAがやってるのでIPAの資料はチェックしました。
　　<a href="https://www.ipa.go.jp/ikc/reports/20200331_1.html">アジャイル開発版 情報システム・モデル取引・契約書 ユーザ／ベンダ間の緊密な協働によるシステム開発で、DXを推進</a>
    :coffee:コーヒー飲みながら、リラックスして読むと意外と頭に入ります！

# ７．やる気が起きないとき
　　誰かと一緒に勉強できる人は恵まれていると思います。
　　私はひとりだったので(まわりにも受験のことは言ってない)、合格体験記を読んだり、twitterで観測したりしてました。

以上、何かの参考になれば幸いです！
「デジタルヘルス」の最初の一歩の一歩。

# １．この記事の背景
　あらゆるところでDXの波がきています。お仕事で医療分野の勉強をする機会も今年はありました。
　まだまだうすぅ～い理解レベルですが、勉強したことをまとめたいと思います。

# ２．デジタルヘルスとは
　　Digital Healthcareのことで、文字通り、デジタル技術をヘルスケア分野に導入してサービスを行うことを指しますが、

「東京慈恵会医科大学　先端医療情報技術研究部」の「<a herf="https://digital-healthcare.jp/digital-health/">デジタルヘルス解説集</a>」によると下記のような考え方です。

> ヘルスケアとは一般に、健康維持や増進のための行為、健康管理のことを指す言葉だが、ここ近年、実際としてはフィットネスといった健康な人の活動や予防のための取り組みから、疾患からの回復を目指す医療行為まで幅広い範囲を指すようになっている。すなわち改めて「デジタルヘルス」を定義するなら、デジタル技術を活用し、予防から治療、回復まで、健康を維持あるいは取り戻すためのすべての行為と言えるだろう。



# ３．各国の状況
日本でも、オンライン診療やロボットによる手術など、少しずつ浸透してきています。

アクセンチュアのレポート「<a herf="https://www.accenture.com/jp-ja/insights/health/digital-adoption-healthcare-reaction-revolution">日本におけるデジタルヘルスのいま～グローバルサーベイにみるデジタルヘルス活用の現状と課題</a>」(2022年2月公開)に

しかし、各国と比べると浸透もそもそもの利用意向も低い水準です。

![利用意向.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/cd5b136a-a232-1100-615f-f3bc6da45c67.png)
(アクセンチュア「日本におけるデジタルヘルスのいま～グローバルサーベイにみるデジタルヘルス活用の現状と課題」p.21より抜粋)

# ４．なぜか？
(1) ポジティブ要因
・病院へのアクセスが悪くない
・先生と対面で話すことで安心感が得られる
・病院サービスに満足している(病院の環境、医療従事者の対応)
(2) ネガティブ要因
・データ管理への不信感（セキュリティ）
・AI技術への不信感
・対面診療の方が信頼性、安心感がある
・そもそもよくわからない、理解できない

# ５．デジタルヘルス発展に必要なこと
![デジタルヘルス普及への考察.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/4bf0d10f-7ef0-56ab-7ac0-5a1569a6c285.png)
(アクセンチュア「日本におけるデジタルヘルスのいま～グローバルサーベイにみるデジタルヘルス活用の現状と課題」p.21より抜粋)

考察にあるように、「行動変容促進」がキーになると思います。
そこで、「４．なぜか？」の内容を紐解くと、「経験がない」「なんか信じられない」といった感情部分が大きな部分を占めています。

そこで、下記４点を挙げてみます。

・まず「経験してもらう」ために行政が主導すべき
　健康診断の一部など、病気になっていなくても医療サービスを受けるときにデジタルヘルスファーストにしてみるなどして、経験値を増やせる工夫をする。
　デジタルヘルスファーストは、デジタルヘルスオンリーではないことに注意(臨機応変な対応が必要)
・地元の医療機関へのデジタル支援も積極的に行う
　医療機関がそれぞれが同じ苦労をしていては時間とお金の無駄なので、共有化し効率的に進められるよう、国や行政がデザインすべき
・実際は民間が主力となり、行政がバックアップという構図を作るのがよさそう
・成功事例を作って、気運を高める工夫が必要


# ６．デジタルヘルスの可能性
|項目|内容| 具体例| 
|:-----------|:-----------|:------------|
|格差是正|僻地でも都市部と同等のサービスが受けられる|オンライン診断、遠隔治療| 
|コスト減(医療従事者)|データ自動処理により事務作業コスト減|患者による電子入力、ウェアラブルデータ連携|
|コスト減(患者)|時間コスト減|必要なときだけ通院することで、移動にかかるコストや待ち時間コスト減|
|コスト減(医療従事者)|データ自動処理により事務作業コスト減|患者による電子入力、ウェアラブルデータ連携|
|コスト減(医療費)|収集データの分析結果から早期対応が可能になる|普段の状態管理がデータ化されることにより早期発見につながり、各事象に対して医療費の抑制が実現する|
|新たな価値|収集データからの新発見|受診時以外のデータも蓄積されることで、データ推移を確認し新たな発見が生まれる、データを多くの専門家で共有されることで新たな発見が生まれる(匿名データ)|

病気になると心も弱るほか、単に体だけを直せばいいということではなく、いろいろな問題が複合的に絡み合います。そういう意味でも医療従事者との信頼関係は重要です。
デジタルヘルスと従来の診療の良いとこ取りのハイブリッド型をめざすのが今後幸せになる未来かもしれません。
過去3年間のセキュリティ10大脅威を追ってみました。

# １．この記事の背景
毎年IPAから10大脅威が発表されます。目まぐるしく変わる技術の世界で、過去3年間を追ったらどうなるかをみてみたいと思いました。
![sougankyou_nozoku_girl.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/c2b54296-44a3-47d1-0064-ef6bbb8d4ba3.png)


# ２．3年間をまとめてみました
組織の部についてまとめてみました。
まとめるにあたり、下記を参照しています。
https://www.ipa.go.jp/security/vuln/10threats2022.html

![3年間.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/449f767b-1a93-1857-0531-3ed8ac241286.png)
　
# ３．移り変わりをながめてみる

こうしてみると、ラインナップはそんなに変わってなく、順位が少し入れ替わっているレベルでした。それでも2020年に入っていたIoT機器がランク外になったり、テレワークが標的にされたりと少しずつ変わっている印象です。
ざっと3年を振り返ると・・・
2020年⇒標的型攻撃が目立ちました。
  例)三菱電機を狙った防衛情報の流出。 三菱電機の公開情報は<a herf="https://www.mitsubishielectric.co.jp/news/2020/0212-b.pdf">こちらから、</a>
2021年⇒コロナ禍で在宅勤務を許可する企業が増え、それを狙った攻撃が発生。
2022年⇒ゼロデイ攻撃も活発に。
　例)「Windows Print Spooler」の脆弱性
SE向け健康ナレッジをいくつか挙げました。

# １．この記事の背景
　エンジニアは健康に悪い仕事だと思います。。
　ずっと座り仕事・・・。目は乾く・・・。集中するとごはん忘れる(人による)。
　首や腰、背中への負担は半端ないです。
　巷では健康グッズのネタであふれていますが、グッズなしでの健康ナレッジをまとめようと思います。
　今回３つを挙げていますが、産業医面談の中で先生に教えてもらったことなので情報は確かかと思います(が、ご利用は自己責任でお願いします・・・)


# ２．生活リズムが大事
　睡眠時間は人によってバラバラです。ただ、リズムが崩れるのがよくないそうです。
　同じ時間に寝起きし、ご飯を食べる、といった活動が重要です。

# ３．目をいたわる
　エンジニアは目をとにかく酷使します。
　その対処方法として、「**20-20-20**」というものがあります。
　**20分ごとに、20フィート以上先(6メートル)を、20秒見つめる**　というものです。
　近くのPCの画面をずっと見ていることにより、焦点が固まっていたり、涙が不足しています。
　これを解消するために、遠くを見て、かつ目を潤します。
　目薬も効果的なのですが、これも「目を潤す」ということが目的だそうです(市販の目薬の栄養素はあまり効果がないのだとか)。

# ４．体を動かす
　**筋トレ**が大事だそうです。体づくりはもちろん、心もポジティブになるそうです。　

# ５．最後に
身体がすべてのベースですよね。(と頭でわかっていても、筋トレは2日坊主です。。)
がんばります。
リアクションアイコンの実装数が増えるとコミュニケーションの違和感が減る。

# １．この記事の背景
私の会社でもクローズドのQiitaをやってます(Qiita Team)。最近リアクションの数が増えて、華やかになりました。華やか以外にも単なる遊びではないというお話を書きたいと思います。


# ２．リアクション機能とは
記事に対して、反応のイラストアイコンを送ることで意思表示できる機能のことです。

・Slackはこんな感じ
![slackリアクション.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/316bbba7-4f8e-0a96-c31f-7bf1a902af66.png)
(「Slack」 <a herf="https://slack.com/intl/ja-jp/help/articles/202931348-%E7%B5%B5%E6%96%87%E5%AD%97%E3%81%A8%E7%B5%B5%E6%96%87%E5%AD%97%E3%83%AA%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%BD%BF%E3%81%86">Slack の使い方</a>より)

・Teamsはこんな感じ(なんと6種類のみ ※2022年12月現在人によってはこれより多い)
![teams.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/ba5629c0-fab2-0a73-e2a1-e77c5cd10db4.png)




# ３．Microsoft Teamsのリアクション
　これまでは6種類だったものが、2022年12月のアップデートで、絵文字で提供されていたものが
すべてリアクションとしても使える運びとなりました:blush:

下記は絵文字の一例です。バラエティーに富んでいます。
<a heref="https://support.microsoft.com/ja-jp/office/%E4%BD%BF%E7%94%A8%E5%8F%AF%E8%83%BD%E3%81%AA%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E7%B5%B5%E6%96%87%E5%AD%97%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B-b9c2ccda-9ad9-4dbb-a25d-bbcebf6311ae">Microsoftの公式サイト</a>からすべての絵文字を確認できます。
![teams絵文字.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/8f9e3afa-0628-7b33-1256-030ed7f88e55.png)

:::note info
TAICHIさんの<a herf="https://art-break.net/tech/?p=15678">このブログ記事</a>によると全員の環境に適用されているわけではなく、バージョンアップをしたらできるわけでもなく、「正座待機」するしかないとのことです
>この機能アップデートは僕の把握している限りだと Microsoft 365 管理センターのメッセージセンターで公開されているアナウンスでは、一般の方の展開時期は2022年12月中旬～2023年1月下旬となっております。
:::

とはいえ、「子供が熱を出したため、お休みさせていただきます」のメッセージに「いいね」リアクションで返すしかなく、毎回違和感を感じていた人も多いはずで、今後は違和感なくリアクションできるようになりますね！


# ４．最後にあったほうがいいと思うものも書いてみる
　・喜怒哀楽
　・確認したことがわかる(感情情報は不要)
　・ほめる
【Excel関数】日付データを元に曜日・祝日・平日/休日判定をする #備忘録

# これはなに

Excelやスプレッドシートで日付データをもとにして
曜日・祝日・平日/休日の判定をする際に使っている関数（というか数式）を備忘録として残します。

# それぞれを判定をする関数

## 曜日を判定する関数

`=TEXT(A1,"ddd")`

※`A1`=日付データのセル

🗒 *ちょいメモ*
"ddd"と指定すると、月・火・水などの文字列が返ってくる。
"dddd"と指定すると、月曜日・火曜日・水曜日などの文字列が返ってくる。


## 祝日を判定する関数

`=IF(COUNTIF('祝日リスト'!$A:$A,A1),"祝日",TEXT(A1,"ddd"))`

※`A1`=日付データのセル
※`'祝日リスト'!$A:$A`=祝日リストという別シートのA列に用意しておいた該当期間の祝日の日付一覧データ

## 平日/休日判定をする関数

`=IF(COUNTIF(B1,"日")+COUNTIF(B1,"土")+COUNTIF(B1,"祝日"),"休日","平日")`

※`B1`= ↑の方法で祝日判定をした曜日データ
汚部屋なファイルサーバ上データをきれいにするために必要なこと。

# １．この記事の背景
　　ファイルサーバはいろんな人が使います。そして自由における空間です。
　　街中にごみがあれば、あちこちにごみが増える、という理論と同じで、汚い要素があればどんどん汚く、カオスになります。
　　カオスな空間をどう正常化するか、について考えたことをまとめます。
![work_desk_kirei.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/0549d7a0-102b-e1d6-a7d4-ccf0489f12ea.png)


# ２．なぜ汚くなるのかを考える
　ゴミが落ちまくっている街中を想像すればイメージしやすいと思います。

・ルールがあるようでない
・監視の目がない
・誰かがキレイにしてくれる
・「後からキレイにしよう」でしない人々


# ３．考えたステップ

|ステップ | 何をする？| 具体例 |
|:-----------|:-----------|:------------|
|１|現状を眺める、悲惨さを数値化して周知する|ファイル一覧化、所有者データ、最終アクセス日、サイズ|
|２|どういう姿がよいか議論し、まとめる|利用目的、これを使って業務がどのように改善するかなど未来の姿を考える|
|３|リスク、理想とのギャップを整理する|この状態における危険なこと、理想像に足りていないことを話し合い、まとめる(当事者意識を育てることが大切)|
|４|フォルダ構成を考え、β版として公開し、意見を募る。<br>同時に、運用設計も考える。|ここでいう運用は、バックアップやリストアといったものだけではなく、<br>運用ポリシーの監視設計も(人が使えば汚くなるのは当然なので！)。<br>できれば自動化の仕組みを入れておきたい(ポリシー違反をした場合、自動で本人と上司に連絡がいくなど)|
|５|一定条件を定め、削除/アーカイブ化する。|日時を決めておき、一気にその日程で実行。<br>わからないものは「削除してよい」とはなかなか言えないのでそれらはアーカイブへ一括移動。データを扱うので管理者の承認の下、行う。|
|６|本番運用開始。|β版を公開しているので基本的にクレームは受け付けない。<br>ただしあくまで業務効率化が目的なので、柔軟な対応も必要。
|７|教育(社内研修、説明会)|初期はNG事例が豊富にあるはず。実例をもって教育すると理解度も格段に上がる。|
|８|運用|警察的な立ち位置。中だるみもあるので、上司など権限のある人の力も借りて取り締まる。|


# ４．ポイント
・たかがファイルサーバ、されどファイルサーバ。
　現状把握→あるべき姿→fit&gap→検討・企画→実行　の流れをなぞります。
・ルールの設定と監視の仕組みを確立させる

オンプレのファイルサーバだけでなく、BOXなどにも使えると思います！
Gitを完全に理解した

# はじめに
Gitについて勉強した内容をまとめてみた。

なお、こちらの動画を参考にしています。
<iframe width="560" height="460" src="https://www.youtube.com/embed/6SLMB7BPG9E" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

# 目次
Gitの用語
（以下追記予定）

# Gitの用語

Git
→ソースコードのバージョンを管理するツール

リポジトリ
→Gitで管理したいソースコードの１つのまとまり
→このリポジトリ内でソースコードを追加・更新・削除する

コミット
→リポジトリの変更履歴（追加・更新・削除）を確定すること
→Gitでの管理対象のファイルを「tracked file」、管理対象外のファイルを「untracked file」と呼ぶ
→ログファイルなど、バージョン管理が不要なファイルが「untracked file」に該当

:::note
メモ
ゲームのセーブデータを、ファイルを分けて保存するイメージ。
コミットで、セーブデータを新しく作る。
:::

ブランチ
→履歴を枝分かれさせ、分岐させるもの
→main/masterブランチと呼ばれるベースのソースから、機能を追加する用のブランチを作成する
 機能追加前と機能追加後の両方の状態を保持することができる

:::note
メモ
ブランチという概念を聞いたとき、シュタインズ・ゲートの世界線を思い浮かべた。
α世界線とβ世界線
:::

マージ
→あるブランチに対して、別のブランチで変更した結果を取り込むこと
→もし2つのブランチで同じファイルを更新していると、競合が発生しエラーになる（コンフリクト）

:::note
メモ
先ほどの例でいうと、α世界線とβ世界線ではまゆりと紅莉栖の生死状態に差異があるからマージできない
:::
"振り返り"について考えてみました。

# １．この記事の背景
　アジャイル開発で使われる、この言葉。
　簡単に言うと、振り返りです。
　フジテレビのドラマ、「PICU」でも初回と最終回で行われていました。
　初回では主人公が反発、最終回では「やるぞ！」というやる気に満ち溢れていました。
　下記は初回の場面です。

　　:hospital:患者さんが残念ながら亡くなる。
　　どうしたら助けられたか、を関係者全員で検討する場面にて。
　　
　　:cry:(やりきれない気持ちの主人公)：終わったことなのに意味がない、と主張。
　　:neutral_face:(上司):次につなげるためにやるのです。助けられなかったからこそ、なぜ助けられなかったのか、助けるために何ができるか、記憶が鮮明なうちにやるのです。

　　#すみません、記憶で書いているのでセリフは雰囲気です(正確ではありません)。

# ２．レトロスペクティブとは

アジャイルには「レトロスペクティブ」という考え方があります。
<a herf="https://e-words.jp/w/%E3%83%AC%E3%83%88%E3%83%AD%E3%82%B9%E3%83%9A%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96.html">IT用語辞典</a>によると下記のように説明されています。
>レトロスペクティブとは、懐古的な、過去に遡った、振り返る、回顧展などの意味を持つ英単語。アジャイルソフトウェア開発プロセスでは、毎回の反復プロセスの最後に行われる振り返り活動のことをこのように呼ぶ。


# ３．振り返り
レトロスペクティブではないのですが、振り返りの実施は私の部内でもルール化されています。
レトロスペクティブと厳密には毛色が違うところもありますが、複数回やっていく中で思うところをまとめます。

## いつやる？
　部のルールでは、対象となるのは障害発生時(自責)です。そして部内の会議で報告する必要があります。
　一応前の部長が「振り返りは楽しくやるもの」と言ってましたが、なかなか難しいです。。
　そこで、うまくいってもいかなくてもやる(ただし毎回とか定例作業は除外)、としました。
　特別なとき(やらかしたとき)にやるのでなく、もうちょっと身近なものにする狙いです。
　具体的には作業当日、もしくは翌日に実施します。

## どんな流れ？
　①まずスケジュール表や手順書を見つつ、何をやっていったかのタスクをすべてなぞる
　　→「作業」に意識を集中させたいので、"誰が"は外すことにしました。
　　　ここで作業時の状態にメンバーを誘います。

　②スケジュールの先頭に戻って、事前準備を含めたところから、よかったことを振り返る
　　→　ここはほめたたえあうことで、モチベーションアップにもつながるので、
　　　　主語を"誰が"を入れます。で、全員の名前が挙がるようにします。
　　　　拍手したりもします。

　③またスケジュールの先頭に戻って、こうしたらもっとよかった、を振り返る
　　→　また"誰が"を外します。ただ、この頃には場の雰囲気もあったまってるので、
　　　「もうちょっとこうしてほしかったな」「(何かに対して)なんでやねん」とか飛び交います。

　④②～③をまとめて、感謝を述べてクローズします。


# ４．何回かやって思うこと

人を責めない、というのはルールとしてあるものの、そんな簡単に切り替えはできません(特に本人)。
事実とは言え、こういう損害が出た、なんて言ったらみんなの心は持ちません。
とはいえ、気にしなくていいよ、を強調すると、「そっか」で終わってしまう可能性もあります。(特に技術力を高めたいとか学びへのモチベーションが低いタイプ)

どうチームで盛り上げていくかは引き続き試行錯誤を続けたいと思います。
「ロボフレ」の最初の一歩の一歩。

# １．この記事の背景
　　先日、横浜で開催されたロボットワールド展に行ってきました。
　　率直な感想は、技術はすごい進歩している気がしたのですが、一般ウケするにはもうちょっとかなと思いました。。。かゆいところに手が届かない感がすごく。。。
　ただ！この発想は今の社会ベースで考えてしまっていることに気づきました。気づいたきっかけが経済産業省の講演でした。この講演で初めて「ロボットフレンドリー」＝「ロボフレ」という言葉を知ったため、私見含め、整理しようと思います。

# ２．ロボットフレンドリーとは

経済産業省によると

ロボットフレンドリーな環境の実現とは、ロボット導入にあたって、ユーザー側の業務プロセスや施設環境をロボット導入しやすい環境へと変革することを指します。

「経済産業省」ロボットフレンドリーな環境の実現に向けた取組が加速しています
　https://www.meti.go.jp/press/2022/10/20221005001/20221005001.html

施策としては下記が掲げられてます。
>所与の環境に後からロボットを導入するのではなく、ユーザーの業務フローや施設環境を”ロボットフレンドリーな環境”に変革し、サービスロボットの社会実装を進めます。また、地域の中小企業等へのロボット導入に向け、コンサルタントやシステムインテグレーター、金融機関等による相互の連携を促進します。

https://www.meti.go.jp/policy/mono_info_service/mono/robot/index.html


# ３．なぜこの考え方が必要なのか

||特徴|前提条件|取り組み方(例)<br>ロボットが想定外の動きをしたら|
|:-----------|:-----------|:------------|:------------|
|従来|環境に技術を合わせる|現環境は確定要件。<br>これを前提/制約とする。|エラー扱いとし解消をめざす。|
|ロボフレ|技術仕様を踏まえた環境整備も視野に入れる|技術仕様に合わせて環境を変えることも可能|仕様と許容し環境の方を変える検討を行う。<br>(例)鏡張りの部屋で空間認識は難しい。ロボットの視界には鏡を張らない|

三菱地所でロボット導入に取り組むDX推進部の村松氏のこのコメントが端的。
>現時点でロボットは、ドアやエレベーターの通り抜け、傾斜のある段差の乗り越え、意外なものだと搭載しているカメラやセンサーのエラー要因となる鏡や直射日光などを苦手とします。これらの状況を打破するために、ロボット関連のシステムの構築・改良や通信連携、ロボットの運用を整理する等、大手不動産デベロッパーをはじめに各社が個別に取り組んでいました。しかし正直に申し上げますと、これは競争領域ではなく協調領域として進めていくべきものです。目指す未来は同じなのですから。

参考 
<a herf="https://xtech.mec.co.jp/articles/6807">『「ロボットフレンドリー」を知っていますか？　これからのビル設計/運営に必要なロボット導入のために知っておくべきこと』</a>

# ４．新しい考え方でもない
## 車が普及した話

車:red_car:がここまで普及したプロセスをたどってみることにしましょう。
(経産省のロボフレに関する講演よりレポ)

　　車ができた
　　　→ これまでは道は歩行者(自転車走行含む)のもの。車と歩行者が１本の道で共存するのは難しい。
　　　　危険だし、車も本来の力を出せない(スピード)。
　　　　→ 車用の道＝車道が作られる
　　　　　→ これは歩行者の行動が制限されたということ(車には優しいが人の行動に制約を与えた)
　　　　　　→ 一方で、車は本来の力を出せることになり、人々は恩恵を受けることができるようになった。
　　　　　　　(移動時間短縮、時間通りの配達やバス利用が可能に、など)
         　　→ 歩行者(人)の行動が制限されるような環境に変わったが、**トータルでみると便益が大幅ＵＰ！**
☆☆あくまで「人の生活が豊かになる」が目指す指針。☆☆

:::note info
車はなくてはならないものになりました。
ただし、必要不可欠かといわれると、大部分の人はとても困るけどないと生きていけないものではありません。でも、一部の人は生きていけないケースもあるかもしれません。ロボットもそのようになっていくかもしれません。
:::

最後に「ロボフレに必要なこと」をまとめたいと思います。

# ５．ロボフレに必要なこと
・ロボットの得意なこと、不得意なことを整理する
・不得意をカバーするための要件、仕様を検討する。
　→標準化する(各々が別々で検討していては非効率)
・車の普及にあったように、人が寛容になる(不便になる運用を受け入れる)
「メタバース」で個人的に注目していること

# １．この記事の背景
　私はメタバースの世界にはあまり興味がありませんでした。ゲームにもあまり興味がないかもしれません。ただ、NHKのドラマ「18才の帝国」を見て、価値観が変わりました。
いろいろこの一年見聞きして考えたことを整理しようと思います。


# ２．まずメタバースとは？

日経XTECHより。

>メタバース（Metaverse）とは我々が住む世界とは異なる、コンピューター上に構築された仮想的な宇宙を指す言葉だ。SF作品ではおなじみの概念だが、株式時価総額が1兆ドル規模にまでなったフェイスブックを率いるザッカーバーグ氏の発言で再び注目されるようになった。

引用元：

https://xtech.nikkei.com/atcl/nxt/column/18/00692/093000065/

# ３．セカンドライフとは？
前にも同じ世界観のものがありました。
![セカンドライフ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/a8a8e9d8-ed85-c7cc-244b-9df11b867c73.png)
https://join.secondlife.com/?category=classic-

・2003年初リリース。
・3D仮想空間で自身のアバターを操作し、仮想世界で生活を送ることができる。
・スマホの登場でモバイル文化が栄え、SNSが主流となったため、そのブームは急速に下火となる。

参考文献。記事のタイトルが悲しい・・・

https://www.itmedia.co.jp/pcuser/articles/1603/06/news002.html

初回リリースから10年経った2013年の規模感は下記にあります。
世界で100万人以上につかわれているとのこと。
https://www.lindenlab.com/releases/second-life-celebrates-10-year-anniversary

操作を体得しないといけない、そこにアクセスする必要性がそこまでいかなかったのも原因のひとつかと思います。

# ４．メタバースで可能になること
メタバースもあちこちで聞かれるようになっても、"一部"で盛り上がってる印象があります。
もし日常生活で感じてる制約が超越できる世界があれば、そこにアクセスするモチベーションになるのではないかと考え、まとめてみました。

:::note warn
がっつり私見です。
:::

|制約|特徴|従来|これから|課題例|
|:-----------|:-----------|:------------|:------------|:------------|
|地理的制約|場所の制約を受けずにコミュニケーションが取れる<br>。電話(ビデオ通話含む)よりもリアルさが感じられる。|アバターをPCで操作しながら仮想空間でリアル風に振る舞う。|モーションキャプチャ、ゴーグルにより自分の動きと連動させることでより没入感が得られ、リアル感が増す。|電話やビデオ通話を選択させない動機付けが必要。|
|時空的制約|過去現在といった時間の流れの制約を受けずにコミュニケーションが取れる|不可。もしくは製作者が定義したものが限界(ルールベース)|AI技術と組み合わせ、過去の偉人の行動や思考、生体情報をインプットし、その人のクローンとなるアバターを作り、仮想空間で動かす(自動)。<br>これにより過去の偉人との交流が可能になる。|倫理感(アバターの権利は誰が持つ？仮想空間で生き返らせていいの？アバターはその人？別物？アバターが発生させた損害は誰が賠償する？製作者？)|
|人に対する物理的制約|身体は1つなので、リアルか仮想空間のどちらかを選択し行動する|特徴の通り|アバターが自律的に動けばパラレルに行動できる|アバターの行動制御や監視はどうする？|


# ５．課題感まとめ
・デバイスの限界
　操作に慣れが必要な場合や、違和感を感じる画面の流れ(カクカク、ローディングに時間がかかる)があると一般受けは難しくなります。

・倫理感の整備もこれから
　新しい世界ができるにあたってのルール整備が必要になります。

・利用の必要性の不足
　まだまだエンタメ分野のものという認識があります。事例紹介を聞いても無理やり数字を作っている感(コストダウンなど)があるようにも思えます。
　「これがないとダメ」という必然性が必要。
   (Twitterは落ち目と一部で言われながらも、災害や電車遅延、お店や道路状況の込み具合の速報情報はここで得る人が多いです(⇒Twitterを選択する必要性がある)。とはいえ最近はTikTokですかね・・)
戦略的技術トレンドと発表しているガートナーについてまとめてみました。

# １．この記事の背景
　毎年秋頃にガートナーからトレンドが発表されます。
　2023年向けの内容も発表されているので、この記事で整理しようと思います。

![ガートナー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/f0f85d77-aba8-9dc7-b2a3-6d114d196edd.png)
_<a herf="https://www.gartner.co.jp/ja/newsroom/press-releases/pr-20221101-techtrends">Gartnerのプレスリリースページより</a>_


# ２．まずGartner(ガートナー)って？
IT分野を中心とした調査・コンサルを行う会社です。

https://www.gartner.co.jp/ja

![ガートナー２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/a6c4eafe-e1a7-2be7-4542-7d674821fb0d.png)
<a herf="https://www.gartner.co.jp/ja/about">「ガートナージャパンについて」より<a>


# ３．何を発表してるの？
Qiitaのアドベントカレンダーと同様、年に1回注目されるトレンド技術が発表される恒例行事です。
(だいたい10月頃。日本語記事が11月頃?)

https://www.gartner.co.jp/ja/newsroom/press-releases/pr-20221101-techtrends


# ４．今年の発表内容について
![2023トレンド.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/1e1ca8cd-fc18-b061-e926-bdbaf78d3b19.png)

DXを念頭におくと、下記のようなとらえ方ができます。

参考記事

https://eetimes.itmedia.co.jp/ee/articles/2212/09/news127_2.html

|項目|内容|
|:-----------|:-----------|
|最適化|DXのコスト削減|
|拡張|DXの進化の加速(特定の業種に特化したクラウドやプラットフォームのサービスが用意され、個々に準備する必要がなくなる、など)|
|開拓|DXの変革を実現(これまでになかった基盤、メタバースなど)) |


ちなみにガートナーからはハイプ・サイクルも発表されています。(2022年8月公開)
![ハイプサイクル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/2614d8a0-3a28-d0fd-ff40-2492571c0dce.png)
ガートナー発表<a herf="https://www.gartner.co.jp/ja/newsroom/press-releases/pr-20220816">「先進テクノロジのハイプ・サイクル：2022年」</a>より

:coffee:この技術はまだまだこれからだなーとかいろいろ楽しいです。

ハイプ・サイクルとは
>テクノロジとアプリケーションの成熟度と採用状況、およびテクノロジとアプリケーションが実際のビジネス課題の解決や新たな機会の開拓にどの程度関連する可能性があるかを図示したものです。

https://www.gartner.co.jp/ja/research/methodologies/gartner-hype-cycle


最後にトレンドを直近3年間まとめました。
# ５．直近３年間のトレンドまとめ
![トレンド直近3年間.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/c9c47107-75bf-2fcf-d765-659a5bf3d09f.png)

2022年はベースからの変更、2023年は基盤変革のような印象を持ちました。
(ハイプ・サイクルをみるとメタバースはまだまだこれからのようですね)
[WindowsServerFailoverClustering]仮想マシン無停止で別クラスタへ移動する方法

# １．この記事の背景
　ちらほら技術記事も書きたくて、ちょっと前に立ち向かった案件から事例を紹介したいと思います。

# ２．注意
　環境によっていろいろ条件が異なります。
　この手順でうまくいかない、新たな不具合が発生するケースもあり得ます。
　ご自身の判断と責任で取り扱いをお願いいたします。

# ３．結論
　・仮想マシンを稼働させたまま別のクラスタに移行する手段として、「System Center Virtual Machine Manager」が使える。
　・でも基盤リプレースであれば、仮想マシン停止の方向性が幸せ。

# ４．環境
　・Windows Server Failover Clustering 2019
　・System Center Virtual Machine Manager2019 UR2
  ・仮想マシンのOS(Wndows Server2016/2019、Redhat7.x、CentOS7.x)

# ５．移行方法あれこれ
|手段|具体的な方法|備考|
|:-----------|:-----------|:------------|
|WSFCの機能|[移動]をクリック|同じクラスタ内のノードしか移動先に選べない|
|SCVMMの機能|[バーチャルマシンの移動]をクリック|SCVMMに登録しているホストならどこへでも移動できる|
|ファイルコピー|仮想マシンを停止し、VHD/VHDXを移動先にコピー。<br>新規に仮想マシンを作成しVHDXファイルを紐づける。|仮想マシンの停止が必要(静止点を確保するため)|
|バックアップデータからのリストア|フルバックアップを取得し、移動先ホストにリストア|仮想マシンのIPバッティングに注意が必要|

・WSFCの画面
![WSFC.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/851f76e7-ab7f-e575-f2ff-4a0ec99b812d.png)

・SCVMMの画面
![SCVMM画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/44fb6ef6-7c01-452f-fe29-9c12566bc766.png)


# ６．*★超重要★*注意 
基盤が変わるというのは外科手術的なものです。
うまく移動できたとしても、仮想マシンがうまく新しいホスト上で動けずリフレッシュのため、新しいホスト上で再起動が必要な場合があります。
(仮想マシンがホストへアクセスする際、読み取れない情報をキャッチして自動再起動など)
(移動当初数日は機嫌よくＶＭも動いてくれていたのに、突然OS再起動が発生したり・・※実話)

やはり基盤リプレースであれば、仮想マシン停止の方向で検討したほうが幸せな気がしました。
Heroku Scheduler から Heroku Data for Redisにコマンドを送信するには

経過的な措置ではあるのですが、本番環境だとうまくRedisのkeyが消えてくれずに、メモリリミットに到達して事故るということが起きてまして、ジョブ自体は流れてるのでflushしてしまえばよいのですが、その方法がわかりませんでしたということで備忘録です。

## 手順
- Heroku CLI Buildpackをアプリケーションに追加 ([参考](https://elements.heroku.com/buildpacks/heroku/heroku-buildpack-cli))
- アプリケーションに HEROKU_API_KEY 環境変数を設定
- Heroku Schedulerで echo "flushall" > /tmp/cmd.txt; heroku redis:cli -a slack-all-timeline < /tmp/cmd.txt のような形でコマンドを設定

### Heroku CLI Buildpackをアプリケーションに追加

```
$ heroku config:set HEROKU_API_KEY=`heroku auth:token` -a アプリケーション名

$ heroku buildpacks:add heroku-community/cli -a アプリケーション名
```

上述のコマンドを打ってください。するとこんな感じでレスポンスが返ってきます。

```
 ›   Warning: token will expire 12/31/2022
 ›   Use heroku authorizations:create to generate a long-term token
Setting HEROKU_API_KEY and restarting ⬢ アプリケーション名... done, v524
 ▸    Warning: The "HEROKU_" namespace is protected and shouldn't be used.
HEROKU_API_KEY: xxxxxxx-37c9-456b-83b9-xxxxxxx
```

ここで出力されるHEROKU_API_KEYはexpire dateが決まってるのでここでは使いません。

### HEROKU_API_KEYを出力する
```
~ $ heroku authorizations:create
Creating OAuth Authorization... done
Client:      <none>
ID:          xxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxx
Description: Long-lived user authorization
Scope:       global
Token:       xxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxx
Updated at:  Wed Jan 25 2023 04:05:02 GMT+0000 (Coordinated Universal Time) (less than a minute ago)
```

Token部分をコピーして、Herokuアプリの管理画面のSettingsから環境変数HEROKU_API_KEYに入れてください

このあとにアプリケーションを再ビルドする必要があります。
`$ git push heroku master` と書いてありますが、手順については自分たちのビルド方法に従ってください。
弊社環境ではGithubからデプロイしていますので、デプロイしなおしました。




### Heroku Schedulerの設定

Heroku Schedulerで `echo "flushall" > /tmp/cmd.txt; heroku redis:cli -a アプリ名 < /tmp/cmd.txt` のような形でコマンドを設定

REDISを複数追加してある場合は
`echo "flushall" > /tmp/cmd.txt; heroku redis:cli -a アプリ名 HEROKU_REDIS_XXXX < /tmp/cmd.txt`　のようにする必要があります

これで実行されます。

あとはここに書いたとおりですが

https://qiita.com/geeorgey/items/ebd83659bff5b8f75bbb

ローカルからRedisにログインして keys * とか info keyspace とか打って、データ量を確認してみましょう。
TypeScriptを知ろう。 - 1. TypeScriptってなぁに？

# はじめに

部署の新人からよくこんな話を聞きました。

* `TypeScript`って難しそうで環境作る時には`JavaScript`を選んじゃいます
* 型って何ですか？
* `JavaScript`と何が違うんですか？

`TypeScript`は絶対に使っていきたいので、
部署の新人向けにTypeScript勉強会を開催しました。
その時のメモをこちらにも公開します。

同じような悩みを抱えた方の負担が少しでも解消されれば幸いです。

<font color="red">※私もTypeScriptの勉強を始めてまだ日が浅いので色々ご容赦ください...</font>

# TypeScriptってなぁに？

`TypeScript`はいわゆる、`AltJS`と呼ばれる言語です。

## AltJSって？

`AltJS`とは、コンパイルするとJavaScriptになる言語のことを言います。

コンパイルとは、簡単に言うと、ソースコードを解析し、読み取れる形に変換することです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2985550/3b8ac78e-1a19-2ed1-4449-4d15050a47ac.png)

`TypeScript`にはコンパイルする機能も付いていて、どの規格の`JavaScript`に変換するか設定することも可能です。

`JavaScript`の規格のことを`ECMASCript`といいます。

## ECMAScriptって？

少し歴史も交えて説明すると、、
`JavaScript`はブラウザによる互換性が低く、各ブラウザ間での決まりごとが必要でした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2985550/6b9dda77-9fe9-c431-2444-04c703e47829.png)

その決まりごとのことを`ECMAScript`といいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2985550/0e8904c3-251f-b022-c843-cc100060e306.png)

これにより、各ブラウザの互換性が生まれるようになったんですね。


そして、`ECMAScript`はEditionと呼ばれるバージョンが存在し、ブラウザごとに対応Editionが異なります。
作成したアプリが対応しているEditionをターゲットとし、TypeScriptでコンパイルすると、、、

> 「○○ブラウザで動かないんだけど！」

ということが起きないです。

> 例) IEはES3までしか対応していないから、ES3にコンパイルしよう！

ブラウザがどの`ECMAScript`のバージョンに対応しているかは、以下から確認してください～！

[ECMAScript ブラウザサポート](https://kangax.github.io/compat-table/es5/)

## 何となく分かったけど、なんでTypeScriptを使うの？

大きく分けて3つの利点があります。

1. 静的型付け
1. 型推論
1. Null 安全性

次回は利点について書いていきます。
[ActiveDirectory] FSMO停止の影響についてまとめておきました。

# １．この記事の背景
　前回はMicrosoft製品についてでしたが、もうひとつADについてまとめようと思います。

:::note warn
停止影響に触れていますが、あくまで一般例です。
ご自身の環境の確認は必須です。
この記事は参考レベルでお読みいただけますと幸いです。
:::

# ２．FSMOについて
みなさんだいたいお世話になった経験のあるこのサイトの説明がとてもわかりやすいです。



「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 <a herf="https://wa3.i-3-i.info/word12485.html">「操作マスタ (FSMO)」</a>

>ドメインコントローラのお仕事のうち「あー、そのお仕事は誰か1人がやればいいから」なお仕事のこと

:::note info
上記の辞典によると合コンの幹事をイメージするとよいそうです。
:::


# ３．FSMOが停止すると影響を受けるもの
まとめてみました。あくまで一般論です。

![microsoft回答.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/6828b437-17f7-688c-ce8a-74a50dc8ebd3.png)


# ４．安全策
　計画停止であれば事前に別DCにFSMOを転送しておきます。

## FSMO の転送手順

1. FSMO 転送先 DC にログオン
2. コマンドプロンプトを管理者権限で開き、下記入力。
 ntdsutil 
3. 下記入力し、[Enter]を押す
<code>roles</code>
4. 下記入力し、[Enter]を押す
<code>connections</code>
5. 下記入力し、[Enter]を押す
<code>connect to server localhost</code>
6. server connections: プロンプトで q と入力し、もう一度 [Enter]を押す。以下はFSMO の機能に応じて実施。
7. RID プール マネージャーを転送する場合には、Transfer RID master と入力し、実行。
8. インフラストラクチャ マスターを転送する場合には、Transfer infrastructure master と入力し、実行。
9. PDC を転送する場合は、Transfer pdc と入力し、実行。
10. ドメイン名前付けマスター を転送する場合は、Transfer naming master と入力し、実行。
11. スキーママスターを転送する場合には、Transfer schema master と入力し、実行。
12. コマンドを実行すると、安全転送が試行される。
13. q を2回実行し、コマンドプロンプトを閉じる。
 
上記の操作で転送が完了後、以下のコマンドを実行し、FSMO の役割を担っている ドメイン コントローラーが可能になります。

## FSMO保有のサーバの確認方法
コマンドプロンプトから確認が可能です。
<code>cnetdom query fsmo</code>
 
(出力例)
C:\Users\Administrator>netdom query fsmo
スキーマ マスター                DC01.aaa.local
ドメイン名前付けマスター         DC01.aaa.local
PDC                          DC01.aaa.local
RID プール マネージャー         DC01.aaa.local
インフラストラクチャ マスター    DC01.aaa.local
コマンドは正しく完了しました。

# ５．最後に
よくわからないから全停止ではなく、きちんと機能や利用状況を押さえておくことが大切ですね。
[Splunk]検索以外のコマンドについて(eval,makeresults)

# １．この記事の背景
<a herf="https://qiita.com/Maruhoppe8/items/0db9e4e5fbe87975dff1">前回</a>(アドベントカレンダー9日目)に続き、もうひとつSplunkネタを書きたいと思います。


# ２．コマンドについて
Splunkはログなどを検索できるものですが、検索以外に使えたりします。今回は２つご紹介します。

# ３．evalコマンド
「eval」は計算処理をしてフィールドに値を格納する(上書きも新規作成も可能)のが主なお仕事なのですが、この計算では文字列を作ることもできます。

```SPL
| makeresults count=1
| eval STR1 = "山田 太郎"
| eval STR2 = "3"
| eval STR2 = STR1 + "さんの操作は上限5回に達しました( " + STR2 + "回)。"
```
![splunk.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/19f27cbc-1b42-4f51-8dca-c3b72e095d1b.png)

ちなみに4行目を「STR3」とすると、STR1,2,3がすべて結果表示されます。
例では、説明でも書いたお仕事を明示したいのでわざと「STR2」を上書きしています。

これ、何に使えるかというと、アラートのメール通知を無機質なテーブルの結果記載からから、日本語文にすることができるのです！


公式サイトの「eval」についてはこちらから。

https://docs.splunk.com/Documentation/Splunk/9.0.2/SearchReference/Eval

# ４．makeresultsコマンド
上段でも触れた「makeresults」。
端的にいうとダミーデータを作ることができます。
(ただしこのコマンド単体で作ったものはサーチ画面を閉じるとデータは消えます。)

コマンドの使い方や処理の例示のときにイベントログ代わりに使うことが多いです。
ちょっとだけ違った使い方をご紹介します。
最近ダッシュボードの選択肢を作るときに使いました(やり方を考えていて行き着いた)。
![ダッシュボード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/0175d504-0848-f15f-5608-36947dbe8d68.png)

公式サイトの「makeresults」についてはこちらから。

https://docs.splunk.com/Documentation/Splunk/9.0.3/SearchReference/Makeresults

# ５．最後に
工夫次第でいろんな使い方ができるのはうれしい(楽しい)ですね。
しょぼい内容ですが何かの参考になれば幸いです！
[Splunk] statsコマンドでlimitの上下値を超えるようにした方法

# １．この記事の背景
　全然技術の話をしてなかったので、ちょっとだけ技術記事を書きたいと思いました。
　あるお客様から「なんか検索結果がおかしい」と相談を受け、いろいろ調べた軌跡？です。
　(開発は他社ベンダー・・・)

# ２．注意
　この記事は私見であり、公式見解ではありません。
　うまく動かない、不具合が発生する可能性など十分にあります。
　ご自身で判断をお願いいたします。

# ３．結論
　・Splunkでは、結果表示の件数に上限値がある。
　・とにかく上限値を超えたデータを返してほしい場合は、1行にすべてのデータを入れる、という発想で乗り越えられる場合がある。

# ４．具体的なお話
## 背景
　・ルックアップテーブルを参照し、リストにある名前をキーにログ抽出するという処理
　　→ ヒット件数が不足している
　　　→ stats count by　の前までは問題なくヒットしている
　　　　→ stats count by周辺を調査。制限値「10000件」の存在を知る。

Splunkの上限設定のコンフィグについて(公式ドキュメント)

https://docs.splunk.com/Documentation/Splunk/9.0.2/Admin/Limitsconf

## 問題
　・オンプレだとlimits.confの書き換えで対応できそうだけど、Splunk Cloudなのですぐには対応難しい(申請がいるそうです)

## 調査して行き着いたこと
　<code> stas values(field_name) </code>で乗り越えた。

　「10000件」は返ってくる行数(レコード数)のこと。
　データが欲しいだけなので、すべてのデータを1行にまとめて返すようにしたら取りこぼしが解消しました。
　(1項目の文字数制限は調べたのですがわからず・・・)

一応お客様が求める出力になりました。(最後の疑問が残ってるので100%解決ではないですが・・・)
Spring Frameworkの@Autowiredを使用したDI解説

## はじめに
本記事ではSpringの@Autowiredを使用したDI(インジェクション)の種類・使い分けについてまとめます。

## DIとは
DIとは「Dependency Injection(依存性の注入)」の略称であり、オブジェクト指向プログラミングにおける開発手法の１つです。
この言葉だけ聞いてもピンとこないと思うので、具体的に言うと「あるクラスに必要となるまた別のクラスのインスタンスを設定すること」です。

## DIをする方法
1.特定のアノテーション(@Component,@Controller,@Service等々)をクラスに付与することで、DIコンテナに登録。
2.インスタンスを「@Autowired」によって、他のクラスの変数や引数に代入して使用することができる。


 ![スクリーンショット 2022-12-14 16.06.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031950/ac397f28-ce70-1563-3b12-f2c16338346d.png)
引用：https://learning-collection.com/springboot入門-vol-8：diを理解しよう/

## DI(インジェクション)の種類
Springで@AutowiredによるDIには以下3種類があります。

・セッターインジェクション（使い道なし）
・フィールドインジェクション（非推奨）
・コンストラクタインジェクション（推奨）

## セッターインジェクション（使い道なし）
こちらはsetterを利用してDIをする方法です。
setterを使うという性質上、コンストラクタ呼び出し後に書き換えが可能なので、あまり使われないです。（セッターインジェクション使うならコンストラクタインジェクション使うかなという感じ）

``` java
public class WcupClass{

    private final MessiService messiService;

    @Autowired
    public setMessiService(MessiService messiService){
        this.messhiService = messiService;
    }
    // 以下省略
}
```

- メリット
   - テスト時にモックオブジェクトに置き換えやすい
- デメリット
   - 依存するコンポーネントが増えるにつれて引数が多くなる
   - フィールドをfinalにできない(書き換えが発生する可能性がある)


## フィールドインジェクション（非推奨）
一番よく見る書き方。簡単にかけるので使いがちです。なぜ非推奨なのかは、コンストラクタインジェクションのメリット・デメリットの説明で理解できると思います。


``` java
public class WcupClass{

    @Autowired
    private MessiService messiService;

    // 以下省略
}
```

- メリット
   - コンストラクタ、セッターは不要なので、コード量を少なくすることができる。
- デメリット
   - DIコンテナを利用することが前提となる。(テスト等で使用すると毎回コンテナ起動が入るので重い)
   - フィールドをfinal化できない(書き換えが発生する可能性がある)

## コンストラクタインジェクション（推奨）
こちらはコンストラクタを利用してDIする方法です。最も推奨されるDIの方法です。
作られるのがインスタンスを生成するタイミングで呼び出されるため、他2つと違ってfinalで定義することができます。(書き換えが起こらない)
プラス実は以下記載のデメリットは実はメリットです。別途以下にて説明します。


``` java
public class WcupClass{

    private final MessiService messiService;

    @Autowired
    privete WcupClass(MessiService messiService) {
        this.messiService = messiService;
    }
    // 以下省略
}
```

- メリット
   - フィールドをfinal化できる
   - テスト時にモックオブジェクトに置き換えやすい(SpringBootTestいらないので軽い)
- デメリット
   - 依存するコンポーネントが増えるにつれて引数が多くなる
   - 循環依存の場合は利用できない
    
## コンストラクタインジェクションのデメリットは実はメリット？
- デメリット1：依存するコンポーネントが増えるにつれて引数が多くなる
  - 依存関係が多い場合、そのクラスは多くの責任を持ち過ぎている可能性があります。 SOLID原則の1つの単一責任の原則に反します。
  -  まとめるとコンストラクタインジェクションは単一責任の原則に反している可能性があることに気づかせてくれるということです。
 <br>

- デメリット2：循環依存の場合は利用できない
  - コンストラクインジェクションは循環依存の場合は利用できないです。ただ循環依存はアンチパターンとされているので、クラス設計が間違えている可能性に気づかせてくれます。
  - <参考>
       - 循環依存とは・・・AクラスがBクラスをインジェクト、BクラスがCクラスをインジェクト、CクラスがAクラスをインジェクトするような場合


## Lombokを使用したコンストラクタインジェクションの書き方
Spring 4.3からクラス中のコンストラクタが１つの場合は@Autowiredを省略できるようになりました。
またLombokの@RequiredArgsConstructorアノテーションを組み合わせることでコンストラクタを記述することなくコンストラクタインジェクションを行うことができます。

``` java
@RequiredArgsConstructor
public class WcupClass{

    private final MessiService messiService;

    // 以下省略
}
```

## 終わり
以上で今後はコンストラクタインジェクションで書くのを推奨します！


## 参考
https://sebenkyo.com/2020/07/18/post-1178/
https://pppurple.hatenablog.com/entry/2016/12/29/233141
https://qiita.com/kmuro/items/aead50c699fefe56c120
新たなNFTの流れであるPOAPとは何か

こんにちは。今回は、「今話題のPOAPとは何か」について書きたいと思います。Web3の性質の１つには、すべての活動をオンラインに刻むことが挙げられます。それを可能にするのがこのPOAPになります。

### POAPとは何か

---
POAPのビジョン
    POAP - The bookmarks of your life
POAPs are digital mementos, minted in celebration of life's remarkable moments.

POAPは、「Proof of Attendance Protocol」の略で、ERC721に準拠しているNFT。
簡単に言えば、単なる参加証明NFT。受け取りも発行も全て無料で行えて、現在は主に、Web3のイベントへの参加証明書として使われている。

〜どこに表示されるの？〜

Walletと紐付けたPOAPの画面に全て管理される。

また、POAPは発行して終わりという単純なものでもない。
運営は、発行後に発行主体が受取手とのエンゲをいかに保つかに今フォーカスしている。

### POAP発行方法

---

POAPの発行には、配布する主体が事前に申請をして許可をおろしておく必要があります。その際の申請方法が下記のようなフォームを通してやることになります。全て英語ですので、それぞれの項目について軽く解説します。

![① 小.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3077219/16da6c97-6139-752f-4a09-e4156afdb78e.jpeg)
![② 小.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3077219/1ac72cd9-319b-a80d-b5b3-816bb867f877.jpeg)


What are you commemorating?：今回のイベントのタイトル

What do you want people to remember about this drop? ：開催イベントの説明

Virtual/Mutiple：発行は1日限りか、連日発行か

Start Date ：イベント開始日（連日であればMulti-day Dropにチェック）

Expiry Date：受取手がPOAPをclaimできる期限

Do you have a website attendees should visit?：イベントのサイトURL

POAP artwork：準備しておいた画像

Edit Code：発行後の編集コード

What is your email?：メールアドレス

How many mint links do you need？： POAPの配布数

と今回はPOAPについて解説しました。ぜひ一度発行してみてください。

最後に
---
![Frame 9 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3077219/b363e741-c7ba-641f-233a-3aecd76ee4fa.png)

Verooは、Blockchain技術を活用した「想いの巡るグルメSNSアプリ」です。食に対する熱量、例えばラーメンがめちゃくちゃ好きで年間400杯食べているとか、変態的に具材にこだわった中華料理を作っているなどのような、今まで直接お金にはならなかった食に対する情熱や熱量、その裏側にある想いがトークンを使うことで巡る世界。自分のラーメンに費やす熱量がコミュニティに承認される。自分がほんとにいいと思って作った食べ物がコミュニティで広まる。Verooは単なるSNSアプリではなく、クリエイターたちの想いが紡がれるソーシャルグルメアプリです。

Homepage: https://veroo.xyz/
Discord URL：https://t.co/VoT0gpsflA
「デザイン思考」の最初の一歩の一歩目。

# １．この記事の背景
　会社でデザイン思考を広めようとしている人がいて、ちょっと学んでみようと思いました。

# ２．参考文献

このサイトにわかりやすく整理されています。

d's JOURNAL

https://www.dodadsj.com/content/220427_design-thinking/

本もあります。

  『デザインシンキング・プレイブック  デジタル化時代のビジネス課題を今すぐ解決する』
 (マイケル・リューリック  (著), パトリック・リンク (著), ラリー・ライファー (著), 今津美樹 (翻訳))
![本2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/9b656b69-feba-1e0d-aff4-89bd69feb8bf.png)


# ３．デザイン思考とは
先述の本より(p.14)

> 「潜在的なユーザーをいかに深く理解し、その隠れたニーズを明らかにすることができるか」

このプロセスではペルソナを作ったりします。本では取り組み方がかわいいイラストと共に書かれています。

## デザイン思考のポイント３つ
<a herf="https://www.dodadsj.com/content/220427_design-thinking/">先述のd's JOURNALの内容</a>をもとに整理。

|ポイント|内容|
|:-----------|:-----------|
|人間中心設計|商品やサービスを使用する当事者の気持ちに寄り添いながら、課題や悩みを理解しようとする考え方。|
|共創型|さまざまな立場の人や異なる経験を持つ人たちとの対話でインスピレーションを得て、新しいアイデアや価値を共に生み出すことを大切にする|
|非線形プロセス|トライアンドエラーを繰り返すことも良しとする。<br>作って終わりではなく、修正や更新が繰り返されるイメージ。<br>完璧なサービスを作ってからリリースするのではなくβ版を公開してユーザーの声から修正したりする。|

ユーザーのペイン(不満、不便、より良い方向へしたい)を解消するという考えが起点となり、さらにそのペインが「本質的」というのが重要そうです。

# ４．デザイン思考のステップ

こちらも<a herf="https://www.dodadsj.com/content/220427_design-thinking/">先述のd's JOURNALの内容</a>をもとに整理。
|ステップ|項目|内容|
|:-----------|:-----------|:-----------|
|1|共感|まずはユーザーを知るところから。ユーザーの言葉だけでなく、感情や背景まで理解する。|
|2|定義|「共感」で得られた情報をもとにユーザーのニーズを定義。「本質的」がカギ。|
|3|概念化|課題を解決するためのアイデアやアプローチ方法を出し合う。ブレストでより多くのアイディアを出す|
|4|試作|試作品を作る。|
|5|テスト|ユーザーテストを行い、本質的な解決につながってるかを検証。|

テスト結果をサービスやプロダクト改善に反映し、試行錯誤のプロセスを繰り返す(非線形プロセス)。

# ５．終わりに
ユーザーに寄り添い、共感し、痛みを認識し、取り除くサービスやプロダクトを開発する。
サービスやプロダクトはユーザーの声をもとに改良を続けていく。
リテンションモデルとリンクするかなと思いました。

※リテンションモデルはアドベントカレンダー2日目にちょっと書いてます！

https://qiita.com/Maruhoppe8/items/6f0832434ef41cf99991
「リテンションモデル」の最初の一歩の一歩目。

# １．この記事の背景
　今年もいろいろと知らなかった概念や考え方に触れることができました。
　リテンションモデルもそのひとつです。
　本を読んだので、その考え方の入り口をまとめようと思います。

# ２．参考文献

ここに書いたものはすべてこの本を読んで考えたものです。
とても読みやすかったです。

『カスタマサクセスとは何か』(著者 弘子ラザヴィさん)
![本.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/05add6ff-ee0a-4180-cc03-68fb75fc453f.png)



# ３．リテンションモデルとは
本に定義が書かれています(p.27～28)
詳細な補足説明もこの後に書かれているのでぜひ読んでみてください。

>1 利用者が、日常的・継続的にそのプロダクトを利用し、モノの所有の対してではなく成果に対して対価を払う。
2 利用者が、いつでも利用を止める選択権を持ち、かつ初期費用が非常に少なくてすむ。
3 利用者が、それ無しでは生活や仕事ができない・使い続けたいと断言できるほど明らかにプロダクトが常に最新状態に更新・最適化され続ける
4 利用者が、自分にとって嬉しい成果を得られるならば、自分の個人データをプロバイダーが取得することを許す



# ４．なぜこの考え方が必要なのか
・従来の「サービス事業者から消費者へ」という一方通行だけでは厳しくなったから
　(背景)
　・消費者の属性も文化も嗜好もとにかく多様になった。
　・その多様性も急激に変化していく
　・所有欲が薄れ、サブスクサービス、ストリーミング、シェアサービスのような一時的利用が好まれるようになってきた

**利用者にいかに継続的にサービスを利用してもらうにはどうすればよいか**、の考えがリテンションモデルといえると思います。


# ５．図解してみた

本を読んで考えたことをまとめてみました。

![リテンションモデルとは１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/3ff338ea-e962-ff78-a12f-792e80ecf340.png)

![リテンションモデルとは2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3003921/11234894-7196-6b92-4c68-e293a54ccd9b.png)

人口減少の時代、いかにお客様に長くお付き合いいただくかがこれまで以上に重要になってきたことを感じました。
マイグレーションファイル

# マイグレーションファイルとは？
以下を実行するためのプログラムファイルのことです。
* ```データベーステーブルのカラムの追加・変更・削除```
* ```indexの追加・変更・削除```
* ```カラムの名称やデータ型の変更```

### 出典
https://www.sejuku.net/blog/60950#:~:text=%E3%83%9E%E3%82%A4%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB,%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82

* p３６　```テストやデータベースのテーブル定義を行う```migrationファイルなどが生成されます。
* p３８ ```データベースの操作を行う```migration（マイグレーション)ファイルが生成される
* p３９ ファイルの中身は```内部DSLになっているため、通常のRubyのコードと変わりません```。このファイルに```テーブルの作成やカラムの追加といった処理を記述```しています。
### 出典
https://gihyo.jp/book/2020/978-4-297-11462-6

#### ドメイン固有言語（DSL）とは？
ドメイン固有言語（DSL）はメタプログラミングで使用されます。メタプログラミングとはロジックを直接記述するのではなく、```あるパターンを持つロジックを生成する高位ロジックによってプログラミングを行う```手法です。簡単に読み解くと```「コードを生成するためのコード」```のことです。
##### 内部DSLとは？
内部DSLとは```汎用プログラミング言語の記述ルールを工夫し、見かけ上の構文を自然言語に近づけたもの```です。元になる汎用プログラミング言語が存在しており、その性質や構文を借りながら、複雑な機能を制限・省略するなどして定義されております。別名「組み込み DSL」とも呼ばれております。
##### 出典
https://anken-hyouban.com/blog/2021/09/13/dsl/

# モデルを作成
モデルのジェネレータとscaffoldジェネレータは、```新しいモデルを追加するマイグレーションを生成```します。このマイグレーションには、```関連するテーブルを作成する命令が既に含まれています```。必要なカラムを指定すると、それらの```カラムを追加する命令も同時に生成```されます。たとえば、以下を実行するとします。
```
$ bin/rails generate model Product name:string description:text
```
### 実際やってみた。
```
***************** % bin/rails generate model Product name:string description:text                         
      invoke  active_record
      create    db/migrate/20221221070417_create_products.rb
      create    app/models/product.rb
```
モデルとマイグレーションファイルが生成されていた。

### 感想
まだRailsのマイグレーションについて勉強する。

# 前の記事(あまり関連性がない）
https://qiita.com/masatom86650860/items/e692ce86f2ffd4167a6b

# 出典
https://railsguides.jp/active_record_migrations.html
不要になったローカルブランチを一括削除したいときはこれ！



## はじめに
[Qiita株式会社のカレンダー](https://qiita.com/advent-calendar/2022/qiita-inc)の21日目は @mayobimu が担当します。

力技で解決しがちな私ですが、今までブランチを一括削除するのに自作したスプレッドシートでCONCATENATE関数を使用してコピペで削除できるようにしていました。
前回、commitの分割方法を調べたことでブランチも一括削除できるんじゃない？と疑問に思い調べてみたので共有します！

### 前回の記事
https://qiita.com/mayobimu/items/399eaf4836374b7c3784

## 結論
- ローカルブランチ削除
    - `git branch|egrep -v '\*|main'|xargs git branch -d`
- マージ済ローカルブランチ削除
    - `git branch --merged|egrep -v '\*|main'|xargs git branch -d`

## 説明
1. `git branch`　で現在ローカルにあるブランチ一覧を取得
    - `--merged`でマージ済のものを取得する
2. `egrep -v '\*|main'`でmainと一致するもの以外を取得
3. `xargs git branch -d`で2で取得したものを引数として回し実行

## おわりに
参考リンクを貼っておきます:ok_hand:

https://qiita.com/chihiro/items/e178e45a7fd5a2fb4599

https://qiita.com/gen10nal/items/c8fce201748fd5d2a4a2

https://qiita.com/yoshida3/items/187a20b89d77fac9e982

https://qiita.com/sf213471118/items/bafcae94419f12c03e0e

[Qiita株式会社のカレンダー](https://qiita.com/advent-calendar/2022/qiita-inc)22日目は @zumi0 と @masato930 が担当します！

ぜひ、[Qiita株式会社のカレンダー](https://qiita.com/advent-calendar/2022/qiita-inc)を購読設定して、明日の記事もご覧いただけると嬉しいです。
簡易コーポレートサイトを公開する -Drive To Webを使ってWebサイトを公開-

# 概要

では完成したWebサイトを公開してみましょう。
一般にはWebサーバを用意してWebページを公開することが多いですが、ここではGoogle DriveをWebサーバとして利用し公開してみます。

:::note alert
本記事で紹介している「Dive To Web」は組織のメールアドレス（学校・会社 等）での認証が必要になっています。
Gmail等のフリーアドレスでのでは利用できなくなっているようです（認証がかかる前に登録しているアカウントは利用できました）

追記：2024年9月19日
:::

> 正確にはDrive To WebというGoogle ドライブやMicrosoft OneDriveのクラウドドライブに保存されているファイルをWebサイトとして公開できるサービスを利用します。
**※公開できるのは、HTML・CSS・JSなどの静的ページのWEBサイトのみです（PHPとかはNG）**

# Google Driveへアップロード
[Google Drive](https://drive.google.com/)を開き、左にある「新規」から「フォルダのアップロード」をクリックして、フォルダをアップロードします。

アップロードが完了すると、左のマイドライブにアップロードしたフォルダが表示されています。

<img width="300" alt="000001.jpg" src="https://dl.dropboxusercontent.com/s/zfczk2vo51p8l6k/000001.jpg">


#  アクセス制限変更
フォルダ名を右クリックし、「リンクを取得」をクリックします。
<img width="300" alt="000010.jpg" src="https://dl.dropboxusercontent.com/s/5cnvr2up7o1a6jn/000010.jpg">

一般的なアクセスを「リンクを知っている全員」に変更して「完了」をクリックします。
![000020.jpg](https://dl.dropboxusercontent.com/s/bt3qtupz3zxqm37/000020.jpg)

:::note alert
この設定をするとURLを知っている人にはフォルダの中身が全て公開されます。同じフォルダの中に会員リストやサーバ構成ファイルなどを保存していたりするとアウトです。一般のファイル共有にはあまり使わないほうがいいです（よくあるクラウド設定ミスによる公開事故に繋がります）。
:::


# サイト確認
https://www.drv.tw にアクセスしてホスティングURLを確認します。
下記ページが表示されたら、「Host on Google Drive」をクリックします。
![000030.jpg](https://dl.dropboxusercontent.com/s/6ep9hwqo6pdinwc/000030.jpg)


使用しているDriveのアカウントを選択します。
<img width="500" alt="000040.jpg" src="https://dl.dropboxusercontent.com/s/cgw2kr14wtm8qfo/000040.jpg">


「DriveToWebがGoogleアカウントへのアクセスをリクエストしています」が開いたら「許可」をします。
<img width="500" alt="000050.jpg" src="https://dl.dropboxusercontent.com/s/tkt39ajs5o9zvef/000050.jpg>
すると管理パネルが開き、URLが表示されます。
フォルダ内にindex.htmlとcontact.htmlがあるため、各ページのURLが表示されています。
<img width="500" alt="000060.jpg" src="https://dl.dropboxusercontent.com/s/b2ujt0yquv2qh4w/000060.jpg">

URLをクリックすると実際に公開されている状態を確認できます。
![000070.jpg](https://dl.dropboxusercontent.com/s/tqt4e8s13mk4xs9/000070.jpg)

公開されたお問合せ機能も含めテストしてみてください。
正常に動いていれば、最低限度のWebサイトが世界に公開されました。

>ここまでで「狭義の開発」は終わりです。が、ITプロジェクトとしての開発（関連業務）はまだまだ続きます。。。

# ページ更新や削除について
必要に応じて実行してみてください。
## ページ更新方法　
 公開ページを更新したい場合は、ローカル環境で更新したファイルを再度アップロードすれば更新されます。
    
## 公開ページの削除方法
公開ページを削除する方法は3パターンあります。
- ファイル削除する
    - ページを削除したい場合、一番簡単な方法は、アップロードしたファイルを削除することです。
- アクセス制限の変更をする
    - ファイル削除したくない場合は、ファイルのアクセス制限を変更します。
        - ドライブ > マイドライブ > website > 右クリックで「リンク取得」> 一般的なアクセスを「制限付き」に変更
- URLを変更する
    - URLを変更することで、変更前のURLにアクセスすると「File not found」とすることができます。<img width="300" alt="000080.jpg" src="https://dl.dropboxusercontent.com/s/n8dg9u8a23vcg4i/000080.jpg">
    - [DriveToWeb](https://www.drv.tw/)にアクセスし、Your site nameに入力、「Set Site Name」で変更可能です。<img width="300" alt="000090.jpg" src="https://dl.dropboxusercontent.com/s/tkg2iqs5ogwfdz7/000090.jpg">



:::


# 関連コンテンツ
* [簡易コーポレートサイトを作成する #1 -トップページ編-](https://qiita.com/minimumskills/private/0a41bb64480c88505c3b)
MySQL クライアントの接続文字セットを変更する

MySQLクライアントから、MySQLサーバーに接続した際、charactor セットが異なるために文字が表示できない場合がある。

クライアント側の文字セットを変更するには、以下の3項目を変更する。
```
SET character_set_client = charset_name;
SET character_set_results = charset_name;
SET character_set_connection = charset_name;
```

これを一行で実行するのが以下。
```
SET NAMES 'charset_name';
```


referenct:
https://dev.mysql.com/doc/refman/8.0/ja/charset-connection.html
ionic Framework日本語翻訳

Ionicを使用している人は日本語のフレームワークがあることを知っていると思いますが、
実は翻訳を手伝ったり、修正を行う事が出来るのはご存じでしたか？

右から５つ目の「文A」というアイコンを押すと
「English/日本語/Translate」と３つの表示が出てきます。

![スクリーンショット 2022-12-21 14.34.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031833/ac46acaa-7704-d20b-1357-788aab2ceb33.png)

一番下の「Translate」をクリックすると次のページが開きます。

![スクリーンショット 2022-12-21 14.35.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031833/3ea1836d-aa9b-1848-f66b-539b502f1ff9.png)

日本語の「手伝う」をクリックするとGitHubが開きます。
https://github.com/ionic-jp/ionic-docs/
ここから翻訳や修正を行う事ができます。


今回の記事を書くにあたって、
気づいたポイントを少しまとめておきます。

◯修正案件
LayoutのResponsive Gridをクリックするとこちらのページ
https://ionicframework.com/docs/ja/api/grid
が本来表示される予定ですが
「ページが見つかりません」と表示をされます。
（この記事のために修正を直していません。）

◯翻訳案件
また、Ionicのポイントとしてほとんど翻訳されていますが、

LayoutのResponsive Gridを開いた時に表示される
「ion-datetime-button」のページや
フレームワーク系などが残っています。

【翻訳未なページの一部　（ionic-docs/docs/）】
Angular
・仮想スクロール
・Slides
・ストレージ
・Angularのパフォーマンス
・Progressive Web Apps

React
・仮想スクロール
・Slides
・Overlays
・Storage
・テスト
・パフォーマンス

Vue
・仮想スクロール
・Slides
・ユーティリティ関数
・ストレージ
・トラブルシューティング
・パフォーマンス

Utities
・Animations
・Gestures

Deployment
・Android Play Store

Techniques
・Security

etc・・・。


我こそは力になろう！！
と思われる方、是非参加してください。
Discord Bot ZeTNONについて

# Discord Botについて
この記事は見てて宣伝にしか見えないですが最後までご覧になっていってください。

私はDiscord Botである「ZeTNON」の開発をしてます
(一応)多機能Botを目指してるので開発者募集中です
気軽にDiscordにフレンド申請してくださいね！！
Discord: Tettu0530New#7110
[![Image from Gyazo](https://i.gyazo.com/ee837b54f7678ed328f5acc4e2ca31d0.png)](https://gyazo.com/ee837b54f7678ed328f5acc4e2ca31d0)