ゆとりSEは副業がしたい

【拡張機能】すべてを黒くする?Chrome拡張機能「Dark Reader」が強い

f:id:oichiki:20210217222116p:plain

ダークテーマ

最近は様々なサイトやアプリで「ダークテーマ」といったような、暗い配色にすることができることが多くなってきました。

しかし、ブラウザを使用して様々なサイトを利用する場合は、そのすべてがダークテーマ化されているわけではなく、対応している部分は結構限られていますよね。

ここ最近は常にリモートワークになり、PC前から全くといっていい程動かなくなった私としては、近距離でひたすらブルーライトを浴び続けている状態です。

そのせいなのか目の疲れが溜まり、瞼がピクピクと痙攣することが多くなりました。

そこで、ブラウザすべてを一括して暗くできれば幾分かましになるのでは?と考えたわけです。そしてタイトルにある「Dark Reader」にたどり着きました。

今回はこのChrome拡張機能の利用方法についてまとめていきます。

Dark Readerの追加

Dark Readerはchromeウェブストアから追加することができ、すぐに利用が可能です。ページは以下になります。
chrome.google.com
追加が完了したら、Dark Readerを有効化します。有効かは拡張機能の管理画面から行います。chrome右上のパズルのピースのようなアイコンから有効にするか、設定の拡張機能から有効にしてください。


Dark Readerの設定

Dark Readerの設定画面は以下のようになっています。

f:id:oichiki:20210217220740p:plain
Dark Reader


ブラウザ上のほぼすべてを暗くできるだけでなく、輝度・コントラスト・セピア・グレースケールをカスタマイズして使用することができます。

暗くしてしまうとかえって表示が見づらいサイトもあります。その場合は、サイトリストタブにあるブラックリストに、適用させたくないサイトを登録します。

ホワイトリストを利用すると逆に登録したサイトのみに適用されます。 この辺は各々の用途に合わせてご利用ください。

まとめ

Chrome拡張機能は他にも様々なものがあり、想像よりも数倍便利なものがゴロゴロ あります。しかも無料のものばかりです。

定期的にチェックしてよさそうなものがあれば、また取り上げたいと思います。

【UiPath】データスクレイピングで簡単に情報収集

f:id:oichiki:20210213191709p:plain

スクレイピングを簡単に

スクレイピングといえばPythonのイメージがありますが、UiPathでおこなった方がとても簡単です。

基本的にスクレイピングは情報を得るための手段なので、簡単であればあるほどいいと思っています。そこで今回は私が良く利用しているUiPathのスクレイピングについてまとめたいと思います。

データスクレイピング

今回はデータスクレイピングを利用してUiPathのコーポレートブログページの情報を取得していきます。そして、データスクレイピングで得た情報をもとに各記事の本文を取得します。 www.uipath.com

データスクレイピングは以下から設定します。

f:id:oichiki:20210213192751p:plain
データスクレイピング

データスクレイピングの設定

データスクレイピングをするには、実際に取得する対象の要素を選択していきます。また、選択する要素は一定のパターンで並んでいる必要があります。

今回はコーポレートブログページの1記事を要素選択します。選択は要素の1番目と最後の2つを設定します。今回でいうと1番左上の記事と右下の記事になります。

パターンが認識でき、選択が完了すると以下の画面が出ます。ここでURLを取得をクリックしてください。

f:id:oichiki:20210213194516p:plain
URLを取得

URLではなく取得できたテキストをベースにクリックしてもいいのですが、動作の安定性を考えてURLに移動をすることで、各記事の本文に移動する方法をとっています。

次へを押すと実際に取得できる情報の一覧が表示され、ウインドウ下部では最大取得数が表示されます。今回は10記事分しか取得しないので、あまり関係ありません。ちなみに情報が存在するだけ取得したい場合は0を入力します。

これで最後に完了を押したら設定完了です。あとは出力されるDataTable型(ExtractDataTable)の変数をCSVにして出力したり、データベースに入力したりなど、必要な処理を行えばOKです。今回はCSVに出力させます。


記事本文の取得

次に取得した情報から、各記事を開き本文を取得します。取得した情報をきれいにしておきたいので、新しく情報格納用のデータテーブルを"データテーブルを構築"アクティビティで作成します。(BlogDataTable)

f:id:oichiki:20210213200600p:plain
データテーブルを構築

記事本文の取得は先ほど取得したExtractDataTableの各行に対して繰り返しで行います。本文を表示するために繰り返し毎に二列目のURLを利用して”URLに移動”アクティビティを使用します。

本文は"テキストを取得"アクティビティを使用して取得し、要素の選択ではボディの記事本文を丸ごと囲める範囲の要素を選択します。

