AWS明細データの歩き方

AWS

こんにちは、AWS担当のwakです。今年もよろしくお願いいたします。ずいぶん間が空いてしまいましたが、今年はペースアップしていこうと思います。 今年は猫年(だったはず) AWS料金明細データ ファイル概要 CSV形式 記載されている内容 カラム数は固定(た…

Amazon S3の機能まとめ

こんにちは、AWS担当のwakです。そろそろAWSソリューションアーキテクトのプロフェッショナルを取らないといけなくなったので、S3について勉強がてらまとめました。 堅牢性 S3は「99.999999999%の耐久性」(eleven 9’s of durability)を売りにしています。S3…

S3 + AWS Cognito + Google認証でドメイン制限のついた非公開サイトを作る

こんにちは、AWS担当のwakです。 弊社では全社的にG Suiteを導入しています。そこで社内向けWebサイトをS3+Lambda+API Gatewayで構築し、G Suiteのアカウント+AWS Cognitoで弊社社員のみ利用できるような認証をかけようとしたところ、何点かハマるポイントが…

日本語は1文字何バイト?

こんにちは、wakです。秋ですね。寒いですね。 さて、今日もどこかから「英語は1文字1バイト、日本語は2バイト」といった雑な話が耳に入ってきて、「UTF-8で日本語はだいたい1文字3バイト!」と抗議していたのですが、エンジニアとして「だいたい」という言…

Fusion Tablesを使ってGoogleの環境だけでデータ分析する

サーバーを用意せずに、お金もかけずにさくっとデータ分析をする。データベース、分析実行、結果出力まで、全てGoogleのサービスだけを使って実現する方法を紹介します。 はじめに 前提条件 こんな人向け G Suiteで使うアプリケーション ものづくり 分析対象…

Node.jsからmultipart/form-dataでデータをPOSTする

お久しぶりです。最近Node.jsばかり書いているwakです。 さて、最近こういうことがありました。 Slackにスニペットをアップロードするするスクリプトを書きたい Slack botのトークンをスクリプトには埋め込みたくない そうだ! Lambdaの中にトークンを書くこ…

Analytics の内容を Slack でグラフ表示

こんにちは、久しぶりに和朗です。 サービススタート時など、Google アナリティクスの情報を見ていると面白い!!とは思いつつも、他の仕事をしているとなかなか毎日の変化に気づけません。 アナリティクスの情報を定期的にかつ視覚的に見る方法はないものか…

API Key認証付きのAPI GatewayからS3へリダイレクトしたい(できない)

こんにちは、AWS担当のwakです。 概要 表題の通りです。できない理由を書きます。また、ついでにSame-Origin PolicyとCORS (Cross-Origin Resource Sharing)についても簡単に解説します。 猫もおてあげ やりたかったこと とあるデータ(刻々と追加されていき…

Slackにスレッド表示機能が追加されました

こんにちは、Slack大好きなwakです。Slackにスレッド表示機能が追加されたと聞いてさっそく使ってみた雑感を書きます。 概要 これまでと画面が大きく変わるわけではありません。 スレッドの始まりとなる発言(誰のものでもOK)を選択する コメント1を追記す…

石器時代みたいなWebアプリ開発をしていたエンジニアがReact.jsに導かれて2016年にやってきた話

はじめに 社内向けのシンプルなWebアプリケーションを作成することになりました。 求められているものはサービスそのものであり、実装方式については全て自分で決めていいわけですが、この際なので2016年のモダンな開発方法で書こうと思い立ちました。そこで…

LINEのMessaging API WebhookをAPI Gatewayで受ける

こんにちは、AWS担当のwakです。 最近LINE botがMessaging APIとしてリニューアルしたとのことで、同僚が面白がって触っていたので説明してもらいました。聞くところによると、LINEのbotを友達登録したりメッセージを送ったりアンケートに答えたりすると、そ…

ASP.NET Webフォームプロジェクトでwebフォームの内容をhtmlファイルにしてダウンロードさせる

井上です。 いまだASP.NET Webフォームを用いているシステムも多々あると思います。 弊社もWebフォームのシステムがあり、そこで普段やらないことをやりましたのでそれをまとめておきます。 こんな処理を書くことはそうそう無いのですが何かの役に立つかもし…

ASP.NET Webフォームプロジェクトでオートコンプリートのドロップダウンを実現する

井上です。 ASP.NET Webフォームのドロップダウンコントロールでオートコンプリートをやろうというお話です。 ちょっとと面倒だったのでまとめておきます。 環境 .NET Framework 4.5.1 ASP.NET Web Form C# 参考 jqueryui.com やりたいこと オートコンプリー…

grepコマンドとPowerShellのsls (Select-String)の比較

こんにちは、PowerShellが好きなwakです。以前書いたこちらの記事をリライトします。 tech.sanwasystem.com はじめに grepとの比較表 1件のファイルから検索をする場合 -i : 大文字・小文字を区別したい/区別したくない -e : 正規表現を使いたい/使いたくな…

SGMLReader + XPathでスクレイピングする

C#

こんにちは、今日もWebを見ながら生きているwakです。表題通りのことをやりました。 はじめに 目的 HTMLはXMLじゃない SgmlReader SgmlReaderの使い方 導入 読み込み 文字列→XDocument XPathEvaluate()で型を指定する 例 ドキュメント全体から要素を検索する…

API Gateway + LambdaでSlackのCustom Commandを作る

こんにちは、AWS担当のwakです。先日このような記事を書いたので、表題通りAPI Gateway + Lambdaで実装するサンプルを作ります。 tech.sanwasystem.com 鋭い眼光でエラーを見逃さない猫(多分) はじめに 暇なWebサーバーは無駄 SlackのCustom Commandsは、…

SlackのSlash Commandで既存システムから必要な情報を取得する

弊社の1システムとしてゴルフシステムがあります。当然ユーザー様は日本全国のゴルフ場なわけですが、ゴルフ場は基本郊外にありますのでネットワーク回線が不安定なことがあります。そのような理由からネットワークが不通となっても動作できるようオンプレ…

SlackのCustom Commandsことはじめ

どうも、Slack大好きなwakです。今日はSlackで自作コマンドを作ることができるCustom Commandsの話の導入をします。 Slash Commandsってなに Slackには/inviteや/remindなど、/から始まるいくつかのコマンドがあります。スラッシュから始まるのでSlackではSl…

Slackを使ってバグ管理ィィィィィ

こんにちは。ジョジョ4部アニメが開始して毎週金曜が楽しみでたまらないおいかわです。 ある自社サービスのリリース直前なのですが、現在最後のバグ出し合宿をしているところです。そこでやっているバグ管理について紹介します。 今回のバグ管理のポイント …

AWS LambdaからGoogle APIを呼び出す

こんにちは、AWS担当のwakです。間が空いてしまったので、今回は簡単な記事を書いて隙間を埋めることにします。 背景 何をするか プロジェクトの準備 プロジェクト作成 OAuth2.0のおさらい 認証画面設定 認証&トークン取得 初回認証 トークン2種類を取得 AP…

Google Apps APIで新入社員対応(ユーザー追加+組織・グループに追加)

こんにちは井上です。 Google Appsでユーザーを追加する時って、大抵の場合グループにもそのユーザを参加させると思うんです。グループ管理は煩雑になりやすく、役割が重複したものやメンバーの差異がほとんどないものなど、数多くのグループが作られがちで…

MySQL Workbenchでデータベースの差分を調べてを更新する方法

こんにちは、ごじぽんです。 今回は MySQL Workbench でデータベースの差分を調べて更新クエリを作成する方法を紹介します。データーベースの差分を埋めたい場合、「CREATE文を出力」→「CREATE文の差分をとる」→「変更クエリの作成」という手順でデータベー…

.NETでのAPI作成におけるDelegatingHandlerの利用

こんにちは、久しぶりに和朗です。 ASP.NETのControllerの承認フィルターAuthorizeAttributeにはOnAuthorizationメソッドがあり、ここで認証を行うことができますが、 今回は、なんでもできちゃうDelegatingHandlerを利用して認証ロジックの組み込みを行って…

AWSの社内勉強会を開きました

AWS

こんにちは、AWS担当のwakです。 AWSを弊社で利用し始めて2年ほど経ちますが、未だにEC2やRDSのみしか念頭に置いていないメンバーがいるのも事実です。「AWSにはこんな機能もあるよ!」「これを使うとシステム構築が楽になるかも!」「できることに幅が広が…

ASP.NET Web APIでログを綺麗に出す

井上です。 Web Request/Responseのログをお手軽に出しましょうというお話です。 ログ出力のサンプルは多々あるのですが、パラメータを全部出していたりとかはあんまりないというところから。 環境 Json.NETをGetする ログ出力クラスを作る コントローラーの…

Slackのリマインダー機能まとめ

こんにちは、家でも会社でも実家でもSlackばかり使っているwakです。会社でSlackのリマインダー機能について聞かれたのでまとめておきます。元ネタは公式です。 とにかく /remind リマインダーはSlackの標準機能のひとつです。チャット欄(どこのチャンネル…

Twilioを使ってWeb API経由で電話をかける(前編)

こんにちは、AWS担当のwakです。 【インデックス(予定)】 CloudWatchの監視結果をSlackに流す(AWS Lambdaバージョン) AWS LambdaでWebサイトの死活監視を行ってSlackに結果を流す DynamoDBにパラメーターを入れてハードコードをなくす CloudWatchの監視…

Google Chromeアプリ[Postman]の使い方メモ

井上です。WEB API作成時にとても便利なPostman。その使い方についてです。 Postmanとは 実際に公開APIを呼んでみる! Postmanを便利に使う! コレクションの活用 よく使うものをコレクションに登録する 説明文を追加する 登録したコレクションを更新する コ…

AWS LambdaのパラメータをDynamoDBで管理する

こんにちは、AWS担当のwakです。前回に続きAWS Lambdaの話をします。 【インデックス(予定)】 CloudWatchの監視結果をSlackに流す(AWS Lambdaバージョン) AWS LambdaでWebサイトの死活監視を行ってSlackに結果を流す AWS LambdaのパラメータをDynamoDBで…

Node.js+Dynamo DBでレコードを検索する

こんにちは、AWS担当のwakです。 前回・前々回の記事ではLambdaからSlackへの通知を行いましたが、そこではスクリプト内部にパラメーターをハードコードしていました。これを改善するためにDynamoDBを使おうと思ってコードのサンプルを探してみたのですが、…