App Engineerの開発ノート

AWS、Flutterや開発活動に役立つツール作りなど

予測できない時代、明日にはどんなサービスが流行るか分からない

どうも雑に転職活動中のエンジニアです。 ここ数年で登場してきたサービスによって、動画や音楽などを通した体験が大きく変わりましたね。 そういった予測が難しいことを理解して、少しでも対応できるよう考察していきたいと思います。 新星によるぶち壊し V…

リモートワーク生活1年以上たったので~SIerエンジニアの場合

どうも準委任契約で働くSIerエンジニアです。 リモートワークが始まり1年以上が経過したので、記録を残します。 結論的にはアプリケーションエンジニアのようにデジタルな知的生産の仕事はいける、生活をする上でそれなりに課題もあるよねという感じです。リ…

AWS Innovate – Modern Applications Editionレポ 2021/10/27開催

AWS

業務でも趣味でもAWS開発を行っており、情報収集をしたいと思いAWS主催のイベントに参加してきました。 このイベントはタイトルにもありますが、AWSを活用したモダンアプリケーション開発に関して、新しい技術の紹介や設計思想等がテーマのイベントでした。…

DynamoDBへのデータ登録を楽にする2~データ削除編

AWS

以前、エクセルファイルをインプットとしたDynamoDBへのデータ登録のツールを作りました。今回はその削除版の一括削除のツールを作成します。 ちなみ登録のツール作成方法は下記です。 ikoda.shop削除ツールも登録ツール同様、Powershellを使用します。■ツー…

DynamoDBへアクセスを行うJavaのLambda関数の単体テスト実施方法

AWS

DynamoDBへ書き込み・読み込みを行う関数を効率良く単体テストする方法です。 テストデータの事前投入を簡易化することが今回のメインです。データ投入に今回はエクセルファイル(拡張子がxlsx)を使用します。 エクセルファイルを使用するメリットとして、そ…

Indexing APIではてなブログ記事のインデックス登録を自動化

自動でGoogle Search Consoleにはてなブログ記事をインデックス登録する方法です。 インデックス登録が行われなければGoogle 検索によってブログが表示されません。インデックスの登録はサイトマップを送信することでGoogleにより実施される仕様とのことです…

はてなブログの記事一覧をPowerShellだけでお手軽に抽出

自分がはてなブログ作成した記事の一覧を抽出するための方法です。 スクレイピングするやり方も一つの手だと思いますが、PowerShellだけでサクッとやることが出来ました。記事の一覧はブログに紐づくサイトマップを参照することで参照可能です。 自分のはて…

DynamoDBへのデータ登録を楽にする

AWS

