投稿

11月 3, 2018の投稿を表示しています

Microsoft Teams を使用した Bot を作成する上での注意点

イメージ
Microsoft Teams を使用した Bot を作成する上での注意点 : この記事は、2018 年 5 月 15 日 に Data Platform Tech Sales Team Blog にて公開された内容です。 Microsoft Japan Data Platform Tech Sales Team 大塚 Microsoft Teams(以下Teams) は企業やその他組織内外のコラボレーションを行う上で非常に強力なツールです。また、最近では AI 領域の市場活性化や「働き方改革」により、人とシステムのやりとりを自動化する ”ボット” の活用も進んできております。 Microsoft Teams 製品ページ 今回はこの Teams 上でボット(以下 Bot in Teams)を活用する方法と、その際の注意点をお伝えしたいと思います。 1、ボットを Teams で利用するには Bot を Teams で利用するには、作成した Bot Service 内の「チャネル」で「Teams」を選択する必要があります(以下図を参照)。 上記図で保存後、先ほどの図で「ボットの埋め込みコードを取得」をクリックします。 このリンクを自社の Web ページ上に配置して展開することも可能ですし、a タグ内のアドレスを周知することも可能です。「Microsoft Teams」と書かれたテキストをクリックすると Teams に切り替えるメッセージが表示されるので、「OK 」をクリックします。 Teams が表示されて、チャットページに対象のボットが表示されるようになります。 2、Bot in Teams が出力するログ ボットを Web Chat だけで運用している場合にも該当する内容ですが、Bot Service と App Service / Functions 間のエラーは以下の「チャネル」画面内の「メッセージ」をクリックすることで表示可能です(正常時にはクリックできませんのでご注意ください)。 Bot in Teams の場合、このログにこの後ご紹介するカードのエラーも表示されますので、ちょっと動きがおかしいな?と思った時にはこのログをご確認頂くことをお勧めいたします。 3、コード内でクライアントが「Teams」かどうかを判断するには...

マイクロソフト データプラットフォームにおける Tableau の利用

イメージ
マイクロソフト データプラットフォームにおける Tableau の利用 : この記事は、2016 年 6 月 9 日 に Data Platform Tech Sales Team Blog にて公開された内容です。 Microsoft Japan Data Platform Tech Sales Team 土井 お客様とのコミュニケーションの中で、 “Tableau と Power BI の違いを教えてください” というご質問をよく頂きます。 Power BI をご利用いただくメリットとしては、エンドユーザの Excel スキルをそのまま生かせる点や、Power BI は Azure Active Directory を認証基盤としているため、既に Office 365 等のマイクロソフトのクラウドサービスをご利用いただいている場合はスピーディに導入頂けること等さまざまなものが挙げられます。 クライアントツールとしては、 Tableau Desktop と Power BI Desktop は製品レイヤーが被るものではありますが、どちらも非常に優れたツールであり、「エンドユーザの好みに合わせて使い分けていただくのが一番よいのではないでしょうか」 と回答することがほとんどです。というのも、マイクロソフトは Power BI に最適なデータ活用基盤として SQL Server を提供していますが、同時に 3rd Party の BI ツールからも接続可能なオープンな基盤であるからです。 また、世間一般的には競合会社と思われがちな両社ですが、グローバルではテクノロジーパートナーシップを結んでおります。 [Tableau 社のテクノロジーパートナー一覧] http://www.tableau.com/ja-jp/partners/technology&page=2 ■マイクロソフト データプラットフォーム領域における Tableau 製品の活用例 Microsoft CEO の Satya Nadella が Microsoft ♡ Linux という言葉を発したように、マイクロソフトが様々な変革を進めているのは、他社製品や OSS との連携が充実してきていることからも少しずつ実感を頂けているのではないでしょうか。 同様に、我々の...

Vue Designer: デザインと実装の統合

イメージ
Vue Designer: デザインと実装の統合 : Vue Designer: デザインと実装の統合 プレビューのレンダリング 意味解析 props / data あたってるスタイル import してるコンポーネント GUI 上の操作との対応付 コード編集・生成

Kotlinの隠れたコストについてのベンチマーク | POSTD

イメージ
Kotlinの隠れたコストについてのベンチマーク | POSTD : Kotlinの隠れたコストについてのベンチマーク | POSTD @BladeCoderが書いたKotlinの隠れたコストの調査という一連のブログ記事は、あるKotlin構文にどのように隠れたコストがあるのかを説明しました。 実際の隠れたコストは、普通、不可視オブジェクトのインスタンス化やプリミティブ値のボクシング/アンボクシングに起因します。これらのコストは、Kotlinコンパイラがどの...