取得した本文文字列は変数に格納しておき、記事タイトル・URLと合わせて先ほど新しく作成したBlogDataTableに追加します。アクティビティは"データ行を追加"を使用し、プロパティは以下のようにしています。
f:id:oichiki:20210213201955p:plain
データ行を追加

データが追加できたらあとは繰り返しですべての記事に同様の処理を実行します。 これで、すべての情報を格納したデータテーブルが作成できました。あとはこれをCSVに出力するだけです。

以下がここまでの繰り返し部分のフローです。
f:id:oichiki:20210213202320p:plain
記事本文の取得

CSVへ出力

最後にデータテーブルをCSVとして出力します。使用するのは"CSVに書きこみ"アクティビティです。書き込み先と変数を指定するのみで実行できます。今回は以下のようにしています。

f:id:oichiki:20210213202739p:plain
CSVに書きこみ

フローの全体

作成したフローの全体はこのようになっています。

f:id:oichiki:20210213204704p:plain
フローの全体

このような情報を収集して資料に残すような定型業務は自動化しやすいので、ブログ記事でなくても様々なものに対して利用することができます。

是非皆さんも身近な業務を自動化させてみてください。

【API Gateway】AWS初心者がPythonのrequestsでAPI GatewayとLambdaを使ったら便利すぎた件

f:id:oichiki:20210208202014p:plain

APIを使いたい

最近Webアプリを作る学習?をしてることもあり、Python上で外部のAPIを利用することが多くなりました。

今回は、AWSAPI Gateway宛にリクエストを飛ばして、Lambdaでなんらかの処理を行い、結果を受け取るまでの流れを書き残しておきます。

px.a8.net

Lambda関数の作成

今回はAWSのユーザ設定等が完了しており、すぐに開発に取り掛かれる状態を前提として記載していきます。

マネジメントコンソールからLambdaを選択し、関数を作成します。

f:id:oichiki:20210208190754p:plain
Lambda関数を作成


f:id:oichiki:20210208190905p:plain
Lambda関数の作成


作成が完了すると、このような画面が出てきます。ここからすでにあるAPI Gatewayをトリガーに設定してもいいのですがまだ作成していないので、今回はAPI Gatewayを作成するときにLambda関数を指定してあげることで連結を行います。またLamdaの関数上でAPI Gatewayにreturnするため、送信先は特に設定しません。

f:id:oichiki:20210208191129p:plain
Lambda関数の編集画面

今回は動作確認だけなので、とくに処理は記載しません。本来は、リクエストをlambda_function.pyで受け何らかの処理を施し、API Gatewayの渡していく流れになると思います。

APIの作成

次に実際にPythonのプログラムから利用するAPIを作成します。AWSのサービスからAPI Gatewayを選択しAPIを作成をクリックします。今回はREST APIを選択します。

f:id:oichiki:20210208195422p:plain
APIの作成

次にアクションからメソッドを追加します。リソースを作成してその中にメソッドを作成するのが良いですが、今回は特に作りこむ予定はないので、直下に作成してしまいます。今回はGETで作成します。
f:id:oichiki:20210208195643p:plain
リソースの作成

セットアップは以下のようにしています。マッピング等は設定方法がイマイチわかっていないので、プロキシ統合にチェックを入れておきました。(チェックすると勝手にしてくれる?)Lambda関数は先ほど作成した、hatena_testを選択しています。
テストをして問題なくレスポンスが帰ってくることを確認したら、アクションからAPIをデプロイしておきます。
f:id:oichiki:20210208201830p:plain
APIのテスト

PythonAPIを利用する

最後にPythonから実際にAPIを利用できるかどうかを確認します。APIのエンドポイントはステージから確認できました。

f:id:oichiki:20210208200722p:plain
エンドポイント
このエンドポイントに対しrequestsのGETで呼び出しを行います。実際に利用したコードは以下になります。

import requests
res = requests.get("エンドポイントのURL")
print(res.text)


これでレスポンスのボディにある「Hello from Lambda!」が表示されます。

今回は検証のためメッセージの確認まででしたが、API GatewayとLambdaを使用すれば、様々な機能を作れるということが分かりとても勉強になりました。

おそらくこれからどんどんAWSを利用する機会は増えて来ると思いますので、積極的に利用していけるようにしたいと思います。

【情報処理安全確保支援士】新卒1年目のSEが情報処理安全確保支援士試験に合格するためにした事

f:id:oichiki:20210120204526p:plain

令和2年度 情報処理安全確保支援士試験に合格しました

春期の試験は、新型コロナウイルスの影響でなくなり時間が空いてしまいましたが、無事合格することができました。

