chevron_left

メインカテゴリーを選択しなおす

cancel
ツボック★ラボ https://www.tsubock-lab.xyz

仕事で調べたこと・興味のあることなどを備忘録的に残しているブログです。 Keyword:Python・Ansible・Vagrant・Docker・・・

つぼっく
フォロー
住所
未設定
出身
未設定
ブログ村参加

2020/03/17

arrow_drop_down
  • 2024年の目標設定

    昨年の目標設定はこちら www.tsubock-lab.xyz もう2024年も2ヶ月が過ぎようとしておりますが、 今年の目標設定記事を書いていなかったので目標設定をしておきたいと思います。 今年の大項目は セキュリティのスキルアップ クラウド/コンテナ周りのスキルアップ 語学スキルアップ 発信/コミュニティ活動活動 についてです。それぞれ目標設定していきます。 セキュリティのスキルアップ・証明 CISSP RISS(情報処理安全確保支援士) SANS取得(GCIH or GOSI or GCTI) CCSP CISSPは今まさに挑戦してて2/27に受けて落ちちゃいました。。。 リテイクキャン…

  • 2023年の振り返り

    年末の恒例、振り返り記事でございます。 直近の目標設定は下記。 www.tsubock-lab.xyz 今年は環境が変わったことで中間期で一回見直ししたんだけど、全然目標通りに行かなくて振り返りしたくない・・・ 下期の振り返り ①セキュリティ知識向上 下期のセキュリティ資格は以下の順の優先度で。 CISSP RISS(情報処理安全確保支援士) CISSPもRISSもいい加減取りたいよね。。。 RISSは全然午前対策してなくて午前1問足りずに撃沈。。。CISSPは予算の関係のアレ。 自腹で出すには余裕がなくて一生CISSP受けれなそうな予感もしている。円安つらすぎ。 ②クラウド/コンテナ周りの知…

  • vimbootstrapを導入したら「Sorry, the command is not available in this version: py3 UltiSnips_Manager._track_change()」エラーが出たので対処した件

    日本語で参考にできるものが見つからなかったのでメモを残そうと思う。 事件は起こった。 新しいMacBookAirが支給されたので、環境を整えている中で何も考えないで下記の記事のVimbootstrapを導入した。 www.tsubock-lab.xyz インストールを終えて、テキストファイルを触ろうとvimでファイルを開き、編集モードにして文字入力したところ「Sorry, the command is not available in this version: py3 UltiSnips_Manager._track_change()」の文字が。 エラーで入力ができない。文字入力をしようとす…

  • 「タイポスクワッティング」と「ドッペルゲンガードメイン」と「ホモグラフ攻撃」について調べてみた

    首題の通りですが、「タイポスクワッティング」「ドッペルゲンガードメイン」「ホモグラフ攻撃」なんか似たようなフィッシング攻撃だなと思ったので、それぞれの違いについて調べてまとめてみました。 TL; DR タイポスクワッティングは、ドメイン名の入力ミスを利用し、ドメイン名そのものを誤って入力することによる攻撃。(キーの打ち間違いを狙う。) ドッペルゲンガードメインは、正規のドメイン名に似せたドメイン名を作成し、ユーザーを誤認させる攻撃。(見た目が似ているが違う英数字を入れる。) ホモグラフ攻撃は、異なる文字の組み合わせを使用して、正規のドメイン名と似た見た目のドメイン名を作成し、ユーザーを誤認させ…

  • MacBook 2022 (M2)が来たので自分用開発環境のセットアップをした。(Homebrew + anyenv + pyenv + poetry + Vim-bootstrap)

    セットアップのたびに調べてるのが勿体無いので、MacBook 2022(M2)に自分用開発環境をセットアップした時の記録をしておきます。 Homebrew をインストール 公式HP(Homebrew — The Missing Package Manager for macOS (or Linux))に記載の通りにコマンド実行を行う $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Pathを通す $ eval "$(/opt/homebrew/bi…

  • 2023年上期の振り返りと下期の目標再設定

    上期の目標設定はこちら www.tsubock-lab.xyz 気づけばもう2023年の折り返し。 今年はばたばたしていてまともに勉強時間がとれていなくて成果が出てない。。。 ということで色々ありまして、環境を変えました! 下期も頑張るぞってことで、上期の振り返りと下期の目標設定。 2023年目標と振り返り ①セキュリティ知識向上 年始にはこんな目標を立てていました。 CASP+(CAS-004) CISSP RISS(情報処理安全確保支援士) GIAC(GCIH) 結果として、1と3は受けたけど、1は買ったリテイクバウチャでも落ちるという体たらく。 圧倒的に学習量が足らず。それに引っ張られて…

  • PlantUMLでJSONやYamlの構造を可視化する

    PlantUMLを使うとJSONやYamlを構造化して可視化できるという知見を得たので、試してみました。 事前準備 PlantUMLが使えること。VSCodeのPlantUML Extentionでもできます。私はJoplinで試してみました。 jsonを構造化してみる ということで適当なjsonを引っ張って構造化してみました。 @startjson { "year" : 2013, "title" : "Turn It Down, Or Else!", "info" : { "directors" : [ "Alice Smith", "Bob Jones" ], "release_date…

  • Pythonのrequestsモジュールを使ってリダイレクト先のURLだけ取得する

    実際にアクセスしてリダイレクト先までアクセスするのではなく、リダイレクト先にはアクセスしないけど、リダイレクト先URLだけ取得したいときに、Pythonで実現する方法を調べたので残しておきます。今回URLのアクセスにはrequestsモジュールを使用します。 事前準備 requestsモジュールのインストールはpipコマンドで実施できます。 $ pip install requests 下記コマンドでインストールされたrequestsのバージョンが確認できます。 $ pip list grep requests requests 2.28.1 筆者の環境にはバージョン2.28.1がインスト…

  • 2023年の目標設定

    昨年の目標設定はこちら www.tsubock-lab.xyz みなさま明けましておめでとうございます。本年もよろしくお願いいたします。 2023年も目標設定していきたいと思います。 2023年目標 ①セキュリティ知識向上 CASP+(CAS-004) CISSP RISS(情報処理安全確保支援士) GIAC(GCIH) CASP+(CAS-004)はリテイクバウチャ買ったので、3月末までに合格を目指す。 CISSPとRISSは2023年こそ取りたい。。。 去年と違って、取得目標をCCSPからGCIHに。これは前回の2022年振り返り記事にも記載の通り、GCIHは研修受けてるんだからリベンジし…

  • 2022年の振り返り的な

    はい、2021年の振り返り記事はこちら! www.tsubock-lab.xyz あと2022年の上期振り返り記事はこっち! www.tsubock-lab.xyz ということで、今年の振り返りをしていきたいと思います。 2022年の振り返り。 www.tsubock-lab.xyz 2022年の年始に立てた目標に対しての結果を見ていこうと思います。 ①セキュリティ知識の研鑽 セキュリティに関する学習を継続する。 資格の取得を頑張る。 CompTIA CASP CISSP RISS(情報処理安全確保支援士) CCSP はい、これ全滅でした。RISSは秋行けると思ったんだけどな・・・午前Ⅱ対策ば…

  • Pythonのurllib.parseモジュールを使ってURLを解析する

    小ネタかもしれないですが、よく使うので記載しておきます。 分析作業をしてるときにPythonの処理の中でURLの必要な部分だけ抜き出したり、URLの要素から判定をしたいときにurllib.parseのurlparseを使って解析をしています。 urlparseの使用例 URL文字列のParseについて下記サンプルを使って説明を行う。 from urllib.parse import urlparse, parse_qs url = "https://www.example.com:3000/test.html?usr_id=hoge" result = urlparse(url) print(…

  • Python-Whoisを使用してWhois情報を収集する

    ドメインに対してのWhois情報を収集したいとき、もちろんLinuxのWhoisコマンドやWhoisを提供しているWebサービスを利用して収集する方法があるが、大量のURLリストに対してのWhois情報の収集を全て手で行うにはなかなか大変なので、Pythonを使って処理を自動化させてみた。 PythonでWhoisを実施する方法はいくつかあり、PythonでLinuxのWhoisコマンドを実行し結果をパースして情報を収集する方法やPythonの外部ライブラリを使用する方法などがある。他にもPythonのWhoisライブラリがあるみたいだけど、今回はPythonの外部ライブラリである「Pytho…

  • 2022年の目標振り返り(第2四半期)

    久々のブログ投稿です。 2022年も半分過ぎてしまうので、ちょっと早いですが、ここいらで振り返り。 www.tsubock-lab.xyz 2022年最初にたてた目標に対しての進捗状況を振り返ってみます。 ①セキュリティ知識の研鑽 セキュリティに関する学習を継続する。 資格の取得を頑張る。 CompTIA CASP ⇒ 落ちた CISSP ⇒ 未受験(計画通り) RISS(情報処理安全確保支援士) ⇒ 落ちた CCSP ⇒ 未受験 ということで、自分のメインの部分で何も成せておりません・・・かなしい。 RISSだけでも取れていれば・・・というところでしたが、午後1で42点足切りでした。秋季試験…

  • PlantUMLを使ってMarkdownでガントチャートを作成してみる

    なんでもできちゃうPlantUMLですが、ガントチャートもMarkdownで書けるようなので、試しに書いてみました。 事前準備 PlantUMLが使用できる環境を用意しましょう。 VSCodeに拡張機能をインストールする Joplinに拡張機能をインストールする のどちらかが手軽でいいと思います。 早速書いてみた 今回は2022年2Q(4月~6月)の試験計画(仮)でも書いてみようと思います。 まず、2Qでは 情報処理安全確保支援士 CKAD(バウチャが余ってる) AWS CLF AWS SAA を取りたいと考えています。(CISSPはその後に集中してやります。)ということで学習計画をそれぞれガ…

  • 2022年の目標設定

    さぁ!早速ですが今年の目標を立てていこうと思います。 ①セキュリティ知識の研鑽 セキュリティに関する学習を継続する。 資格の取得を頑張る。 CompTIA CASP CISSP RISS(情報処理安全確保支援士) CCSP 会社的にいい加減RISSもCISSPもとらないと・・・( ノД`)シクシク… CISSPが受かったらCCSPにも挑戦する!! 本当はOSCPも受けたいけど、来年かなー。。。 ②クラウド系知識の研鑽 クラウド周りの学習も継続する AWS SAA AWS SCS などに挑戦して資格取得する。 この辺は去年から手を付けてるのでそろそろとりたいところ・・・! ③コンテナ周りの知識の…

  • 2021年の振り返り的な

    今年の振り返り記事はバタバタしていて最終日になりましたw www.tsubock-lab.xyz ということで振り返りをしていきたいと思います。 2021年の振り返り www.tsubock-lab.xyz 2021年の目標設定なんて記事書いてたんですね() ちゃんと振り返りが出来ていないので反省。。。 ①セキュリティ関係の資格を取得する ・CompTIA Security+、CompTIA CySA+ 、CompTIA Pentest+を取りたい ・RISS(情報処理安全確保支援士)を取るのが年間目標。ストレッチゴールに到達すれば満たしたことにする。 ・ストレッチゴールは、CISSP・GIA…

  • CompTIA Pentest+に合格した話

    全然投稿できてませんでした。。。(´;ω;`)ウゥゥ 2月に取得したCompTIA CySA+のバウチャ購入時に合わせてCompTIA Pentest+のバウチャも購入していたのですが・・・ www.tsubock-lab.xyz 昨年のブラックフライデーで購入したCompTIA Pentest+のバウチャが今月までだったので激務の合間を縫って受けてきました。ギリギリでしたが合格しました。ギリギリだろうとなんだろうと合格は合格なので嬉しい!— つぼっく@来年もセキュリティ頑張る (@ytsuboi0322) December 24, 2021 ということで、バウチャを無駄にせず合格してきました…

  • 気軽にメール送信テストがローカルで行える「Mailhog」で送信テストを試してみた

    業務でテストメールを検証環境で送信する必要があり、SendmailやPostfixをDockerで立ち上げて使おうと思ってたところ、手軽にローカルに試験用メールサーバが立てられる「MailHog」というGo言語で作られたものがあったので、試しに利用してみました。 確認環境 Ubuntu 20.04 (WSL2) Windows10 事前準備 GitHubのMailHogのReleasesから動かす環境に応じたバイナリファイルを取得します。 https://github.com/mailhog/MailHog/releases/tag/v1.0.1 今回はUbuntu20.04とWindows1…

  • Pythonの古いrequestsモジュールで明示的に証明書を指定する

    APIがあるサイトの認証局が変わって証明書が変更になったんですが、OS側の証明書は更新されたのにAPIをたたいているPythonモジュールのほうがエラーを吐くようになってしまったので、調査対応した備忘録。 結論 PythonのrequestsモジュールはOS標準の証明書を参照しておらず、requestsモジュール内部の証明書を見て外部通信を行う。requestsモジュールはcrtifiモジュールがないとrequestsモジュール内部の証明書をOSの証明書で更新してくれない。requestsモジュールのインストール時、requestsのバージョンが2.16以降はrequestsモジュールインスト…

  • JPCERT/CCのログ分析トレーニング用コンテンツをDockerで準備したSplunkを使って取り組んでみた(その1)

    ちょっとSplunkを触る機会がでてきたので、Splunkを触れる環境をDockerコンテナ作成して、JPCERT/CCの公開しているログ分析トレーニング用コンテンツの公開 - JPCERT/CC Eyes JPCERTコーディネーションセンター公式ブログに取り組んでみました。QiitaにSplunkでJPCERTログ分析トレーニング(ハンズオン その1) - Qiitaという記事があったので、これをDockerに立ち上げたSplunkで試してみようと思います。コンテナをElasticsearchに替えればElasticsearchの操作の練習でも使えそう。今度試してみよう。 実施環境 W…

  • Windows10 のWSL2 / Kali LinuxのGUIを操作する

    CTF用にKali Linux環境を用意していたのですが、 公式のovfでVartualBoxにインポート ⇒ 動きがもっさり 公式のISOでVartualBoxにインストール ⇒ インストール完了後にブラックアウトして動かない DockerでKali Linux落としてきてVNCServerを立てる ⇒ うまくいかず・・・ ということでハマりまくっていたのですが、WSL2のKali LinuxでGUI操作できるということを知って、試してみました。 前提条件 前提としてWindows10環境にWSL2及びKali Linuxをインストール済みの環境で実施します。 Kali LinuxをGUIで…

  • オンラインセミナーを受けてMicrosoftの試験バウチャーをもらおう!Microsoftのセミナーでバウチャーがもらえる試験まとめ

    Microsoftのオンラインセミナーは参加すると無料で試験バウチャーがもらえるものがあり、バウチャー目当てで色々オンラインセミナーに参加してみたので、2021年4月19日現在、もらうことのできるバウチャー一覧についてまとめてみました。 4/19現在で確認できているもらえるバウチャー 試験 AZ-900: Microsoft Azure Fundamentals クラウド サービスの基礎知識と、それらのサービスが Microsoft Azure でどのように提供されるかを理解していること証明するための資格。 Azure Fundamentals 試験は、クラウドの概念、 Azure サービス、…

  • HerokuにFlaskアプリをアップロードして動かしてみた。

    Herokuで動かされているアプリの挙動が知りたくて、自分で簡単なFlaskアプリを作成してアップロードして動かしてみた。 確認環境 macOS Big Sur : 11.2.3 事前準備 Herokuを使うのに必要なことを順に挙げてみた。 Herokuアカウント作成 ローカル環境の準備 アップロードするWebアプリの用意 gitリポジトリの作成 Herokuアプリの作成 Herokuへアプリをデプロイする 動作確認 Herokuアカウント作成 Herokuの公式サイトにアクセスし、アカウントを作成する。すでにアカウントを持っている場合はここはスキップしても問題ない。 ローカル環境の準備 手元…

  • Vagrantで立てたUbuntu20.04にmicrok8sをインストールして触ってみた

    CKADの練習環境としてmikrok8sをUbuntu 20.04にインストールして触ってみました。 microk8sのインストール snapを使ってインストールをします。 $ sudo snap install microk8s --classic --channel=1.19 microk8s (1.19/stable) v1.19.8 from Canonical✓ installed インストールが完了したら、グループにアカウントを追加します $ sudo usermod -a -G microk8s $USER $ sudo chown -f -R $USER ~/.kube Mic…

  • dailyに設定しているlogrotateが6時25分に動くのはなぜ??

    www.tsubock-lab.xyz 無事logrotateを設定できた!のもつかの間、、、 あれ、でもdailyで設定しているのに日付が変わってもローテートされない・・・ /etc/logrotate.confや/etc/logrotate.d/配下を見直してるけどちっともわからん・・・ ということで調べてみました。 logrotateのdaily・Weekly・Monthlyの動くタイミングはどこで設定されている?? logrotateの動くタイミングがわからないので、調べてみたところ、どうも/etc/crontabのファイルが管理している様子。 $ sudo vim /etc/cron…

  • CompTIA CySA + 受験記

    よかった・・・3度目の正直でCompTIA CySA+受かった・・・ (涙)760/750でギリギリだったけど、合格は合格!!この勢いでCISSPの勉強!— つぼっく@CISSP試験勉強中 (@ytsuboi0322) 2021年2月26日 CompTIA CySA+なんとか合格したので、受験記を残しておきます。内容については言及できませんが、誰かの役に立てば幸いです。 前回Security+を受け、見事散ったわけですが、Security+のバウチャーが当選したあとのブラックフライデー&サイバーマンデーでReTakeバウチャーが15%オフになってたので、Security+が受かった後にCySA…

  • Linuxのログローテートを使って任意のログをローテートさせる

    Linuxのログローテートを使ったので備忘録的に記載する。 検証環境 Ubuntu 18.04(WSL2) 設定方法 logrotateの設定は/etc/logrotate.confの中で実施します。が、個別のアプリケーションは/etc/logrotate.d/配下に個別の設定ファイルを作成して設定するのがメンテナンス面も考えてよいでしょう。 今回は/var/log/test_app.logというファイルをローテートする例を書いていきたいと思います。 まずは個別の設定ファイルを作成 個別アプリケーション専用の設定ファイルを/etc/logrotate.d/配下に作成します。 区別がつけられるよ…

  • LinuxでもHomebrewが使いたいなぁ。。。え、使えるの?!てことでWSL2のUbuntu18.04にLinuxbrewをインストールしてみた

    Macユーザなので、パッケージ管理にはHomebrewを使用しているのですが、LinuxだとUbuntuはapt、CentOSはyum、どうせなら同じようにHomebrewのほうがいいなと。実はHomebrewがlinuxでも使えるんです。会社の先輩が何気なく言ってて知りました。ということで早速試してみたいと思います。 Linuxbrewをインストールする Homebrewの公式HPへ飛ぶと、インストールするコマンドが書いてあります。 https://brew.sh/index_ja 日本語ページもあるので、英語よわよわエンジニアの私でも安心。やったね! 下記のようなコマンドの右側にコピーボタ…

  • Pythonで文字コードを調べることができるchardetを使ってみた

    経緯 PythonでDBから取り込んだStringデータをEXCELに出力しようとしたときに文字コードのエラーでハマってしまって、そもそも変数に入ってる文字コードがわからないとエンコードできないなってことで調べてみるとChardetという外部モジュールを使うことで文字コードを調べる事ができるようなので使ってみることにした。 インストール pipパッケージでインストールが可能です。パッケージ管理アプリを入れている場合はそれぞれのパッケージ管理アプリのインストールコマンドで。 $ pip install chardet 使い方 実際に使って試してみます。テキストエディタ(私はsakuraエディタを…

  • タスクスケジューラで指定した時間に指定したサイトを開くタスクをコマンドで登録する

    コロナ禍でリモートワーク中心になっていますが、毎日指定されたサイトに健康状態を入力する必要があり、意識していないとすぐ忘れてしまうので、指定した時間になると指定したサイトを自動で開くようにタスクスケジューラで設定できないかと思い、調べてまとめてみました。 やりたいこと タスクスケジューラで指定したサイトを定期的に開く ↑をcmdを使ってコマンドで実現したい タスクスケジューラで指定したサイトを定期的に開く 今回は毎日10時にgoogleが開くように設定をしてみたいと思います。 スタートメニューを開いて「タスクスケジューラ」を入力し、検索結果から選択して開きます。 上部の[操作]タブまたは右ペイ…

  • CompTIA CySA + 受験記

    よかった・・・3度目の正直でCompTIA CySA+受かった・・・ (涙)760/750でギリギリだったけど、合格は合格!!この勢いでCISSPの勉強!— つぼっく@CISSP試験勉強中 (@ytsuboi0322) 2021年2月26日 CompTIA CySA+なんとか合格したので、受験記を残しておきます。内容については言及できませんが、誰かの役に立てば幸いです。 前回Security+を受け、見事散ったわけですが、Security+のバウチャーが当選したあとのブラックフライデー&サイバーマンデーでReTakeバウチャーが15%オフになってたので、Security+が受かった後にCySA…

  • Flaskでファイルダウンロードを実装する

    ちょっと調べる機会があったので備忘録。 FlaskでAPI等を実装するときに、ファイルダウンロードさせる場合にどういう風に書けばいいかを調べました。 インストール Flaskがインストールされていなければ、pipコマンドまたはpythonパッケージ管理ソフトでインストールしてください。 $ pip install flask 実装 画面なしでAPIだけ書くとこんな感じ。 app.py import os from flask import Flask, send_file app = Flask(__name__) @app.route("/download", methods=["GET"]…

  • WEST-SEC CTF#3に参加しました!

    chocopurinさんに刺激されて(?)記事書いておきますw https://chocopurin.hatenablog.com/entry/2021/01/19/221357 ということで、 参加させていただきました! 昨日は子供を風呂に入れてる最中にWEST-SECの開始時間になってることに気づき、慌てて子供を出して参加したんだけど、意外といくつか問題解けた。— つぼっく@CISSP試験勉強中 (@ytsuboi0322) 2021年1月20日 開始30分前くらいから子供を風呂に入れなければならなくなってしまい、サっと入れて参加しようと思ってたところ、 こういった日に限って子供がお風呂内…

  • CompTIA Security+ (SY0-501) を受験して落ちました。

    CompTIA Security + 受験して落ちました。 合格記はよく見るので、不合格記を。。。 結果は 落ちました。750が合格点のところ、621点でした。おし・・・くもない。 正直勉強不足感が否めない。勉強時間が圧倒的に足りなかった。 でも再挑戦するかというと、Serurity+の受験料が¥43,732で、社内での位置付けを考えるとちょっと受けるのしんどいかな。。。 なぜSecurity +を受けたか 事の発端はFacebookのCompTIAのページで、いいねをすると1回受験が可能なバウチャープレゼント! というキャンペーンをCompTIAが行っていて、CySA+かPentest+を受…

  • 2021年の目標設定

    ということでTwitterで軽く流したのですが、Twitterでも書ききれないものもあったので、追記も含めて2021年の目標について残しておこうと思います。 2021年の目標 - 本業関係 - 本業に関連しそうな、自分のスキルアップに繋がりそうな目標をこちらに書きます。 2021年、もう1週間終わってしまいましたが、今年の目標を宣言しておきます。[本業]- ブログのアウトプットを続ける。目標は週1ペース。ストレッチゴールは70記事。- セキュリティ系資格を取る。CISSP・GIAC・RISSなどなど・・・- セキュリティ系の有識者に認知されたい。— つぼっく@CISSP試験勉強中 (@ytsu…

  • Pyenv+Poetryの環境でPandasをインストールしようとしたらエラーがでた

    概要 Pyenv+Poetryの環境でPandasをインストールしようとしたら下記のようなエラーが発生。 実行コマンド $ poetry add pandas 出力エラー $ poetry add pandas Using version ^1.2.0 for pandas pyproject.toml+ ◀◀ buffers Updating dependencies Resolving dependencies... (0.0s) SolverProblemError The current project's Python requirement (>=3.7,<4.0) is not …

  • pyenvを使ってバージョン管理をする

    使用しているWSLの環境で複数バージョンのPython3系での動作確認をするため、簡単にPythonのバージョンを切り替えられるPyenvをインストールしてみました。 pyenvとは pyenvはPythonのバージョン管理を行なうコマンドラインツールで、複数のバージョンのPythonをインストールしたり切り替えを自由にできるツールです。早速インストールしていきたいと思います。 事前準備 必要なライブラリをインストールする $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \ libr…

  • 2020年の振り返り的な

    仕事納めできてないけど、暦上は収まってしまったで、2020年の振り返りをしてみたいと思います。 2020年は気持ちがより前のめりになった年でした。昨年の本業の案件でお世話になったお客様から刺激を受けて、意識が上がっていっているところで、自分が一方的に師匠と仰いでいるカカカカックさん(@kakakakakku)のブログメンタリングとの出会いが大きかったです。 当然ポッドキャストの「fukabori.fm/2. 仕事よりブログが大事、ブログは自分の子供」「omoiyari.fm/#22 「Trello があるので眠れない」」を経典のように定期的に聴いていて、最近は月一レベルで聴いては「カックさん、…

  • MinIOをPythonで操作してみよう

    以前紹介したMinIOをPythonで操作してみたいと思います。 過去の記事はこちら www.tsubock-lab.xyz MinIOはAmazon S3互換であるためAmazon S3を操作する際のPythonモジュールを使用することで使用することができます。今回はBoto3というPythonモジュールを使用してみたいと思います。 Boto3とは Boto3はAWSが公式で提供している、Amazon S3をPythonから操作するためのライブラリです。Amazon S3がAPIとして公開している機能をBoto3を使うことで利用することができます。 インストール Boto3のインストールはp…

  • OSSネットワークスキャンツールの定番「Nmap」を簡単に触ってみる

    OSSネットワークスキャンツールで有名なNmapについて調べたので覚書。 はじめに Nmapによるスキャンによって帯域に負荷をかけてしまいます。くれぐれも実際のサービスや自分の管理外のサーバに対してスキャンを行わないでください。Nmapを使用する際には自分の管理するネットワークに対して自己責任で使用することとし、他のネットワークをスキャンしないようにしましょう! Nmapとは Nmapはネットワークスキャン(ポートスキャン)を行うことができるツールで、セキュリティ調査のツールとして使われる一方、ハッキングのためのツールとしても使われています。機能が豊富な高性能なスキャナとして どんなことができ…

  • プログラムの中で一時的にファイルリソースを作成する「tempfile」モジュールを使ってみる

    pythonでファイル操作しているときに一時的にファイルを展開したいなと思うとき、あると思います。そんな時にはtempfileというモジュールを使用して、一時的なファイルディレクトリを作成するのがスマートと思いますので、ご紹介いたします。 tempfileモジュールとは tempfileモジュールは文字通り一時的なファイルシステムのリソースを生成することができるリソースです。tempfileモジュールは標準ライブラリのため、特にインストールせずとも、importすれば使ことができます。 実際に使ってみる それでは実際に使用してみたいと思います。 一時的なディレクトリの作成 一時的なディレクトリ…

  • Amazon S3互換の分散オブジェクトストレージ「MinIO」を触ってみた

    Amazon S3と連携するプログラムを書くため、Amazon S3互換のオブジェクトストレージサーバを探していたところ、Dockerイメージが公式で提供されていて手軽に立てられそうなMinIOというサーバがあったので、試し MinIOとは MinIOはAmazon S3互換のオブジェクトストレージで100%OSSなオブジェクトストレージです。起動も簡単でWindows環境ではminio.exeを起動するだけでも動かすことができるほどシンプルなサーバです。今回はDockerイメージが公式でも公開されているので、Dockerで起動して触ってみたいと思います。 インストール MinIOの公式にも記…

  • Type Hintsを使ってPythonの型を明示的に宣言してみよう。

    Pythonは動的型付言語であるため、JavaやC言語のように変数に対して型を宣言する必要はないため、処理の中で型を操作するためには前後の処理を見て「こっちはString型」「こっちはInteger型」「あっちはDate型」と判断することが多いかもしれません。Pythonの3.5からType Hintsという仕様が追加されました。 Type Hintsとは Type HintsはPEP484で提案された静的解析を行うための仕様です。Type Hintsを設定することにより、関数の引数や戻り値に定義した型が正しく使われているかのチェックを行うことができます。Type Hintsは必須定義ではない…

  • OSSのRSSリーダー「TinyTinyRSS」のAPIを触ってみる

    前回記事の続き、今回はTinyTinyRSSのAPIを触ってみようと思います。 環境構築の方法は前回の記事をどーぞ! www.tsubock-lab.xyz APIがある TinyTinyRSSではAPIが公開されています。 ApiReference - Tiny Tiny RSS APIでRSS情報を収集してシステムと連携するなんて使い方もできそうですね。ちょっとAPIについても触ってみたいと思います。 APIの有効化 TinyTinyRSSはそのままではAPIを使用することができないので、APIの有効化を行う必要があります。右上のハンバーガーメニューから設定を選択します。 TinyTiny…

  • OSSのRSSリーダー「TinyTinyRSS」を使ってみる。

    Google Readerヘビーユーザだった私は、現在はInoreaderを使ってRSSを購読しています。InoreaderやFeedryなどの外部サービスはGoogle Readerのようにサービス終了または完全有料化してしまうかもしれないので、自前でRSSリーダが用意できないかなと思ってたところ、OSSのRSSリーダーでTinyTinyRSSというものがあったので、試してみました。 TinyTinyRSSとは TinyTinyRSSはOSSのRSSリーダーです。FeedlyやInoreaderで課金しないとできないような機能、例えば広告の除外などもTinyTinyでは無償で利用することがで…

  • PlantUMLでシーケンス図を描いてみる

    今回ちょっとSlackBotを作成する機会があったので、以前紹介したPlantUMLを使って、シーケンス図を描いてみたいと思います。 PlantUMLについては過去記事を参照してください。 www.tsubock-lab.xyz 題材とするプログラム 今回はSlackに直近1日以内にアップロードされた添付ファイルを取得して、ローカルディレクトリに格納するプログラムを書こうと思っていますので、ざっくり以下のような処理をシーケンス図にしてみたいと思います。 【アクター】 プログラム Slack ローカルディレクトリ 【処理内容】 ① プログラムがSlackに条件が一致する添付ファイルがあるか確認す…

  • OSSハニーポット「Cowrie」を触ってみた

    サイバーセキュリティの情報収集の一つで「ハニーポット」という技術があります。今回は業務中にハニーポットについて調べている中での覚書として本記事を残しておきます。 ハニーポットとは ハニーポットは脆弱性のあるサービスを実際に、または疑似的に動かして不正アクセスを受け付けるためのシステムです。攻撃者は不正アクセスが成功すると、様々な手法で攻撃を試行してきます。ハニーポットは攻撃試行をログとして記録し、攻撃方法などを収集する目的で設置します。 収集方法としては大きく分けて、 実際に脆弱性のあるサービスを外部公開して攻撃を待ち受ける高対話型ハニーポット 脆弱性のあるサービスをエミュレートし、外部公開し…

  • 二要素認証のワンタイムパスワードをPythonで自動生成処理してみる

    処理の自動化を検討する上で、二要素認証が必要なサイトがあったりするので、Pythonで二要素認証への対応を実装してみました。 二要素認証とは 二要素認証とは、利用者の本人確認などの認証において、二つの異なる原理の認証手段を組み合わせて用いることにより精度と安全性を高める手法。 二要素認証は方式として - HOTP(HMAC-based One-Time Password) - TOTP(Time-Based One Time Password) の2種類があります。 HOTP(HMAC-based One-Time Password)とは HOTPはカウンターベースで値が更新されていきます。 …

  • ブログメンタリング開始から1か月たったので振り返りをしてみる

    カックさん(https://kakakakakku.hatenablog.com/)のブログメンタリングに参加して1か月がたったので振り返りをしてみたいと思います。振り返りはKWTでやってみたいと思います。 KWTとは KWTは「Keep・Wakattakoto・Try」の頭文字からとっています。 ベースはKPTという振り返り手法でこちらは「Keep・Problem・Try」の頭文字からとっています。 Keep:成果が出ていて続けていくこと Problem:改善すべきこと Try:挑戦すること を表しているのですが、Problemだと問題がある・後ろ向きな表現に見えるので(人によりますが) K…

  • テキストベースで簡単にUMLを作成できる「PlantUML」を紹介します。

    要件の定義やシステムの設計を行うときに、仕様を文字だけでなく図式化するときにUMLを使うと思います。 よくやるのはEXCELやPowerPointなどで図を作ったりする方法かと思いますが、これらはメンテナンスが大変で、 少しの変更をするときも職人芸の様に図を動かしたりする必要があり、結構な稼働がかかったりします。 今回はテキストからUMLを作成することができるPlantUMLを紹介したいと思います。 PlantUMLとは PlantUMLはUMLを作成できるテキストベースの言語です。 PlantUMLを使うとテキストからUMLを作成することができ、修正もテキストを修正するだけで図が直せたり、G…

  • ファイルやウェブサイトのマルウェアを検査できる便利なツールVirusTotalの概要と注意点

    今回はインターネットを巡回していると、セキュリティウォッチャーならずとも一度は聞いたことあると思うVirusTotalというサービスについて紹介します。 VirusTotalとは VirusTotalは2004年にHispasec設立したオンラインのマルウェアスキャンサービス。2012年にGoogleが買収し現在はGoogleが運営しています。 主な特徴は 圧倒的複数のAntiVirusスキャンエンジンを用いてファイルを無償で悪性判定できる 圧倒的複数のAntiVirusスキャンエンジンを用いてURLを無償で悪性判定できる 有償のサービスのVirusTotal Intelligence 使用す…

  • PoetryでPythonのパッケージ管理を行う

    以前の記事でPythonのパッケージ管理ソフトとしてPipenvをご紹介しましたが、私自身Pipenvを使用していたのは去年の途中まででした。 www.tsubock-lab.xyz 去年からはPipenvに代わってPoetryというパッケージ管理ソフトを使用していたので、Poetryについても紹介したいと思います。 Poetryとは Poetry はPEP518で標準化されたpyproject.tomlを使ったパッケージ管理を行います。PoetryもPipenvと同じく、pipとvenvを組み合わせたパッケージ管理ツールです。今回もubuntu18.04の環境にインストールしてみたいと思いま…

  • Vagrantを使って気軽にスクラップ&ビルドできる環境を自動構築する

    開発の度に本番に近い開発環境や検証環境をローカルで作ったりしているのですが、毎回VirtualBoxのGUIをポチポチ操作して仮想環境を構築するのが面倒大変です。 今回はVagrantという仮想環境を構築するソフトウェアを使って仮想環境の構築を自動化してみたいと思います。 Vagrantとは VagrantとはHashiCorp社が開発提供している仮想環境の構築を自動化するソフトウェア。仮想環境の構築はVagrantfileと呼ばれる設定ファイルを元に作成が行われます。条件が一定であれば、いつでも同じ環境を構築することができます。 今回はVagrantを使って仮想環境の構築自動化を行いたいと思…

  • Ubuntu20.04環境にPostgreSQL 12をインストールする

    検証用にPostgreSQL 12をインストールしたマシンが必要だったので、Ubuntu20.04の環境にインストールしました。今回はインストール時の覚書です。 動作環境 仮想環境:VirtualBox 6.14.4 インストール先OS:Ubuntu 20.04 RAM:2GB 事前準備 aptインストールを実施するために事前準備を行います。インストールにcurlとca-certificatesが必要になるので、インストールしておきます。 $ sudo apt install curl ca-certificates まずはリポジトリを追加します。 $ sudo sh -c 'echo "de…

  • Vim Bootstrapを使ってなんちゃってVimmerになる

    Linuxでちょっとプログラムを書きたいとき、GUIだったらVSCodeやAtomなどを導入してプログラム書いたりするのですが、CUIだとVimを使うしかないのでもっと書きやすければなーと思ってました。 なんちゃってプログラマの私としてはVimmerの人ってすごいなーと思ってたところ、同じ案件にいた人から初心者Vimmerが圧倒的にVimを使いやすくなるVim Bootstrapなる拡張を紹介してもらいました。 Vim Bootstrapとは Vim BootstrapはJavaScriptやPHP、PythonやRubyなどを書きやすくするプラグインを導入するための設定ファイルを生成してくれ…

  • PipenvでPythonのパッケージ管理を行う

    プロジェクトごとのパッケージ管理はrequirements.txtで行うことが多かったのですが、requirements.txtへの記入が漏れてインストール作業でゴタゴタすることもあるため、最近ではパッケージ管理ができるツールを使用することが多いです。 今回はいくつかあるパッケージ管理ツールの中からPipenvというパッケージ管理ツールを紹介したいと思います。 Pipenvとは Pipenvはpip + venv + requirementsを組み合わせた、Pythonの外部モジュールの依存関係管理やパッケージングを行うためのツールです。今回はUbuntu18.04の環境にインストールしてみま…

  • Dockerコマンドでよく使うコマンドをまとめてみた

    最近色々なOSSの検証を行うので、Dockerfileが提供されているものはDockerで構築を行っています。Dockerもちゃんと使い始めたのが去年とかなので、ちゃんとDockerコマンドを覚え切れておらず、検索することが多いので、自分の備忘録がてら残しておきたいと思います。(随時更新予定!) 事前準備 Dockerコマンドを使うためにまずはDockerのインストールについて記載します。 Dockerのインストール Ubuntuにインストール Ubuntuへのインストールはaptコマンドで実行します。最初にaptコマンドのupdateをしておきます。 $ sudo apt update &&…

  • ブログメンタリングに当選しました!

    www.tsubock-lab.xyz 前回こんな記事を書いたにもかかわらず、全然記事が投稿できず、恥ずかしいです・・ 全然習慣化ができていない私ですが、 この度カックさんが行っている取り組みの ブログメンタリングの募集に応募させていただきまして、見事当選いたしました!どうもありがとうございます。 当選がゴールではないので、これから頑張っていきたいと思います。 ブログメンタリングとは 詳細は下記を見ていただいた方がわかりやすいと思いますが kakakakakku.hatenablog.com 「技術ブログに悩んでいる人」の「悩み」を解消する1on1ということで2017年12月から始められている…

  • アウトプット駆動学習を積極的に取り入れる

    @kakku22さんのアウトプット駆動学習を習慣化するという記事を読んで、このブログのテーマは元々これだし、自分の成長のためにも積極的に取り入れた方がいいと思ったので、自分の備忘録をかねて、自分の考えも含めた上でメモさせていただきます。 kakakakakku.hatenablog.com アウトプット駆動学習とは アウトプット駆動学習とは、社内のWikiや社内ブログ、社外だと自分のブログだったり、Qiitaなどの技術SNS、外部講演など、人の目に触れるところに公開(アウトプット)するために、新しいことを学ぶ、すなわち学習するというマインドセットのこと。目的は「ブログを書くために新しいことを学…

  • docker-composeを使ってElasticsearch + Kibana の動作を確認してみた。

    業務の技術調査でElasticsearchとKibanaを使って手元のデータを可視化する必要があり、docker-composeを使ってサクッと立ち上げて動作確認をしてみました。 docker-compose.yamlの作成 ElasticsearchとKibanaの設定を入れたdocker-compose.yamlを作成します。 適当なディレクトリを作成してdocker-compose.yamlを作成してください。 version: "3" services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearc…

  • Dockerをインストールしてみた。

    最近ではシステムを構築する際に仮想マシンを複数台構築しなくても、コンテナ技術を使うことで1台の仮想マシン内で複数台起動しているかのような冗長構成がとれるようになりました。本記事では、コンテナ仮想化技術であるDockerについて、調べたことをまとめてみました。 Dockerとは Docker社が開発したOSの仮想化技術の一つ。コンテナと呼ばれる、VMに比べて軽量な仮想化環境に必要なリソースのみを一つにまとめることができます。軽量であるため、複数マシン用意して動作していたものを、一つのマシンで複数のコンテナを起動して運用する、ということも実現可能になっています。また、プログラムの動作環境はコンテナ…

  • Tkinterを使ってPythonプログラムのGUIを作る

    Pythonで業務用ツールを作成したときに、あまりPC操作が得意でない人にCUIから操作してもらうというのはなかなかハードルが高かったりします。そこで、GUIを用意してボタン1つで操作ができると、心理的ハードルも下げることができるので、PythonプログラムをGUIすることにしました。PythonでGUIを作成する方法はいくつかあるのですが、今回はTKinterについて調べてみました。 Tkinkerとは 読み方はティキンターと読むようです。TkinterはWindowsやMacOS、LinuxといったOSに対応しているマルチプラットフォームなGUIライブラリでPythonを使ってGUIを作成…

  • fluentdのバッチ版、EmbulkをDockerで試して触ってみた

    データ収集基盤を設計する際に、過去の大量のファイルもデータ収集基盤に取り込みたいという要望があり、大量のファイルをまとめて処理できるツールがないかと調べていたところ、Embulkという製品を見つけましたので、調べてまとめてみました。 Embulkとは EmbulkはTreasure Data 社が開発したOSS製品で、リアルタイムにログを収集するlogstashやfluentdのようにファイルやデータベースからデータを吸い出して、別のストレージやデータベースに渡してくれる作業をバッチ処理で行ってくれるツールです。ストリームしてデータを流し込むlogstashやfluentdと違い、バルクで処理…

  • 【おすすめ】プログラム言語に合わせたタイピング練習ができるtyping.ioの紹介【プログラマ必見】

    皆さんはタイピング得意ですか?私はまぁそれなりです。 自分の実力を確認するために寿司打をやってみました。 寿司打の成績20200126 普通の人よりはタイピングは早いかな?と思っていますが、一般的なタッチタイプは日常の単語とかを打つ練習で速度が上がっていくと思います。こういうのはブラインドタッチの習得と、ある種の慣れ的なものもあると思ってます。 一方、プログラムをコーディングする際のタイピング練習ってなかなかしないですよね?コードを書いていくうちに慣れて、タイプする速度も何となく上がっていくとは思いますが、コーディング速度もできるだけブラインドタッチで早く打てるようになると コーディング速度の…

  • Vagrantのboxを削除したいときに読む

    Vagrantのbox、色々試しているうちにローカルにどんどん蓄積されて容量が圧迫されることありますよね。全然使わないboxは定期的に削除したほうが良いです。今回はVagrantのboxを削除したいときに読む備忘録的な記事です。 vagrantのboxを削除する vagrantのboxを削除する場合はまず、削除したい対象のbox名を特定しましょう。 vagrant box listコマンドを使うと、ローカルにダウンロード済みのbox一覧が表示されます。 $ vagrant box list bento/ubuntu-18.04 (virtualbox, 201912.14.0) bento/u…

  • 【Python】任意の値を標準出力する。【Print】

    各コンピュータ言語の基礎中の基礎、標準出力について説明します。 Pythonでの標準出力ではPrintという関数を使用します。 Printは特にモジュールのimportは不要です。 使い方 Printは下記のように print({標準出力したい値}) という形で出力をすることができます。 例えば、Hello,Worldという文字列を呼び出す際は print('Hello,World') とします。 また、String文字列は直接出力できません。 print(Hello,World) はエラーとなるため、String文字列は必ずシングルクオートやダブルクオートで括る必要があります。 int型は標…

  • Windowsでも`tail -f`や`grep`がしたい!それ、PowerShellでも実現できますよ。

    Linux上でログファイルを追記状況を確認するときに、リアルタイムに表示を行うことができるtail -fですが、Windowsではtailコマンドがないので、リアルタイムにログの追記状況とかを確認できなくて、困っていませんか? WSLでBash使えればtailが使えるんですが・・・WSLを入れられない環境では詰みますね。でもPowerShellのGet-Contentコマンドレットを使うとtail -f相当のことができます。 使い方 PS> Get-Content -Path {ファイルパス} -Wait -Tail {行数} 上記のように指定してください。 例えば、C:\work\sampl…

  • おすすめのMarkdownエディタとしてTyporaを推します

    最近はテキストを書くのにMarkdownで書くことが多いのですが、 皆さんはどんなエディタでMarkdownを書いていますか? VSCodeにMarkdownのプラグインを入れて使うのでもいいですが、 私はTyporaを推したいと思います。 ちなみにこの記事もTyporaで書いています。 Typoraとは TyporaはMarkdownの記述に特化したテキストエディタです。 Window/Mac/Linuxどのプラットフォームでも使用することができ、 体感としてはそれなりに軽量と感じるので、Terapadやサクラエディタを差し置いて 一番使っています。 Typora公式ホームページ:https…

  • API BlueprintをMockで動かす。drakovが便利

    Drakovを使ってAPI BlueprintからMockサーバを建てる 前回の続き。API BlueprintでAPIリファレンスを書きましたが、せっかく作ったAPIリファレンス。そのままMockにできたら便利ですよね?できるんです。早速試してみましょう。 API BlueprintをMockとして動かすためのツールはいくつかあって、 Drakov API-Mock API Blueprint Mock Server ASP.net Blueprint Mock Server apish など、調べてみると上記のツールが出てきます。 中でもDrakovとAPI-Mockは結構記事書いている人…

  • APIリファレンスを作るためにAPI Blueprintを使ってみた

    API BlueprintでAPIリファレンス作成 業務で必要に駆られてAPIリファレンスを作成することとなりまして、ググってみるとSwaggerとAPI Blueprintの記事がちらほら。 Qiita記事を漁りながらSwaggerから触ってみましたが、なかなか取っ付きづらかったのと、自身がYAML触り慣れていないのでしっくりきませんでした。 API Blueprintを触ってみたら、よく使っているMarkdown記法で書けるということで導入しやすかったので、 API Blueprintを使ってリファレンスを書いてみることにしました。 API Blueprintとは API Blueprin…

  • 自己紹介

    ツボック★ラボってどんなブログ? このブログは私つぼっくが日々学んだ技術的なことをツラツラと残していくためのブログです。同じような問題などにぶつかって、検索しても見つからない人達が、本ブログで参考になることを見つけて、少しでもお悩み時間を減らすことができたら幸いです。 元々雑記ブログを持っているのですが、雑記過ぎて技術記事を気軽に投稿できる場がなく、Qiitaなどに記事を上げるのもいいんですが、もっと自分用にラフに上げておきたいと思い、本ブログを開設しました。 元々はGithub Pasesで作成しようと考えていたのですが、たまたまはてなブログの有料アカウントに登録していて、10個ブログが作成…

  • 免責事項

    ツボック☆ラボ(以下、「当サイト」とします。)における免責事項は、下記の通りです。 当サイトの情報の正確性について 当サイトのコンテンツや情報において、可能な限り正確な情報を掲載するよう努めています。しかし、誤情報が入り込んだり、情報が古くなったりすることもあります。必ずしも正確性を保証するものではありません。また合法性や安全性なども保証しません。 損害等の責任について 当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますので、ご了承ください。 また当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任も負…

  • プライバシーポリシー

    広告の配信について 当サイトは第三者配信の広告サービス「Google Adsense グーグルアドセンス」を利用しています。 広告配信事業者は、ユーザーの興味に応じた広告を表示するためにCookie(クッキー)を使用することがあります。 Cookie(クッキー)を無効にする設定およびGoogleアドセンスに関する詳細は「広告 – ポリシーと規約 – Google」をご覧ください。 また、[サイト名]は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者で…

arrow_drop_down

ブログリーダー」を活用して、つぼっくさんをフォローしませんか?

ハンドル名
つぼっくさん
ブログタイトル
ツボック★ラボ
フォロー
ツボック★ラボ

にほんブログ村 カテゴリー一覧

商用