DJI、救助活動・産業向けの最新ドローン「Mavic 2 Enterprise」発表

イメージ
DJI、救助活動・産業向けの最新ドローン「Mavic 2 Enterprise」発表 : 中国の大手ドローンメーカーDJIは、新作「Mavic 2 Enterprise」を発表した。 商品名にエンタープライズとあるように産業向けで、緊急の救助活動や高所などアクセスしにくいポイントにある機械設備の点検作業といった使用を想定している。Mavic 2 Zoomがベースで、ここにスポットライトやラウドスピーカー、ストロボビーコンなどが加わる。 ・2400ルーメンのスポットライト 12メガピクセルのカメラを搭載し、光学2倍ズーム、デジタル3倍ズームなのはMavic 2 Zoomと同じだが、イメージングハードウェアにより的確に被写体を検出することができるという。 新たに追加された機能としては、明るさ2400ルーメンのスポットライトがある。夜間でも視野を確保できるので探索活動時などに力を発揮する。 それから、M2Eスピーカー。これを使うと、地上にいる人向かって声をかけたり、指示したりすることができる。 ・自己発熱バッテリー採用 また、点滅ストロボビーコンでは周囲に存在を知らせることができ、夜間飛行時の衝突を回避するのに役立つ。もちろん自動衝突回避機能は搭載していて、周囲の機体のADS-Bシグナルをキャッチしてドローン操縦者にリアルタイムに知らせる機能も備えている。 加えて、今回新たに自己発熱バッテリーを採用している。これにより気温が氷点下など厳しい環境下でも素早くドローンを展開することが可能になる。 Mavic 2 Enterpriseは、本体にリモコン、バッテリー1つなどが付いてくる基本セットが1999ドル(約22万5000円)。ここに別途料金のアドオンを加える形になり、購入は問い合わせ方式になっている。 DJI

AWS エンタープライズサポート費用の計算

AWS エンタープライズサポート費用の計算 : 投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。 自分用メモ AWSエンタープライズサポートの考え方 エンタープライズサポートは、最小15,000 USD(約150万)となるが、一括請求しているAWSアカウントでエンタープライズサポート契約となっているものをまとめて計算することができる。つまり、2つエンタープライズサポート契約のAWSアカウントがある場合、一括請求した場合は、2つの合計の月額使用量に対してサポート費用が一度請求される。 https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/consolidatedbilling-support.html ビジネスサポートを比較してエンタープライズサポートを選択頂いたほうがサポート費用が抑えられる場合がある。 https://aws.amazon.com/jp/premiumsupport/pricing/ ビジネス いずれか大きい方 100 USD または - 以下の計算結果 - 月額 AWS 使用料のうち最初の0 – 10,000 USD の10% 月額 AWS 使用料のうち10,000 – 80,000 USD に対しては 7% 月額 AWS 使用料のうち80,000 – 250,000 USD に対しては5% 月額 AWS 使用料のうち250,000 USD を超える分に対しては3% エンタープライズ いずれか大きい方 15,000 USD または - 以下の計算結果 - 月額 AWS 使用料のうち最初の 0~150,000 USD の 10% 月額 AWS 使用料のうち150,000~500,000 USD に対しては 7% 月額 AWS 使用料のうち 500,000~1,000,000 USD に対しては 5% 月額使用料のうち 1,000,000 USD を超える分に対しては 3% 月額使用料が、10K USD の場合の例 ビジネスの場合、「月額 AWS 使用料のうち最初の0 – 10,000 USD の10%」に該当するのでサポート費用は、1K USD 一括請求して...

SORACOM LTE-M Buttonでストロングゼロを注文できるようにする