ちなみに現段階で登録する予定はありません。

今回は合格するまでにした事をまとめたいと思います。

スペック

学習開始前(2020/2月)における私のスペックは以下になります。

学歴

・理系 情報系専攻卒(研究室の関係でプログラミングは9割独学)
学歴は情報系ですが、研究室がバリバリ非情報系だったので、開発とかやったことなかったです。

以下にもう少し詳しく記載します。

すでに取得していたIT関連の資格

・基本情報(FE)
・応用情報(AP)

プログラミング関連スキル

Python(paizaのAランクくらい)
Java(基本的なのは書ける)
・C(基本的なのは書ける)
・HTML/CSS(基本的なのは書ける)

その他IT・PC関連の知識

機械学習・AI(Kerasとかでモデル作成までできる程度※コピペが主)
・PCは組める(電子工作は無理)

試験に関連しそうな部分はこのくらいです。 また途中、これに加えて研修の一環としてORACLE MASTER Silver SQL 2019を取得しています。

勉強した期間・時間

実際に試験勉強に取り組んでいたのは以下になります。

・春季:2020/02~2020/04
・秋期:2020/09〜2020/10

ちなみに春季の時点では過去問に対して、平均7割以上の得点がとれるようになっていましたが、秋期の学習を始める際には5割いかないくらいまで落ちていたので、ほとんど忘れてしまっていました。

春期と秋期のおよその勉強時間は以下になります。

平日:2時間
休日:4時間

使用した参考書

使用した参考書は以下になります。

情報処理安全確保支援士合格教本


こちらは参考書の内容に加えて過去問とその解説も収録されているので、やりこめばこれ一つでも合格できる可能性は高いです。実際に私の秋期の学習時間の6割はこの書籍に費やしました。

情報処理安全確保支援士「専門知識+午後問題」の重点対策


ITECの定番書籍は、重点対策と本試験問題の2種類の書籍がありますが、私個人としては午後を中心的に鍛えられる重点対策の方が好きです。

正直この書籍で数問解くだけでも勘所が分かれば全然合格できると思います。実際私も全部を説いたわけではなく、「このテーマは出たら何書いて良いかわからないな」という問題を中心的に学習しました。

インシデントが起きてからの対応フローや発生原因は考え方が共通していることが多い印象をうけたので、とりあえず一周するよりも、少なくてもいいので深い理解に努めることが重要だと感じています。

ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習

これはタイトルにひかれて買ってみた書籍になります。試験対策に必須ではないのですが、実際に仮想環境内で攻撃を行う体験ができるので、通信の流れや対策の取り方がイメージしやすくなります。

攻撃者側の視点を理解するということは極めて効果的とも考えられるので、時間のある方はぜひ取り組んでみてください。

勉強の内容

勉強の内容としては書籍と過去問道場になります。費やした時間の割合は以下です。(春季と秋期合わせて)

過去問道場:5%
ハッキングラボ:10%
重点対策:25%
合格教本:60%

試験の結果

以上の勉強の結果獲得できた点数が以下になります。

f:id:oichiki:20210120203235p:plain
試験結果

午後2が少し低いですが、特に危ない感じもなくパスできたと思っています。

試験を終えて

参考書で知識を詰め込むことも重要ですがあくまで試験ですので、どのような問題が出て、どのように解答するのかという部分を把握することが重要になると思っています。(もちろんすべての知識をインプットした方がいいです)

特に難関である午後はストーリー性のある問題になっているので、自分の中でインシデント対応のフローが分かっていないと、全問的外れな記述をしてしまう可能性があります。

これから学習する皆さんは知識詰め込みと暗記から回答を導き出すのではなく、

自分の中に作った情報セキュリティ知識のフレームワークから自分で解答を作成する


ということに重点を置くことをおすすめします。

【リモートワーク】新卒1年目SEのテレワーク・在宅勤務のおすすめアイテム #2

f:id:oichiki:20210119122549p:plain

リモートワークで座ってばかり

リモートワークはどうしても座ってばかりになってしまい、体重が増えたり集中力が下がったりと、不向きな方も多いかと思います。

私は昇降デスクを導入することで立ちながらの作業も可能となり、大きく作業効率が改善したので、今回はこれを中心に紹介したいと思います。

Viozon昇降デスク

私が購入したのは以下のデスクになります。



こちらはすでにあるデスクの上において使用するものです。おそらくすでに昇降式のデスクを使用されている方は少なく、ほとんどの方が普通のデスクを利用されていると思います。そのような状況で、新しく昇降デスクを購入して既存のデスクと入れ替えるというのはなかなかハードルが高いですよね。

