タグ

ブックマーク / koty.hatenablog.com (38)

  • ゴミAlexa Skillを作った - @kotyのブログ

    今日審査に合格して公開にいたった。 https://www.amazon.co.jp/dp/B07DPKSP3R/ Google Assistant版も半年ほど前に作った。 https://assistant.google.com/services/a/uid/0000009b8eb935b1?hl=ja AlexaもAssistantも大まかな作りや出てくる用語は同じ。ただしバックエンドのfunctionにPython(しかも3.6)を使える点と無料で使う範囲内だと外部にhttpリクエストを送れる点で、 Alexaの方が作りやすい。 また、多くのAWSの機能を使えるのAlexa Skillのも利点である。件ではリクエスト内容をDynamoに保存して2回目以降は地区名を言わなくても良いようにできた。 審査はAlexa、Assistantともに3回目の申請で合格した。もう少し下調べすれば3

    ゴミAlexa Skillを作った - @kotyのブログ
    kkotyy
    kkotyy 2018/06/13
    書いた
  • AWSのMFAができなくなって復旧した話 - @kotyのブログ

    ある日突然Nexus5xが文鎮化した。当該端末にインストールしたGoogle Authenticatorアプリを使っていろんなサイトでMFAを使っていた。 ほとんどのサイトはリカバリーコードやSMSの認証といったワークアラウンドがあったため何とか復旧できた。 しかしAWSだけ何とかならなかった。 AWSMFAできない場合、パスワードを忘れたときと同様に以下のフローに流される。 rootアカウントに登録したアドレスにメールを送信 文内のURLをクリック 開いた先でSMS送信 SMSのPINコードを入力 自分は3で詰まった。正しい電話番号を登録していなかったのだ。(なので4は「たぶんそうだろう」レベルのものである) どうやら最近はAWSアカウントを新規に作成する際にSMS認証があるようだ。しかし自分が何年か前に登録した際にはそんなものはなく、電話番号は適当に入力したままだった。なのでSMS

    AWSのMFAができなくなって復旧した話 - @kotyのブログ
    kkotyy
    kkotyy 2018/05/08
    書いた
  • 長野市ごみ収集カレンダーを新年度版データに入れ替えた - @kotyのブログ

    play.google.com 現在10人もの方々にお使いいただいているこのアプリのデータを2018年度版に入れ替えました。お待たせしました。待ってませんかそうですか。 一年ぶりにアプリをビルドしようとしたらビルドできず、いろいろ試行錯誤して最終的にこれで直ったっぽい。 c# - Error executing task XamlCTask- Xamarin - Stack Overflow 分かるわけない。Xamarinのつらみを感じる、というかフロント界隈は片手間ではできないことを再確認したのでありました。 残課題として、 前日の夜にも通知を送ってほしいと要望をいただいている 月末になると通知を消してもすぐに通知が出てきてしまう というものがあります。後者は謎で、以下のコードなんだけど 謎です。気が向いたら調べる。 あと、Google Assistantアプリの方も対応しないと。。

    長野市ごみ収集カレンダーを新年度版データに入れ替えた - @kotyのブログ
    kkotyy
    kkotyy 2018/04/13
    ようやくできた。
  • CloudFront+ALB+nginxで静的ファイルをserve という構成におけるtrailing slashのリダイレクト問題 - @kotyのブログ

    メモ書き。 構成としてはタイトルの通り、CloudFront + ALB + EC2 + nginx。そしてnginxで静的ファイルをクライアントに返す、という構成。 このとき、 /hoge というリクエストに対し、 /hoge/index.html を返したい場合、 nginx はいったん 301 を返して、 クライアントを/hoge/ にリダイレクトさせる。このときCloudFrontを使っていない場合は、 www.example.com/hoge → www.example.com/hoge/ というリダイレクトになる。 ところが、CloudFrontを使っていると、 www.example.com/hoge → www-example-com-xxxxxxx.ap-northeast-1.elb.amazonaws.com/hoge/ のように、ALBのURLにリダイレクトがかかる

    CloudFront+ALB+nginxで静的ファイルをserve という構成におけるtrailing slashのリダイレクト問題 - @kotyのブログ
    kkotyy
    kkotyy 2018/03/22
    書いた
  • 謹賀新年2018 - @kotyのブログ

    あけました。 昨年の振り返り 私については年末に風邪を引いてしまったものの、一年を通して見ると おかげさまで家族みんなが大きな病気もせず、一年を過ごせました。それだけで他に言うこともないのですが、強いて振り返ります。 子供中心の毎日 相変わらず子供中心の日々です。日々家事や育児の一端を担えてとても充実しています。長時間勤務が常態化した職場だとこうはいきません。 息子はだいぶ言葉を覚えて、会話が楽しいです。たぶん今が一番かわいいんだろうと思います。 転職三年目だった 引き続きPython, Django, AWS の案件が主でしたが、曲がりなりにも管理職を拝命し手を動かす時間はこれまでよりも減ってしまいました。その分、メンバーにいかに成果を挙げてもらうかを考えるようになりました。 担当案件は、後輩君とペアで彼にスキトラする感じで進めました。乾いたスポンジのように吸収してくれるので一緒に仕事

    謹賀新年2018 - @kotyのブログ
    kkotyy
    kkotyy 2018/01/01
    書きました。
  • AWS Lambda+Serverless FrameworkでDjangoを使う - @kotyのブログ

    この記事は Django Advent Calendar 2017 - Qiita の17日目の記事です。 ここ数年サーバーレスアーキテクチャが盛り上がっているものの、Djangoと組み合わせた事例がググってもあまりないので書いてみました。ググっても出てこないということは需要が無いということかもしれませんが。。。みなさんFlaskといった軽量なwebフレームワークとDynamoって組み合わせで使ってるんですかね。 私はLambda+Djangoという組み合わせで番投入した経験はありません。記事は、運用に使えそうか?という観点で検証しました。 記事のサンプルコードは以下に置いてあります。各種バージョンはgithub内のrequirements.txtを参照してください。 GitHub - koty/dj-lambda-sample: A sample of Django app on

    AWS Lambda+Serverless FrameworkでDjangoを使う - @kotyのブログ
    kkotyy
    kkotyy 2017/12/17
    書きました。
  • 第一回ながのRubyの会参加記録 - @kotyのブログ

    NSEG のコアメンバーである とみたさんが発起人となり、ながのRubyの会の第一回が開催されました。割と中信からの参加者がいらっしゃったので、第二回がもしあるなら松か塩尻あたりで開催するのも良いんではないでしょか。 naruby.connpass.com イベント公開後に発表者が少なめだったこともあり、とみたさんからどうよと言われたので、無理くりネタをひねり出して私も発表しました。 普段Djangoを使っている人間がruby on railsを勉強してみた話 from ko ty 多少の色の違いはあるものの、両者で実現できることに大差はありません。最終的には好き嫌いの正解になるように思います。 結論を見ると割とネタに走っていますが、Ruby歴3日だとこれくらいしかできませんでした。何とぞご容赦ください。。。Rubyは今後も深入りする予定は無いのですけども、微力ながら会を盛り立てられれ

    第一回ながのRubyの会参加記録 - @kotyのブログ
    kkotyy
    kkotyy 2017/12/05
    書きました #naruby #nseg #glnagano
  • 第4回 オブジェクト指向設計実践ガイド 読書会 記録 - @kotyのブログ

    nseg.connpass.com 各人それぞれの理由でキャンセルした人が何人かいたのもあり、参加者は今シーズン最少の4人でした。 スコープを制御するキーワードはrubyにはpublic/protected/privateがあるようですが、pythonにはありません。_(アンダースコア)を変数の先頭に1個つけると慣習的なprivate、2個つけると物理的なprivateという意味になります。*1 参考:9. クラス — Python 3.6.5 ドキュメント class SomeClass(object): _some_protected_field = 'some_value' __some_private_field = 'some_value' o = SomeClass() print(o._some_protected_field) # 呼べる print(o.__some_pr

    第4回 オブジェクト指向設計実践ガイド 読書会 記録 - @kotyのブログ
    kkotyy
    kkotyy 2017/10/18
    書いた
  • 第3回 オブジェクト指向設計実践ガイド 読書会 記録 - @kotyのブログ

    nseg.connpass.com 前回に引き続き11名の参加者があり盛況でした。自分はお仕事の関係で途中参加しました。 今回は依存関係に関する話題。全体としては同意ですが、パラメータの順序への依存を切るためにハッシュオブジェクトに包むというのは同意できません。訳注にあるようにRuby(またはPython)では名前付き引数を使うのが良いと思います。 こんな感じ。 class Gear(object): def __init__(self, chainring, cog, wheel): self.chainring = chainring self.cog = cog self.wheel = wheel Gear(chainring=52, cog=11, wheel=Wheel.new(26, 1.5)).gear_inches ハッシュに包むとIDEのコード補完の恩恵が受けられません

    第3回 オブジェクト指向設計実践ガイド 読書会 記録 - @kotyのブログ
    kkotyy
    kkotyy 2017/10/04
    書きました。 #nseg #glnagano
  • 第2回 オブジェクト指向設計実践ガイド 読書会 記録 - @kotyのブログ

    nseg.connpass.com 読書会常連の @tmtms さんが今回は不在でrubyを教えてくれる人がいなくて困ったな〜と思っていたら、rubyを知っている方が3人も来てくれてとっても助かりました。 外部からの参加者が5名、ギーラボ関係者が5名と最近になく賑やかな読書会になりました。全員がちょうど一度づつ読めたのも良かったです。 今回はrubyの文法についての質問が多めでしたが、rubyを知っている人にとってはrubyの文法理解に時間が多く取られるのはあまり良くないな〜と思いました。徐々に慣れるとは思うので、次回以降もrubyist諸氏におかれては今日に懲りずにご参加いただきたいです。 書籍内に出てくるコードはこちらで参照できます。 github.com 以下、普段pythonを書いている人間からの所感をいくつか。 getter/setterについて attr_readerを使ってフ

    第2回 オブジェクト指向設計実践ガイド 読書会 記録 - @kotyのブログ
    kkotyy
    kkotyy 2017/09/20
    書きました
  • jinja2+WeasyPrintでお手軽印刷 - @kotyのブログ

    過去にこんな記事を書いております。 koty.hatenablog.com この記事から4年近く過ぎた今でも印刷の需要はあります。ありますよね? 上記の記事はWPF(Windowsアプリ)ですがDjangoPDFを出す機会があったのでメモ的に残します。 おおまかな方針としては、Jinja2でHTMLを生成→WeasyPrintでPDFに変換 という流れです。 自端末のPythonのバージョンは3.6です。 requirements.txtはこちら。 WeasyPrint==0.40 Jinja2==2.9.6 Django==1.11.5 この記事としては必須ではないのですが、templateを描画するbackendがJinja2になるようsettings.pyを変更します。 TEMPLATES = [ { 'BACKEND': 'django.template.backends.jin

    jinja2+WeasyPrintでお手軽印刷 - @kotyのブログ
    kkotyy
    kkotyy 2017/09/15
    書きました。
  • PyCon JP 2017 に参加してきた - @kotyのブログ

    参加された皆さま、スタッフの皆さま、お疲れさまでした。簡単ですが参加報告です。 ブースを出した 昨年からスポンサーをさせていただいていましたが、今年はブースも出しました。その辺の様子は以下をご覧ください。 katekichi.hatenablog.com 私が転職してきてから数えても3回目の参加となり、だいぶ知り合いも増えてきました。そういった方々と立ち話しするだけでも楽しくすごせました。 セッションの所感 聴講セッション一覧 1日目 プレゼンテーション:Industrial Test Automation with Asyncio | PyCon JP 2017 in TOKYO プレゼンテーション:Using machine learning to try and predict taxi availability | PyCon JP 2017 in TOKYO プレゼンテーション:

    PyCon JP 2017 に参加してきた - @kotyのブログ
    kkotyy
    kkotyy 2017/09/11
    書きました。 #pyconjp
  • drf_writable_nestedを試してみた - @kotyのブログ

    Django Restframeworkを使ってAPIを書くとコードの記述量が少なくて良いのですが、ネストしたオブジェクトの更新が煩雑になる点がちょっと不満です。ネストしたオブジェクトの更新をしようとすると途端に記述量が増えます。 実際、公式ドキュメントを見ると、 def create(self, validated_data): tracks_data = validated_data.pop('tracks') album = Album.objects.create(**validated_data) for track_data in tracks_data: Track.objects.create(album=album, **track_data) return album とあります。ForeignKeyフィールドであるtracksをpopしてからcreateする必要があり

    drf_writable_nestedを試してみた - @kotyのブログ
    kkotyy
    kkotyy 2017/09/01
    書いた
  • vue.jsを始めてみた - @kotyのブログ

    日の成果。 最近社内で突如としてSPA熱が高まっていて、勉強がてら作っている。 vue-cliでboilerplate的なものはできるので、そこからちょびちょびと機能追加していった。行の選択に応じて下部の詳細部分が書き換わる。reactiveで良い感じ。 Reactに取り組んでいる人がいて様子を見るにかなり苦戦している。慣れれば、あるいは大規模なシステムだと、Reactの方が効率が良いのかもしれない。だけど最初の入りやすさから自分はvueを選んだ。ちょっとかじっただけでもここまでできるのだからvueは最初のハードルは低いんじゃないだろうか。 この調子で、家業の伝票印刷システムのweb版を作りたい。どれくらいかかるか分からないけど。webpackの使い方とか全然分からないまま作っているけどとにかく動くものを作ることを優先する方が性に合う。

    vue.jsを始めてみた - @kotyのブログ
    kkotyy
    kkotyy 2017/08/15
    書いた
  • Django Background Tasksでお手軽バックグラウンド処理 - @kotyのブログ

    バックグラウンドで動くバッチ処理を作りたい時にスケジューラを使うと思います。Pythonで代表的なタスクスケジューラはCeleryですかね。 でも、単に、長めの処理をキューイングしてシリアライザブルに実行していきたいといった簡単な要件だとちょっと大げさ過ぎるように感じ、他の仕掛けを探した所 Django Background Tasks というパッケージがあったの今回使ってみました。 基的には、ドキュメントに書いてある通りですが。。 まずインストール。利用した時点でのバージョンは 1.1.0rc2でした。django-background-task (単数形)というパッケージも存在するのでご注意。今回紹介する複数形のは単数形のをforkしている模様です。 pip install django-background-tasks settingsに設定を追記します。 INSTALLED_AP

    Django Background Tasksでお手軽バックグラウンド処理 - @kotyのブログ
    kkotyy
    kkotyy 2017/08/14
    書いた
  • SPAのOpen Graph Protocol 対応について。さらにCloudFrontを経由した場合についてのつらい話。 - @kotyのブログ

    もう半年以上前になってしまうけど、この話題。 サーバーサイドレンダリング不要論 - Qiita ogp出すためにUAを見てアプリケーションサーバーに投げたりしてるけどcloudfrontでは既定でUAが書き換えられちゃうのでキャッシュヒット率落ちるのを覚悟の上でUAを通すという辛い状況。2016/12/24 17:32 b.hatena.ne.jp client → cloudfront → ELB → EC2(nginx → gunicorn ) という構成。 nginxのリバースプロキシにて /api はgunicornにルーティング それ以外は try_filesで /index.html を返すという設定 基的にはこれで動く。しかしOGPが問題。この作りだとOGPの生成にはJavaScriptが動く必要があるが、twittterやFBのクローラーはJavaScriptを解釈しない

    SPAのOpen Graph Protocol 対応について。さらにCloudFrontを経由した場合についてのつらい話。 - @kotyのブログ
    kkotyy
    kkotyy 2017/08/01
    書いた
  • なつかしのtypist - @kotyのブログ

    中学でFM-TOWNSを使う機会があったけど、格的にコンピュータを使うようになったのは大学のUNIX端末だった。そこで最初にtypistというコンソールアプリで練習をしてタッチタイピングができるようになっていった。今思えば驚きの地味さ加減なアプリケーションだ。 ということをふと思い出して今使うのはどうすればいいのだろうと調べたら、homebrewで入るらしい。 brew install gnu-typist タッチタイピングできてない人はこれで練習したら良いと思う。 以上おっさんの昔話でした。(もっとまともな記事を書かないと。。。)

    なつかしのtypist - @kotyのブログ
    kkotyy
    kkotyy 2017/07/27
    書いた..
  • pypiデビューした - @kotyのブログ

    Pythonistaなら誰もがあこがれる(よね?)、pypiパッケージへのデプロイをビクビクしつつやってみた。 pypi.python.org 諸事情でStackPathのAPIを叩きたかったのだけどPythonAPIがなかったのでやってみた。実際にはStackPathの前身であるMaxCDNのAPIをForkするだけだったので胸を張ってパッケージオーナーとは言いづらい。。。お手軽さとしてはpypiデプロイ初体験として最適だったと思う。 ところでStackPathはフリープランが無くて試用期間が2週間しかないので、それ以降は自腹を切らんとメンテできない。どうしようかな。 実際のpypiへのデプロイ手順はこちらのとおりなので特に書くことはございません。。。(ぉぃ qiita.com 世界でいちばん簡単な Pythonプログラミングのe[最新版] Pythonアプリ作りの考え方が身に付

    pypiデビューした - @kotyのブログ
    kkotyy
    kkotyy 2017/03/26
  • 長野市unofficialごみ収集カレンダーアプリを作った話(データ調達編) - @kotyのブログ

    突っ込みどころはありまくりだけど、アプリがどうにか実用レベルになったので記事を書きます。 初めてスマホアプリを作りました。 play.google.com Xamarin製です。Xamarinにかんしてはまた別の記事で書きます。ここではアプリ内で使っているカレンダーデータをどう調達したかを書きます。 アプリを作るきっかけ この記事を見たのがきっかけです。 ごみ分別アプリ(信州大学学生が作成しました。) - 長野市ホームページ このアプリを使ってみると、通知機能がありませんでした。我が家では私がごみ出し担当なのでその日の朝に何のごみを出せる日なのかを通知してほしいのです。この記事に 長野市では、開発段階から行政情報を提供し とあり、調べるとカレンダーはPDFで公開されていました。 http://www.city.nagano.nagano.jp/site/kateigomi/121416.h

    長野市unofficialごみ収集カレンダーアプリを作った話(データ調達編) - @kotyのブログ
    kkotyy
    kkotyy 2017/03/09
    ポエムになってしまった。
  • 謹賀新年2016 - @kotyのブログ

    あけました。 昨年の振り返り おかげさまで家族みんなが大きな病気もせず、一年を過ごせました。それだけで他に言うこともないのですが、強いて振り返ります。 子供中心の毎日 息子が保育園に通い出しました。同時に奥さんも育休から復帰。通わせている保育園が偶然特殊な方針を掲げているおかげで、毎日大量の洗濯物を持ち帰ってきます。それもあり、毎日の自分の時間がほとんどありません。*1 ほかの人を見ていると同じような状況なので、このくらい小さい子供がいる場合は仕方ないんでしょうね。 ここ最近だいぶ言葉を覚えてきました。宇宙人から人間に急速に近づいています。 転職一年目だった 期待通り、自由です。良いことばかりではありませんが、自分には今の会社が合っています。*2でも、家庭を優先して、業の案件以外にほとんど手を出せませんでした。 Python, Django, AWS の案件が主でした。まだまだ勉強中です

    謹賀新年2016 - @kotyのブログ
    kkotyy
    kkotyy 2016/01/03
    リンク貼り直し。相変わらず仕事が粗くてすみません。。。