イメージ
SORACOM LTE-M Buttonでストロングゼロを注文できるようにする : SORACOM LTE-M Buttonが届いたので使ってみました 純正のAmazon Dash Buttonにストロングゼロボタンがないので,こいつを使ってワンクリックでストロングゼロが届くようにします 手順は以下の通り 1.予めAWS Lambdaで叩かれたら注文する関数を作っておく Amazonのログイン時に確認コード要求されるページが出ることがありますが, その点を美しく突破できていない以外は下記のページにソースまとめました AWS LambdaからAmazonの商品を購入する http://nc30mtd.oops.jp/blog/2018/11/aws-lambdaamazon.html 2.AWS IoT 1-Clickでデバイス登録する こっちのページに書いてあったので参照しました 下記のページではスマホから登録してますが,QRコードが小さくてスマホから読めなかったのでPC版のコンソールから登録しました クラウドの知識なしで試せるIoTデバイス「SORACOM LTE-M Button」をAndroidスマホでセットアップする #soracom #あのボタン https://dev.classmethod.jp/soracom/setup-soracom-ltem-button-by-android/ 3.登録したデバイスを有効化にする 4.登録したデバイスからLambdaを呼ぶようにプロジェクトを作成する 諸々設定したあとはこんな感じ リージョンが何故かus-west-2になってますが,動作確認するにOKだったので気にしないで進めました 5.さいごに それっぽく改造してみました おしまい

Shunting-Yard法を使って電卓のプログラムを作ってみた

Shunting-Yard法を使って電卓のプログラムを作ってみた :  はじめに みなさんこんにちは、村人です。ゆくゆくは電卓アプリを作りたいので、今回はその前段階としてShunting-Yard法を使って数式を計算するプログラムを書いたのでその備忘録です。 リポジトリは こちら どう使えるか 競技プログラミングなどで計算機についてのプログラミングが出題されることがあったり、実際に電卓を作る際に必要になったりします。 Shunting-Yard法(操車場アルゴリズム)とは Shunting-Yard法 を使うと、計算結果を簡単に取得できるだけでなく、 逆ポーランド記法 に簡単に変更することができます。実際のコードは後述しますが、被演算子と演算子でスタックを分けて、計算順序を考えながら計算していきます。 考え これを使って数式を計算する考えとしては以下のようになります。 while トークンがある: if トークンが数字 オペランドスタックへpush if トークンが関数 演算子スタックへpush if トークンが演算子 while ((演算子スタックの一番上が関数) || (演算子スタックの一番上が計算順序のより高い演算子) || (演算子スタックの一番上が計算順序の同じ演算子)) && (演算子スタックの一番上が左カッコじゃない) 演算子スタックと被演算子スタックから取り出して計算 被演算子スタックが足りない場合はエラー 演算子スタックへpush if トークンが"(" 演算子スタックへpush if トークンが")" while 演算子スタックの一番上が"("ではない 演算子スタックと被演算子スタックから取り出して計算 被演算子スタックが足りない場合はエラー "("を演算...

全ての開発者が学ぶべき5つの言語

全ての開発者が学ぶべき5つの言語 : 「どの言語を学ぶべきか」という議論はエンジニア向け記事の定番ネタですが、 HackerNoon に投稿された 5 Programming Languages Every Master Developer Should Learn という記事がなかなか興味深かったので翻訳してみました。 はじめに 「プログラマーは新しい言語を毎年1つは習得するべきだ」という趣旨の文章をどこかで読みました。(多分 CODE COMPLETE だったと思いますが) もしそれが難しくても、キャリアの中で最低限この後に紹介する5つの言語に通じておくことをお薦めします。 あらゆる会社は、多言語を自在に操れて、簡単なスクリプトも複雑なJavaプログラムもどちらも使いこなせるオールラウンダーの開発者を好みます。 実際に、シニア開発者にとって「1つ以上の言語に習熟している」ということは不可欠な素養です。 面接者は、C++やJava等、複数言語に通じているエンジニアに対して大きな関心を持ちます。 個人的には、C++もしくはJavaどちらかで豊富な経験を持ち、さらにGroovyやPerl、あるいはPython等のスクリプト言語の両方を使いこなせるエンジニアが私の好みです。(多くの場合、小さなスクリプトの方が書くのは簡単でアドホックな作業にはうってつけですし、私は自分の会社のエンジニアがJavaを使ってCSVファイルを読んだりTCP/UDPポートのメッセージをキャプチャするコードを書いたりすることは望みません) なぜ私はこの5つの言語を選んだのでしょう? その理由はシンプルかつ実践的で、私はこれらの言語を「用途」「パラダイム」「ポピュラリティ」に基づいて選択しました。 例えば、もしあなたがアプリケーション開発者になりたいなら、Javaを無視することは出来ないでしょうし、Webのあらゆるところで使われているという意味ではJavaScriptも同様です。 Cは「あらゆる開発者がキャリアの初期に学ぶべき言語である」と私は考えています。 Cを使うことで、システムレベルにおけるプログラミングの知見を得ることが出来ますし、JVMやCLRの背後に隠れている重要なコンセプトを学ぶことが出来ます。 Pythonは「スクリプト言語」の用途における私のファ...