そこで重要おすすめしたいのが卓上に設置する昇降デスクです。卓上式であれば以下のメリットがあります。

・デスク買い替えの必要がなく低価格
・組み立て不要
・置くだけなので設置が簡単



誰でもすぐに使い始めることができ、昇降もレバー1つでできるので、気分によって座りながら・立ちながらの切り替えができます。

注意点として、ノートPCでなくデスクトップPCを使っている方は、昇降デスク上に置くのではなく、元のデスク上にモニタを置く形になります(小さければ昇降デスクでも大丈夫そう?)。

そのため、座位・立位でモニタの高さを調節するためにモニタアームも同時に購入されることをお勧めします。

モニタアームは先日の記事で紹介したこちらをお勧めしています。


これらを合わせても2万円程度になると思うので、ぜひ購入をご検討ください!

まとめ

今回は昇降デスクについて紹介しました。他にもおすすめのアイテムがあるので、随時紹介していきたいと思います。

【UiPath】モダンフォルダとマシンテンプレート ロボット登録までの手順

f:id:oichiki:20210115015221p:plain

参考サイト

UiPathの公式に上がっているスライドが一番わかりやすくイメージ掴みやすいので、まずはこちらを参照してください。 初心者の方はUdemyの講座を受講することをお勧めします。 www.uipath.com

モダンフォルダ

昨年に9月にUiPathを使い始めた私は、クラシックフォルダの使い方を学び始めてすぐにモダンフォルダが出てきた?ので、とても混乱していました。


最近になってやっと人に説明できるくらいになったので、記事にまとめておきたいと思います。ただ、今回はモダンフォルダについて詳しく書くわけではなく、ロボットの登録を行うところまでを行いたいと思います。


また、過去に書いた記事はクラシックフォルダの場合の手順なので、クラシックフォルダを利用する場合はそちらを参考にしてください。
autolazy.hatenablog.jp


クラシックフォルダとモダンフォルダの違い(ロボットの登録)

クラシックフォルダのロボット登録手順

クラシックフォルダでロボットを登録する場合は、

1. 標準マシンを登録する
2. ロボットを登録
3. ロボットをマシンと関連付ける

といった流れを取っていたとおもいます。

モダンフォルダのロボット登録手順

モダンフォルダでは以下のような手順でロボットを登録することになるようです。

1. ユーザ登録
2. マシンテンプレート登録
3. ロボットは自動で登録される(ユーザ設定から選択する)

モダンフォルダではロボットグループは無く、マシンテンプレートに接続されているマシンからプロセスが実行されます。ロボットはユーザに紐づいているので、ユーザ編集からロボットが自動的に作成されるように設定します。
以下がそれぞれの手順の画面になります。

ロボットの登録手順

ユーザ登録

f:id:oichiki:20210115012103p:plain
ユーザ登録
おそらくこの記事をご覧いただいている方は、すでにユーザを登録されていると思うので、新しく登録する必要はありません。会社でOC運用等を担当されている方は、メンバーに合わせて適宜ユーザを登録してあげてください。

マシンテンプレート登録

f:id:oichiki:20210115012210p:plain
マシンテンプレート追加
画面右のマシンテンプレートを追加ボタン(青いボタン)から作成します。 テンプレート名は任意の名前を入力します。


OCからスケジュール実行等もすることを想定して、Unattendランタイムも1つ振っておきます。(任意)
作成できたらマシンキーを標準マシンの時のように設定します。 手順は過去記事を参照してください。 autolazy.hatenablog.jp

Attended ロボット

f:id:oichiki:20210115011449p:plain
Attendedロボットの自動作成をONにする
ここはおそらくデフォルトはOFFになっていると思うので、確実にONにしてください。ライセンスの種類が「ユーザーグループからの継承ライセンス」で正常に動かない場合は、ほかのものに変更してみてください、Community Editionを利用している場合はAttendedで問題ないと思います。


変更した場合はドメイン名\ユーザ名を設定する必要があります。自身が現在使用しているPCとユーザ(PCの)を使用する場合は、コマンドプロンプトで「whoami」と入力し返ってきた値を入力してください。

Unattended ロボット

f:id:oichiki:20210115011629p:plain
Unattendedロボットの自動作成をONにする
ここにも基本的には「whoami」の結果を入力するといいと思います。パスワードはPCのパスワード(Windowsにログインする際の)になります。

プロセスの実行まで

あとはプロセスを実行する際にマシンテンプレートを設定するだけです。 まだモダンフォルダが作成されていない場合は、テナントのフォルダタブからモダンフォルダを選択して作成します。 作成する際に実際に使用するユーザとマシンテンプレートを割り当ててください


