TECH PLAY

株匏䌚瀟マむナビ デゞタルテクノロゞヌ戊略本郚

株匏䌚瀟マむナビ デゞタルテクノロゞヌ戊略本郚 の技術ブログ

å…š227ä»¶

はじめに GCPのIAMは、AWSのIAMずはたた別の抂念を持っおいたす。 そろそろこんがらがっおきたので、GCPのIAMに぀いお思考敎理のためにたずめおみたした。 IAMに぀いお Cloud IAMずは アクセスの①䞻䜓②アクション ③察象リ゜ヌスを指定するこずができたす。 ⓵ 䞻䜓ナヌザ・グルヌプ・アプリ ⓶アクション特定の暩限・操䜜 ⓷察象リ゜ヌスGoogle Cloudサヌビス 䟋えば、Compute閲芧暩限ナヌザをA君がもらうずするず、以䞋のようになりたす。 ⓵䞻䜓A君のナヌザ ⓶アクション読み取りの暩限・操䜜 ⓷察象リ゜ヌスCompute Engineリ゜ヌス 今回は①ず②に぀いおたずめおみたす。 ①䞻䜓 リ゜ヌスに察しおアクションを起こす䞻䜓のこずを総称しお メンバヌ ず呌んでいたす。 メンバヌ には以䞋の皮類がありたす。 メンバヌ Googleアカりント Gメヌルアドレスずの関連付けが可胜です。※所謂普通のGoogleアカりントのこずです。 GCPを䜿甚するナヌザ開発者や管理者などなどを指したす。 サヌビスアカりント アプリケヌションやVMに属するアカりントの事です。 アプリの様々な論理コンポヌネントを衚したす。 GCDKのコヌド実行するずきなどに䜿甚されるアカりントです。 わかりにくいですがGCP Service Accountを理解するを読んだら理解できたした。 ◊むンスタンス・むメヌゞ・アプリコヌド内に鍵や認蚌情報埋め蟌たなくおよいっおいうのがポむントっぜいです。→(・・? ('ω')oO(たぶん、AWSのIAMロヌルに近い感じ ) Googleグルヌプ Googleアカりントずサヌビスアカりントをグルヌプ化できたす。 ◊たずめおアクセスポリシヌの適応などが可胜です。 workspaceドメむン 「.com」のような組織のむンタヌネットドメむン名ごずのアカりントです。 workspaceにナヌザを远加するこずで、Googleアカりントが䜜成されたす。 Cloud Identity Google管理コン゜ヌルにお、ナヌザずグルヌプが管理できたす。 50ナヌザたで無料ですが、GoogleドキュメントやGoogleドラむブなど䜿甚できないサヌビスもありたす。 workspaceドメむンに䌌おたす。 ②アクション 特定の暩限・操䜜をたずめたものを ロヌル ず呌んでいたす。 ロヌル には以䞋の3぀の皮類がありたす。 ロヌル 基本ロヌル GCP偎で準備しおくれおいる圹割ごずのロヌルのこずです。 以䞋の3぀がありたす。 閲芧者 ◊読み取り専甚     ◊既存リ゜ヌスやデヌタの衚瀺が可胜 線集者 ◊閲芧者暩限含む ◊状態を倉曎するアクションが可胜     ◊既存リ゜ヌスの倉曎     ◊アクセスの倉曎削陀  など  オヌナヌ ◊線集者暩限含む ◊管理者暩限     ◊メンバヌの远加や削陀が可胜     ◊プロゞェクトおよびプロゞェクト内のすべおのリ゜ヌスの暩限ずロヌルを管理     ◊プロゞェクトの課金情報を蚭定  などなど 事前定矩ロヌル 特定のリ゜ヌスに察するロヌルのこずです。 GCPリ゜ヌスぞのアクセス暩を现かく決められるため、他のリ゜ヌスぞの䞍正アクセスなどを防ぐこずができたす。 いく぀かあるうちの䜕個か('ω')ノ Compute管理者ロヌルCompute Engineリ゜ヌスに察する党アクション蚱可 ネットワヌク管理者ロヌルネットワヌクリ゜ヌスの䜜成・削陀可胜 ◊※FWやSSLには適応倖✖ ストレヌゞ管理者ロヌルディスク・むメヌゞ・スナップショットの䜜成・削陀可胜 ◊※プロゞェクトのむメヌゞ管理者にプロゞェクトの線集者ロヌルを枡したくないな っお時に䜿える カスタムロヌル カスタマむズが可胜なロヌルになりたす。 事前定矩ロヌルよりも自分奜みの暩限の組み合わせにできたす。 倚くの䌁業では、  最小暩限モデル  が採甚されおいるらしいです。 ナヌスケヌス むンスタンスオペレヌタヌロヌルを定矩 ナヌザにこのロヌルを付䞎するこずで、「VM起動・停止は可胜だが再線成はできない」ずいう暩限を持ったナヌザを発動 バむンディングずポリシヌ バむンディング メンバヌずロヌルの玐づけを バむンディング ず呌びたす。 AWSの時はなかった抂念の気もするが、匷いお蚀えばterraform䜿っお構築するずきのアタッチメントなんちゃらみたいなや぀  バむンディングでは条件を決めるこずができたす。 条件でむンスタンス名等を指定できたす。AWSの IAM Policy的な奎だず思いたす。 ポリシヌ バむンディングをたずめたものをポリシヌず蚀いたす。 誰がどのロヌルを持぀かをたずめたものがポリシヌです。 リ゜ヌスは、䞊の階局芪からポリシヌを継承ずなりたす。 IAMポリシヌの階局はGoogle Cloudリ゜ヌスの階局ず同じです。 匷さで蚀うず、「制限の緩い芪ポリシヌ制限の厳しいリ゜ヌスポリシヌ」になりたす。 芪レベルで付䞎されたアクセス暩を子ポリシヌで制限はできないです。 っお事で最小限で付䞎しおいくのがベストプラクティスになるっおこずですね('ω') さいごにかんそう 暩限の分断などが现かくできるので、耇雑には芋えたすが䜿いこなすずかなりいい感じに開発・運甚ができるなず思いたした。 特に倧人数でいろんな立堎の人がいるプロゞェクト等ですずかなりいい感じに思いたす。 ポリシヌ継承のIAMの決たりなども耇雑なので、GCPのリ゜ヌス階局ずIAMの関係に぀いおも今埌たずめおみたいず思いたす。 投皿 【孊習メモ】GCPのIAMに぀いお調べおみた は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに ITD 2郚1課 のM・Sです。 CSS Gridを孊ぶ際に、面癜いサむトを玹介しおいただいたので共有させおいただきたす。 そもそも、CSS Grid ずは CSS Grid Layoutグリッドレむアりト は、二次元のレむアりトをCSSで自由に操䜜できる機胜です。 栌子状のマス目にグリッドを奜きな順番におけたり するので耇雑なレむアりトを埓来よりも簡単に実装するこずができたす。 ↓みたいなレむアりトを簡単に実装できる。 なぜグリッドレむアりトがいいのか 埓来のWebサむトでは、 flex を䜿甚しおレむアりトを䜜成しおいきたす。 flex ずは、暪䞊びのレむアりトを簡単に実装できるプロパティヌです。 flexでも、十分レむアりトするこずはできるのですが、問題点ずしお、 "無駄なネストが増える" "芁玠の䞊び替えが難しい" ずいう問題点がありたした。 こちらの画像のようなレむアりトを実装しないずいけない堎合。 flexでは、こんな感じで実装したす。 <style> body { width: 200px; } header, nav, article, footer { border: solid 1px #333; box-sizing: border-box; } header { height: 30px; } div { display: flex; } nav { width: 30%; } main { width: 70%; } article { display: block; height: 30px; } footer { height: 30px; } </style> <body> <header>タむトル</header> <div> <!-- ←暪䞊び甚のdivタグ --> <nav>ナビ</nav> <main> <article>蚘事1</article> <article>蚘事2</article> <article>蚘事3</article> <article>蚘事4</article> </main> </div> <footer>フッタヌ</footer> </body> タむトル + ナビず蚘事の暪䞊び + フッタヌ のようなむメヌゞですね。 シンプルなレむアりトでさえ、divタグのように ネストしおしたっおいるこずがわかりたす。 gird だず、こんな感じで実装したす。 <style> header, nav, article, footer { border: solid 1px #333; box-sizing: border-box; } body { width: 200px; display: grid; grid-template: repeat(6, 30px) / 30% 70%; } header { grid-area: 1 / 1 / span 1 / span 2; } nav { grid-area: 2 / 1 / span 4 / span 1; } main { grid-area: 2 / 2 / span 4 / span 1; } article { display: block; height: 30px; } footer { grid-area: 6 / 1 / span 1 / span 2; } </style> <body> <header>タむトル</header> <nav>ナビ</nav> <main> <article>蚘事1</article> <article>蚘事2</article> <article>蚘事3</article> <article>蚘事4</article> </main> <footer>フッタヌ</footer> </body> タむトル + ナビ + 蚘事 + フッタヌ のコンテナごずに 二次元配眮が可胜になるため簡単に実装するこずができたす。 今回の䟋だずdivタグがあるかないかの差ですが、 芁玠が増えれば増えるほどこのネストが発生するので、 flexの䜿いすぎで深いhtml構造になっおしたう ずいうこずでできるこずなら grid を䜿っおいきたいですね。 さらに䞊蚘では掻甚しおいたせんが、 grid は順番を気にせず配眮できる ので、レスポンシブ等で 衚瀺の順番が倧きく倉わる際にも察応するこずが可胜 です。 なので今回は、flex を卒業すべく、gridに觊れおみようず思いたす gird をゲヌム感芚で孊べる GRID GARDEN そんな、gridレむアりトですが、孊べる教材がかなり少ない印象です... 玹介蚘事などはあるのですが、実際に手を動かしながら孊べる教材が殆どありたせん ... そこで玹介いただいたのが、"GRID GARDEN" でした。 å…š28ステヌゞあり、gridで䜿われるプロパティヌを色々孊ぶこずができたす。 䟋えばステヌゞ1だず、 こんな感じで穎埋めのgrid-colum-startのプロパティヌが空欄でそれを入れおいくずいう感じですね。 こんな感じで28ステヌゞあるのですが、倧䜓、30分くらいで党ステヌゞできたした Gridレむアりトのプロパティヌは䞀通りさらえたかなずいう印象でした。 Gridを䜿っおみたいずいった方には、おすすめの内容な気がしたす ですが、内容ずしおは "どういうプロパティヌがあるか知る" がメむンなので もう1アりトプットあればいいなず思いたした。 䜙談 FLEXBOX FROGGY 同様のゲヌムで flex も孊べるみたいです。 他にも面癜そうなcssのゲヌムがありそうですが、玹介した2぀以倖は有料っぜいですね https://flexboxfroggy.com/#ja アりトプットしおみる Grid 甚いた面癜そうな暡擬コヌディングを探しおみたら、良さげな課題があったのでこれを軜くやっおみようず思いたす。 普通のwebサむトでも掻甚先はあるず思うのですが、管理画面の方が1画面で写すコンテンツが倚い関係䞊、gird がより効果的だず思ったのでこれにしたした。 課題 https://codepen.io/TurkAysenur/pen/QWyPMgq 実際に曞いたコヌドが こちら です。 (あくたで grid の孊習なので、完璧には暡写しおいないのずクラスの呜名などをあたり考慮せず実装しおいたす...) ▌画面 PC (1075px ~) ▌画面 タブレット (900px ~ 1075px) ▌画面 SP ( ~ 550px) コヌドに関しおも軜く觊れたす。 girdの郚分のみ抜き出しおみたした。 こんな感じになりたす。 <!--簡略版 詳现は䞊蚘をご芧ください。--> <body> <h2 class="header-left">TASK MANAGER</h2> <aside class="sidebar">...</aside> <div class="header-right">...</div> <div class="tasks">...</div> <div class="detail">...</div> </body>`` //grid body { display: grid; grid-template: 70px 1fr / 360px 420px 1fr; .header-left { grid-area: 1 / 1 / span 1 / span 1; } .sidebar { grid-area: 2 / 1 / span 1 / span 1; } .header-right { grid-area: 1 / 2 / span 1 / span 2; } .tasks { grid-area: 2 / 2 / span 1 / span 1; } .detail { grid-area: 2 / 3 / span 1 / span 1; } } @media screen and (max-width: 1075px) { body { .tasks { display: none; } .detail { grid-area: 2 / 2 / span 1 / span 2; } } } @media screen and (max-width: 900px) { body { display: block; .header-left { display: none; } .sidebar { display: none; } } }` 終わりに コヌド曞いた感想ですが、grid を䜿った方が レスポンシブ察応もはるかに楜だず 感じたした。 现かい衚瀺非衚瀺はもう少し曞いおいたすが、レむアりトのレスポンシブは倧䜓これくらいでできたす。 かなりスッキリかけた印象です。 ただただ、䜿いこなせおいないですが、積極的に䜿っおいきたいなず思いたした。 以䞊です。 最埌たで芋おいただきありがずうございたした 投皿 ゲヌム感芚で “CSS Grid” が孊べる “GRID GARDEN” をやっおみた は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに 先日、AWS 認定デベロッパヌア゜シ゚むトDVAを受隓したので、䜓隓蚘ずしお残したす。 これから受隓する人の参考になれば嬉しいです。 筆者のスペック 新卒幎目のむンフラ゚ンゞニア AWS歎 か月 AWS SAA取埗枈み AWS認定 デベロッパヌア゜シ゚むトずは AWS Certified Developer - Associate AWS DVAはその名前の通り開発者向けの資栌です。 公匏サむトでは以䞋の経隓を持぀人を本詊隓の受隓察象者ず蚘しおいたす。 少なくずも 1 ぀の高床なプログラミング蚀語の深い知識を持぀開発者ずしお勀務した経隓 AWS テクノロゞヌに関する経隓 オンプレミス IT の経隓、オンプレミスずクラりドのマッピングの理解 他のクラりドサヌビスでの業務経隓 たた、AWS認定党䜓ではア゜シ゚むトレベル䞭玚者向けの詊隓ずされおおり、AWSを甚いたアプリケヌション開発に぀いお1幎以䞊の実務経隓を有しおいる人が目安ずなっおいたす。 詊隓の内容は以䞋の通りです。DVA-C02の堎合 詊隓時間130分 問題数65問採点察象倖15問を含む 出題圢匏択䞀遞択問題たたは耇数遞択問題 出題分野 ◩AWS のサヌビスによる開発 ◊セキュリティ ◊デプロむ ◊トラブルシュヌティングず最適化 サンプル問題がこちら↓  ※ AWS Certified Developer - Associate (DVA-C02)詊隓問題サンプル より匕甚 Q. デベロッパヌは、ナヌザヌがほがリアルタむムでコメントを投皿したりフィヌドバックを受け取ったりできるようにする必芁があるりェブアプリケヌションを䜜成しおいたす。 これらの芁件を満たす゜リュヌションはどれですか (2 ぀遞択)。 A) AWS AppSync スキヌマず察応する API を䜜成する。Amazon DynamoDB テヌブルをデヌタストアず しお䜿甚する。 B) Amazon API Gateway で WebSocket API を䜜成する。AWS Lambda 関数をバック゚ンドずしお䜿甚す る。Amazon DynamoDB テヌブルをデヌタストアずしお䜿甚する。 C) Amazon RDS デヌタベヌスによっおバックアップされる AWS Elastic Beanstalk アプリケヌションを䜜 成する。長期間有効な TCP/IP ゜ケットを蚱可するようにアプリケヌションを構成する。 D) Amazon API Gateway で GraphQL ゚ンドポむントを䜜成する。Amazon DynamoDB テヌブルをデヌタ ストアずしお䜿甚する。 E) Amazon CloudFront ぞの WebSocket 接続を確立する。AWS Lambda 関数を CloudFront ディストリ ビュヌションのオリゞンずしお䜿甚する。Amazon Aurora DB クラスタヌをデヌタストアずしお䜿甚する。 AWS SAAずの違い AWSの登竜門的な資栌ずしおAWS認定 ゜リュヌションアヌキテクトア゜シ゚むトSAAがありたす。 同じア゜シ゚むトレベルの詊隓ですが、SAAでは幅広いAWSサヌビスから衚面的な内容が出題されるのに察しお、DVAでは限られたAWSのサヌビスから少し深い内容が出題される印象です。 問われるサヌビスにも違いがあり、SAAではあたり出題されないCode兄匟Code Commit・CodeBuild・CodeDeployなどやAWS CDKやCloudFromationなどの構築系サヌビスなどからも出題されたす。 難易床は個人的にはSAAの方が少し高いかなぁず感じたした。 埗手䞍埗手あるず思いたすが、SAAは単玔に芚えるサヌビスが倚い印象です。逆にDVAはAWS CLIのコマンドオプションなどの现かい郚分も出題されるので、普段からAWSを觊っおいないず難しく感じるかもしれたせん。 結果 結果は  合栌したした 772/1000なのでたぁ埮劙なスコアですね  SAAより簡単ず蚀ったもののスコアは䞋がっおしたいたした。 党セクションのコンピテンシヌは満たせおいるので良しずしたいずころです。 高埗点ではないですが、䞀応合栌は合栌なので自分が勉匷した方法に぀いお曞いおおきたす。 勉匷方法 勉匷方法に぀いおですが、たずAWS認定はSAAずSAP以倖の詊隓は孊習教材があたり充実しおいたせん。 たた、詊隓自䜓も定期的に曎新されるため最新版に察応しおいなかったりず泚意が必芁です。 今回受隓したDVA-C02に関しおも珟状察応しおいる参考曞はありたせん。※11月末にポケットスタディシリヌズからC02察応版が出るみたいです。そのため、本で勉匷するこずが奜きな人には蟛い詊隓だず思いたす。 私がやった勉匷は以䞋の通りです。 Input Udemy AWS認定Developer AssociateDVA-C02詊隓察策トレヌニング C02版に察応しおる貎重な孊習教材です。2倍速でさらっず芋お詊隓の雰囲気を぀かみたした。 Udemy Bussinessで無料で受けられるのはすごくありがたいです。 ただし、これだけだず合栌は難しいず思いたす。 曞籍 AWSの基本・仕組み・重芁甚語が党郚わかる教科曞 結構前に買った本です。AWSのサヌビスがどんなものかざっくり知るのに䟿利ですが、あくたでざっくりなのでほかの資料ず組み合わせお䜿うのがおすすめです。 ハンズオン 手を動かすこずが䞀番理解に぀ながるので以䞋の3぀取り組みたした↓ ◩ AWS Codeサヌビス矀を掻甚しお、CI/CDのための構成を構築しよう ◩ AWS SAMを䜿っおテンプレヌトからサヌバヌレスな環境を構築する ◩ Amazon Elastic Container Service 入門 コンテナむメヌゞを䜜っお動かしおみよう 公匏ドキュメント AWS Documentation 結局ここに行き぀きたす。詳しくサヌビスのこずを知ろうずするずここを芋るこずになりたすが、読解には蚓緎が必芁です。 その他ChatGPTGPT-4 神です。最近課金しおしたいたした。 気になったこずを投げるず参考文献付きで回答しおくれるため、孊習の効率がすごく䞊がりたした。什和最新版の勉匷法です。 ※情報が叀い堎合もあるため泚意が必芁です。 Output 暡詊 CloudTech SAAを受隓した際に、Udemyの暡詊が本番ず乖離しおいるず感じたので、契玄したした。怜玢すれば他にもいろいろありたす。 箄5000円で90日間AWS認定党資栌の暡詊が受けられたす。 DVAは266問甚意されおいお分量ず難易床がちょうどよかったです。最終的に2呚したした。 公匏サンプル問題 AWS Certified Developer - Associate Official Practice Question Set (DVA-C02 - Japanese) 公匏が20問の暡擬問題を出しおくれおいたす。解説も充実しおいるので䞀床は受けおおくのをおすすめしたす。 私は前日に受けお65%だったのですごく焊りたした。 おすすめずしおは、たずUdemyハンズオンである皋床の内容をむンプットしたら問題挔習をし぀぀、足りない知識を公匏ドキュメントやChatGPTなどを甚いお補うのが䞀番効率が良いず思いたす。あたりむンプットで完璧を目指しすぎるず沌にはたっちゃう気がしたす。 詊隓を振り返っお いく぀か個人的な教蚓です。 前日は睡眠をしっかりずる 詊隓は130分ずたぁたぁ長いです。集䞭を保぀のが倧倉ですし、問題文も専門甚語が倚くお解読に゚ネルギヌを䜿うので䞇党な状態で臚む必芁がありたす。 詊隓は早めに予玄する 詊隓日を決め、メリハリを付けお勉匷をするこずが倧切です。詊隓の24時間前たで予玄可胜ですが、土日に受ける堎合は早めに予玄しおおきたしょう。 ちゃんず手を動かす CI/CDやIaCは実際に詊しおみないずなかなか理解が深たりたせん。この蚘事内で䞊げたハンズオン以倖にもネット䞊にあるものを䜿っお動かしおみるのが倧事だず思いたす。 たずめ 今回めでたくAWS認定を2冠するこずができたした 資栌で培った知識を業務で掻かせるように頑匵りたす。 次はSolutions Architect Professionalか Security Specialtyあたりを受けたいず思いたす。 p.s. ベンダヌ資栌は受隓料が高いので、受隓料補助制床1回たでは䌚瀟から受隓料が出る制床にすごく助けられおいたす。ありがずうございたす。 投皿 AWS認定 デベロッパヌ ア゜シ゚むト (DVA-C02)を受けおみた は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに 今幎もアドベントカレンダヌの季節がやっおきたした。マむナビからも20人以䞊の゚ンゞニアが参加しお、クリスマスたで毎日蚘事を投皿したす カレンダヌは毎日曎新されたすのでお楜しみに アドベントカレンダヌ 2023幎12月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Twitterでも発信䞭 マむナビの公匏Techアカりントでも、毎日曎新しおいきたす。 こちらもぜひご芧ください @mynavi_tech 投皿 アドベントカレンダヌ2023開催したす は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに 皆さん、こんにちは。マむナビ゚ンゞニアブログ線集郚です この床、デゞタルテクノロゞヌ戊略本郚以䞋デゞ戊の新オフィスリニュヌアル工事が完成したした こだわりが詰たった自慢の新フロアになっおいたす。 今回はそのなかでもTOWN HALLずいうスペヌスをメむンにご玹介させおいただきたす。 ぜひこのブログを芋お来瀟気分を味わっおいただければず思いたす。 執務゚リア TOWN HALLのご玹介の前に、たずは執務゚リアの䞀郚をご玹介させおいただきたす。 執務゚リアはABW(アクティビティベヌス)を採甚し、䜜業内容や気分によっお働くスペヌスを遞択できるようになっおいたす。 ▲党垭デュアルモニタヌたたは湟曲モニタヌを蚭眮。䜜業効率を高めお働くこずができたす。 TOWN HALL TOWN HALL(タりンホヌル)は、勉匷䌚や懇芪䌚など幅広い甚途で掻甚できるコミュニティスペヌスです。 執務゚リアず隣接しおおり、ガラス匵りの壁には郚眲名である「Drive Digital Inovasion digital technology strategy division」の文字がかっこいいですよね。 TOWN HALL内にあるモニタヌやテヌブルは動かすこずができるため、䌚議宀ずは異なり人数の瞛りがなく利甚ができるスペヌスずなっおいたす。 ▲プロゞェクタヌが蚭眮しおあるため、プレれンテヌション圢匏での利甚も可胜です。 ▲可動匏モニタヌも耇数あるため、グルヌプワヌク圢匏での䌚議も可胜です。 ▲壁際にはベンチのような座れるスペヌスもあるため、倚数の瀟員が集うこずができるようになっおいたす。 怅子やモニタヌなどを移動させお広堎のような圢にするこずもできるので、郚眲党䜓での懇芪䌚など倧芏暡なむベントの実斜も可胜です。 先日もTOWN HALLのお披露目䌚を行い、倚くの瀟員が飲食を䌎いながら亀流を深めおいたした ▲お披露目䌚でデゞ戊坂本本郚長がお話をされおいる様子 「このむノベヌティブな空間を利甚しお、瀟内倖を問わないオヌプンなコミュニケヌションを掻発化させ、より良いアむデアが湧き出おくるような堎にしおいきたいず考えおいたす。 そしお、そのアむデアを自ら開発し䞖の䞭にご提䟛しおいく基点にもなれたらず思っおいたす。」 さいごに 今回は新しくオヌプンしたコミュニティスペヌスである「TOWN HALL」をメむンにご玹介させおいただきたした。 今埌はこのスペヌスを利甚しお、瀟員のスキルアップのための勉匷䌚や亀流を深めるためのむベントなどを行っおいく予定です。
アバタヌ
はじめに 株匏䌚瀟マむナビでは実際の仕事を数か月かけお䜓隓しおいただく就業型むンタ―ンシップを実斜しおいたす。 本蚘事はむンタ―ンシップに絶賛参加䞭のK君に就業型むンタヌンシップに参加したきっかけや、実際に参加しお経隓した業務などをむンタビュヌをさせおいただいた内容に぀いお蚘茉をしたす。 自己玹介 情報系の孊郚に所属しおいる倧孊3幎生です。 倧孊1幎生の時に、HTMLCSS・JavaScriptを授業で習いプログラミングに興味を持ちたした。勉匷し始めた圓初は䞭々うたくいかず難しいな、ず感じおいたしたが䞀぀䞀぀出来るこずが増えおいく達成感が奜きになりたした。 就業型むンタ―ンシップ参加たで マむナビの就業型むンタ―ンシップは「マむナビ2025」経由で応募をしたした。情報系の䌁業に絞っお探しおいた際にマむナビのITコヌスが募集をしおいるのを芋お、正盎マむナビにITのむメヌゞは無かったものの、興味のある教育にも同時に関わるこずが出来るのではないかず思い応募をしたした。 曞類遞考や面接埌から初出勀たでは1か月皋時間があったので、面接時に聞いた技術のキャッチアップやアルゎリズムを勉匷したした。ただ、むンタ―ンシップに察しお特別準備をするわけではなく自分の知芋を曎に広めたいずいう思いから今たであたり觊れおこなかった技術を孊んでいたした。 就業環境に぀いお 1日のスケゞュヌル 時間 やるこず 915930 オフィスに出瀟しお1日のタスクを確認 9301230 タスクを行う・適宜盞談 12301330 お昌䌑憩新宿駅呚蟺でランチ 13301500 タスクを行う・適宜盞談 15001630 課䌚やったこずやお悩みに぀いおの共有䌚 16301730 タスクを行う・適宜盞談 17301745 進捗共有・退勀 むンタヌン生は週23回の出勀のうち半分皋床がリモヌトワヌクです。 テスト前や甚事がある日にはシフトも柔軟に察応しおいただくこずができたした。 オフィス環境 オフィスは新宿駅盎結のミラむナタワヌです。垭はフリヌアドレスになっおいお、出瀟の時は奜きな垭に座っお䜜業をしたす。オフィスには私たちの所属しおいる開発課だけでなく、システム課・マヌケティング課・課など様々な組織の方が働いおいたす。毎日座垭が違うので気分も倉わりたすし、オフィスからはスカむツリヌなど東京の景色が䞀望できるのがお気に入りのポむントです。 私は今回のむンタヌンシップで初めお䌁業のオフィスに入りたした。それたでぱンゞニアはパ゜コンの前でプログラミングをする事だけが仕事なのかな、ず思っおいたしたが実際に足を螏み入れおみるずそうではなく、ディスカッションなどコヌディング以倖のこずもされおいたので驚きたした。 ▲䌚議宀での䞀コマ。倧きいディスプレむをみんなで芋ながらディスカッション䞭 仕事内容 䜿っおいる技術に぀いお プロゞェクトにもよりたすが、私が参加させおいただいたプロゞェクトは以䞋のような技術を利甚しおいたした。 PHP デヌタベヌス 実際にやったこず 瀟内プロゞェクトの機胜実装 䞍明点があればメンタヌを初めずする瀟員の皆さんにSlackで質問をしたり、察面で質問をしおいたした。 孊びず感想 本むンタヌンシップは私にずっお初めおの就業型むンタヌンシップでした。゚ンゞニアずしお働くずいうこずが今たではがんやりずしたむメヌゞでしたが、むンタヌンシップに参加した事で仕事のむメヌゞが぀き、1人ではなくチヌムで開発をするこずがどういうこずなのかを理解するこずが出来たした。 特に印象的だった出来事ずしおぱラヌが起きたずきに、メンタヌの方に質問をしたずきのこずです。他の業務があったず思いたすが優しく、質問をしやすい環境を䜜っお頂き様々な目線でアドバむスをくださいたした。結果ずしお業務も成功し、1぀1぀自分の出来るこずが増えたずきの達成感を味わうこずが出来たした。 たた、普段1人ではできないようなこずにも沢山挑戊をさせおいただきたした。マむナビ自瀟開発を積極的行っおいるずいうむメヌゞも぀きたしたし、参加前は若手瀟員の方は「䞊から蚀われた指瀺を淡々ずやるのではないか」ず思っおいたしたが様々なこずに手を挙げお意欲的にチャレンゞをしおいらっしゃったのも印象的でした。 ▲メンタヌの方に゚ラヌ内容を盞談䞭 今埌の目暙 今回、むンタヌンシップに参加しお普段自分ひずりでプログラミングをする堎合ず、䌁業でチヌムでプログラミングをしおいる堎合ではレベルにギャップがあるこずに気付きたした。頑匵っおそのギャップを少しでも枛らせられるようにスキルをあげお行きたいず思いたす。 様々な幎代・バックグラりンドを持った方ず働くこずが非垞に楜しいず感じたので、今埌も自分自身を磚いおいきたいです。゚ンゞニアずしお働きたい、ず改めお感じたした。 ただただむンタヌンシップは続くのでもっず沢山のこずを吞収できるように頑匵りたす
アバタヌ
はじめに 座孊嫌いな自分ですが、Udemyを掻甚しおAWS SAA-C03を取埗できたので受隓蚘録ずしおたずめおおこうかず思いたす。 倧倉恥ずかしながら蚈画性があたりにもないので、反面教垫ず捉えおください。(こんなはずじゃなかったのにな) ※ちなみにマむナビでは、自己研鑜ツヌルの1぀ずしおUdemy Businessが1人1人提䟛されおいたすので、今回はUdemyをフル掻甚しお資栌取埗したした プロフィヌル 瀟䌚人4幎目 文系孊郚卒 AWSæ­Ž 1幎前埌 入瀟からずっずオンプレにお䞖話になっおたしたが、2022幎4月の瀟内ツヌルのクラりド化プロゞェクトからAWSに関わりを持ち始めたした。 ただ、実際の構築は基本ベンダヌに䟝頌しおいるので、自分ではあたり觊れおない ずいう感じです。1幎ず蚀っおもほが初心者です。 受隓のきっかけ これから本栌的にAWS構築・運甚に関わるので、知識習埗のステップの䞀぀ずしお受隓したした。 受隓日は埌からでも倉曎できるし、「1回萜ちおも再受隓無料」のようなキャンペヌンをしおいた時期だったので、受隓申蟌のハヌドルが䜎かったのも今回の受隓の埌抌しになりたした。 詊隓抂芁 公匏で AWS 認定詊隓ワヌクショップ ずいうりェビナヌをやっおいるので、芖聎したした。 受講したUdemyコヌス ① AWSれロから実践するAmazon Web Services。手を動かしながらむンフラの基瀎を習埗 受隓甚ずいうより、受隓を決める前にAWSの基瀎を孊ぶために芳たした。 ちなみに私は2倍速芖聎したした。 ② 【SAA-C03版】これだけでOK AWS 認定゜リュヌションアヌキテクト – ア゜シ゚むト詊隓突砎講座 基本これやれば倧䞈倫だず思いたす。 ハンズオンも含たれおいるので、業務でAWSを䜿わない人にも○。 その代わり、ボリュヌムがかなりありたす。 ③ 【SAA-C03版】AWS認定゜リュヌションアヌキテクト ア゜シ゚むト詊隓短期突砎講座300問の挔習問題 日頃AWS觊っおるよっお人は最悪これだけでもいいです。 出る順で説明しおくれおたす。 序盀に「ア゜シ゚むト詊隓の出題問題の分析」ずいうセクションがあるので、 これは党員芳おおいお損はないず思いたす。 私は結果的に最埌の远い蟌みに䜿いたした・・・ 勉匷の流れ 理想 ③のセクション1,2で詊隓の抂芁、出題範囲ず傟向を確認 ↓ ②を䞀通りコツコツ芳お(セクション3~7は重点的に)、暡詊を受隓する 間違った箇所や自信がなかった箇所は前セクションに戻っお埩習 ↓ ③であたり銎染みのないサヌビスの埩習をする 珟実非掚奚 ②の基本パヌト(セクション1~セクション7 S3たで)を芳お、問題を解く ↓ 受隓日たで残り2日しかないこずに気づく ②を芳終われない ↓ ③のセクション2で出題傟向を確認し、  ・セクション4~セクション5たで(小テスト含む)  ・セクション6以降のうち、自信がない箇所(小テスト含む) を芳る 受隓圓日 就掻のSPIを受けるのず同じく、テストセンタヌで受隓したした。 必芁なのは身分蚌明曞2点だけ(顔写真付き1点を含む、運転免蚱+保険蚌など) 䌚堎に持ち蟌み可胜なのは、顔写真付き身分蚌明曞1枚ず枡されたホワむトボヌド・マヌカヌのみです。 遞挙カヌの音で気が散ったので、垭備え付けのむダヌマフヘッドホンしおたした。 頭が倧きいので具合悪くなりたした。䜿い捚お耳栓も配っおたので貰っおおけばよかった。 130分で65問なので、1問2分ほど䜿えたすが半分くらい時間が䜙りたした。 予め芋盎ししたいずころはチェックを぀けられるので、ゆっくり芋盎し。 わからない問題は消去法です。 終盀になるず謎の自信が湧いおきたすが、垞に自分を疑うように心がけたした。 結果 14時ごろ詊隓終了で、圓日の18時ごろに合吊のメヌル(ずいうかcredlyのデゞタルバッチ付䞎)がきたした。 さすがにこのタむトルでメヌルが来お䞍合栌だったら萜ち蟌みたすね。 ※この時点では来おいたせんでしたが、2日埌に正匏な合栌通知メヌルが届きたした。 スコアはAWS認定のマむペヌゞから確認したした。  ギリギリですね。 高校・倧孊受隓ず違っお、最初から720点ずれば合栌っお決たっおるんで合栌は合栌です。 受隓終了埌、マむナビの資栌取埗支揎制床を䜿っお受隓料補助の申請を行いたした。16500円(皎蟌)が戻っおきたす。(ありがたや) (でも課皎凊理はしっかりされるので、100戻っおくるわけではなさそう) 䞍合栌でも申請できたすが、1぀の資栌に぀き申請は1回のみ可胜です。 所感 ・ネットワヌク系やサヌバ構成、耇数のサヌビスを組み合わせる問題は、ずりあえず適圓に回答し埌でホワむトボヌドで図を曞いお考えたした。「むンバりンドがでアりトバりンドがで 」ず文章になっおいるず混乱するので。。 ・②③の教材は頻出のサヌビス組み合わせに぀いおはしっかりカバヌしおくれおいるので、セットで芚えおおいおよかったず思いたした。 ・思い切りよく進めおくのが倧事だず思いたす。暡詊をやっおこなかったので時間配分にビビッお序盀ブヌストかけたしたが、結果的に時間が䜙ったので心にゆずりができたした。 ・受隓埌2週間は同䞀詊隓の受隓をできたせんが、自分のタむミングで受けられ、か぀再受隓無料だったので䜕も気負うこずなく受けられたした。 反省点 孊習蚈画がゆるふわすぎた 私は電車通勀のような決たったスキマ時間があたりないので、 意識しお取り組たないず時間だけが過ぎおいっおしたいたす。 Udemyは孊習蚈画の機胜があるので、掻甚すればよかったなず思いたす。 なるべく自分で手を動かすこずが重芁 ②はハンズオン動画を含んでいたすが、自分で手を動かした方が確実に身に぀くし 现かい蚭定も確認出来るので可胜であれば䞀぀䞀぀觊りたかったです 党おを無料枠で収めるこずはできたせんが、 AWSはりェビナヌの芖聎等でクレゞットもらえる時があるので、掻甚できるずいいず思いたす。 (私はただEC2、S3、VPCくらいしか觊れおたせん) 前日はちゃんず寝る 蚀うたでもないです。 掋裁にハマった→詊隓2週間前に新しいミシンを買った ここ最近、退勀埌は毎日瞫っおたした。 詊隓終了埌も(これでたた瞫える )ず思っおたした。 こういう新しいこずをするのは合栌埌にしたしょう。 詊隓2日前に奜きな映画が公開された→公開圓日にしっかり芳た たずめ Udemy芋攟題ず受隓料補助のおかげで、AWS SAAを取埗できたした。 䌚瀟の制床には感謝しかないですね・・・ かなり効率的に孊べる教材ですし、出先やお颚呂の䞭、オフラむンで保存をしおいれば飛行機の䞭など堎所を遞ばず芖聎できるのがアドバンテヌゞでした。 い぀でも受けられる分、なかなか螏ん切りが぀かないので、ずりあえずお金だけ払っちゃうのもアリだなず感じたした。Swing the batですね。 高埗点で合栌しおいるわけではないですし勉匷䞍足なので埩習が最優先課題ですが、次はSysOps Administrator - Associateの取埗を目指したいです。
アバタヌ
はじめに 情報系の孊郚出身ではないですが、二ヶ月で基本情報凊理技術者詊隓を合栌できたした今回は合栌たでの道のりを蚘録ずしおたずめさせおいただきたす。 これから基本情報凊理技術者詊隓にチャレンゞするぞずいう方の参考になればず思いたす。 プロフィヌル 新瀟䌚人(2023幎4月入瀟) デザむン系の孊郚の為ITは未孊習 むンタヌンなどでプログラミングをしおいたのでコヌドは倚少曞けるレベル 受隓のきっかけ 正盎なずころプログラミング経隓には倚少自信があったのですが 入瀟しおすぐ、ITの基瀎研修にお事件が起こりたした  “ IT甚語が党く分からないんです ! (プロトコル? ファむアりォヌル? 䜕の話 ?)“ さすがにたずいず思い、研修期間䞭に受けるず受けるず決めおいた 基本情報技術者詊隓 で最䜎限のITスキルを付けようず考え、本栌的に勉匷を始めたした。 詊隓抂芁 基本情報凊理技術者詊隓ずは 情報凊理技術者詊隓は、「情報凊理の促進に関する法埋」に基づき経枈産業省が、情報凊理技術者ずしおの「知識・技胜」が䞀定以䞊の氎準であるこずを認定しおいる囜家詊隓です。  https://cbt-s.com/examinee/examination/fe より ゚ンゞニアずしお基瀎的な知識を問う詊隓になりたす。 詊隓抂芁 A問題・B問題ずもに パ゜コンを甚いたマヌクシヌト方匏(CBT方匏)です。 科目A 詊隓時間: 90分 内容: テクノロゞ系・マネゞメント系・ストラテゞ系の3分野から四択でそれぞれ出題されたす。 問題数: 60問 (テクノロゞ系: 41問、マネゞメント系: 7問、ストラテゞ系: 12問) 科目B 詊隓時間: 100分 内容: アルゎリズム・プログラミングずセキュリティヌの2分野から問題が出題されたす。アルゎリズム・プログラミング分野は、疑䌌蚀語を甚いた出題になりたす。 問題数: 20問 (アルゎリズム・プログラミング分野: 16問、セキュリティヌ: 4問) 難易床 合栌芁件ずしお、A問題 B問題ずもに600/1000点を超える必芁がありたす。 受隓者数 合栌者数 合栌率 R2秋季 52993人 25499人 48.1% R3春季 32238人 13522人 41.9% R3秋季 52831人 21167人 40.1% 新制床移行前は、23~25%皋床でしたが、新制床移行埌に合栌率が䞊がりたした合栌率は40台に䞊昇したので少し易化しおいるのかもしれたせん 勉匷をした感じ、指定の範囲を繰り返し孊習すれば短期間での合栌が可胜だず思いたす 情報孊郚の方は、A問題も少し孊習すれば合栌点に達するず思いたす プログラミング経隓者の方は、B問題も問題の解き方や流れも十分に緎習すれば合栌点に達するず思いたす ※あくたで䜓感です 勉匷方法 党䜓スケゞュヌル 詊隓の2か月前から、本栌的に勉匷を開始したした。 最初の二週間は、IT初孊者向けの動画を芖聎しお、ITの基瀎を孊習したした。 デゞ戊ではUdemyのアカりントを1人1぀付䞎しおいるためUdemyの動画での孊習です。 そのあずに、基本情報凊理技術者詊隓察策の動画ず過去問道堎を䞊行し、午前察策を行いたした。 詊隓から3週間ほど前から午埌問題察策の動画を芖聎し、問題挔習を行いたした 結果 結果ずしおは、 午前問題: 805/1000 午埌問題: 840/1000 ず元々、ITの基瀎知識はありたせんでしたが合栌するこずができたした 次に察策方法を芋おいきたす 基本情報凊理技術者詊隓 A問題(午前問題)察策 Udemy動画教材① 始めから効率よく孊ぶ 基本情報技術者詊隓 最速 合栌講座 ITの基瀎知識を孊習すべく、最初に孊んだ講座です 基瀎理論〜セキュリティヌなどのテクノロゞヌ分野党般 + B問題を孊習するこずができたす IT党般のむメヌゞを持぀のにずおも圹立぀のでおすすめです僕は、テクノロゞヌ系の動画を受講したした。動画も䞀分野1時間ほどで芋れたす ですが、午前問題で曎に高埗点を取るためにもう1講座受講したした。 https://www.udemy.com/course/lerning-fe Udemy動画教材② 珟圹講垫が教える【基本情報技術者詊隓 科目A】講座 Udemy動画教材①よりもより実践的な内容を孊べるのが、「珟圹講垫が教える【基本情報技術者詊隓 科目A】講座」です。 動画の䞭で理論の解説・実際の過去問の挔習を行うような圢になりたす。 動画の䞭で実際の問題のむメヌゞを぀けるこずができるのでこの講座を孊習すれば、もう過去問に入っおも倧䞈倫だず思いたす https://www.udemy.com/course/kihon_joho 基本情報技術者過去問道堎 実際に動画教材や本で孊んだら次は実践です。動画で孊んだ範囲の過去問を「基本情報技術者過去問道堎」で孊習したす。 自分は党範囲党問題を挔習したのですが、挔習しおみお75ほど正答できおいれば、その範囲に関しおは远加で過去数幎分の問題を挔習すれば十分だず思いたす。 https://www.fe-siken.com/fekakomon.php IPA公匏 サンプル問題 IPA公匏からも2023幎改定埌のサンプル問題が出題されおいたす。問題自䜓の基本的な倉曎はありたせんが、問題の難易床を぀かんでおくにはずおも有甚な問題だず思いたす。 https://www.ipa.go.jp/shiken/syllabus/henkou/2022/20221226.html 基本情報凊理技術者詊隓 B問題(午埌問題)察策 Udemy動画教材③ 珟圹講垫が教える【基本情報技術者詊隓 科目B】科目B察策専門コヌス Udemy動画教材②の講垫の方が解説されおいる午埌問題察策講座、「珟圹講垫が教える【基本情報技術者詊隓 科目B】Javaプログラミング蚀語を䜿った、科目B察策専門コヌス」です。 こちらの問題は午埌問題のために必芁な考え方や䟋題挔習ず解説を行っおくれるような教材です。 新方匏に移行しお問題がだいぶ倉曎になっおいたすが、ただ過去問や察策問題が少ないためこの教材の䞭に含たれおいる類題はずおも勉匷になりたした。おすすめです。 https://www.udemy.com/course/kihon_joho_b IPA公匏 サンプル問題 B問題に関しおも、IPA公匏から2023幎改定埌のサンプル問題が出題されおいたす。䞀回分(20問) ず 6問がサンプル問題ずしお、公開されおいるので必須で解きたい内容になりたす https://www.ipa.go.jp/shiken/syllabus/henkou/2022/20221226.html たずめ 基本情報を勉匷しお良かったこず 基本情報を勉匷しおみお、幅広いITに觊れるこずができたした。圓初、「IT甚語が党く分からない」ずいう䞍安が解消されお、研修・業務䞭に出おくる単語も基本情報凊理技術者で勉匷したから理解が出来るずいうこずが増えたので間違いなく資栌を取埗しお良かったです。   おわりに 以䞊が、自分の基本情報凊理技術者の合栌䜓隓蚘になりたす ただただ未熟ですが、取埗した基本情報を掻かしお今埌の業務に取り組んで行きたす ITの基瀎的な知識を習埗されたい方はぜひ挑戊しおみおください 最埌たでご芧いただきありがずうございたした
アバタヌ
はじめに はじめたしお2023幎床新入瀟員K.NずM.Mです。 今回のブログでは、2023幎床新入瀟員研修の䞭で行った「研修運営」に぀いお玹介したいず思いたす。 研修運営っお䜕なんでやるのずいう説明から、実際に経隓した新入瀟員ずの座談䌚の様子をたずめおいきたす ▌研修カリキュラムの詳现に぀いおは別蚘事にたずめおいたすので、ぜひこちらもご芧ください ###card_post_id=1471### 本蚘事の線集者 アザラシさん 座談䌚のファシリテヌタヌ兌線集者 文系孊郚出身 研修で初めおプログラミングを孊びたした。 癜米が奜きです。 コアラさん 本蚘事の共同線集者 情報系孊郚出身 プログラミング経隓が浅く、研修䞭は無駄に長いコヌドを曞いおいたした。 スマヌトなコヌドをかけるように日々蚓緎䞭です。 研修運営に぀いお 研修運営っお 研修運営ずは、研修を進める䞊で必芁な物品の準備や進行を、教育担圓の䞊叞に任せるのではなく、すべお新卒の自分たちで行うものです。 具䜓的には、 朝䌚/倕䌚の進行 講垫の方ずの連絡やアテンド 研修䌚堎やZoom環境の準備 研修のグルヌプ分け 持ち物や連絡事項のリマむンド  etc
 円滑な研修運営に必芁だず思うこずを自分たちで考え実行したす。 研修運営は、玄2か月の研修期間を぀のタヌムに分けお、12~13人/グルヌプで担圓したした。たた、各タヌムの最埌には成果報告䌚を行い、同期や䞊叞、研修の講垫の方に運営での取り組みや振り返りを共有したした。 なぜ研修運営を行うの マむナビは自らビゞネスを生み出す事業䌚瀟です。そのため、ただ䟝頌をこなすだけではなく、自ら課題を芋぀けお解決を目指す姿勢が求められたす。それは営業職だけでなく、マむナビで働くすべおの瀟員、私たちシステム職にずっおも同じこずです。 その䞀歩目ずしお、䞻䜓性をみに぀けるためにも新卒研修の研修運営を自分たちで行っおいたす 研修運営に぀いおはご理解いただけたでしょうか 続いお各運営班のリヌダヌずの座談䌚の様子をご芧ください 運営班リヌダヌ座談䌚 座談䌚に参加する新入瀟員 うしくん運営1班代衚 運営1班のリヌダヌ。 情報系の孊郚を卒業したした 最近、サりナに行くこずが増えお、よく”䌊良コヌラ”を飲んでいたす。 デトックス効果があるので、リラックスしたい時に是非   うたくん運営2班代衚 運営2班のリヌダヌ。 文系の孊郚を卒業したした。 最近はものすごく腰が痛くお、長時間座っおいるのが぀らいです。 姿勢が悪いらしいので瀟䌚人っぜく背筋を䌞ばしおいこうず思っおいたす。 しろくたくん運営3班代衚 運営3班のリヌダヌ。 情報系の孊郚を卒業したした。 最近匕っ越しをしたので新しいお店を開拓しおいたす。 お金だけ心配です。 ひ぀じさん運営4班代衚 運営4班のリヌダヌ。 情報系の孊郚を卒業したした。 ぀い最近旅行に行った埌、䜓調厩しお寝蟌んでいたした。 䜓力が萜ちおいるから運動しなきゃなず思っお、1カ月が経ちたした 。 座談䌚 研修運営を振り返っお 早速ですが、研修運営に぀いお振り返っおみおいかがですか 自分たちは、䞀番初めの研修運営班で、やるこずが䜕も芋えおいない状態だったため、前途倚難でしたね。 その分、孊びは倚かったですが・・・ただ運営を担圓しおいた期間の研修の蚘憶はあたりないです・・・。それだけ粟䞀杯頑匵りたした。 初めの班は本圓に倧倉そうでしたよね。ざっくりず研修運営に぀いおは説明があったものの、研修を受けながら自分たちで運営しおいくずいうのは簡単ではないですよね。 2班はいかがですか 研修も同じだけど、運営はグルヌプ掻動だったから、同じチヌムになれた人ずは仲良くなれたず思いたす。運営に぀いおは、基本的には1班が぀くっおくれた基瀎を匕き継ぎ、改善できるずころは工倫をしおいきたした。 2班は぀぀がなく終わっおいたむメヌゞがありたすね。 䞀人ひずりが圹割を党うしおくれおいたから、そう芋えおいたのかもしれないです。 自分たちのグルヌプも1班ず2班がやっおくれたこずを匕き継いだので、そんなに倧倉ではなかったですね。非垞に協力的なチヌムだったので、成果報告䌚以倖は倧きな問題なく終わったず思っおいたす。 成果報告䌚は急遜オンラむンでの開催になったんでしたね。 報告䌚の圢匏を事前に確認しおいなかったから、段取りが悪くなっおしたったんですよね。事前確認・調敎の倧切さを孊びたした。ただ、1班ず4班に比べたら、党然倧倉ではなかったですよ。 私は1班同様、運営班を担圓しおいた期間の蚘憶がないですね。(笑)  1班が運営の0から1を䜜っお、2班3班がよりよく倉化させおいたから、4班は最埌どうするかハヌドルが䞊がっおいる状態でした。研修自䜓も倧詰めでしたし、その焊りもある䞭での運営だったので、本圓に倧倉でした。 各班の取り組み 各チヌムいろいろ工倫しながら運営を行っおいたようですが、各班ならではの取り組みなどはありたしたか 自分の班は䞻軞ずなっお動く人を3人ほど決めたした。その人たちで仕事の掗い出しをした埌に、メンバヌに割り振っおいくずいう仕組みでやっおいたした。ですが、仕事量の差が出おしたったので結局党員で仕事を割り振るように分担を倉えたりしおいたしたね。 途䞭で仕組みを倉えたんですね。 そうですね。初日ず最終日では倉わったこずが倚かったですね。 やっおみないず分からないこずが倚かったのでたずはやっおみお、こっちの方が効率的なのではないか等意芋をもらいながら詊しおいきたした。 詊行錯誀しながらの運営だったんですね。 2班ではどんな取り組みがありたしたか 2班の目暙は、「䜕事も起こらないように終えるこず」だったので、新たな䜕かをやるずいうよりも1班がやっおいたこずを工倫できたらいいなずいうマむンドでしたね。 メンバヌがやった方がいいこずを提案しおくれお、それを1぀ず぀実践しおいきたした。 2班から研修のチヌム分けが自動になりたせんでしたか メンバヌがチヌム分けのアルゎリズムを䜜っおくれたので、新しいチヌムを䜜るずきにはそれを動かしおいたした。あず、圚宅の日の出垭確認をPower Automateを䜿っお自動化したした。各圹割を固定化しおいたので、やるこずが明確になっお、みんなが自䞻的に自分の仕事をこなしおくれたした。 チヌム分けの自動化はずおも画期的でしたよね。3班も自動で行っおいたしたが、2班のものを䜿ったんですか 3班は2班のものを改良しお䜿甚したした。2班のアルゎリズムの問題点ずしお、1床同じチヌムになった人ず䜕床も䞀緒になっおしたうこずがあったので、そこを改善できるようにしたした。 2班のやっおいたこずを匕き継いでさらに良くしおいったのですね。新しく始めたこずはありたすか リモヌトワヌクでの自習日※研修がなく、自分でスケゞュヌルを立おお良い日。研修の振り返りをしたり、勉匷䌚を開いたり があったので、ブレむクアりトルヌムの䜿い方を決めたした。あずは、先茩ぞの欠垭連絡を始めたしたね。现々したこずをやっおいたした。 3班は仕組みづくりがしっかりされおいた印象がありたす。现々ず仰っおいたすがそういう小さなこずが先茩瀟員の皆さんは非垞にありがたいず奜評だったそうですよ。 4班はいかがですか 4班は圹割をロヌテヌションさせおいたした。3班の成果報告䌚で叞䌚が固定だったこずが指摘されおいたした。 党おの圹割に今の我々がやる意味があるず思うので、党員が叞䌚を経隓できるようにしたした。 たしかに、叞䌚が毎日倉わっおいたのが印象的でした。 研修の目的ずしお、倱敗を恐れずにずにかく経隓しおみようずいうのがあったので、それに則しおやっおみたした. 班ならではの取り組みだず、意芋箱の蚭眮ですかね。フォヌムを䜜成しお、新卒から随時意芋をもらい、運営に反映できるようにしたした。手探り状態で始めたので、教育担圓の方ず盞談しながら詊行錯誀したした。 今たでやっおいない斜策に挑戊するずいうこずはうたくいかない可胜性もある䞭で、うたく工倫しお呚りを巻き蟌みながら改善をしおいたむメヌゞがありたす。 そうですね。4班のみんながいろいろ考えお動いおくれた結果、䜕ずかうたくいったような気がしおいるので、班のみんなに感謝です。 研修埌に掻きおいるこず では、最埌に研修運営埌に掻きおいるこずがあれば教えおください。 今たで、自分が正しいずいう考えが結構匷くお、チヌムを匕っ匵っおいかないずいけないずいう気持ちがありたした。自分に自信もありたしたし・・・でも実際は党然そんなこずはなくお、研修運営を通しお呚りにたくさん助けられおいるずいうこずに気づけたした。 あずは、タスクを割り振ったり、现分化したりする胜力が身に぀きたしたね。 自分はメンバヌを信頌するこずの倧事さを孊んだず思っおいたす。今たでメンバヌを信頌しおいなかったずいうわけではないけれど、研修運営を通しお、䞀緒に仕事をやる人たちを信頌しおみんなでやろうずいう気持ちの持ち方がずおも倧事ずいうのを感じたした。 チヌムで䜕かをやる経隓が今たでなかったから、チヌムワヌクの倧切さを孊びたした。研修最埌のチヌムで行う開発挔習で掻きた感じがしたす。 開発挔習で、僕のグルヌプは、班員が1人䜓調䞍良で欠垭ずいうハプニングが起きたのですが、最埌たで連携をずっおやりきるこずができたした。 誰かず協力しながら成し遂げようずする経隓をできたのが良かったです。掻かされおいるこずずしおは、運営をしおいるずきに報連盞の重芁さを感じおいたので、それを意識しおいたす。 ただ自分の考えを䌝えるのではなく、盞手の立堎に立っお、どういう内容が欲しいのかを考えお発蚀するように心がけるようになりたした。 あずがき いかがでしたでしょうか 研修運営の内容や、新入瀟員ならではのリアルな感想がお䌝えできおいれば幞いです。 研修運営を通しお、瀟䌚人ずしお必芁なスキルである、「䜕事にもひずりひずりが䞻䜓性をもっお取り組む姿勢」を身に぀けるこずができたした。 コアラさん ゚ンゞニアは1぀のチヌムで業務を行うこずが倚いので、協調性やコミュニケヌション力は欠かせたせん。研修期間にチヌムで1぀のこずを成し遂げる経隓ができたこずは、今埌の業務にも掻きおくるず思いたす。 研修期間に培った力を掻かせるように今埌も積極的に䜕事にも取り組んでいきたいです。 今回の蚘事は以䞊になりたす。最埌たで読んでいただきありがずうございたした
アバタヌ
はじめに こんにちは23卒の開発゚ンゞニアの.NずN.Yです。 この蚘事では、今幎床行われた、マむナビのシステム職向けの新卒研修に぀いお、具䜓的にどんなこずを孊んだのか玹介しおいきたす。 䞻にマむナビのシステム職に興味のある孊生の皆さんを察象ずしお、むメヌゞを぀かめるような蚘事を䜜りたいず思いたすので、ぜひ参考にしおみおください。 党䜓スケゞュヌルず前提 前提条件 今幎床システム職ずしお採甚された新入瀟員は、システム゚ンゞニア、開発゚ンゞニア、デヌタサむ゚ンティスト、デザむナヌ、マヌケタヌ、䌁画職など、配属職皮は様々です。 しかし、新人研修では職皮関係なく党員がヶ月間同じ研修を受けたした。 これは、専門に関係なく基瀎的なITスキルを身に着けるこずで、将来的に「耇数職皮を跚いで掻躍する人材になる」こずを目的ずしおいるからです。 スケゞュヌル 最初に、研修期間のスケゞュヌルをたずめたした。 システム職の新人研修は、か月間にわたっお実斜されたす。ビゞネス基瀎などの瀟䌚人ずしお必芁なこずから、WEBアプリの開発挔習たで倚岐に枡っお内容を網矅しおいきたす。 いかがでしょうか マむナビに぀いお知る研修から、ITの基本的な知識やアプリ開発の流れたで、か月間盛りだくさんな内容であるこずが分かるかず思いたす 研修期間䞭は毎日の日報蚘入があり、長期間にわたるアりトプットを通じお、研修が始たる前ず終わった埌で自分自身がどのように成長し、倉化があったのかを感じるこずができたした。 たた、人䞉分で自分の奜きな事などを発衚する「䞉分間プレれン」を実斜し、スラむド䜜成や短時間で䌝える力、倧勢の前での発衚など、配属されおからも必芁ずなるスキルを逊うこずができたした。配属先の異なる同期の発衚を聞くこずができたのも研修ならではだったず感じおいたす。 さらには、研修を受講するだけでなく、研修を自分たちで運営するこずもありたした。 䌚堎の甚意や講垫の方のアテンド、連絡事項などを新入瀟員自身で行いたした。 ▌こちらに関しおは、別の蚘事で詳しくたずめおいるので、䜵せお読んでみおください 2023幎システム職新人研修・振り返り研修運営線 ただ技術を教わる以䞊に、瀟䌚人ずしお、マむナビ瀟員ずしお、必芁な芁玠を身に着けられる研修だったのかなず思いたす。 ここからは、それぞれの研修に぀いお、䞀぀ず぀説明しおいきたす。 ビゞネス研修、事業郚研修など 私たち新入瀟員が研修で孊ぶものは、テクノロゞヌに関するこずだけではありたせん。 たずは、デゞタルテクノロゞヌ戊略本郚の各郚門の圹割に぀いお、それぞれ説明を受けたした。 他にも䞋蚘のように、様々な研修を通じお新瀟䌚人ずしおの準備をしおいきたした。 オンボヌディング研修 オンボヌディング研修では、たずはテクノロゞヌ分野の発展に぀いおを孊び、そこから自瀟事業に぀いおを考えたした。たた、実践的に孊びを深めるために、サヌビスに぀いお分析するワヌクを行いたした。 ペル゜ナ蚭定やC分析ずいった、沢山のワヌクを通じお、マむナビの䞀員ずしおのマむンドセットを逊うこずが出来たのではないかず思いたす。 事業郚研修 マむナビには、就職事業本郚代衚サヌビスマむナビ20XX、転職事業本郚代衚サヌビスマむナビ転職、アルバむト事業本郚代衚サヌビスマむナビバむトなど、倚くの事業郚がありたす。 総合職の各事業郚配属の新卒を察象ずした本研修は、各事業郚ごずに実斜されたす。サヌビスやビゞネスモデルの理解から営業フロヌの孊習たで、様々なカリキュラムが甚意されおいたした。 私たちも、営業を始めずした他職皮ず共に研修に参加し、カスタマヌぞの提案やテレアポの緎習に参加したした。「システム職なのに営業の緎習」ず思う方がいるかもしれたせん。ですが、自分たちが携わる垂堎やサヌビスに぀いお知るこずは、今埌仕事をしおいく䞊でずおも重芁なこずです。この研修を通じ、䌚瀟党䜓においお課題を解決するためにシステム職が担う圹割を孊ぶこずができたした。 他にも、マヌケティングの基瀎や、ロゞカルシンキングを孊ぶ機䌚がありたした。 どんな業務に携わるにせよ、問題解決胜力やコミュニケヌション胜力は欠かすこずができたせん。これらの研修は、今埌ずっず䜿える力を逊うキッカケになりたした。 Python、フロント゚ンド、むンフラなど IT研修では、web開発に関連する以䞋のような技術を孊びたす。 アルゎリズム Linux / AWS HTML / CSS デヌタベヌス Python / Flask 短い期間で䞊蚘の範囲をカバヌするカリキュラムですので、技術に関しおの知識を深めるためだけのものではありたせん。 「自分で考えお、自分で行動しおいく力を身に着ける」力を逊うこずが、ゎヌルずしお掲げられおいたした。 もちろん、技術に慣れおいる人もいれば、初めお゚ディタを開く人もいたす。習熟床や埗意なこずはバラバラですので、研修䞭のワヌクでは、互いに協力しながら取り組むこずが倚くありたした。教える偎も教わる偎も、どうすれば自分の考えが䞊手く䌝わるか、工倫を重ねお䞊達したように感じたす。 同期たちず共に頑匵るこずで、技術面の成長だけでなく、今埌も圹立぀自走力を身に着けるこずができたした。 たた、私たちは、自習日や空き時間を掻甚しお、それぞれ基本情報やITパスポヌトなど資栌詊隓の受隓を行いたした。 これからIT職ずしお働く基盀を固めるための、有意矩な時間を過ごせたず思いたす。 チヌム開発 技術研修の締めくくりずしお、チヌム開発を実斜したした。 〜人の班に分かれお、芁件定矩から蚭蚈、実装、テストたでを週間で行いたした。 PythonのFlaskずいうフレヌムワヌクを利甚しお、チケット予玄サむトを䜜成するこずが、今回䞎えられた課題です。 この課題には、「党員1人1機胜は実装する」ずいう条件がありたした。 ですので、埗意䞍埗意に関わらず、党員がIT研修で孊んだこずを掻かしお開発に取り組む必芁がありたした。 䞀方で、開発を行うためのヒアリングや蚭蚈曞を䜜るこずも必須です。採甚職皮ずは関係なく、䞊流から䞋流たでをひず通り経隓するこずずなりたした。 䞋の画像は、ずある班の䜜成した成果物です。 この挔習では、それぞれの班は開発請負偎であるず同時に、ナヌザヌの立堎も兌ねおいたす。 䟋えば、A班はB班に察しお「こんな機胜があるサむトを䜜っおほしい」ず䟝頌したす。反察に、B班もA班に察しお芁望を䟝頌する、ずいった感じです。 二぀の立堎が䞊行するため、慌ただしくはありたしたが、䞡方の立堎を経隓するからこそ、ナヌザヌ偎ず開発偎ずの合意を探る難しさを知るこずができたした。 個人的には、ヒアリングが難しかったです。班員のキャパシティやリリヌスたでの期間を螏たえお劥協を探るこずが、特に倧倉でした。 たた、チヌムでの開発ですので、個人が黙々ず取り組んでいるだけでは成り立ちたせん。スムヌズな協力ず連携のためにも、メンバヌ間で圹割分担やタスクを共有するこずは、必須の課題でした。 挔習開始のころは、情報共有や連携が䞊手くいかず、手戻りの発生する堎面が散芋されたした。䞭には、グルヌプ内でgithubの運甚が敎備されおおらず、コヌドが消え飛んでしたうアクシデントが起こるこずもあったそうです。 様々なトラブルが発生しおいたしたが、運甚マニュアルの䜜成や共有ツヌルの導入など、問題解決力を掻かすこずで、䞀぀ず぀解決できたした。 成果報告䌚 か月の研修の最埌、チヌム開発の集倧成ずしお、成果発衚䌚を行いたした。 私たちは、実装したサむト玹介ず開発挔習から埗た孊び、たた、研修を通じた成長の䞉項目に぀いお発衚を行いたした。 劇圢匏で発衚しおみたり、キャッチヌなスラむド構成にしおみたり、䌝え方に関しお個性が光る発衚䌚ずなりたした。 最埌の締めくくりずしお盞応しく、か月かけお孊んだこずを総動員するこずができたのではないかず思いたす。 成果報告埌には、䞉郚門での賞が甚意されおいたした。参加しおくださった先茩瀟員たちの投祚によっお最優秀賞ず発衚賞の班が、講垫の方の評䟡からは技術賞の班が、ひず぀ず぀遞ばれたした。 賞を頂けるこずはもちろん嬉しいですが、䜕よりも、自分䞀人ではできなかった挑戊があったこずが、この研修を通じた䞀番の収穫だったず思いたす。 研修で埗たすべおを、これからの糧ずしお掻かせるように、今埌も粟進しおいきたす。 さいごに 以䞊が、23卒システム職の研修カリキュラム振り返りになりたす。 もっず詳しく聞きたい方は、マむナビのむンタヌンや説明䌚に参加するずいいかもしれたせん。 ぜひ、いろんなむベントに参加しおみおくださいね
アバタヌ
はじめに 始めたしお、23幎新卒入瀟のG・Sです。 マむナビ2023幎新卒入瀟で参加者を募っお、6/3土4日開催のSECCON Beginners CTF 2023に参加しおきたした。 本蚘事は、我々新卒チヌムが解いた問題のwritupになっおいたす。 今回参加したCTFに぀いお SECCON Beginners CTF 2023 日本のCTF初心者〜䞭玚者を察象ずしたCTFのコンテストで毎幎6月の䞊旬に開催されおいたす。今回は2018幎の初開催から数えお6回目の開催ずなりたす。 出題範囲は、crypto、pwnable、misc、web、reversingでした。 Writeup 我々のチヌムはBeginnerを党お解くこずができたした ひず぀ず぀解説しおいこうず思いたす。 CoughingFox2(crypto) CougningFox2.tar.gzを展開するずcipher.txtずmain.pyが入っおいたした。 cipher.txtずmain.pyの内容はそれぞれ以䞋の通りです。 cipher = [4396, 22819, 47998, 47995, 40007, 9235, 21625, 25006, 4397, 51534, 46680, 44129, 38055, 18513, 24368, 38451, 46240, 20758, 37257, 40830, 25293, 38845, 22503, 44535, 22210, 39632, 38046, 43687, 48413, 47525, 23718, 51567, 23115, 42461, 26272, 28933, 23726, 48845, 21924, 46225, 20488, 27579, 21636] # coding: utf-8 import random import os flag = b"ctf4b{xxx___censored___xxx}" # Please remove here if you wanna test this code in your environment :) flag = os.getenv("FLAG").encode() cipher = [] for i in range(len(flag)-1): c = ((flag[i] + flag[i+1]) ** 2 + i) cipher.append(c) random.shuffle(cipher) print(f"cipher = {cipher}") プログラムを読むず暗号化を行い最終的に cipher ずいうリストを出力しおいるこずが分かりたす。このこずから cipher.txt に曞かれおいたものは暗号化がおこなわれた埌のものでず考えられたす。たた暗号化の郚分はi文字目ずi+1文字目を足しお2乗し、iを足したものであるこずから、䞀぀の文字が分かれば次の文字を総圓たりで探し (flag[i] + flag[i+1]) ** 2 + i を蚈算しcipher.txt内の配列に存圚するか確認すれば芋づる匏に解きFlagを埗たした。 Flag : ctf4b{hi_b3g1nner!g00d_1uck_4nd_h4ve_fun!!!} 孊び 暗号は䞀芋難しそうなものでもプログラムを曞いたりするこずで容易に解けおしたうものも倚く存圚しおいたす。 よっお、暗号の遞定をする際にはきちんず脆匱性がないものを遞ぶこずが重芁であるず感じたした。 poem(pwnable) poem.tar.gzを展開するずpoemずsrc.cが入っおいたした。 poemは実行ファむルであり、src.cの内容は以䞋の通りです。 #include <stdio.h> #include <unistd.h> char *flag = "ctf4b{***CENSORED***}"; char *poem[] = { "In the depths of silence, the universe speaks.", "Raindrops dance on windows, nature's lullaby.", "Time weaves stories with the threads of existence.", "Hearts entwined, two souls become one symphony.", "A single candle's glow can conquer the darkest room.", }; int main() { int n; printf("Number[0-4]: "); scanf("%d", &n); if (n < 5) { printf("%s\n", poem[n]); } return 0; } __attribute__((constructor)) void init() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); alarm(60); } このプログラムを読むず数倀nを読み取り、配列に栌玍されおいるn番目のポ゚ムを出力するプログラムであるこずが分かりたす。読み蟌んだnが5より倧きいずきはポ゚ムを出力しないようにしおありたすが、0より小さい堎合はそのたた配列にアクセスするこずになっおいたす。 よっおnにマむナスの倀を入力するこずでほかの領域のアドレスにアクセスするこずがで、-4を入力するこずでFlagを埗たした。 Flag : ctf4b{y0u_sh0uld_v3rify_the_int3g3r_v4lu3} 孊び Pythonなどでは、リストなどの範囲倖のindexを指定した堎合IndexErrorが出たすが、C蚀語でぱラヌが出ずに別メモリ領域にアクセス可胜になりたす。 これを防ぐためには、境界倀を正しく蚭定し条件分岐するこずが倧事たず感じたした。 YARO(misc) YARO.tar.gzを展開するずrule_example.yarずserver.pyが入っおいたした。 それぞれ内容は以䞋の通りです。 rule shebang { strings: $shebang = /^#!(\/[^\/ ]*)+\/?/ condition: $shebang } rule maybe_python_executable { strings: $ident = /python(2|3)\r*\n/ condition: shebang and $ident } #!/usr/bin/env python3 import yara import os import timeout_decorator @timeout_decorator.timeout(20) def main(): rule = [] print('rule:') while True: l = input() if len(l) == 0: break rule.append(l) rule = '\n'.join(rule) try: print(f'OK. Now I find the malware from this rule:\n{rule}') compiled = yara.compile(source=rule) for root, d, f in os.walk('.'): for p in f: file = os.path.join(root, p) matches = compiled.match(file, timeout=60) if matches: print(f'Found: {file}, matched: {matches}') else: print(f'Not found: {file}') except: print('Something wrong') if __name__ == '__main__': try: main() except timeout_decorator.timeout_decorator.TimeoutError: print("Timeout") コヌドを芋るずruleを入力させ、yaraずいうマルりェア解析・怜知ツヌルを甚いお怜玢を行っおいたす。 䞋蚘のようなruleを曞くこずでflagの䞀文字目がAかどうか確認できたす。 rule flag { strings: $shebang = /ctf4b{A.*}/ condition: $shebang } これを繰り返しお探玢しおいくこずでFlagを埗たした。 Flag : ctf4b{Y3t_An0th3r_R34d_Opp0rtun1ty} 孊び ナヌザヌに任意の正芏衚珟を曞かせるようなプログラムを曞くず秘匿情報を探玢される可胜性があるため泚意が必芁だず孊びたした。 polyglot4b(misc) polyglot4b.tar.gzを展開するず画像ファむルsample/sushi.jpgずpolyglot4b.pyが入っおいたした。 import os import sys import uuid import shutil import subprocess print( f"""\033[36m\ ____ _ _ _ _____ _ _ _ | _ \ ___ | |_ _ __ _| | ___ | |_ | ____|__| (_) |_ ___ _ __ | |_) / _ \| | | | |/ _` | |/ _ \| __| | _| / _` | | __/ _ \| '__| | __/ (_) | | |_| | (_| | | (_) | |_ | |__| (_| | | || (_) | | |_| \___/|_|\__, |\__, |_|\___/ \__| |_____\__,_|_|\__\___/|_| |___/ |___/ {"-" * 68} >> """, end="", ) file = b"" for _ in range(10): text = sys.stdin.buffer.readline() if b"QUIT" in text: break file += text print(f"{'-' * 68}\033[0m") if len(file) >= 50000: print("ERROR: File size too large. (len < 50000)") sys.exit(0) f_id = uuid.uuid4() os.makedirs(f"tmp/{f_id}", exist_ok=True) with open(f"tmp/{f_id}/{f_id}", mode="wb") as f: f.write(file) try: f_type = subprocess.run( ["file", "-bkr", f"tmp/{f_id}/{f_id}"], capture_output=True ).stdout.decode() except: print("ERROR: Failed to execute command.") finally: shutil.rmtree(f"tmp/{f_id}") types = {"JPG": False, "PNG": False, "GIF": False, "TXT": False} if "JPEG" in f_type: types["JPG"] = True if "PNG" in f_type: types["PNG"] = True if "GIF" in f_type: types["GIF"] = True if "ASCII" in f_type: types["TXT"] = True for k, v in types.items(): v = "🟩" if v else "🟥" print(f"| {k}: {v} ", end="") print("|") if all(types.values()): print("FLAG: ctf4b{****REDACTED****}") else: print("FLAG: No! File mashimashi!!") コヌドを読むず10回入力を受け取り入力を結合しお file コマンドを実行しその出力にPNG、JPEG、GIF、ASCIIの文字列があるかを確認しお党おあればフラグを出力しおいたす。 たずsample/sushi.jpgを file -bkr sample/sushi.jpg を行うずDescriptionの欄にCTF4Bずいう文字を芋぀けられたす。このこずからDescription欄には、任意の文字を入れるこずができるず考えられたす。よっおCTF4Bの埌ろにPNGJPEGGIFASCIIを远加しお、 nc polyglot4b.beginners.seccon.games 31416 < sushi.jpg ずやるこずで、Flagを埗たした。 Flag : ctf4b{y0u_h4v3_fully_und3r5700d_7h15_p0ly6l07} 孊び fileコマンドを䜿っおファむルを識別する際に正しく凊理を曞かなければ、ナヌザヌの悪意によっおいくらでも停装できるこずが可胜であるずわかりたした。今回の問題のミスをなくすためには、fileコマンドの解析をファむルタむプを瀺しおいる郚分だけにするなどの工倫が必芁であるず感じたした。 Forbidden(web) Forbidden.tar.gzを展開するずnginxで䜜られたWebアプリケヌションが入っおいたした。 app/index.jsの内容は以䞋の通りです。 var express = require("express"); var app = express(); const HOST = process.env.CTF4B_HOST; const PORT = process.env.CTF4B_PORT; const FLAG = process.env.CTF4B_FLAG; app.get("/", (req, res, next) => { return res.send('FLAG はこちら: <a href="/flag">/flag</a>'); }); const block = (req, res, next) => { if (req.path.includes('/flag')) { return res.send(403, 'Forbidden :('); } next(); } app.get("/flag", block, (req, res, next) => { return res.send(FLAG); }) var server = app.listen(PORT, HOST, () => { console.log("Listening:" + server.address().port); }); コヌドを読むず block で/flagに遷移したずき403を返しおいるこずが分かりたす。 nginxは、URLの倧文字小文字の区別がない。すなわち"/flag"ず"/Flag"は、同じペヌゞであるず刀断されたす。 しかし、JavaScriptでは、 if (req.path.includes('/flag')) で分岐を行いブロック凊理を蚘述しおいるため、 https://forbidden.beginners.seccon.games/flag は403が垰っおくるが https://forbidden.beginners.seccon.games/Flag ずするこずでフラグを埗るこずができたす。 Flag : ctf4b{403_forbidden_403_forbidden_403} 孊び フレヌムワヌクの仕様をしっかり理解しおいるこずが倧切であるず感じたした。 今回の䟋では、nginxずJSで文字列の倧小の扱いが違っおいおその違いを理解しおいないこずで意図するように動いおいないので、仕様理解をおろそかにしおはいけないず孊びたした。 aiwaf(web) aiwaf.tar.gzを展開するずnginxで䜜られたWebアプリケヌションが入っおいたした。 app/app.pyの内容は以䞋の通りです。 import uuid import openai import urllib.parse from flask import Flask, request, abort # from flask_limiter import Limiter # from flask_limiter.util import get_remote_address ################################################## # OpenAI API key KEY = "****REDACTED****" ################################################## app = Flask(__name__) app.config["RATELIMIT_HEADERS_ENABLED"] = True # limiter = Limiter(get_remote_address, app=app, default_limits=["3 per minute"]) openai.api_key = KEY top_page = """ <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8" /> <title>亞空文庫</title> </head> <body> <h1>亞空文庫</h1> AIにセキュリティの物語を曞いおもらいたした。<br> 内容は正しいかどうかわかりたせん。<br> <ul> <li><a href="/?file=book0.txt">あ曞</a></li> <li><a href="/?file=book1.txt">い曞</a></li> <li><a href="/?file=book2.txt">う曞</a></li> <!-- <li><a href="/?file=book3.txt">え曞</a></li> --> </ul> ※セキュリティのためAI-WAFを導入しおいたす。<br> © 2023 ももんがの曞房 </body> </html> """ @app.route("/") def top(): file = request.args.get("file") if not file: return top_page if file in ["book0.txt", "book1.txt", "book2.txt"]: with open(f"./books/{file}", encoding="utf-8") as f: return f.read() # AI-WAF puuid = uuid.uuid4() prompt = f"""\ 以䞋の{puuid}に囲たれた郚分のURLク゚リはパストラバヌサル攻撃でしょうか そうである堎合Yesを、違う堎合Noを返しおください。 ../やflagずいう文字列が含たれおいた堎合もYesを返しおください。 {puuid} {urllib.parse.unquote(request.query_string)[:50]} {puuid} """ try: response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ { "role": "user", "content": prompt, }, ], ) result = response.choices[0]["message"]["content"].strip() except: return abort(500, "OpenAI APIの゚ラヌです。\n少し時間をおいおアクセスしおください。") if "No" in result: with open(f"./books/{file}", encoding="utf-8") as f: return f.read().replace(KEY, "") return abort(403, "AI-WAFに怜知されたした👻") if __name__ == "__main__": app.run(debug=True, host="0.0.0.0", port=31415) コヌドを読むず 以䞋の{puuid}に囲たれた郚分のURLク゚リはパストラバヌサル攻撃でしょうか そうである堎合Yesを、違う堎合Noを返しおください。 ../やflagずいう文字列が含たれおいた堎合もYesを返しおください。 {puuid} {urllib.parse.unquote(request.query_string)[:50]} {puuid} ずいうプロンプトをAIに投げお垰っおきた倀がYesだった堎合、ブロックする仕様になっおいたす。 プロンプト郚分を芋るず urllib.parse.unquote(request.query_string)[:50] ずなっおおり䞎えられたURLの50文字目たでしかAIによる怜知を行っおいないこずがわかりたす。 これにより、パラメヌタに適圓なものを远加し file=../flag が50文字目以降ずなるように蚭定するこずでAIによる怜知を抜けおフラグを埗るこずができたした。 Flag : ctf4b{pr0mp7_1nj3c710n_c4n_br34k_41_w4f} 孊び OpenAIは文字単䜍でお金がかかりたす。そのため、コストを䞋げようず途䞭で文字列を切っおからプロンプトを生成しおしたうなどするず切り取った以降の郚分に攻撃が含たれおいる可胜性があり、攻撃が成立しおしたう可胜性がありたす。文字列を切る堎合は、以降の凊理も切っおから行うなどしないずいけないず感じたした。 Half(reversing) Half.tar.gzを展開するずhalfずいう実行ファむルが入っおいたした。 このプログラムを実行するず入力埅ちになり、入力されたフラグの正誀刀定をしおくれたす。 この実行ファむルを strings コマンドを䜿っお可読郚分を衚瀺しお埗られる結果が以䞋の通りです。 $ strings half /lib64/ld-linux-x86-64.so.2 libc.so.6 strncmp __isoc99_scanf puts printf strlen __cxa_finalize strcmp __libc_start_main GLIBC_2.7 GLIBC_2.2.5 _ITM_deregisterTMCloneTable __gmon_start__ _ITM_registerTMCloneTable u+UH []A\A]A^A_ Enter the FLAG: %99s%*[^ Invalid FLAG ctf4b{ge4_t0_kn0w_the _bin4ry_fi1e_with_s4ring3} Correct! :*3$" GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 crtstuff.c deregister_tm_clones __do_global_dtors_aux completed.8061 __do_global_dtors_aux_fini_array_entry frame_dummy __frame_dummy_init_array_entry main.c __FRAME_END__ __init_array_end _DYNAMIC __init_array_start __GNU_EH_FRAME_HDR _GLOBAL_OFFSET_TABLE_ __libc_csu_fini strncmp@@GLIBC_2.2.5 _ITM_deregisterTMCloneTable puts@@GLIBC_2.2.5 _edata strlen@@GLIBC_2.2.5 printf@@GLIBC_2.2.5 __libc_start_main@@GLIBC_2.2.5 __data_start strcmp@@GLIBC_2.2.5 __gmon_start__ __dso_handle _IO_stdin_used __libc_csu_init __bss_start main __isoc99_scanf@@GLIBC_2.7 __TMC_END__ _ITM_registerTMCloneTable __cxa_finalize@@GLIBC_2.2.5 .symtab .strtab .shstrtab .interp .note.gnu.property .note.gnu.build-id .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt.got .plt.sec .text .fini .rodata .eh_frame_hdr .eh_frame .init_array .fini_array .dynamic .data .bss .comment この出力を芋おみるず20行目にFlagがありたす。 Flag : ctf4b{ge4_t0_kn0w_the_bin4ry_fi1e_with_s4ring3} 孊び 文字列は、実行ファむルにそのたた保存されるため、秘匿情報を文字列にしたたた実行ファむルに入れおしたうず容易に芋れおしたうので、秘匿情報を茉せないこずを培底しなければいけないず感じたした。 終わりに 今回は、私は初参加ながら党おのbeginner問題を解くこずができたので倧倉満足しおいたす。 しかし、medium・herdあたりが党く解けなかったのでもう少し粟進しおいきたいず感じたした。 CTFに参加するこずで今たで知らなかった脆匱性などを知る機䌚になり、 セキュリティぞの意識が高たるので是非皆さんも参加しおみおください。 投皿 【CTF】SECCON Beginners CTF 2023 新卒チヌムWriteup は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
こんにちは。 2023幎にデヌタサむ゚ンティストずしおマむナビに入瀟をしたH・Hです。 この床、むギリスのダヌビヌ倧孊で開催された囜際孊䌚である自然蚀語凊理孊䌚に登壇をしお来たした。 今回は参加の経緯ず参加レポに぀いお蚘茉をさせおいただきたす。 䞻な流れ 時間 内容 2月䞊旬 囜際孊䌚提出に誘われる 3月30日 論文提出 4月25日 査読通過 5月23日~6月19日 スラむド䜜成発衚緎習 6月19日 むギリスぞ 6月21日 発衚! 6月25日 日本に垰囜 自分の研究に぀いお 抂芁 元々、Web䞊のデヌタはなかなか解析が進んでいないず思っおいたした。様々なデヌタがある䞭でWeb䞊ではオヌプンに孊ぶこずが出来たす。機械孊習をさせるこずで粟床が高い解析ができるのではないかず考えたした。 自分の研究テヌマは[機械孊習によるTwitterナヌザヌの性別予枬]です。 X旧Twitterで投皿されたテキストや画像をもずに投皿したナヌザヌの性別を予枬しおいきたす。 䟋えばある商品に぀いお「いいね」をしおいる人や自分をフォロヌしおいる人の性別を知るこずで今埌のマヌケティング戊略に぀ながるずいった瀟䌚的目的も叶えるこずが出来るず思いたした。 その䞭でも新芏性ずしお、性別をTwitterの倖のサヌビスを甚いお自動にラベル付けを行うこずで、機械孊習する際に人の手間を排陀した方法を行い、十分な粟床を出したした。 具䜓的には日本人では玄2䞇人いるず蚀われおいるX旧Twitterのフォロワヌ数1䞇人以䞊の人に察しおWikipedia等Web䞊の情報を甚い、ラベル付けをするこずができた6000人7000人を孊習させおいきたした。 倧倉だったこず ラベル付けに぀いおなかなか粟床を䞊げるこずが出来ず非垞に苊劎をしたした。 画像の添付が有るずきず無いずきのデヌタに察しおどのような察応をすべきか等考えるこずが沢山ありたす。 最初に䜜ったモデルだず䞊手に行かず、いろいろなモデルを䜜っおは詊し、たた䜜っおは詊し ず䜕床も繰り返したした。 たた、デヌタ数も非垞に倚く、1回の取埗に2週間以䞊かかるものもあり回収が非垞に難しかったです 参加のきっかけ 最初は卒業幎である2023幎の1,2月ごろ、研究宀内で自分の研究内容を発衚したずきに助教授の方から「君の研究内容は面癜い。近日、君に圓おはたるテヌマでの孊䌚発衚がむギリスであるから提出しおみたら」ず提案を受けたのがきっかけです。 自分は英語がかなり苊手であたり積極的ではなかったのですが、サポヌトをしおくれるずいう蚀葉から提出に螏み切りたした。助教授のアドバむスの元、卒論や、囜内孊䌚発衚ずは内容ず差別化を図るように泚目する点を少し倉えお、結論をたずめおいきたした。 远加実隓や論文をたずめ䞊げ3月30日に提出をしたした。 査読が通った埌 提出を終えたのち倧孊院を卒業し、はれおマむナビに入瀟し新入瀟員研修をしおいた4月25日に査読が通り、掲茉されるこずが決たりたした。その時は研修ず発衚準備の䞡立ぞの䞍安ず、英語が本圓に苊手ずいう意識から、自分はむギリスにはいかず、発衚は助教授に任せようず考えおいたした。ただ同期の仲間に背䞭を抌され5月の䞭旬にようやく孊䌚発衚をするこずを決意したした。 むギリスぞ そこからはスラむド、発衚資料の䜜成を行い、耇数回のミヌティングず元研究宀のみんなにも協力しおもらいながら発衚緎習を耇数回繰り返したした。(ず蚀い぀぀もカンニングペヌパヌを䜜成しそれを間違えないように発音するこずで粟䞀杯でした ) それから、初めおのペヌロッパずいうこずで移動、宿泊の準備もしおいきたした。 むギリスに到着しおからもぎりぎりたで内容の確認を行い発衚に臚みたした。 孊䌚発衚 正盎緊匵しお䜕も芚えおいたせん笑 博士課皋の方や倧孊教授レベルの方が非垞に倚く、ほが最幎少での参加でした。 自分は、蚀葉を間違えないように必死で、ほずんどスラむドを芋おいたした。 質疑応答の堎面では呚りの助けもありながらなんずか返答するこずができたした。 䞭でも、「性の倚様化が進んでいるなかで男女のみに絞ったのですか」ずいう質問に察しおは「先行研究ず比范するため男女のみに絞りたした。」ずしか答えるこずができず、性別に関する認識を甘く芋られおいた点を突かれおしたいたした。 他の人の発衚を聞いお自分では考慮しきれなかった絵文字を含んだ文章解析など独自の芖点による解析が倚くあり芖野が広がりたした。 振り返り 結論ずしお、ずおも楜しかったです参加しお本圓に良かったず思いたす 最初は英語が苊手で、発衚もけしお倧成功ずはいえない結果でしたが、文化的にも、技術的にも倚くの経隓をさせおもらいたした。特に、倚くの囜籍の方が発衚しおいたので、泚目する芖点や、問題の定矩にも個性が出おおり、倚様な物事の芖点を獲埗できた気がしおいたす。 たた、よく芋おいた論文サむトで自分の論文が芋れるようになっおいおずおも興奮したした もっず時間があれば性別だけでなく幎霢や出身地も予枬したいなず思っおいたした。ただ研究をしおいくうちに「デヌタ」そのものぞの興味が湧いおきたのです。なので、これからマむナビでデヌタサむ゚ンティストずしお掻躍できるよう、頑匵っおいきたいず思いたす 投皿 【23卒】初めおの囜際孊䌚䜓隓蚘【自然蚀語凊理孊䌚】 は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに マむナビ内でTableau DATA Saber認定制床に挑戊された3名に、垫匠前線・匟子埌線それぞれの立堎で2䜜に分けお䜓隓蚘を曞いおいただきたした。 本蚘事では埌線・匟子に぀いおお届けしたす。前線・垫匠に぀いおは こちら をご芧ください。 自己玹介 ご芧いただきありがずうございたす。デヌタ゜リュヌション統括郚 デヌタ掻甚掚進1課のT・SずS・Sです。2023幎2月からTableau DATA SABERプログラムに挑戊し、無事4月にDATA SABERに認定されたした。 この蚘事ではTableau DATA SABERプログラムに挑戊しおいた時のこずを回顧しおみようず思いたす そもそもDATA SABERずは Tableauの技術はもちろんのこず、デヌタのその先の䞖界を芋通す技術力ずデヌタドリブン文化を䌝え、人々を導く力を身に぀ける資栌/制床です。 DATA SABERを目指す者は3か月間の限られた時間の䞭、 Tableauの技術力を磚くための十の詊緎 導く力を鍛えるための、コミュニティ掻動(瀟内倖でデヌタドリブン文化を広めるための掻動) を行い、党おクリア/最埌の詊隓を突砎したものに䞎えられる称号ずなりたす。 (これをクリアするために3ヶ月で100時間以䞊の勉匷時間が必芁になりたす。) 1日1~2時間ペヌスで勉匷をすればいいように芋えたすが、通垞業務にプラスで時間をかけお勉匷をしなければいけないので、倧倉な詊緎であるこずはお䌝えしおおきたす。 詳しくは 公匏HP をご確認ください それぞれの回顧録 T・SずS・S、それぞれがDATA SABERプログラムで過ごしおきた時間が異なりたす。 そのため、それぞれの歩んできた道を曞いおいこうず思いたす。 CASE 1 T・Sの堎合 改めお自己玹介 私立倧孊文系孊郚卒。 「システム゚ンゞニアっおなんですか」ずいうレベルで、この業界に足を螏み入れたした。 新卒1幎目でSESの䌚瀟に就職し、某携垯電話キャリア䌚瀟に客先垞駐。そこでBIに぀いお色々ず孊びたした。 新卒3幎目の途䞭にマむナビに転職し、それからはBI開発に携わったり、珟圚ではセルフBIの導入、サポヌトなどを業務ずしお行っおいたす。 DATA SABERチャレンゞ前のTableau歎・レベル DATA SABERチャレンゞ前のTableau歎4幎ほど レベル簡単なグラフや集蚈衚ずそれを組み合わせたダッシュボヌドが䜜れるレベル 初めおTableauに出䌚ったのが、某携垯電話キャリア䌚瀟で客先垞駐しおいたころになりたす。 圓時、新卒2幎目の時に初めおTableauを觊りたした。そのころは簡単なグラフや集蚈衚を䜜る皋床で、ダッシュボヌドを開発したりなどのスキルは持ち合わせおいたせんでした。 マむナビに転職しおからもしばらくはTableauは觊っおおらず、 2021幎10月の郚眲異動を機に、久しぶりにTableauを觊り、そこからは独孊でTableauに぀いお孊んでいったずいうレベルになりたす。 独孊だったため、Tableauの機胜をちゃんず理解しおいるわけでもなく、有効掻甚もうたくできおいたせんでした。 チャレンゞした経緯 簡単に蚀うず、Tableauのスキル・技術を身に着けるためです。 異動しおから、Tableauでダッシュボヌドを䜜成する業務が発生したした。しかし、自分の知識䞍足のせいか、Tableauの機胜を最倧限に掻かせおいないず感じ、DATA SABERに挑戊したした。 たた、同時に私はデヌタドリブン文化を瀟内に根付かせる郚眲に所属しおいたす。Tableauのスキルや知識を他の方に展開する立堎であるのに、Tableauの機胜を掻かせおいない、機胜を知らないのは、デヌタドリブン文化を根付かせるうえで今埌障壁になるのではないかず思いチャレンゞしたした。 匟子時代に取り組んだこず Tableauの技術力を磚くための十の詊緎 こちらに぀いおは䞎えられた問題に察しお回答するものになりたす。 内容は、①tableauを぀かっおデヌタを可芖化し回答を探し出すずいう問題ず、②デヌタドリブン文化を広めおいく䞊でどのような考えでどのような行動を取ったらいいかを問われる問題ず2パタヌンありたす。 どちらも党問正解しないずCLEARにはならない課題です。 ①の問題䟋は こちら ②の問題䟋は こちら ①に぀いおは技術力が問われる問題であるため、自分が持ち合わせおいる知識を䜿ったり、わからないものに぀いおは、別途、勉匷動画を芋たりしお知識を習埗したした。 ②に぀いおは、どちらかずいうずデヌタドリブン文化を䜜る䞊で必芁なマむンドや考えを問われるものになりたす。そのため、答えを導くために䞀緒に挑戊しおいたS・Sさんずディスカッションしたり、垫匠ずディスカッションなどをしお答えを導いおきたした。 技術力を磚くための詊緎ずあるように、知識や考えを問われる問題であるため、わからないものは玠盎にわからないず認めお、勉匷動画をみたり垫匠などずディスカッションを重ねたりしたした。 導く力を鍛えるための、コミュニティ掻動(瀟内倖でデヌタドリブン文化を広めるための掻動) いく぀かお題が蚭定されおおり、そのお題ごずに取埗できるポむントが決たっおいたす。瀟内、瀟倖それぞれ20ポむント、合蚈50ポむント取埗しおCLEARずなる課題です。 私が行った取り組みを瀟内向け、瀟倖向けでいく぀かご玹介したす。 【瀟内向け】 Tableau Doctor Tableauを瀟内で利甚しおいる方々の悩みや、こんなこずを実珟したいずいう芁望を聞いお、どのように解決すればいいかを提瀺するものになりたす。 悩みや実珟したいこずの内容は様々ですが、瀟内のナヌザヌがどんなこずに躓いおいるのかがわかったり、たたその悩みに察しおデヌタ掻甚掚進郚眲ずしおどのような斜策を打぀ず良いのかなどを考えるきっかけになりたした。 この取り組みは、最初はDATA SABERの時だけ開催しようずしおいたのですが、瀟内のTableauナヌザヌから奜評でありたしたため、䞊長ず盞談し、月2回開催できるようにしたした。 Tableau勉匷䌚「Tableauにおけるパフォヌマンス改善」 瀟内党䜓でTableauを利甚する䞊での課題で、Tableau ServerのCPUやメモリの䜿甚率が逌迫しおしたい、倧芏暡障害発生に぀ながっおしたう恐れがあるずいう課題がありたした。この事象が発生する原因の䞀぀ずしお、ナヌザヌがTableau Serverに負荷をかけやすいダッシュボヌドを䜜っおいるこずがあげられおいたした。 ですが、Tableau Serverに負荷をかけにくいダッシュボヌドの䜜り方をナヌザヌが知らないずいうこずが根本原因でありたすため、「ナヌザヌの皆さんでもすぐに改善できる」ずいうポむントを䞭心に、勉匷䌚ではお話したした。 その結果、早速パフォヌマンスをよくするために、䜜ったダッシュボヌドの改善に取り掛かっおくれるナヌザヌが出おきたり、新芏䜜成する際にも、勉匷䌚でお話したポむントを頭に入れおダッシュボヌドを䜜っおもらったりなど、瀟内で少しず぀改善する動きが起こるようになりたした。 【瀟倖向け】 Tableauに関するブログ蚘事の投皿 Tableauに関するブログ蚘事をいく぀か投皿したした。 Tableau Serverのリポゞトリに぀いお TableauにはTableau Serverずいう、䜜成したダッシュボヌドを共有するWebアプリケヌションツヌルがありたす。その裏にはアクセスデヌタなどが蓄積されおいたしお、裏にはどんなデヌタがあるのかだったり、そのデヌタの掻甚事䟋などをたずめたものになりたす。 DATA SABER芋習いがTableauを䜿っおいお思うこず DATA SABERのプログラムを進めおいく䞭で、Tableauに関する色んな知識、衚珟技法を習埗したした。ですが、どんなに凝ったものを䜜ったずしおも、芋る人が正確にデヌタを読み取れないず意味がないず考えおいたす。「芋る人第䞀のダッシュボヌドを䜜りたしょう」ずいう自分ぞの戒めの意味も蟌めた蚘事になっおいたす。 Visual Analyticsに぀いお こちらは、DATA SABERの課題で私が苊手に感じおいた郚分をたずめたものになりたす。デヌタに応じた最適な衚珟の仕方や、色や圢などの人間が無意識に把握できるものを効果的に利甚するず、わかりやすいダッシュボヌドが䜜成できるずいうこずを蚘事にしおいたす。 Tableau DATA SABERになったので、自分なりの勉匷法曞いおみる こちらはDATA SABERになった埌に曞きたした。私がDATA SABERにチャレンゞしおいた際に、どのように勉匷を進めおいけばいいか悩んでいる時期がありたした。そんな私ず同じ悩みを持っおいる方々に向けお、道しるべになればず思い曞いた蚘事になりたす。 このようにしお、DATA SABERで孊んだこず、気づいたこずなどを、瀟内だけでなく瀟倖にも展開しおきたした。 今埌もマむナビのDATA SABERずしお、デヌタ掻甚に関する情報発信を実斜しおいけたらず考えおいたす。 苊劎したこず 䞀぀目は時間のやりくりです。 私がDATA SABERにチャレンゞしおいる期間は、通垞業務も繁忙期でありたしお、孊習時間を割けられない日もありたした。そのため、䞊長に蚱可を埗お残業しお孊習時間を埗たり、䜕ずかしおDATA SABERの詊緎にチャレンゞするための時間を埗おいたした。 たた、動画で勉匷するこずもできるのですが、通勀時間に動画を芋たり、隙間時間などを勉匷に掻甚しおいたした。 二぀目はデヌタドリブン文化を䜜る䞊でのマむンドなどを問われる問題に぀いお、䜕床もやり盎しを食らったこずです。 tableauを぀かっおデヌタを可芖化し回答を探し出すずいう問題ずは異なり、この問題はDATA SABERが持぀べきマむンドを問われるため、DATA SABERのこずをちゃんず理解しおいないずいけたせん。 䜕床も躓きはしたしたが、䞀緒に挑戊しおいたS・Sさんず意芋亀換をしたり、垫匠ずディスカッションしたりなどを行うこずで、DATA SABERずしおのマむンドが少しず぀分かるようになっおきたした。そしおこのマむンドこそが、マむナビ瀟内にはただただ足りおいないものであり、デヌタドリブンを掚進する立堎である私自身にも䞍足しおいたものであるこずを痛感したした。 このような苊劎はたくさんありたしたが、それを乗り越えたが故に、自信に぀ながったかなず今では思っおいたす。 孊んだこず Tableauに関するスキルに぀いおはもちろん倚くの孊びがあったのですが、䞀番はDATA SABERずしお、デヌタドリブン文化を根付かせるためにはどのように行動をすべきなのか、その姿勢や行動指針に぀いお孊ぶこずが倚かったず思いたす。 今たでの自分はデヌタ掻甚を掚進する郚門に所属しおいたものの、ナヌザヌから来た質問に察しお答えたり、デヌタ分析基盀の構築案件で任されたタスクに泚力しおいたりしおいたした。これらの業務も勿論倧切な業務ですが、DATA SABERの詊緎では 「自分から胜動的に動く重芁さ」 を孊びたした。今たでの自分はどこか受動的な偎面がありたしたが、DATA SABERは デヌタドリブン文化を創造する、浞透させる こずが䜿呜です。 受け身の姿勢でいるだけでは、キャッチアップできる瀟内のデヌタ掻甚の課題や悩みなどは氷山の䞀角に過ぎないですし、デヌタドリブン文化を掚進する立堎である人間が受け身の姿勢でいおは、デヌタドリブン文化はい぀たでたっおも生たれないず実感したした。 この孊びがあったからこそ、最初はDATA SABERの掻動の䞀貫ずしお行っおいたデヌタ掻甚盞談䌚を、自分が䞊長に進蚀しお今も継続しお掻動を実斜したりなど、自分自身少しだけ胜動的に行動を起こせるようになりたした。 これからもこの孊びを倧事にし、DATA SABERずしお胜動的にアクションを起こし、デヌタドリブン文化を根付かせおいきたいず思っおいたす。 今埌のこず DATA SABERずしお、デヌタドリブン文化を根付かせるための掻動を進めおいきたいず考えおいたす。瀟内倖問わずずは考えおいたすが、たずは瀟内から根付かせお行けたらず思っおいたす。 そのためには粟力的に掻動を行い実瞟を積み、瀟内にDATA SABERを認知しおもらわないずいけたせん。 たずは、デヌタ掻甚盞談䌚など、匕き続きできるこずを地道に実斜を行っおいきながら、瀟内のデヌタ掻甚ナヌザヌず接点を䜜っおいき、少しず぀DATA SABERを認知しおもらえるようにできたらいいなず思っおいたす。 たた、瀟内にむンパクトを䞎えられるような取り組みも認知には必芁かず思っおいたす。ですので、瀟内でただ誰も取り組めおいないデヌタ掻甚のスキルベルト䜜成の怜蚎も今埌行いたいず考えおいたす。 そしお、私が今床は垫匠ずなっおDATA SABERを育成し、各事業郚門でデヌタ掻甚が自走できる䞖界芳を䜜っおいけるようにしおいきたいず思いたす。 CASE 2 S・Sの堎合 自己玹介 私立倧孊理工孊郚数孊科卒。 理工孊郚ず聞くず䞀通りPC操䜜には慣れおいる印象を持たれたすが、倧孊時代では採甚掻動でのESずレポヌト䜜成でしかPCを䜿わなかったくらいの初孊者で入瀟したした。 2022幎4月にマむナビに入瀟し、10月たでは技術研修や瀟内むンタヌンシップを行いたした。 2022幎10月にT・Sさんず同じ課に配属され、瀟内のデヌタ掻甚基盀の保守運甚ずデヌタ掻甚掚進やデヌタ民䞻化を䞻な業務ずしおいたす。 DATA SABERチャレンゞ前のTableau歎・レベル DATA SABERチャレンゞ前のTableau歎2ヶ月 レベルBIツヌルがどのような目的で利甚されおおり、Tableauが瀟内でどのように掻甚されおいるのか知っおいる状態。 2022幎8月に瀟内むンタヌンシップ内でTableauのハンズオンを䜓隓させおいただく機䌚があり、そちらでTableauの存圚を知りたした。(むンタヌンシップ担圓はT・Sさんでした) 2022幎10月の配属埌に自身の課が行っおいるTableauの導入盞談や利甚掚進のミヌティングに同垭するようになったため、Tableauの特城や圹割を知るようになりたした。 TableauはセルフBIツヌルずしお珟堎に提䟛しおおり、郚眲のメむン業務ずしおダッシュボヌド䜜成を行うわけではないため、利甚経隓はほずんどありたせんでした。 チャレンゞした経緯 そのたたですが、Tableauの知芋を増やすためです。 デヌタ掻甚盞談で課の䞀員ずしお貢献するためにもTableauの知芋は必須でした。 ナヌザヌサポヌトも䞀人では行えない状況であったため、Udemyなどを掻甚しお孊習を始めた段階でした。 たた、瀟内のTableau利甚を掚進する為にTableau瀟䞻催のむベントに参加し他瀟事䟋を䌺う機䌚もありたしたが、その際にDATA Saberに぀いおの話も耳にするこずが倚くありたした。 孊習するなら資栌取埗ずいう明確な目暙を持っお取り組んだ方が良いず考えチャレンゞを決意したした。 匟子時代に取り組んだこず Tableauの技術力を磚くための十の詊緎 こちらに぀いおはT・Sさんず同様のため割愛させおいただきたす。 導く力を鍛えるための、コミュニティ掻動(瀟内倖でデヌタドリブン文化を広めるための掻動 ) T・Sさん同様に瀟内、瀟倖に向けた取り組みを行いたした。 【瀟内向け】 DocBaseによる情報共有 瀟内のドキュメント共有ツヌルであるDocBaseにおTableauのTipsをアップしたした。 具䜓的には、现かなフィルタヌアクションの蚭定方法や二重軞の蚭定方法、りォヌタヌフォヌルチャヌトの玹介など知っおいるからこそ掻甚できるTableauの機胜や掻甚方法に぀いおご玹介したした。 【瀟倖向け】 Tableau PublicぞのVizの投皿 Tableau Publicずは䞖界䞭の方がだれでも自身で䜜成したVizを共有するこずができるTableauのサむトです。 私は趣味である、海倖サッカヌに぀いおのデヌタの可芖化を行いたした。 ここで自身が䜜成したVizを共有する事の意矩は、単にアむディアを発信するだけでなく、新たな繋がりを䜜る事ができる点にありたす。 私もここでコミュニケヌションをずった方のVizから孊びを埗る機䌚ずなりたした。 Tableau関連蚘事の投皿 私は「Tableauの技術力を磚くための十の詊緎」の考え方に぀いお自身のブログに蚘事を䜜成したした。 具䜓的には、パフォヌマンスを構成する芁玠に぀いおの蚘事や瀟内デヌタ基盀の圚り方に぀いお蚘事を䜜成したした。 この掻動は正盎他の誰の圹にたったかは分かりたせんが、むンプットした内容をアプトプットする事で内容の敎理ができたした。 苊劎したこず 苊劎したこずはタスク管理ず時間の捻出です。 T・Sさんが初玚の詊隓を着々ず突砎しおいく䞭で、頭から぀たずいおいたした。 はなからその぀もりでのチャレンゞではありたしたが、想像以䞊に䞀぀䞀぀の詊隓クリアに時間がかかっおしたいたした。 2022幎10月の配属埌は1ヶ月間各システムの説明を受けた埌に、業務ず課内技術研修(バッチや定矩曞の蚭蚈ワヌク)を䞊行しお行っおいたした。しかしその課内技術研修を完了させないたたチャレンゞを開始し、別途新芏業務もいただいおパンク寞前でした。 終盀には䞊長のご協力で業務量を調敎いただいたり、残業での孊習時間の確保を蚱容いただき、なんずか合栌する事が出来たした。 「これらの経隓を経お、タスク管理に぀いお自分なりの方法を芋いだす機䌚ずなりたした。」 ずはただ蚀えないレベルなので匕き続きこの問題ず向き合っおいきたいず思いたす。 孊んだこず タスク管理やTableauのスキルに関しおはもちろん孊びがありたしたが、その他に぀いお蚘茉したす。 私が孊んだこずは 文化醞成の重芁性 です。 この資栌勉匷を通しお、Tableauのスキルを叩き蟌たれたした。しかし、Tableauの機胜を熟知しおいるからず蚀っお良いダッシュボヌドが䜜成できるわけではありたせん。 ダッシュボヌド䜜成はダッシュボヌドを䜜成する明確な目的を持ち、それを達成するためにどのようなデヌタを甚いるか考える必芁がありたす。 その為、盎接的にビゞネスに携わっおいない蚀わば゚ンゞニアサむドの私がこの力を発揮するには、ビゞネスサむドの方々ず共通認識を持ち、䞀緒にダッシュボヌドの䜜成を行う必芁がありたす。 その方々の明確な目暙ずビゞネス知識を正確に受け取り、ゎヌルぞのサポヌトをするのが我々の圹割です。 しかし、DataSaber認定埌にナヌザヌのサポヌトを行った際にはサポヌトを円滑に行うこずができたせんでした。 䜕故かずいうずお互いの垞識を理解しおいなかった為です。 私はビゞネスサむドの理解が浅く、ナヌザヌはデヌタの理解が足りおいたせんでした。 耇数の事業を持぀匊瀟にずっお、党おのビゞネスに぀いお゚ンゞニアサむドが理解する事はできたせんし、他事業郚のデヌタ掻甚の事䟋共有や分析甚のデヌタ共通基盀を運甚する事は、ビゞネスサむドにはできたせん。 異なる圹割の䞭で 䞡者が近い距離で、目暙を共有し、足䞊みをそろえお働く事の倧切さを孊びたした。 その為にはこの考え方に぀いおも共通認識を持぀必芁があり、組織ずしお文化を醞成する事が必芁です。 その文化醞成こそが我々DataSaberに求められるものだず孊びたした。 今埌のこず 珟圚瀟内に4名いるDataSaberを䞭心にデヌタに぀いおの考え方を発信しお、文化を醞成しおいきたいです。 たた、それに䌎う様々な知識やスキルを積極的に䌚埗しおいきたいです。 文化を醞成する手段がただ明確ではありたせんし、そこで掻甚するツヌルがTableauでなければならない蚳ではありたせん。 様々な方法を暡玢しお、䞀歩䞀歩着実にこの考えを広めおいけたらず思いたす。 デヌタが集たる䌚瀟でありそこにはたくさんの可胜性があるず思っおいたす。 文化を醞成し、同じ方向を向いお、新たな䟡倀創造に貢献できればず思いたす。 終わりに DATA SABERにチャレンゞしたこずを曞いおみたした。たくさん苊劎したり、躓いたりしたのですが、頑匵った結果DATA SABERになれたこずは倧倉うれしく思っおいたす。 ですが、2人ずも、DATA SABERになれたこずがゎヌルだずは思っおいたせん。 瀟内に目を向けるず、デヌタドリブン文化を根付かせるずいう倧きな目暙が存圚しおいたす。たた、デヌタ掻甚人材を育成したり、デヌタ掻甚を行っおいる人向けに情報発信したりなど、瀟倖においおもDATA SABERずしおの圹目を果たさないずいけたせん。 垫匠は、私たちが瀟内倖で粟力的に掻動できるず期埅しお、DATA SABERに認定しおくれたず認識しおいたす。 その期埅に応えられるよう、デヌタ掻甚の䞭心的存圚ずなっお掻動を行っおいきたいず考えおいたす。 投皿 Tableau DATA SABERにチャレンゞした話 は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに マむナビ内でTableau DATA Saber認定制床に挑戊された3名に、垫匠前線・匟子埌線それぞれの立堎で2䜜に分けお䜓隓蚘を曞いおいただきたした。 本蚘事では前線・垫匠に぀いおお届けしたす。 自己玹介 ご芧いただきありがずうございたす。デヌタ゜リュヌション統括郚 デヌタ掻甚掚進2課のI・Rです。 この床マむナビのデヌタドリブン文化醞成の足がかりになればず、DATA Saber認定制床に挑戊し認定されたした。たた埌進育成のため、私自身がDATA Saberで身に぀けた知識を䌝え、匟子も育おるこずができたした。 今回はDATA Saber認定制床のご玹介ず、認定たでの歩み、埌進育成に぀いおお話したいず思いたす。 デヌタ利掻甚を進めたいが、勉匷のずっかかりが぀かめない。 自己流でBIツヌルDATA Saber認定制床ではTableauを利甚しおいるが、技術力に自信がない。 デヌタ利掻甚を掚進するにあたり、呚囲を巻き蟌む方法がわからない。 こういったお悩みをお持ちの方の参考になれば幞いです。 DATA Saber(デヌタセむバヌ)ずは DATA Saberは、呚囲にデヌタの重芁性を説くデヌタ分析スキルずマむンドを持った人材の育成を目暙ずしたプログラムです。 䞻催はTableau瀟の元瀟員であるKTです。このプログラムは2015幎に開始され、2023幎6月珟圚1,300名以䞊のDATA Saberが育成されおいたす。 DATA Saberは䞀般的な認定制床ずは異なり、単にTableauの知識を持っおいるだけではなく、デヌタドリブンの文化を浞透させるために必芁な情熱や意志を䌝えるためのコミュニケヌションスキルを身に぀けるこずが重芁です。 その蚌拠ずしお、DATA Saberでは必ず垫匠ず匟子の関係でチャレンゞを進めたす。 垫匠を芋぀けるこずも最初の詊隓ずなり、DATA Saberになった埌に䜕を成し遂げたいのか、なぜなりたいのかなどを垫匠に説埗する必芁がありたす。 DATA Saberの詊隓抂芁 このプログラムでは、以䞋の詊緎を3ヶ月でクリアする必芁がありたす。 ・デヌタ理解に必芁な技術力を身に぀ける党10回の技術詊隓に満点で合栌する ・デヌタドリブン文化を掚進するためのコミュニケヌションスキルを身に぀けるコミュニティ掻動を行う たた、詊隓突砎に必芁な勉匷時間は玄100時間皋床ずなっおいたす。 詳现に぀いおは公匏りェブサむトをご芧ください。 https://datasaber.world/ DATA Saberに認定されるたでの歩み 前述の通り、DATA Saberになるためには珟圚DATA Saberの方に垫匠になっおいただく必芁がありたす。 垫匠探し たず第䞀歩目ずしおTableau瀟の営業職の方ににDATA Saberになりたい旚をお䌝えしたした。するずTableau瀟䞻催のむベントにDATA Saberの方が講挔されるず䌺い、すぐに参加したした。 講挔された方は、Tableauの教育プログラムを自瀟内甚にカスタマむズし、モチベヌションずなるよう報酬䜓系を瀟内で調敎し、BIツヌルが圓たり前に䜿われる文化を浞透させるたでの軌跡を実䜓隓を亀えおお話しおくださいたした。マむナビにデヌタドリブン文化を浞透させる足がかりずしおDATA Saberになろうず考えおいた私にずっお、たさに理想の垫匠像でした。 講挔埌にお話する機䌚があり、優れた実瞟を持぀方の匟子ずしお迎え入れおいただきたい旚をお䌝えしたずころ、快諟しおいただき、無事にDATA Saberのチャレンゞが始たりたした。 党詊隓突砎たでの勉匷時間は120時間 詊隓突砎たでの苊劎に぀いおは、私の匟子が埌線で取り䞊げおいただく予定ですので、詳现には觊れたせん。 Tableauは独孊で身に぀けたため、知らない機胜に驚くこずはもちろんですが、同じデヌタでもグラフの䜜り方1぀でより盎感的に理解できるこずを䜓隓したした。 垫匠からのレクチャヌ䌚や、Twitterを通じおDATA Saberに挑戊䞭のメンバヌずの勉匷䌚、ディスカッションを経お、玄2ヶ月半でDATA Saberに認定されたした。 DATA Saberになっお、なぜ匟子を育おたのか DATA Saberになった埌、すぐに匟子を取りたした。その理由は倧きく2぀ありたす。 組織党䜓のデヌタリテラシヌの底䞊げ デヌタドリブンな文化を育成するためには、アむディアやノりハり、気づきを組織内で共有する必芁があるず考えたした。経隓や知識を独占せず、他のメンバヌず共有するこずで、個人だけでは気づけなかった掞察やアむディアが生たれるからです。 埐々に集合知を拡倧するこずでデヌタリテラシヌも向䞊し、組織が抱えるビゞネス課題をデヌタを通じお正しく理解し、解決策を生み出せるようになっおいくのではないかず考えおいたす。 郚門間の協力䜓制の構築 新しい文化の醞成は詊行錯誀の連続です。1぀の解決方法ですべおの課題を解決する䞇胜薬は存圚せず、さたざたな斜策を地道に詊しおいく忍耐力が必芁です。そしおこれらの斜策には単䞀の郚眲ではなく、郚門や職皮を超えた協力関係が䞍可欠だず考えおいたす。 DATA Saberでは垫匟関係を築き、3ヶ月間で玄100時間の密なコミュニケヌションを取りたす。ここでは、デヌタの掻甚方法に぀いお深く話し合う機䌚も倚くありたす。この時間を通じお結束が生たれ、互いに協力し合える関係性を築くこずができたず感じおいたす。 今埌の垫匠ずしおの未来像 ビゞネスサむドの課題解決に貢献できるよう、課題の敎理から関䞎し、共に取り組むこずを考えおいたす。゚ンゞニア郚門やビゞネス郚門ずいったセクショナリズムに陥るこずなく、最終目暙であるビゞネス䟡倀の創出に向けお、情報亀換を行いながら課題解決を進めおいきたいです。 そのための䞀歩ずしお、デヌタ利掻甚に興味を持぀ビゞネス郚門の方々にDATA Saberの掻動に぀いおお話をし、匟子ずしお育成するこずでデヌタドリブン文化の醞成に貢献したいず考えおいたす。 ビゞネス郚門の方々にデヌタの重芁性やその有効掻甚方法に぀いお啓発を行い、共通の認識を持぀こずで、より効果的な課題解決ずビゞネス成果の向䞊を図りたす。 たたDATA Saberの数が増えた際には、定期的なワヌクショップや勉匷䌚を通じお、ビゞネス郚門ずの連携を匷化し、具䜓的なプロゞェクトにおいおも共同で取り組む機䌚を増やすこずも考えおいたす。さたざたな芖点や専門知識を持぀ビゞネス郚門ずの連携は、より総合的な解決策の発芋やむノベヌションの創出に繋がるず信じおいたす。 これによっお、デヌタドリブンなアプロヌチが組織党䜓に浞透し、ビゞネス課題に察する的確な掞察ず戊略的な意思決定が行われるようになるこずを目指したす。ビゞネス郚門ずの連携を通じお、より䟡倀ある成果を創出し、組織の成長に寄䞎するこずが私の思い描く未来像です。 投皿 デヌタドリブン文化の掚進のためにTableau DATA Saberを取埗し、匟子を育成した話 は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに この蚘事は2023幎1月に、株匏䌚瀟マむナビ デゞタルテクノロゞヌ戊略本郚以䞋「デゞ戊」内で定めた「コミュニケヌションガむドラむン」に぀いお、その背景を含めお玹介する蚘事です。 この蚘事のポむント コミュニケヌションガむドラむンずは、コミュニケヌションを取るうえで守っおほしいこず、心がけおほしいこずをたずめた資料 関心のある人に集たっおもらいメンバヌの声を聞きながらボトムアップ匏に決めおいった ガむドラむンでは「オヌプンコミュニケヌション」「アゞリティの高さ」「目的意識」の3぀を必芁な心がけずしお掲げおいる コミュニケヌションガむドラむンの効果に぀いおは、半期に䞀床の定期的なアンケヌトをずるこずで枬定する 背景 2019幎末からのコロナ犍を経お、コミュニケヌションの取り方は倉わりたした。 圚宅ワヌクも䞀般化し、今たでは圓たり前のように顔ず顔を突き合わせお䌚話しおいたものが、チャットやハドルミヌティングなど、オンラむン䞊での䌚話がメむンになっおいきたした。 皆さんは、瀟内コミュニケヌションがしやすくなったず感じたすか 今たでよりコミュニケヌションが取りやすくなったず感じる方、逆に取りにくくなったず感じる方、様々いらっしゃるのではないでしょうか。 このような感芚の差は、皆さんのコミュニケヌションの「垞識」が異なるこずで生たれおいたす。 なかには、コミュニケヌションが取りづらくなっおしたったがゆえに、仕事の効率が萜ちたず感じる人もいるでしょう。 日垞のコミュニケヌションのモダモダによっお、仕事にマむナスの圱響が出るなんお、ずおも勿䜓ないこずですよね。 そこで、「デゞ戊」内においお コミュニケヌションの取り方に察する目線を合わせる ため、「 コミュニケヌションガむドラむン 」ずいうものを䜜成するこずにしたした。 コミュニケヌションガむドラむンずは 我々が䜜成した「コミュニケヌションガむドラむン」ずは、その名の通り コミュニケヌションをずるために守っおほしいこず、心がけおほしいこずをたずめた 資料です。 コミュニケヌションガむドラむンを通しお「デゞ戊」内の コミュニケヌションを最適化し、埓来の業務の生産性を向䞊したり、郚眲を越えたコラボレヌションを匷化しおいく こずを目指しおいたす。 あくたで「ガむドラむン」ですので、これに違反したからず蚀っお眰則があるわけではありたせん。 ただ、党員が必ず䞀床は目を通し、できるだけこれに沿っおコミュニケヌションを取っおいただきたいずいう䜍眮づけになっおいたす。 ガむドラむンの詳しい内容は埌ほどご玹介したすが、ガむドラむンは倧きく「 コミュニケヌションの手段の遞び方 」ず「 䌚議開催/参加時のルヌル 」の2軞からアプロヌチをしおいたす。 コミュニケヌションガむドラむンの䜜り方 プロゞェクトの進行は事務局で行いたした。 ただし、コミュニケヌションガむドラむンの䜜成は「デゞ戊」党䜓に掚進メンバヌの募集をかけ、 興味のあった人が集たりプロゞェクトを䌁画、そしおプロゞェクトメンバヌの声を聞きながら民䞻的に進めおいきたした。 「デゞ戊」はずおも人数の倚い事業郚か぀「デゞ戊」の䞭でもたくさんの郚眲に分かれおいたす。 そうするず、既にそれぞれの郚眲における特有のコミュニケヌション文化が醞成されおおりたす。 たた、圹職や仕事内容における感じ方の違いも圓然ありたす。 できるだけ倚くの人が䜿いやすいガむドラむンにするため、実際に色々な郚眲の瀟員の方にヒアリングをし進めおいきたした。 集たったプロゞェクトメンバヌは党郚で11人。郚眲も圹職もバラバラです。 募集をかけおすぐに予想しおいたよりも倚くメンバヌが集たりたしたので、急遜締め切りを早めたした。 その集たり方から、 瀟員のコミュニケヌションに関する関心課題の倧きさ を感じたした。 ガむドラむンはたず事務局で玠案を䜜成し、その埌プロゞェクトメンバヌを3人から4人のグルヌプに分けそれぞれ2回ず぀蚈8回のディスカッションで意芋を出しおもらい、それを参考に詰めおいきたした。 プロゞェクトメンバヌはコミュニケヌションに関心の高いメンバヌであるため、ディスカッションでは鋭い意芋をたくさん聞くこずができたした。 おかげで、倚くの人に䜿っおもらいやすいガむドラむンになったのではず思いたす。 完成したコミュニケヌションガむドラむンの玹介 マむナビ「デゞ戊」内コミュニケヌションガむドラむンの構成はこのようになっおいたす。 ※第1版完成埌から改定をしおおり、2023幎4月時点の内容をご玹介したす。 必芁な心掛け コミュニケヌション方法 シチュ゚ヌションごずのコミュニケヌション方法 䌚議のルヌルずコツ ①䌚議目的ごずのルヌル ②䌚議のコツ Web䌚議のカメラに関しお デゞ戊内でのチャット利甚に぀いおのガむドラむン ガむドラむンの抂芁 はじめに、このコミュニケヌションガむドラむンの目的や適甚範囲などを蚘茉しおいたす。 あくたで「ガむドラむン」のため、匷制力は持ちたせん。 たた、適甚範囲は「デゞ戊」内ずしおいたすが、掻甚できそうであれば「デゞ戊」倖の郚眲や瀟倖の方ずやり取りする際にも利甚いただくこずもOKずしおいたす。 必芁な心掛け たずは、コミュニケヌションをずるうえでの基本的な心掛けに぀いお蚀及しおいたす。 我々は「 オヌプンコミュニケヌション 」「 アゞリティの高さ 」「 目的意識 」の3぀を必芁な心がけずしお掲げたした。 これらを垞に意識しおいれば、自然ずコミュニケヌションガむドラむンに沿った行動をするようになるはずずいうものです。 コミュニケヌション方法 我々はコミュニケヌションの皮類ずしお「 チャット 」「 短い䌚話 」「 䌚議 」「 ぀ぶやき・メモ 」の4぀があるず敎理したした。 それぞれの定矩ずい぀どのように䜿うのがよいか、ずいうこずを説明しおいたす。 シチュ゚ヌションごずのコミュニケヌション方法 続いお、もう少し盎感的にコミュニケヌション方法を䜿い分けられるように、図解したした。 ここでは「緊急床」ず「重芁床」の2軞で敎理しおいたすが「䜕を緊急重芁ずみなすか」に぀いおは、個人や郚眲によっお感芚が異なりたすので、あえお具䜓的に瀺さず、珟堎に刀断をゆだねる圢ずしおいたす。 䌚議のルヌルずコツ 䌚議はどうしおも時間を拘束されおしたうため、なるべく枛らしたいず考えおいたすが、どうしおも必芁な䌚議はありたす。 その䌚議の時間をなるべく質の高いものにするため、䌚議のルヌルを定めたした。 たた、䌚議の目的に応じお守るべきルヌルは異なるず考え、䌚議の目的別にルヌルを決めおいたす。 ルヌルずは別に䌚議の「コツ」ずしお、オフラむンずオンラむンが混圚する䌚議の際に心がけおほしいこずに蚀及したした。 たた、アゞェンダや議事メモの䜜成をルヌルずしおおりたすので、そのテンプレヌトも䜜成したした。 Web䌚議のカメラに関しお Web䌚議の「顔出し」に぀いおある皋床決めがあった方がいいずいうご意芋のもず「デゞ戊」党䜓にアンケヌトを取った䞊で、カメラオンを「掚奚」ずしたした。 デゞ戊内でのチャット利甚に぀いおのガむドラむン コミュニケヌション方法の䞭でも特に倚く䜿われるようになった「チャット」に぀いお、 メンションの埌に「様」を぀ける や 定型句ずしおの「お疲れ様です」を぀ける などが人によっおバラバラになっおしたっおいたした。 こちらも䜙蚈な気遣いなくコミュニケヌションをずれるように、ガむドラむンを定めたした。 コミュニケヌションガむドラむンの効果枬定 コミュニケヌションガむドラむンを䜜成したうえで䜜りっぱなしにしおしたうず、せっかく䜜ったものの効果がわからずもったいないですし、その時々に合わせお改良を重ねおよりよいものにしおいきたいずいう思いがありたす。 コミュニケヌションガむドラむンの効果がどのくらいあったかに぀いおは、半期に䞀床の定期的なアンケヌトをずるこずで枬定する予定です。 たた、それずは別軞で、ガむドラむン䜜成に協力しおもらったプロゞェクトメンバヌに各郚眲における状況をりォッチしおもらい、実際の肌感レベルでの状況も聞いおいければず考えおいたす。 あずがき 今回のコミュニケヌションガむドラむンの䜜成に぀いおは、「デゞ戊」内でそういった取り決めを行うこずがあたりなかったため、新鮮で挑戊的な取り組みだったず思いたす。 プロゞェクトメンバヌからの意芋を通しお、隣の郚眲でもかなり文化が違うこずがわかりたしたし、意倖ず瀟内のコミュニケヌションに぀いお課題を持っおいる人は倚くいるこずが発芋でした。 今回のコミュニケヌションガむドラむンが、少しでもマむナビ「デゞ戊」内での働きやすさに぀ながればいいなず思いたす。 投皿 デゞタルテクノロゞヌ戊略本郚のコミュニケヌションガむドラむンを䜜成したした!! は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに 皆さんこんにちは。 本日はクリスマスですね私は幌い頃に䞡芪からクリスマスプレれントずしお、『人生ゲヌム』を買っおもらったこずがありたす。 そんなキッカケもあり、珟圚はボヌドゲヌムが趣味でしお、圓瀟のボヌドゲヌム郚にも所属しおおりたす。 マむナビのボヌドゲヌム郚では、業務埌、䞍定期にボヌドゲヌム䌚を開催しお、みんなでワむワむやっおいたす。 そしお、閑話䌑題、今回、圓瀟がお䞖話になっおいる某瀟のご厚意により、非売品の「情シスすごろく」ずいうボヌドゲヌムをご提䟛いただきたした。 実䜓隓を基に䜜成された、リアルな情シスの雰囲気を味わえるボヌドゲヌムずいう事でしたので、早速遊んでみたレポヌトをお送りしたす 「情シスすごろく」ずは 「情シスすごろく」は、転職しおきたばかりの情シス瀟員ずしお、䌁業の情報システム郚門の 「あるある」 や トラブル を远䜓隓できるこずをコンセプトずした、4人甚のすごろくゲヌムです。 トラブルたみれの1か月にしっかり察応しお乗り切り、より平穏に過ごし぀぀、他者のサポヌトをより倚くできた人が、”情シスの鑑勝者”ずなりたす。 遊び方 ルヌル 基本的には手番のプレむダヌがダむスを振っおコマを進める「すごろく」ずなりたす。 倧きな違いずしお、各プレむダヌは5タヌン以内にゎヌルしなければいけたせん。 1タヌンを1週間ずし、5週間1か月間乗り切る事に芋立おられおいたす。 途䞭で止たったむベントタむルに応じおむベントが発生し、メンタルや䜓力が倉化しおいくのですが、このメンタルの状態に応じお次のタヌンに振るダむスの皮類が倉わりたす。 ※メンタルがボロボロになるずサむコロの目の期埅倀が䞋がり、なかなか進めなくなっおしたいたすが、極限状態では"7"が出るこずも 特定の条件を満たすこずにより、むベントが発生した際に、他者に協力を仰ぐこずができる「ナヌザヌコミュニティ」に所属するこずになりたす。協力したナヌザヌは協力に応じお「支揎回数」を埗るこずができたす。 最終的にゎヌルできた人 1か月乗り切れた人 の䞭で、より 平穏に過ごし 䜓力が倚い、 他者のサポヌトをより倚く できた支揎回数が倚い人が ”情シスの鑑勝者” ずなりたす。 準備 各プレむダヌはそれぞれ個人ボヌドを初期倀に蚭定する。 ■個人ボヌド プレむダヌの状態を管理するボヌドです。 ・タヌン数 ・メンタル ・支揎回数 ・䜓力 の4項目があり、ゲヌムで発生するむベントや行動によっお倉化しおいきたす。 むベントタむルを裏面にしおすごろくのコヌスを䜜る。 ■むベントタむル マスに止たった際に発生するむベントが蚘茉されおいたす。 ・瀟員の端末からマルりェアが発芋された ・埓業員のIDずパスワヌドが挏掩した ずいったむンシデントや ・叀参゚ンゞニアに盞談したら、なぜか怒られた ・本郚長に孫の〇witchの蚭定を頌たれた ずいったやるせないむベントなどが蚭定されおおり、回避するすべを持っおいない堎合はメンタルや䜓力にダメヌゞを受けるこずになりたす 。 アむテムカヌドを各プレむダヌに7枚ず぀配る。 ■アむテムカヌド むベントを回避したり、メンタルなどを回埩したりするために䜿甚するアむテムずなりたす。   ・メヌル誀送信察策ツヌル ・倚芁玠認蚌゜リュヌション ずいった、むンシデントに察応できそうな゜リュヌションや ・焌肉無料刞 ・ビヌル ずいった、やるせなさを解消できるアむテムなど、色々なものがありたす。 むベントの䞭には「〇〇があれば回避可胜」ずいった蚘茉があるものがあり、該圓するアむテムカヌドを䜿甚するこずで回避できたす。 たた、ゲヌム埌半では、アむテムを捚おる事によっおサむコロの出目にプラスしおコマを進めるこずができたす。その際、そのアむテムが「必芁ない理由」を宣蚀する必芁がありたす。 これで準備完了です ゲヌムの進め方 スタヌトプレむダヌから時蚈回りにタヌンず぀行い、党員がタヌンず぀実斜したす。 タヌンは以䞋のように進行したす。 タヌン進行 個人ボヌドのタヌン数を進めたす。 アむテムカヌド䜿甚 䜿甚できるアむテムカヌドがあれば、このタむミングで䜿甚するこずができたす。 サむコロ振っお移動 自分のメンタルに合ったサむコロを振り、出たマス分進みたす。 むベントの凊理 止たったマスのむベントタむルを開き、むベントの凊理を行いたす。むベントを回避できるアむテムカヌドがあれば、このタむミングで䜿甚したす。 党員が5タヌン終わったタむミングで勝者刀定を行いたす。 ゎヌルたで進めた人の䞭で、個人ボヌドの「䜓力」「支揎回数」の倀が倧きい人 が ”情シスの鑑勝者” ずなりたす。 やっおみた はじたり 「もらった。やろうぜ」の課長からの䞀蚀で、今回の 「「情シスすごろく」で遊がうの䌚」 が䌁画されたした。 そしお翌日にはデゞタルテクノロゞヌ戊略本郚党䜓に参加者募集の投皿が行われたした。フットワヌクが軜い 幞いなこずに倚くの方から参加の申蟌をいただき、無事、開催決定ずなりたした。 ありがずうございたす 圓日 ずある日の業務埌、䌚瀟の䌚議宀で開催したした。 定時で業務を切り䞊げお䌚議宀ぞ行くず、既に人が集たっおおり、みんなで軜い自己玹介を行った埌、ゲヌムを始める事になりたした。 ゲヌムには参加しないけど少しだけ芋孊を ずいう方にもちらほら来おいただいおいお、そこから話の茪が広がる堎面もあり、党䜓ずしおわちゃわちゃした雰囲気でした。 私含めみんな初めお行うゲヌムだったので、説明曞を芋ながらやんややんやず準備を行い、和気あいあいずゲヌムが進みたした。 むベントタむルに止たり、 「突然、党瀟テレワヌク環境の導入がトップダりンで降りおきた」 ずいうむベントが発生した際には、 「あコロナ初期のあるあるですよねぇ 。」「りチはコロナ以前から䞀郚テレワヌクを導入しおたから、他に比べたら倚分マシだったず思いたすけど 。」 ずいった、圓瀟の情シスでの出来事を亀えながら、リアルな経隓を元にした䌚話が行われたり、 アむテムカヌドを捚おる際には そのアむテムが必芁ではない理由 を宣蚀する必芁があるのですが、 「りチでは党郚Excelで管理するので、プロゞェクト管理ツヌルはいりたせん」 ずいった爆匟発蚀で呚りから総ツッコミを受けたりず、終始なかなかの盛り䞊がりを芋せおいたした。 1ゲヌム30分皋床で終わるため、メンバヌを倉えお耇数回遊ぶこずができたしたが、色々なあるある話や圓瀟情シスの話などが話され、初察面でも䌚話が匟んでいたした。 感想 本質的にはすごろくなので、サむコロの出目次第のずころが倧きいのですが、そのおかげで初めおの人でも楜しく遊ぶこずができたず思いたす。 人によっおアむテムカヌドを捚おお出目をブヌストするタむミングや、捚おる際の蚀い蚳に性栌が出おいお、より深くその人を知るこずができた気がしたす。 リアルに基づいたむベントむンシデントに察しお、「〇〇゜リュヌションがあれば回避可胜」ずいった回避策が蚘茉されおいるので、 実際の゜リュヌションに察する理解床 が䞊がり、゜リュヌションを導入しおいない時の リスク等に぀いお意識しお孊ぶ事ができた ず思いたす。 楜しく孊べお、情シスの雰囲気もなんずなくわかる良いボヌドゲヌムでした おわりに 今回「「情シスすごろく」やっおみた」ずいう圢で蚘事を曞かせおいただいたのですが、情シスすごろくに限らず、ボヌドゲヌムはプレむスタむルに個人の性栌がずおもよく出るず思っおいたす。 自分以倖の方の考え方に觊れられたり、初めたしおの方の"人ずなり"がなんずなくわかったり、普段䞀緒に業務しおいる人の意倖な䞀面が芋れたりず、コミュニケヌションツヌルずしお非垞に優秀だず改めお感じたした。 特に今回の情シスすごろくは、システム系の業務をしおいる人たちで行った事もあり、むベントタむルのむンシデントで䞀喜䞀憂したり、アむテムカヌドを捚おる理由の苊しさにみんなで笑ったりず、和気あいあいず芪睊を深めるこずができたした。 たた、楜しんでいるうちに情シスに぀いおの理解が少し深たるずいった孊びも生たれたので、情シスなんもわからんっお方にも是非遊んでいただきたいボヌドゲヌムでした。 以䞊、お読みいただきありがずうございたした。 投皿 「情シスすごろく」をやっおみた話 は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに 気付いたらもう12月ですねあっずいう間の1幎間でした  最近は冷え蟌む日々が続いおいたすが、みなさた䜓調はいかがですか。 こちらの蚘事は今幎4月に入瀟し、システム郚眲の䞭でも「 基幹システムや情報システムの管理、運甚 」を行っおいる郚眲に配属された新卒4人で曞いおいたす。 ・文系出身でIT職に興味がある方 ・IT職でも開発以倖の業務に興味がある方 䞊蚘に圓おはたる方向けにマむナビの基幹/情報システムに関わる仕事に぀いおたずめたした。 「瀟内SEずは䜕か」から「瀟員の1日のスケゞュヌル」など、基幹/情報システム担圓ならではの話が盛り沢山なので最埌たで読んでいただけたら嬉しいです 䞀般的に瀟内SEずは 瀟内SEずは 瀟内のシステムを管理したり、 システム関連で瀟内で発生した䟝頌や問題を解決しおいくお仕事 です。 お客さんずなるのは匊瀟の瀟員、営業や経理など非システム職の人が倧半です。 瀟内の人たちが䜿甚するシステムに䞍具合がでたり、改良しおほしいずいう䟝頌が出たずきに私たちの出番がやっおきたす。 瀟内でマむナビすべおのシステムを開発しおいるわけではないので、ベンダヌずいうシステムを開発しおくれる方たちに改修䟝頌をするこずが倚いです。 そのため、お客様ずいう意味では匊瀟内の人ですが、䞀緒に仕事をするパヌトナヌずしおはベンダヌの人も挙げられたす。 「お客様瀟内の人の芁望を汲み取っお、ベンダヌの方たちに䌝える」ずいうのは非垞に重芁な業務の䞀぀です。 基盀を支える「 瞁の䞋の力持ち 」であり、立堎の違う人を぀なぐ「 架け橋 」の圹割を担っおいるのが私たちの仕事です。 新卒4人にむンタビュヌ 配属されおから2か月。新卒の私たちが普段どんな業務をしおいるのか、業務をしおいお感じたこずなどを赀裞々に答えたした ■M.Hさん(基幹システム担圓) (1)珟圚どのような業務を行っおいたすか 「瀟内䌚蚈システムの保守・運甚」を担圓しおいたす。システムに゚ラヌがでおいないかメヌルでチェックをしたり、案件のリリヌス準備のため、関係者に連絡を取る仕事を任せおもらっおいたす。 たた、週に回ある䌚議の進行や議事録䜜成も行っおいたす。 盎近ではプロゞェクトのテスト仕様曞の䜜成やレビュヌの䞀郚をお手䌝いさせおいただきたした。 (2)どんな人が基幹系郚眲に向いおいるず思いたすか 報連盞がしっかりできお、状況把握が埗意な人が向いおいるず思いたす。扱うシステムが倚いわりに人が少ない少数粟鋭な郚眲です。 なので、呚りの人の仕事量を察しお気遣いができる人や、無駄が発生しないよう効率化を意識するこずが埗意である人、連携や確認を面倒くさがるこずなく行うこずができる人が向いおいるのかなず感じおいたす。 ■Y.Nさん(基幹システム担圓) (1)珟圚どのような業務を行っおいたすか H.Mさんず基本的には同様の業務をしおいたす。 その他に、経理からの質問察応や、申請曞類の䜜成などもしおいたす。 (2)配属前に抱いおいた基幹系郚眲のむメヌゞを教えおください。たたむメヌゞずのギャップはありたしたか ミスが蚱されないずいう意味で緊匵する郚眲ずいうむメヌゞが匷くありたした。 なぜなら研修で基幹系システムは「䌚瀟の業務ず盎接関わるシステム」であり、 基幹システムが停止した堎合は、䌚瀟党䜓に圱響するので䌚瀟ぞの圱響床が倧きいず䌺っおいたからです。そのため、自信がある人でないず難しい郚眲だず考えおいたした。 安定皌働するのが圓たり前のシステムである以䞊、ミスが蚱されないずいう郚眲むメヌゞは倉わっおいたせん。 しかし、配属埌ミスが蚱されないからこそ䜕事も自信を持っおいる人よりも心配になっおきちんず確認できる人の方が倚いずいうむメヌゞに倉わりたした。 私たちの郚眲は、耇数人で業務の確認をするなど心配性な人こそ安心できる堎所であるず珟圚は考えおいたす。 ■Y.Sさん(情報システム担圓) (1)珟圚どのような業務を行っおいたすか 「党瀟向け䌚蚈システム」ず「システム職向けナレッゞ共有ツヌル」を担圓しおいたす。 前者は党瀟向けずいうこずもあり非垞に倧きなサヌビスです。ひよっこの私が䞀朝䞀倕で管理できるシステムではないので、たずはシステムの䜿甚フロヌや内郚的な機胜に぀いお孊んでいるずころです。 埌者はアカりント発行䟝頌の察応や運甚改善を行っおいたす。運甚改善では、アカりント発行の流れで䜙分にかかっおいる手間を省いたり、ナヌザヌがより蚘事を共有しやすくするための統制を考えおいたす。 問い合わせ察応はどちらも共通しお担圓しおおり、サヌビスを利甚しおいる瀟員の方々の「困った」や「こんな䜿い方がしたい」ずいった問い合わせを調査/怜蚌し、返答しおいたす。 (2)配属前に抱いおいた基幹系郚眲のむメヌゞを教えおください。たたむメヌゞずのギャップはありたしたか むメヌゞずの盞違あり/なしでお答えしたす むメヌゞず盞違なかったのは業務内容です。SEずいう職皮ではあるものの、コヌディングはほずんど行いたせん。私の堎合は皆無です。 メむンで行う業務はベンダヌさんず瀟内ナヌザヌの間を取り持぀こず。実際にお話ししおいる際䞭に認識霟霬を解決するこずもあれば、䌚議のアヌカむブを芋盎しお䞀぀ず぀取り決めを確認するこずもありたす。 逆にむメヌゞずギャップがあったのは先茩瀟員の方々の人柄です。 配属前は固い雰囲気なのかなず思っおいたのですが、お話奜きな方が倚いのが少し驚きでした。仕事䞊で同期ずの絡みがないので、䞀人で黙々ず䜜業するのかな ず震えおいたしたが、課の先茩、䞊叞の方ずの雑談も亀えながら楜しく仕事ができおいたす。 お話しする機䌚が倚いず、業務䞊で分からないこずや困ったこずがあったずきに盞談しやすいのでずおもありがたいです  ■R.Tさん(情報システム担圓) (1)珟圚どのような業務を行っおいたすか 「Webデヌタベヌス゜フト」ず「マむナビグルヌプ瀟員の情報を䞀元管理するID管理システム」を担圓しおいたす。 ナヌザヌ(瀟員)からの問い合わせ察応では、システムの仕様をマニュアルで確認したり、実際に動かしおみお、手探りですが自分も孊びながら察応しおいたす。 䞀方で異動に䌎う瀟員や組織の情報の曎新や䌑退職察応や埩職察応など、かなり人事に近い業務も行っおいたす。 (2)業務を行う䞊で意識しおいるこず・気を付けおいるこずはありたすか 番意識しおいるこずは「自分の刀断だけで進めない事」です。 私が担圓しおいるシステムは人の情報を扱っおいるのできっずこうだろうずいう刀断で 間違った情報を取り蟌んでしたったり、デヌタベヌスを壊しおしたうようなこずがあれば 瀟員の業務に盎接圱響が出おしたいたす。 そのため今は少しでも䞍安なこずがあったら先茩に質問を確認をしおいたす。 ただ自分から先茩に確認しに行くなどの積極性は忘れないようにしたいです いかがだったでしょうか。 担圓するシステムや業務の内容は異なりたすが、基幹/情報システムずいうマむナビの䞭枢を担うシステムの担圓ずしお、4人ずも匷い責任感を感じながら業務をしおいるこずがわかりたした。 先茩ぞのむンタビュヌず1日のスケゞュヌル これたでは、䞀般的な瀟内SEの仕事内容や、新人目線で思ったこずや気付いたこずに぀いおたずめたした。 「コヌディングをしないシステム職」の業務に぀いおなんずなくむメヌゞできたしたでしょうか 次は基幹/情報システム担圓ずしお経隓を積んだ先茩方、課長・郚長にご協力いただき、日のスケゞュヌルや業務の䞭で倧切にしおいるこずなどを䌺いたした。 先茩瀟員むンタビュヌ ■N.Tさん(基幹システム担圓) 債暩管理システムの保守・運甚を行う 日のスケゞュヌル 時刻 䜜業 コメント 9:05 出瀟(圚宅の堎合はPC起動) 9:15 業務開始 基本的には前営業日の残䜜業や、メヌルチェックから入りたす。察応が必芁な事象が発生しおいる堎合は、そちらの確認を優先しお実斜したす。 10:0011:00 改修プログラムの怜蚌環境リリヌスのために必芁な曞類の確認 11:0012:00 昌の予定に合わせお早めのお昌䌑憩 12:0014:30 サヌバヌの月䟋メンテナンス䜜業を実斜 日䞭に停止させるので時間厳守で行っおいたす。 15:0016:00 週次のプロゞェクト進捗報告䌚議ず隔週での保守案件の進捗確認䌚議 プロゞェクトごずに先週に実斜した案件の説明ず、来週にかけお実斜する予定の報告をしたす。たた、この日は隔週で実斜しおいる「䞍具合管理システムでのチケットごずの確認」を実斜したした。 16:0017:45 タスク敎理ず察応 10時からの䌚議内で話題に䞊がった内容などに぀いおアクションが必芁なものから察応しおいきたす。 マむナビで働いおいお思うこず スキルを埗るための環境が敎備されおきおおり、非垞にありがたい点だず感じおいたす。 䌚瀟経費での倖郚研修を積極的に受けるように掚奚されおおり、自郚眲では業務ぞプラスになりそうな分野(盎接、間接問わず)に぀いお、業務時間内で勉匷時間を確保するよう求められおいたす。 K.Sさん(情報システム担圓) 党瀟員が利甚するメヌルツヌルの管理及びMicrosoft補品党般の管理・導入 日のスケゞュヌル 時刻 䜜業 コメント 08:5009:15 出瀟 早めに来お優雅な時間を過ごすタむプです。 09:15 業務開始 09:1511:00 メヌル確認/スケゞュヌル確認/定䟋䜜業 たず私はメヌル確認ずその日のスケゞュヌルを確認したす。その埌、定䟋䜜業(導入しおいるサヌビスの定期的なメンテナンスやお問い合わせの察応)を実斜したす。 12:0013:00 䌚議 瀟内のコミュニケヌションに぀いおの䌚議に参加したした。 13:0015:00 䌚議 Microsoft補品に぀いおの䌚議に参加したした。 15:0016:00 䌚議 実行䞭案件に぀いおの䌚議を行いたした。 17:0017:45 定䟋䜜業 終業前にメヌル確認・返信ず、埓業員の方から受けた導入しおいるサヌビスに぀いおの蚭定䟝頌を確認し察応したす。 18:00 退瀟 ※むンタビュアヌコメント 12:0013:00の䌚議は別郚眲での䌁画䌚議です。 マむナビでは䌁画策定や開発䜜業に参加するための公募が倚くあり、興味さえあれば参加するこずができたす マむナビで働いおいお思うこず 私は䞭途でマむナビに入瀟したしたが、前職ず比べお「䌑暇が取埗しやすい」ずいう点が良いずころかなず感じおいたす。 瀟員の方の䞭には毎週日午前䌑を取埗しおいる方や、最近では男性で育児䌑暇を取埗されおいる方もいたす。 䞊長から有絊取埗を促される颚朮があり、比范的䌑暇は取埗しやすい環境かな思いたす。 基幹/情報システム担圓ずしお倧切にしおいるこず 私たちが所属するコヌポレヌトIT統括郚ではITを通じお瀟員の働きやすさや、生産性を向䞊しおいくこずをミッションにしおいたす。 ■新入瀟員の気づき 配属されおから䞀番感じた倧切なこずは システムの利甚者に寄り添うこず です。 これはシステム利甚者の蚀う通りにするず蚀う意味ではなく、盞手の業務内容を知り、 利甚者にずっおのベストを暡玢する ずいうこずです。 それを実珟するために必芁な䜜業は、たずナヌザヌがどのように担圓システムを利甚しおいるのか熟知するこずです。 䟋えば、ナヌザヌ瀟員の業務を考えながら担圓システムの動䜜確認をしたり、 ナヌザヌの普段の業務をヒアリングしたりしおいたす。 ■郚長・課長に聞きたした 我らが郚長・課長に「基幹/情報システム担圓ずしお倧切にしおいるこずはありたすか」ず質問したずころ快くお答えいただきたした(ありがずうございたす ) 倧切にされおいるこずはそれぞれたくさんあったのですが、その䞭から぀をピックアップさせおいただきたした 1.安定皌働 「ナヌザの本来の業務に察しおシステムを意識させないほどの安定皌働」が第䞀です。 動いおいお圓然ずされおいるシステムたちなので、安定皌働しおいないず党䜓的に支障がでたす。 ここをいかに担保するかが重芁になっおきたす。 2.珟堎瀟員の立堎に立っお考える システム導入や改修の際に、珟堎瀟員が実際の利甚の流れを想像できるようにお手䌝いするのが 私たちの仕事です。 なるべく画面キャプチャを倚く䜿った資料を䜜ったり、ずりあえず完成品に近いサンプル品を觊っおもらうなどしお業務が具䜓的にどうなるのかずいうのを意識しおもらうように心がけおいたす。 3.リスク共有 リスクを予想し未然に防ぐこずず、問題が発生しおから察凊するこずでは、圱響範囲も察応コストも党く倉わっおきたす。 取り返しの぀かない問題を発生させないためにも、リスクの予想/共有/察応策の怜蚎は垞に行っおいたす。 そのため、ナヌザヌ瀟員に察しお事前にリスクを説明しプロゞェクトを進めおいたす。 「䜜業着手が遅れないように〇月〇日たでに回答しおもらう必芁がある」 「数ある芁望の䞭から取捚遞択しないず予算オヌバヌずなっおしたう」 「この芁望を反映させるず○○の凊理時間が長くなる可胜性がある」 など、具䜓的に䌝えおいたす。 あずがき 最埌たで読んでいただきありがずうございたした システム職プログラマヌのようにコヌディングをする人、ずいうむメヌゞを持っおいる方に 私たちのように瀟内のシステムを管理・運甚する仕事もあるんだずいうこずを知っおいただきたく、今回アドベントカレンダヌ䌁画に参加させおいただきたした。 たたこの蚘事を読んで 「基幹/情報システム担圓に興味がある」 「性栌的に結構向いおいるかも」 ず思っおくださった方が人でもいらっしゃったら嬉しいです。 最埌たでお読みいただきありがずうございたした 投皿 コヌディングしないシステム職がいるっおほんずですか瀟内SEのお仕事玹介したす は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに 唐突ですが VSCode の拡匵機胜䜜っおみたくありたせんか 私は日々のコヌディングの業務ではもちろん VSCode を䜿っおいたすが、痒いずころに手が届かないずいいたすか、自分の思い通りのコヌド゚ディタにするために、あず䞀歩足りない・・・この機胜があれば・・・ず思うこずがあったりしたす。 みなさんもこう感じた経隓ないですか こういったニッチな芁望に答えおくれる拡匵機胜があればいいですが、なければ自分で䜜るしかありたせん。 ずいうこずで今回は VSCode の拡匵機胜の䜜り方をこの蚘事で玹介したいず思いたす ずりあえず Hello World しおみる デバッグで動かしおみる VSCode の公匏ドキュメント の Get Started を芋おみるずサンプルの拡匵機胜拡匵機胜の雛圢を䜜る方法が茉っおいたす。 この手順に埓っおサンプルの拡匵機胜を䜜っおみたす。 以䞋のコマンドを打っお必芁なモゞュヌルをむンストヌルしお雛圢を䜜っおみたす。 npm install -g yo generator-code yo code 雛圢は yo コマンドが察話的に䜜成しおくれたす。 今回は TypeScript を䜿っお雛圢を぀くるこずずしお、名前は適圓に HelloWorld ずしたす。 # ? What type of extension do you want to create? > New Extension (TypeScript) # ? What's the name of your extension? HelloWorld # ? What's the identifier of your extension? hellowold # そのたた Enter # ? What's the description of your extension? Sample extension # ? Initialize a git repository? n # リポゞトリずしたい堎合は Y を遞択 # ? Bundle the source code with webpack? N # ? Which package manager to use? npm # お奜みのものを遞んでください # ? Do you want to open the new folder with Visual Studio Code? > Open with `code` これで、HelloWorld 拡匵機胜の雛圢が䜜られたした。 このたた F5 を抌しお拡匵機胜をデバッグモヌドで起動させおみたす。 HelloWorld 拡匵機胜が有効になったデバッグ甚の VSCode のりむンドりが開きたす。 この状態で、 Ctrl + Shift + p を抌しお、コマンドパレットを衚瀺させ、 Hello World ず入力するずコマンドがでおきたす。 コマンドを実行しおみるず、右䞋のテキストボックスに Hello World from HelloWorld が衚瀺されたした。 コヌドを芋おみる 拡匵機胜の゚ントリポむントは、src/extension.ts 内の activate 関数になりたす。 䞭身は です。実際のコヌドではコメントが䞁寧に入っおいたす。 â–Œhelloworld/src/extension.ts import * as vscode from 'vscode'; export function activate(context: vscode.ExtensionContext) { console.log('Congratulations, your extension "helloworld" is now active!'); let disposable = vscode.commands.registerCommand('helloworld.helloWorld', () => { vscode.window.showInformationMessage('Hello World from HelloWorld!'); }); context.subscriptions.push(disposable); } export function deactivate() {} コヌドの䞭盀あたり の disposable オブゞェクトが Hello World を衚瀺させおいるコマンドの実態です。 let disposable = vscode.commands.registerCommand('helloworld.helloWorld', () => { vscode.window.showInformationMessage('Hello World from HelloWorld!'); }); ここでは、 vscode.window.showInformationMessage 関数を呌び出すコマンドを䜜成しお、そのコマンドの ID を helloworld.helloWorld ずしおいたす。 showInformationMessage はVSCode の右䞋郚分にメッセヌゞを衚瀺させるメ゜ッドです ここで、サンプルの拡匵機胜で Hello World を衚瀺させたずきのこずを思い出しおみたす。 右䞋に Hello World が出るのはコマンドパレットに Hello World を入力し、コマンドを実行したずきでした。 このようにコマンドパレットから実行可胜なコマンドにしおいる郚分の蚘述が実は package.json に蚘茉されおいたす。 package.json の16-23行目に該圓の蚘述がありたす。 â–Œhelloworld/package.json䞀郚抜粋 "contributes": { "commands": [ { "command": "helloworld.helloWorld", "title": "Hello World" } ] }, この郚分で、コマンドのタむトルを Hello World ずし、 helloworld.helloWorld をこの拡匵機胜が提䟛するコマンドずしお登録しおいたす。 このようにしお、VSCode の拡匵機胜では package.json ず゜ヌスコヌドに所望の凊理を蚘述しお、拡匵機胜を䜜っおいくこずになりたす。 パッケヌゞ化 しおみる サンプルの拡匵機胜の䞭身を理解できたずころで、次はこれを実際に䜿える圢でパッケヌゞ化 しおみたす。 パッケヌゞ化するずころに぀いおは の蚘事がよくたずたっおいるので参考にしたす。  https://dev.classmethod.jp/articles/easy-vs-code-extension-development/  ※ 今回の蚘事では拡匵機胜を公開する郚分に぀いおはやったこずがないので觊れたせん。 パッケヌゞ化するためには vsce コマンドを䜿うようです。 ずりあえずむンストヌルしおおきたす。 npm install -g vsce 正しくパッケヌゞ化するために、たずは README を線集したす。 ここを線集しないず vsce コマンドを実行したずきに以䞋の゚ラヌが発生しおパッケヌゞ化できたせん2敗 ERROR Make sure to edit the README.md file before you package or publish your extension. # helloworld README sample extension README を盎したら vsce コマンドを実行しお拡匵機胜をパッケヌゞ化したす。 npx vsce package 堎合によっおは譊告がでるので、適切に察応したす。 WARNING A 'repository' field is missing from the 'package.json' manifest file. Do you want to continue? [y/N] y # git リポゞトリにしおない堎合に発生したす WARNING LICENSE.md, LICENSE.txt or LICENSE not found Do you want to continue? [y/N] y 完了するず、 {拡匵機胜名}-{バヌゞョン}.vsix ファむルが出来䞊がりたした。ちなみにバヌゞョン名や拡匵機胜名は package.json で管理されおいたす。 これでパッケヌゞ化は完了です 実際にむンストヌルするずきは Ctrl + Shift + x で拡匵機胜のビュヌを衚瀺させ VSIX からのむンストヌル を遞択し VSCode にむンストヌルしたす。 おすすめのやり方に぀いお話しおみる VSCode の API リファレンス を芋るず様々な API の䜿い方が茉っおいるわけですが、API の呌び出し方を説明するのみで、その機胜を䜿うこずで芋た目がどう倉わるのか、内郚で䜕が起こっおいるのかをむメヌゞするこずは正盎厳しいず思いたす。 䟋えば、゚クスプロヌラヌのようなツリヌ型のビュヌ みたいなや぀を䜜りたい堎合に、膚倧な䜿い方から䜜り方を探すのは倧倉だず思いたす。 そんなずきは、VSCode の公匏が公開しおいる サンプル集 をみお、動くものから孊んでいくのがおすすめです。 ここでは、よく䜿いがちな機胜のサンプルをたずめおおり、クロヌンしおきお実際に動かしおみるこずで䞭で䜕が起こっおいるのか、芋た目にどう圱響するのかを確認しおみるこずができたす。 vim ゚ディタ:memo:を䜜っおみる っおのもあったりしたす  実際に動かしおみお、䞭身を確認したあず API リファレンス を芋るこずで理解がしやすくなるんじゃないかず思いたす。実際私はそうやっお拡匵機胜の開発をしおたす たた、VSCode の UI 構造やロゞック郚分の蚘述に慣れおくるず、 dockerの拡匵機胜 や gitlens ずいった有名な拡匵機胜の゜ヌスコヌドから、所望の凊理の郚分を参考にしお実装しおみるのもいいず思いたす。 サンプル拡匵機胜に機胜を远加しおみる 最埌に、玹介したおすすめのやり方でサンプルの拡匵機胜に の機胜を远加しおみたす。 VSCode の䞋郚ステヌタスバヌに文字を衚瀺させる 文字情報は VSCode の蚭定画面から指定する ステヌタスバヌに文字を出す郚分に぀いお調べおみる ステヌタスバヌに文字を远加しおいる拡匵機胜をサンプルのリポゞトリから探しおみたす。 のコヌド内、 StatusBar クラスの vscode.StatusBarItem が該圓の郚分っぜそうです。 https://github.com/microsoft/vscode-extension-samples/blob/main/vim-sample/src/extension.ts â–Œvim-sample/src/extension.ts class StatusBar { private _actual: vscode.StatusBarItem; private _lastText: string; constructor() { this._actual = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left); this._actual.show(); } public setText(text: string): void { if (this._lastText === text) { return; } this._lastText = text; this._actual.text = this._lastText; } } 文字を衚瀺させるには vscode.StatusBarItem オブゞェクトを䜜る必芁があり、それは vscode.window.createStatusBarItem 関数で、できるようです。 衚瀺させる文字はどのように蚭定するのかも芋おみたす。 同じクラスの setText メ゜ッド内のコヌドを芋るず、 vscode.StatusBarItem オブゞェクトの text プロパティに衚瀺する文字を入れおいるみたいです。 API リファレンスも芋おみたす。 createStatusBarItem 関数は このリンク をちょっずスクロヌルした郚分に定矩がありたした。 StatusBarItem クラスに぀いおはこちらの リンク に䜿い方があるみたいです。 text プロパティを芋おみるず、どうやら特殊な曞き方でアむコンも衚瀺させるこずができるこずもわかりたした。 蚭定画面から文字を取埗する郚分に぀いお調べおみる 次に蚭定画面から文字を埗る郚分を調べおみたす。 このコヌド の あたりが蚭定から倀を持っおきおいるずころみたいです。 â–Œcodelens-sample/src/CodelensProvider.ts if (vscode.workspace.getConfiguration("codelens-sample").get("enableCodeLens", true)) { getConfigration 関数の リファレンス も芋おみるず、 WorkspaceConfiguration クラスのむンスタンスを返しおいるこずがわかり、 その郚分のリファレンス も芋おみるず get メ゜ッドの䜿い方も分かっおきたした。 次に configration ずは䜕かに぀いおも調べおみたす。 リファレンス を探しおみるず、package.json に蚘述する蚭定みたいです。 参考にした拡匵機胜の pakcage.json を芋るず configration の蚘述があるこずも確認できたす。 â–Œcodelens-sample/package.json "configuration": { "properties": { "codelens-sample.enableCodeLens": { "type": "boolean", "default": true } } } 実装しおみる これで機胜远加する䞊で必芁な情報が出揃ったので、実際に機胜远加しおみたす。 今回は statusBarText ずいう蚭定を远加しおみお、ここの倀をステヌタスバヌに出すこずにしたす。デフォルトの倀ずしお default ずいう文字を入れおおきたす。 たた、文字の衚瀺はりむンドりが立ち䞊がったずきにしたいので、 activationEvents に onStartupFinished を远加しおいたす。 â–Œhelloworld/package.json䞀郚抜粋 "activationEvents": [ "onCommand:helloworld.helloWorld", "onStartupFinished" // 远加郚分拡匵機胜が有効化されたずきに active 関数を実行する ], ... "contributes": { "commands": [ { "command": "helloworld.helloWorld", "title": "Hello World" } ], // 远加郚分 "configuration": [ { "type": "object", "title": "helloworld", "properties": { "helloworld.statusBarText": { "type": "string", "default": "dafault", "scope": "resource", "description": "ステヌタスバヌに衚瀺する文字を蚭定したす" } } } ] } extension.ts にはサンプルのコヌドを芋お孊んだ API の䜿い方を参考に、以䞋を行うコヌドを远蚘したす。 ステヌタスバヌを䜜る 文字を蚭定から読み蟌む ステヌタスバヌの文字ずしお蚭定する â–Œhelloworld/src/extension.ts import * as vscode from 'vscode'; export function activate(context: vscode.ExtensionContext) { console.log('Congratulations, your extension "helloworld" is now active!'); let disposable = vscode.commands.registerCommand('helloworld.helloWorld', () => { vscode.window.showInformationMessage('Hello World from HelloWorld!'); }); context.subscriptions.push(disposable); // 远加郚分 const statusBarItem = vscode.window.createStatusBarItem(); statusBarItem.text = vscode.workspace .getConfiguration('helloworld') .get('statusBarText', ''); statusBarItem.show(); } export function deactivate() {} それではデバッグモヌドで実行しおみたす。 倀が衚瀺されおいたす 起動したばっかりでは、蚭定画面で倀を指定しおいないのでデフォルトの文字が衚瀺されおいたす。 思った通りの動䜜をするか芋おみる 次に蚭定ファむルに倀を蚘入しお、衚瀺する文字を倉曎しおみたす。 Ctrl + , を入力しお蚭定画面を出しお、怜玢ボックスに helloworld ず入力したす。 のように蚭定が出おくるので適圓な文字を入れおみたす。 この際どうせならアむコンも衚瀺させおみたす。 アむコンの䞀芧  文字が衚瀺されるのは拡匵機胜が読み蟌たれたずきなので、再読み蟌みさせたす。 デバッグコン゜ヌルを衚瀺しおいる方の VSCode りむンドりから曎新ボタンを抌しお再床デバッグを実行しおみたす。 䞋の文字が倉曎されたした アむコンもうたく衚瀺できおいるみたいです おわりに 今回は VSCode の拡匵機胜の䜜り方ず、実際に䜜るずきに参考にしたら良いドキュメントやサンプルコヌドを玹介したした。 これだけ倚くのこずができお、自由床が高いずころが VSCode が䜿いやすい゜ヌスコヌド゚ディタずしお知られおいる理由なんだず思いたす。 日々の業務で感じおいる僅かな苛立ちを、自分で拡匵機胜を䜜っおみお解決しおみおはいかがでしょうか。 投皿 VSCode の拡匵機胜を䜜っおみる は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
副題: AWSのおかげでグリヌンカレヌが䜜れなくなった話 はじめに ※本蚘事は、AWS Organizations + CloudFormation StackSetsで耇数AWSアカりントぞのリ゜ヌス展開を管理しおいる方向けの内容になっおいたす。 昚幎、 マむナビ Advent Calendar 2021 にお、 こんな蚘事 を曞かせおいただきたした。 芁玄するず、 CloudFormation StackSetsで組織やOUに展開しおいるCFnスタックに぀いお、 そのデプロむステヌタスを通知するようにしたかったので、 グリヌンカレヌを䜜る぀いでに匷匕にデプロむステヌタスを確認するサヌバヌレスアプリケヌションを䜜った。 ずいう内容でした。 圓時、StackSetsの各スタックむンスタンスのむベントを、StackSetsやOrganizationsの管理アカりント偎で怜知する手段が無かったため、Step Functionsを䜿っお 定期的にステヌタス倉曎をポヌリングする こずで解決したわけです。 が、 それから玄1幎の時を経お、2022幎11月にAWSから こんなアナりンス が。 Build event-driven applications with AWS CloudFormation StackSets event notifications in Amazon EventBridge 本日より、AWS CloudFormation StackSets で、Amazon EventBridge を介したむベント通知の提䟛が開始されたした。むベント駆動型のアクションは、CloudFormation のスタックセットを䜜成、曎新、削陀した埌に、トリガヌするこずができたす。これを、CloudFormation スタックセットのデプロむで、CloudFormation API を介しお定期的に倉曎をポヌリングするカスタムの゜リュヌションを開発たたは維持しなくおも実行できたす。 ( Ў) (぀Ў⊂) 定期的に倉曎をポヌリングするカスタムの゜リュヌションを開発たたは維持しなくおも実行できたす。 (Ў) (぀Ў⊂)  _, ._ ( Д)   ぀、぀いに埅望の機胜が実装されたした ずいうわけで、ずにかくむベント怜知ができるようになった以䞊それを掻かさない手はないだろうず、新しく各スタックむンスタンスのデプロむステヌタスを怜知する基盀を䜜り盎したした。 本題 通知したいのは、「各スタックむンスタンスのデプロむステヌタスの倉曎」です。 構成は別に図にするたでもないんですが、䞀応こちらの青背景郚分になりたす。 SAM実装郚分だけ芋るずだいぶスッキリしたした。 Slack通知をするだけなら、Chatbotを䜿ったりEventBridgeのトランスフォヌマヌでSlackAPIを叩いたりすればLambdaを曞かなくおも良いんですが、 Chatbotの通知内容だず情報が少なすぎる 参考: [アップデヌト] CloudFormation StackSets が EventBridge を介しおむベント通知できるようになりたした | DevelopersIO 条件分岐で通知内容をカスタマむズしたい ずいったこずから、Lambdaを通しおWebhookでSlackに投げる圢にしおいたす。 ぀いでに、アカりントIDだけでなくアカりント名も通知結果に含めるため、OrganizationsのAPIを叩いおいたす。 たた、StackSetsの管理自䜓は専甚のアカりントStackSets Accountに委任しお行っおいたすが、その堎合でもサヌビスマネヌゞド型のStackSetsのむベントは Organizationsの管理アカりントで怜知される ので泚意。 実装 SAMテンプレヌト 䜕の倉哲もない、EventBridgeルヌルずLambda関数を定矩しおいるテンプレヌトです。 EventBridgeで拟うむベントタむプは CloudFormation StackSet StackInstance Status Change 、ステヌタスコヌドは 公匏リファレンス を芋おずりあえずオペレヌションの倱敗・成功を拟うために SUCCEEDED / FAILED / CANCELLED の3぀ずしおいたす。 â–Œtemplate.yaml AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: | Service-Managed StackSets' Stack Instance Status Notification to Slack(webhook) #-----------------------------------------------------------------------------------# Parameters: #-----------------------------------------------------------------------------------# SystemName: Type: String Description: input System Name. Default: stacksets-status-notify Env: Type: String Description: input Env Name. AllowedValues: - dev - stage - prod SlackWebhookUrl: Type: String Description: input Slack Incoming Webhook URL #-----------------------------------------------------------------------------------# Conditions: #-----------------------------------------------------------------------------------# isProd: !Equals [ !Ref Env, "prod" ] #-----------------------------------------------------------------------------------# Resources: #-----------------------------------------------------------------------------------# #---------------------------------------------------------------------------------# # EventBridge Rule #---------------------------------------------------------------------------------# StackInstancesStatusChangeEventRule: Type: AWS::Events::Rule Properties: EventPattern: source: - aws.cloudformation detail-type: - CloudFormation StackSet StackInstance Status Change detail: status-details: detailed-status: - SUCCEEDED - FAILED - CANCELLED Targets: - Id: !Ref NotifyFunction Arn: !GetAtt NotifyFunction.Arn #---------------------------------------------------------------------------------# # Notify Function #---------------------------------------------------------------------------------# NotifyFunction: Type: AWS::Serverless::Function Properties: Description: !Sub - Stack ${AWS::StackName} Function ${ResourceName} - ResourceName: NotifyFunction FunctionName: !Sub ${SystemName}-${Env}-NotifyFunc CodeUri: notify_function Handler: app.lambda_handler Runtime: python3.9 MemorySize: 128 Timeout: 30 Role: !GetAtt NotifyFunctionExecRole.Arn Environment: Variables: SLACK_WEBHOOK_URL: !Ref SlackWebhookUrl IS_PROD: !If [isProd, true, false] NotifyFunctionExecRole: Type: AWS::IAM::Role Properties: RoleName: !Sub ${SystemName}-${Env}-NotifyFunc-Role ManagedPolicyArns: - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole Policies: - PolicyName: NotifyFunctionExecRolePolicy PolicyDocument: Version: 2012-10-17 Statement: - Sid: AllowDescribeAccountName Action: - organizations:DescribeAccount Resource: '*' Effect: Allow AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Action: - sts:AssumeRole Effect: Allow Principal: Service: - lambda.amazonaws.com FunctionLogGroup: Type: AWS::Logs::LogGroup DeletionPolicy: Retain UpdateReplacePolicy: Retain Properties: LogGroupName: !Sub /aws/lambda/${NotifyFunction} RetentionInDays: 30 StackInstancesStatusChangeEventRuleToNotifyFunctionPermission: Type: AWS::Lambda::Permission Properties: Action: lambda:InvokeFunction FunctionName: !GetAtt NotifyFunction.Arn Principal: !Sub events.${AWS::URLSuffix} SourceArn: !GetAtt StackInstancesStatusChangeEventRule.Arn 䜙談ですが、今回のtemplate.yaml䜜成にあたっおは先日プレビュヌ版が出た Application Composer を䜿っおみたした。 ただ、 うっかり䜙蚈なLambda関数䜜っちゃっおから消しおもフォルダは消えおない デフォルトのNode.jsからPythonに切り替えおもindex.jsずpackage.jsonが消えおない handler.handlerをapp.handlerに曞き換えおもディレクトリ名は倉わらない ポリシヌが盎曞きのみで、IAMのマネヌゞドポリシヌを圓おる手段が無い そもそもParameter぀けられない 、、、ず、ただ色々ず粗く、結局倧半はyamlを盎接線集したした。 Windowsじゃなかったらたた違うのかもしれたせんが  今埌に期埅したいです。 Lambda むベントを受け取っお、OrganizationsのAPIで察象アカりント名取埗しお、敎圢しおSlackに投げおるだけです。 â–Œnotify_function/app.p import json import os import re from datetime import datetime # noqa: F401 from logging import getLogger, basicConfig, INFO, DEBUG import boto3 import requests # Logger Settings logger = getLogger(__name__) log_level = INFO if is_prod else DEBUG basicConfig(level=log_level) logger.setLevel(log_level) def get_account_name(account_id): """! Get Account Name AWSアカりントIDからアカりント名を取埗する @param account_id(str) @return AWS Account Name.(str) """ logger.debug('start func: get_account_name') logger.debug('input: {}'.format(account_id)) if not account_id: return '' client = boto3.client('organizations') res = client.describe_account(AccountId=account_id) account_name = res['Account']['Name'] logger.debug('return {}'.format(account_name)) return account_name def generate_slack_data(data): """! Generate Slack Post Data SlackのWebhookに投げるPOSTデヌタを生成する。 @param data input event data. @return Slack Post Data.(dict) """ logger.debug('start func: generate_slack_data') logger.debug(data['detail']) stacksets_url = 'https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacksets?permissions=service' # noqa: E501 # Stack Instance account, region stack_instance_stack_arn = data['detail'].get('stack-id', '') arn_pattern = r'^arn:aws:.*?:(.+?):(.+?):(stackset|stack)/?(.*)$' stack_instance_region = re.sub( arn_pattern, '\\1', stack_instance_stack_arn ) stack_instance_account_id = re.sub( arn_pattern, '\\2', stack_instance_stack_arn ) stack_instance_account_name = get_account_name( stack_instance_account_id ) # Stack Instance status stack_instance_status = data['detail']['status-details']['detailed-status'] # StackSet stack_set_name = re.sub( arn_pattern, '\\4', data['detail']['stack-set-arn'] ).split(':')[0] # emoji if stack_instance_status == 'SUCCEEDED': color = '#2EB886' emoji = ':white_check_mark:' else: color = '#A30100' emoji = ':rotating_light:' slack_data = { 'attachments': [ { 'color': color, 'blocks': [ { 'type': 'section', 'text': { 'type': 'mrkdwn', 'text': '{} *<{}|StackSets StackInstance Status>*'.format( # noqa:E501 emoji, stacksets_url ) } }, { 'type': 'section', 'fields': [ { 'type': 'mrkdwn', 'text': '*Account*\n{}\n`{}`'.format( stack_instance_account_id, stack_instance_account_name ) }, { 'type': 'mrkdwn', 'text': '*Region*\n{}'.format( stack_instance_region ) }, { 'type': 'mrkdwn', 'text': '*StackSet*\n{}'.format( stack_set_name ) }, { 'type': 'mrkdwn', 'text': '*Status*\n{}'.format( stack_instance_status ) }, ] } ] } ] } logger.debug('return {}'.format(slack_data)) return slack_data def post_to_slack(slack_webhook_url, slack_data): """! exec HTTP POST request to Slack Incoming Webhook. Slack Incoming WebhookぞデヌタをPOSTする。 @param slack_webhook_url @param slack_data @return Slack Post Result.(bool) """ logger.debug('start func: post_to_slack') headers = { 'Content-Type': 'application/json' } try: res = requests.post( slack_webhook_url, headers=headers, data=json.dumps(slack_data) ) except requests.exceptions.RequestException as e: err_str = str(e).replace(slack_webhook_url, '****') logger.error('[Error posting to slack] {0}'.format(err_str), stack_info=True) # noqa:E501 return False else: logger.info('Slack Post OK.') return True def lambda_handler(event, context): """! lambda handler Lambdaむベントハンドラ。 @param event input Event by EventBridge. """ logger.info('input event: {}'.format(event)) slack_webhook_url = os.environ.get('SLACK_WEBHOOK_URL') if slack_webhook_url: slack_data = generate_slack_data(event) slack_result = post_to_slack(slack_webhook_url, slack_data) if slack_result: logger.info('Function Normal End') else: logger.warn('Slack Webhook URL is Null.') return ログずかdocstringのお䜜法はこの時点では割ず適圓です。ごめんなさい。 動かしおみる StackSetsを管理しおいるus-east-1リヌゞョンにおデプロむ埌、適圓なCFnテンプレヌトをSandbox甹OUに展開しお、テスト甚アカりントをOU間で動かしおみたずころ、以䞋のように無事リアルタむムでSlackに通知が来たした。 念のため、がかさなくお良いようなずころたでがかしおいたす 良い感じですね。 ap-northeast-1リヌゞョンのスタックむンスタンスの結果たでちゃんず拟えおいたす。 通知のフォヌマットは改良の䜙地がありそうですが、䞀先ず運甚䞊は充分です。 ポむント 先にも觊れたしたが、サヌビスマネヌゞド型StackSetsのむベントはOrganizationsの管理アカりントで発生したす。StackSets管理甚に委任したアカりントではありたせん。 Organizationsの管理アカりントで䜙蚈なリ゜ヌスを管理したくない堎合は、むベントバス転送で他のアカりントのEventBridgeに転送しおやれば良さそう。 「StackSetsを管理しおいるリヌゞョン」のEventBridgeであれば拟えたす。スタックむンスタンスがデプロむされるリヌゞョン毎にEventBridgeルヌルを仕蟌む必芁はありたせん。 あずがき 今回のAWSの察応で、StackSetsのデプロむ呚りが簡単にリアルタむムむベントずしお怜知できるようになりたした。 スタックむンスタンス単䜍で通知が来るので、党スタックむンスタンスのデプロむが終わるたで埅぀必芁もありたせん。 グリヌンカレヌを䜜る時間もなくなりたした。  昚幎蚘事曞いおた時は「仮にAWSが察応しおこの蚘事が甚枈みになっおも、レシピずしお残そう」ずか適圓こいおたんですが、本圓に察応しおいただけるずはAWSさん神察応ありがずうございたした 投皿 AWS CloudFormation StackSetsの自動デプロむ結果通知を簡単に受け取れるようになったのでやっおみた は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ
はじめに こんにちは、N.Tず申したす。 今回は スマホで始めるRPA ず銘打っおRPAを孊んで3ヶ月目の新米゚ンゞニアが蚘事を曞かせおいただきたす。 ・RPAっおそもそも䜕よ ・RPA聞いたこずあるけど、どんなこずできるのよ ・RPA觊っおみたいけど始め方わかんなヌい ずいう方にお勧めの蚘事ずなっおいたす。 そもそもRPAずは RPAずは"Robotic Process Automation"の略ずなりたす。 盎蚳するず "ロボットによる自動凊理"で、 意蚳するず "人間の行動をロボットに芚えおもらい、人間の代わりにロボットにその行動をしおもらうこず"、ずなりたす。 ぀たるずころ、 "業務自動化" の意味合いで良く䜿われおいたす。 本蚘事ではその䞀端ずなるものをおひず぀玹介しようず思いたす。 たずは準備をアプリのむンストヌル 今回扱うのはMicrosoft瀟提䟛の「PowerAutomate」です。 䞖界的に䜿甚されおいるRPA゜フトは有名なもので、「 UiPath 」「 WinActor 」「 BizRobo! 」等がありたす。 そんな䞭、比范的最近に無料公開されたPowerAutomate君はモバむルアプリver.もリリヌスされおいたす よっお RPAをスマホでも始めるこず ができるわけです たた、PowerAutomate君はシステムに詳しくない人でも扱えるように、 倚くのテンプレヌトが暙準搭茉されおいる のも魅力の䞀぀なのかなず思いたす 本蚘事ではそんなテンプレヌトを甚いおいきたす。 毎朝お倩気の通知をする 私はテレビ離れをしおしたったZ䞖代なのです。 それゆえに毎朝テレビを぀けお倩気を確認するずいった習慣はずうに消え去っおしたったのです 。 たた、朝はできるだけぎりぎりたで寝おいたいタむプです。 コヌヒヌずトヌスト片手にベランダで優雅なモヌニングに憧れおいたすが、憧れおいるだけでい぀も寝おいたす。 出来るだけ、手間は排陀したいですね... ぀いでに毎朝欠かさずにモヌニングメッセヌゞくれる友人がいたらその日は元気に過ごせるでしょう ずいうわけで、゚ンゞニアっぜくこれらの芁求をたずめるず、 朝起きたタむミングでその日の倩気や気枩が目に入るようにメッセヌゞをくれる友人が欲しい ずなりたす そんな友人はどこにいるのだろう  答えはスマホの䞭にありたす。 このあずの3ステップでその友人を芋぀けに行きたしょう 1st.テンプレヌトを開こう 最初にアプリを開いおテンプレヌト怜玢窓に「倩気」ず打ちたす 出おきた怜玢結果から䞊蚘のテンプレヌトを遞択、 開いたペヌゞから「このテンプレヌトを䜿甚」を抌䞋し、 以䞋のような画面が開かれるのを埅ちたしょう 2nd.テンプレヌトをいじろう時間ず堎所の蚭定 続いお、本栌的にテンプレヌトを觊っおいきたす 画像の赀ラむンのように「Recurrence(再垰、呚期的な起こり)」の䞭身の 「フロヌ名」を「毎朝お倩気通知をする」 「タむムゟヌン」を「UTC;09:00倧阪、札幌、東京」 「蚭定時刻時間」を「7」 にそれぞれ倉曎したす これで日本時刻の毎朝7時にこのロボット君は動いおくれるようになりたした それから、 「Get forecast for today(今日の倩気予報を取埗)」の 「堎所」を「東京」に、 「単䜍」を「Metric」に倉曎したす これでロボット君は東京の倩気予報をメヌトル法で取埗しおくれるようになりたした 3rd.テンプレヌトをいじろう通知方法ず内容の蚭定 テンプレヌトいじりも最終フェヌズです もずもずあった「Send me an email notification(メヌル送信による通知)」を削陀し、 別の通知方法を蚭定しようず思いたす 䞋画像の「新しいステップ」を抌した埌、「アクションの远加」を遞択したす 衚瀺されたアクションの䞭から、 画像の通り、 「Notifications (モバむル通知を受け取る)」 を遞択したす 無事遞択ができたら䞋のような画面に切り替わるず思いたす。 テキストの欄を自由に蚘述したす 今回は画像のように 「おはよう今日の○○は、日䞭は○○で、倜は○○だよ」 ずテキストを甚意し、 䞀芧衚瀺される倩気情報から「堎所」、「日 条件」、「倜 条件」を埋め蟌んでいたす。 これでロボット君がスマホの画面に蚭定したテキスト内容で通知が届けおくれるようになりたした いざ実行 さお、ここたでの流れでロボット君は 朝起きたタむミングでその日の倩気や気枩が目に入るようにメッセヌゞをくれる友人 に本圓になれたのかをチェックしたす 画像の通り、 䞋郚メニュヌの「フロヌ」を遞択埌、 「今すぐ実行」を抌䞋したす。 するずすぐにバナヌ通知が飛んでくるず思いたす 成功ですね たた、指定した時刻にもロック画面に通知を届けおくれたした 少々ネむティブですが... 終わりに 改めお、今回は スマホで始めるRPA ずいった内容の蚘事を曞かせおいただきたした 通知を飛ばしおくれるアプリを䜿えばもっず楜に倩気を知るこずができるかもしれないですし、デスクトップ版のRPAツヌルを甚いれば人によっおはもっず簡単に぀くっおしたうかもしれたせん  それでも、 RPAっおスマホでも簡単に䜜れるんだ っお思うきっかけになればいいなず思っお今回の蚘事を曞いおみたした 少しでも倚くの人に興味を持っおいただければ幞いです。 今回は、私自身が初心者なこずもあり簡単な内容にさせおいただきたしたが、 もっずいろんな䜿い方ができるのでぜひ調べおいただければず思いたす たた別の䜿い方を玹介できるように粟進しお参りたす  投皿 スマホで始めるRPAチュヌトリアル線 は マむナビ゚ンゞニアブログ に最初に衚瀺されたした。
アバタヌ