DynamoDBへのデータ登録を簡易化するためのツールを作ります。 BatchWriteItemというcommandを使用することで一括のデータ登録ができます。 batch-write-item — AWS CLI 1.20.48 Command Reference今回は上記commandに使用するインプットデータ(jsonファイル…

AWS入門~CLIで使用してDynamoDBを操作する

AWS

CLI(コマンドラインインターフェース)を使用してDynamoDBのテーブルを作成・削除・更新や項目(RDBでいうレコード) の登録方法のTipsです。CLI自体の導入は下記から行います。 ikoda.shopまた、今回の手順はlocalstackを使用したローカル環境に向けてのもの…

【AWS便利ツール】DynamoDBのテーブルをCSVでエクスポートする

AWS

DynamoDBの内容をエクスポートしたい場合、テーブルの中身を簡易的にエクスポートする方法です。 ツールの開発にはPowerShell を使用します。 DynamoDBの管理コンソールからでもエクスポートは可能ですが、 わざわざログインしたくないときなどに便利です。 …

【AWS入門】Javaで始めてのLambdaアプリ開発

AWS

AWSのLambdaアプリをJavaで開発します。 とりあえずシンプルなものを実行できるところまで環境を整える手順です。 統合開発環境にIntellijを使用します。 0. JDKをダウンロード AWSと連携を可能にしたAmazon Corretto(JDK)をダウンロードします。 https://do…

AWS入門~CLIを使用してAWSにアクセス

AWS

コンソール上でコマンドを叩いてAWSのサービスにアクセスする方法です。 DBへのデータ登録等、開発を行う上で必要になるはずです。尚、AWSのアカウント準備自体は下記から実施できます。 ikoda.shop ■インストール AWS CLIとAWS SAM CLIの二種類をインストー…

AWS入門~localstackでローカル開発環境を準備する

AWS

AWS開発の必須ツールといっても過言ではないlocalstack を使用することでローカル環境でdynamoDBやLambdaなど様々なサービスの 開発を行うことが出来ます。 1.PC上の設定変更 タスクバーの検索ボックスに「Windowsの機能の有効化または無効化」と入力しメニ…

AWS入門~誤って課金してしまわないよう気を付ける

AWS

アカウント作成して僅か半月で誤って課金する結果となってしまったので、自戒をこめて、課金状況の確認手順です。 ◇現在の課金額を知るAWS マネジメントコンソール(ログイン後のトップページ)から"マイ請求ダッシュボード"をクリック⇒ページ遷移後、現在の利…

AWS入門~とりあえずWebアプリケーションが公開されるまで

AWS

AWSを勉強したい・導入したいという場合の とりあえず最初のWebアプリが公開されるまでの手順です。 所要時間は最速だと20分くらいです。◇アカウント作成 まずは下記でアカウントを作成します。 https://aws.amazon.com/jp/try-cloud/個人情報として住所や携…

Android Studio で git を使う ~ある時点のバージョンに戻す~

Androidのアプリ開発で障害調査や開発が上手くいかず、ソースコードを一旦Gitのあるバージョンに戻したい。 そう思った時のAndroid Studioでの操作方法の紹介です。 ◇手順 1.対象ファイル右クリック→Git->show history 2. Historyタブで戻したいコミットの行…

【Python】はてなブログの注目記事の一覧を抽出する

はてなブログの注目記事の一覧をスクレイピングするプログラムをPythonで実装してみます。 Pythonでスクレイピングするための環境準備は下記に記載しています。 ikoda.shop◇処理の流れは 1.はてなブログのトップページへのリンクを変数定義 2.ヘッドレスブラ…

【Python】Webページの情報抽出するためにスクレイピングする

スクレイピングとはWebページに対して、DOM形式の情報を取得し、 ある特定の文字列をのみを抜き出したり、画像だけをダウンロードしたり、 情報の解析を行うことです。 今回はPythonでの実装方法に関してご紹介します!なお、スクレイピングの過剰利用はアク…

Windowsのタスクスケジューラが起動しない

下記に良くまとめられていたがそれでも起動しない。。https://aprico-media.com/posts/4649 私の場合、原因はトリガーでした。こちらの仕様は書いたままですが、ある時間から○○の間隔で実行するというものなので、そもそも起動していない状態だと繰り返し実…

【Flutter】チップを使って3パターンのアクションを実装する

Flutterアプリのチップはリストのフィルタリングやプロフィールの画面などでボタンとは違ったデザインでスペースを取らないUIとして便利かと思います。更にチップに何かしらの処理を実行したい場合もあるかと思います。今回は3パターンのアクションを実装し…

【Flutter】ボトムナビゲーションバーの選択を親のWidgetで検知する

画面下部に表示するナビゲーションバーとメインのコンテンツに当たるWidgetでソースを分けたい場合の実装方法となります。 ナビゲーションバーに対してアイコンをタップするなどの操作した結果を親となるWidgetが受け取る仕組みになっています。 ◇親となるメ…

Android端末のキャプチャ撮ってgif変換を自動化する

モバイルアプリの開発ブログを書いているとキャプチャでイメージを伝えたいということが 良くあるのですが※例えば下記のように それらをわざわざ「端末でキャプチャを取って、それをダウンロードしてきて~」 という作業が面倒になったのでbatファイルで自動…

android studio 4.1.2が起動しない

android studio 4.1.2をインストール後、起動せずに下記のエラーが表示される「Could not initialize class com.intellij.internal.statistic.service.fus.collectors.FUCounterUsageLogger」 ■解決策下記のフォルダに前のバージョンのごみが残っている為、I…

Webページを軽量化して表示速度を上げる

Webページの表示速度をあげるためにページの軽量化を行います。Htmlファイルの軽量化軽量化する対象としては下記が挙げられるが、今回はHTMLファイルに注目してみます。 ・html ・javascript ・css※htmlファイルの軽量化では明らかな速度改善は中々見られま…

firebase hostingからfirestoreでデータ登録・管理する

firebase hostingでCloud Firestoreを使ってデータ登録・更新・削除します。 Cloud Firestoreで扱われるデータはコレクションとコレクション内のドキュメントで構成されます。 データベースで言うとコレクションはテーブル、ドキュメントはレコードに近いか…

firebase hostingで画面(ページ)を配置する

firebase hostingでページを配置する手順を記載します。1.ページの準備 今回は特にページの中身にはこだわらずHTMLで下記の4ページを用意します。 ・index.html(ホームにアクセスしたとき用) ・mypage.html(マイページ用) ・login.html(ログイン用) ・other.html…

firebase hostingでシングルサインオンする

firebase hostingでシングルサインオンを使用します。 今回はGoogleアカウントとの連携を行います。1.firebase consoleで連携アカウントを選択する Authenticationページを開き、ログイン方法タブを選択する。 許可したいプロバイダを選択し「有効にする」に…

Android Studio で git を使う ~Pull~

チームメンバーの追加・変更内容を取り込みたい場合はpullを行います.また自分がソースコード修正中であった場合(リモートリポジトリと差異がある状態),取り込みに失敗することがあります,その場合はstash(修正内容の待避),またはrevert(修正内容の破棄)を行…

Android Studio で git を使う ~Push~

Git を使ったソースコードの取り込み、修正を反映させるという作業を行いたい場合,流れは下図となります. ※事前にGithubやBitbucketを利用しリモートリポジトリを作成しておく必要があります 今回はAndroid Studio を使った場合の手順を書きます. git を使っ…