【RubyOnRails】AWS上に環境を構築する

【RubyOnRails】AWS上に環境を構築する : 環境 Amazon Linux2 参考にさせていただいたサイト https://qiita.com/na0AaooQ/items/5bd62e630a2faf051a52 必要なライブラリをインストール yum -y install gcc-c++ glibc-headers openssl-devel readline libyaml-devel readline-devel zlib zlib-devel libffi-devel libxml2 libxslt libxml2-devel libxslt-devel sqlite-devel rbenvインストール git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv cp -p /etc/profile /etc/profile.ORG diff /etc/profile /etc/profile.ORG echo 'export RBENV_ROOT="/usr/local/rbenv"' >> /etc/profile echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile echo 'eval "$(rbenv init -)"' >> /etc/profile source /etc/profile RBENV_ROOT環境変数の有効化やrbenv init実行 env | grep RBENV 出力結果 RBENV_ROOT=/usr/local/rbenv RBENV_SHELL=bash インストールしたrbenvバージョン確認 rbenv --version 結果 rbenv 1.1.1-39-g59785f6 ruby-buildインストール git clone https://github.com/sstephenson/ruby-build.git /u...

【AWS】Amazon Linux2環境にMySQLをインストールしようとしてはまった

【AWS】Amazon Linux2環境にMySQLをインストールしようとしてはまった : 環境 Amazon Linux2 現象 Amazon Linux2で、MySQLをインストールしようとして、「No package mysql-server available.」のエラーメッセージが表示されてしまった。 対応した内容 以下、コマンドを実行して、My SQLのパッケージが存在するか確認 # yum search mysql Amazon EC2のyumリポジトリにMySQLのリポジトリが含まれていない模様。MySQL派生版のMariaDBがインストール済みですから、MySQLは含めていないんでしょうね。 MySQLをインストールする前に、MariaDBをアンインストールしました。 # sudo yum remove mariadb-libs # sudo rm -rf /var/lib/mysql 次に、以下のコマンドでMySQLのリポジトリを追加します。(MySQL公式サイトからyumリポジトリを追加) # rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 改めて、MySQLをインストールします。 # yum install mysql-community-server バージョンの確認 # mysqld --version mysqld Ver 5.7.23 for Linux on x86_64 (MySQL Community Server (GPL)) 参考にさせていただいたサイト https://enomotodev.hatenablog.com/entry/2016/09/01/225200

[初心者]AWSを無料の範囲で使っていると思ったら、2000円くらい請求された話

イメージ
[初心者]AWSを無料の範囲で使っていると思ったら、2000円くらい請求された話 : 背景 11月分のクレジットカードの明細を見てみると、AWSから472円ほど請求されていました。 9月末の2,3日しか設定いじっていない割に高い!と思ったのが、ことの始まりです。 最初に結論 かなり前に Amazon Linux 2でmysql-serverがインストールできないときの対処方法 で、NATゲートウェイを設定していました。 そして、MySQLなどの色々なツールをインストールしたので、EC2インスタンスの停止させ、NATゲートウェイは放置していました。 これが諸悪の根源でした。 NATゲートウェイとは? NATゲートウェイとは、インスタンスから直接インターネットに接続するのではなく、プライベートサブネットからインターネットへの片方向通信を実現する機能です。 図にすると、下のようなイメージのインフラ構成を実現していました。 こうすることで、プライベートサブネットにあるDBサーバに、ソフトウェアをネットワーク経由でインストールしたり、アップデートができます。 何が原因だったのか調査 EC2インスタンスもわざわざ無料枠であるAmazon Linux 2を選択して、お金がかからないものだと思っていました。 最初は、勉強がてら設定したElastic IPアドレスかと思いました。 しかし、数時間しか起動していないので、400円 = $4も取られるものか??と思って調べてみました。 EIPで料金発生するパターンとしないパターン #AWS | DevelopersIO より抜粋 ・$0.00 : 実行中のインスタンスと関連付けられている Elastic IP アドレス 1 つ ・$0.005 : 実行中のインスタンスと関連付けられている追加の Elastic IP アドレスあたり/1 時間(比例計算) ・$0.005 : 実行中のインスタンスと関連付けられていない Elastic IP アドレスあたり/1 時間(比例計算) ・$0.00 : Elastic IP アドレスのリマップ 1 回あたり(1 か月間で 100 リマップまで) ・$0.10 : Elastic IP アドレスのリマップ 1 回あたり(1 か月間で...