あとはジョブを実行する際にユーザと実行したいマシンを設定します。

f:id:oichiki:20210115013258p:plain
ジョブを開始

まとめ

他にもいろいろ変わった点はあるのですが、とりあえず実行するところまでざっくり書いてみました。もし同じようなところで詰まっている人がいましたら、ぜひ参考にしてください。

【リモートワーク】新卒1年目SEのテレワーク・在宅勤務のおすすめアイテム #1

f:id:oichiki:20210114014545p:plain

リモートワークのためにデスク周りを整える

昨今はコロナウイルスの感染拡大もあり、リモーワーク テレワーク 在宅勤務が一般的になっていますね。 私は2020年度入社の新人なのですが、入社日から研修、配属後もずっとリモートで勤務しており、作業効率を上げるべく様々なものを購入してきました。今回は中でも買ってよかったと思っているものを列挙し、いくら投資したのかとその効果を確認してみようと思います。

ウルトラワイドモニタ

やはりモニタは解像度が高くて大きいものがいいです。解像度の高いウルトラワイドモニタは、ウインドウをたくさん開いても広く使えるため、会社端末操作用のリモートデスクトップウインドウ、ウェブ会議アプリ、ブラウザの3つを同時に開きながら快適に作業ができます。

ただ一点注意なのが画面共有の時です。画面共有をするとき、基本的に相手の画面はこちらより解像度が低いことが多いので、小さくて見づらいといわれることが多かったです。そのため共有する際は適宜拡大等をして対応しています。

モニタアーム

ちなみにモニターはスタンドで設置するとデスクのスペースを占領するのであまりお勧めしません。金銭的に迷ってもぜひモニタアームの購入を検討してみてください。私が使用しているのは高いものではないですが、それでも十分快適に作業できています。

Huawei Freebuds3

ワイヤレスイヤホンはすでに多くの方が利用されていると思いますが、カナル型でないアクティブノイズキャンセリング搭載のイヤホンを利用されている方は少ないと思います。

リモートワークをしている際は長時間つけていることが多いので、耳に圧のかかりにくいオープン型の方が楽ですし、ノイズキャンセリング付きでこの価格は破格だと感じています。個人的にはなぜAirPodsばかり売れて、FreeBudsが売れないのか不思議に思っています。

またマルチペアリングにも対応しているので、PC・スマホタブレットなど様々な端末とペアリングしておいて、接続を切り替えるだけで使用することができます。安い中華性のものだと都度ペアリングする必要があったりすので購入の際は気を付けてください。もちろんマイクもついているので、web会議にも利用可能です。

ウォールステッカー ボードシート

こちらは壁に貼り付けるだけでホワイトボードとして使えるアイテムです。ホワイトボードを買うとスペース的に余裕がないので、壁に貼ることで全くスペースを取らずに使えます。

在宅だと人目を気にせずに資料のイメージだったり、コードの設計イメージを書きなぐることができるので、頭の中を整理するために日々活用しています。価格も手ごろなのでぜひ利用してみてください。

ゲーミングチェア


【お買い物マラソンP10倍】 ファブリック オフィスチェア ゲーミングチェア ハイバックチェア 3Dアームレスト オットマン RACING ゲーム オフィス パソコン 椅子 チェア おしゃれ リクライニング フルフラット ヘッドレスト ランバーサポート

椅子に気を使われている方はとても多いと思いますが、エルゴヒューマンのような高級品には手が出せず、ゲーミングチェアはデザイン的に使いづらいという方は、少なくないと考えています。

私はインテリアに溶け込みつつ、疲れない椅子を探していてこのゲーミングチェアにたどり着きました。私はグレーを使っているのですが、ゲーミングチェアによくある、いかついロゴなどはなく優しい色のグレーなのでインテリアに馴染み、web会議でヘッドレストが映っても気にせず会議ができます。

座り後ごちもよく半年使って不具合も特になかったので、椅子の購入を検討されている方にはぜひおすすめしたいです。

合計金額

私が購入した際の金額でざっくり計算すると、

60000 + 4500 + 15000 + 1500 + 17000 = 98000円

となりました。合計10万円使用していますが、この半年間で業務も滞りなくこなせており、ベンダー資格1つ・高度情報1つを取得できたので、快適に過ごせて資格取得できて報奨金でむしろ大きくプラス収支と考えると、良い買い物だったと思います。

まとめ

まだ他にも細かいものがあるのですが、今回は以上の代表的な5つまでの紹介としたいと思います。御覧いただいた皆さんも、もう少し快適なリモートワークライフのためにご購入を検討してみてください。