【 クラウドDB比較】無料枠で提供されるサービスレベル

【 クラウドDB比較】無料枠で提供されるサービスレベル : はじめに クラウドサービス多すぎる。 なんとなく使いたいものは決まっているのですけど、自己学習も兼ねてふわっとサービスレベルを比較してみる。 前提 無料枠で何ができるんだろう?の比較 個人開発レベルで何を選ぶかの選定に使う程度の比較 エンタープライズとして何を使うかレベルの詳細な機能比較ではない 初回登録時の「〜ドル分のクレジットをプレゼント!」みたいなのは、無視してます。 AWSとGCPとFirebaseとHerokuとMongoDB@Atlasの比較 最初に世の中全てのクラウドを比較しようとしてモチベーションが死にそうになった DBのカテゴライズはテキトーです あくまで自分が理解しやすい分類の仕方 注意事項 当たり前のことを書きます。 個人開発のサービスが育ったときにどれが一番安いかは、ケースバイケース 最新情報は公式サイトをご確認ください ざっくり把握することを前提にした記事なので、厳密には表現が違う部分があるやもです 比較対象 一行説明は、基本的に公式サイトから取得してます。 RDBMS 意外と少ない。 AmazonRDS@AWS :6 つの人気データベースエンジンから選択できるマネージドリレーショナルデータベースサービス。 AmazonRedshift@AWS :高速、シンプル、費用対効果の高いデータウェアハウス。 CloudSQL@GCP :MySQL と PostgreSQL のフルマネージド データベース サービス CloudSpanner@GCP :水平スケーリング可能で高い整合性を備えた、初のリレーショナル データベース サービス HerokuPostgres@Heroku :信頼性が高く、強力なデータベース(Postgres)。 ※ AmazonRedshift@AWS と CloudSpanner@GCP をRDBMSカテゴリにまとめて良いのか悩ましい。。。 NoSQL(KVS:サーバ接続) サーバからアクセスする系 MongoDB@Atlas :DBなんかに時間をかけずアプリ開発に時間をかけたい人向けの高速なMongoDBクラウドサービス。 AmazonDynam...

Vueで最初に作ったものがなぜかデジタル時計だったお話

イメージ
Vueで最初に作ったものがなぜかデジタル時計だったお話 : Vueに触れ始めて少し経ったある日、 「Vueも少しずつ慣れてきたし、何か一つ自分で作ってみようかな。 でもそんなに難しいのはまだ無理だし…。 とりあえず 時計 作るか!!」 というわけでこんな感じのものができました。 少々ネタではありますが、学んだことを織り交ぜながら紹介していこうと思います。 構成図 図のようにコンポーネントを作って組み合わせていきます。 LightStick オンで光ってオフで消える 「光る棒!!」 を作ります。 縦棒と横棒を選べるようにしておきます。 LightStick.vue <template> <div class="stick" :class="[type, {light: light}]" /> </template> <script> export default { props: { type: { typs: String, default: 'vertical' } }, data() { return { light: false } }, methods: { on() { this.light = true }, off() { this.light = false } } } </script> <style scoped> .stick { background-color: rgba(200,255,200,0.2); border-radius: 10px; } .vertical { height: 50px; width: 10px; } .horizo...

Vueで2つ目に作ったものがなぜかアナログ時計だったお話

イメージ
Vueで2つ目に作ったものがなぜかアナログ時計だったお話 : Vueで最初に作ったものがなぜかデジタル時計だったお話 こちらの続きです。 デジタル時計作ったならやっぱりアナログ時計も作っておかないと…。 というわけで完成品がコチラ。 今回はアニメーションは使っておりません。 構成図 針(Hand)と文字盤(Dials)の2つでアナログ時計(AnalogClock)を構成していきます。 非常にシンプルですね。 Hand Hand.vue <template> <div class="hand" :class="type" :style="{'transform': 'rotate(' + rotate + 'deg)'}" /> </template> <script> export default { props: { rotate: 0, type: '' }, } </script> <style scoped> .hand { background-color: rgba(255,255,255,0.8); } .seconds { width: 1px; height: 150px; transform-origin: 0px 130px; } .minutes { width: 3px; height :150px; transform-origin: 1.5px 130px; } .hours { width: 5px; height: 100px; transform-origin: 2.5px 80px; } </style> typeで針の種類、秒針(seconds)、分針(minutes)、時針(hours)を指定します。 rotateに針の角度を指定し、styleバインディングで動的に回してい...