のーずいだんぷ

主に自分用メモですが、もしかしたら誰かの役に立つかもしれません

Pythonでサブコマンドを持つCLIを使えるパッケージをつくった

何をしようとしたのか? CLIを作成する順序 1. デフォルトのPythonパッケージを作成する。(Cookiecutter) 2. CLI用のスクリプトを作成する。(Clickを使用する) 3. Pythonの配布用パッケージの設定する。(setup.py) 1. packages 2. entry_points 最後に ほん…

IntelliJでPythonモジュールの補完が効かない(unresolve)ときに確認すること5点

どういう状況か? 5箇所の設定を確認しよう 設定1:Pythonプラグインは有効になっているか 設定2:Project StructureのModule設定 設定3:正しいインタプリタが設定されているか 設定4:PreferenceのPython Console 設定5:モジュールのコンテンツルートが設…

メンタリストDaiGoさんの動画で有効な勉強法について学んだ

なんの記事? なぜ学んだのか? なぜDaigoさんの動画を選んだのか?他にも本とか色々あるよね? 動画まとめ 以下にして難解な概念を記憶に定着させるのか? 10歳児のような相手に対して説明することをイメージする 記憶定着についてもメソッドはある? 長時…

テスト駆動Python読んだ 〜その1〜

テスト駆動Pythonをよんだ 1-2章まとめ 1. pytestは命名規則がある。 2. 簡単なテスト(assertionとraises) テストの実行 assertionを使う 例外のテストをraisesで行う 3. デコレータによる色々 テストシナリオ(マーキング)作成 フィクスチャ(テスト専用関数)…

Serverless-FrameworkでLambdaにデプロイしたときの挙動とハマりポイント4点

やろうとしたこと ここでのハマりポイント4点 1. アップロード後のディレクトリ構造 2. ハンドラの指定方法 3. 新機能:既存のs3バケットへのイベント割当 4. Pythonのサードパーティモジュールが見つからない(module *** not found error) やろうとしたこと…

Magic Leap meetup#1に行ってきました

当日の構成 Magic Leapプレゼン Magic Leapの位置づけとか Magic Leapのデバイスについて Magic Leapを開発するためのいろいろ ML社が空間コンピューティングで目指す最終的なビジョン Magic Leapデモ この記事は編集中です タイトルの通り、xR業界に興味あ…

MacでHaskellの環境を構築する

ツールのインストール編 コンパイラをインストール stackをインストール プロジェクト構築編 REPLの使用 生成されるアプリケーションのついて ディレクトリ構成 プロジェクトの設定 アプリケーションの実行 最後に 参考 タイトルの通り、ちょっと前にHaskell…

IntelliJ(IDE)で作成したMakefileでエラー(Makefile:2: *** missing separator. Stop.)が発生する

発生したエラー 原因 対策 発生したエラー >> Makefile test: ls . .PHONY test make test Makefile:2: *** missing separator. Stop. 原因 このエラーはMakefileの各処理の内容をタブインデントで記述していないことでただしいターゲットと認識できずに発生…

Pythonにはプロパティのgetter、setterは不要、それがパイソニック

今日も一日一文法シリーズ、やる。 Pythonのリファレンスや、参考書を読んでこれは知らなかったなとか、うろ覚えだな…というものを個人的に紹介していく。 勉強中の方の役にたてば嬉しい。そんな趣旨ではじめた。 読者になってもらうと一緒に勉強できておす…

Pythonのジェネレータへの苦手意識をなくしたい

今日も一日一文法シリーズ、やる。 Pythonのリファレンスや、参考書を読んでこれは知らなかったなとか、うろ覚えだな…というものを個人的に紹介していく。 勉強中の方の役にたてば嬉しい。そんな趣旨ではじめた。 読者になってもらうと一緒に勉強できておす…

GCSにサービスアカウントを設定したがPermission Denied Errorがでる

何をしようとしたのか? 原因と対策 補足 何をしようとしたのか? GCSにファイルをアップロードする処理をPythonのgoogle-cloud-storageを使って実装していた。 その際にGCSのバケット単位でアクセス制限をかけようとし、専用のサービスアカウントを作成して…

Pythonの関数内関数とクロージャについて

今日も一日一文法シリーズ、やる 。 Pythonのリファレンスや、参考書を読んでこれは知らなかったなとか、うろ覚えだな…というものを個人的に紹介していく。 勉強中の方の役にたてば嬉しい。そんな趣旨ではじめた。 読者になってもらうと一緒に勉強できておす…

Pythonで新しいリストオブジェクトを作る方法(Copyメソッド)

一日一Python!はじめました! 最近業務でPythonに対する理解が以前と変わらないままだな…と思って始めた。 プログラミング言語の仕様を一度に把握するのは大変だけど、毎日一つずつ覚えていったらいつの間にかかなりマニアックな仕様すらも簡単に理解できる…

GoogleAdsenseでRoute53でドメイン登録しているはてなブログが見つからないため申請が通らない

どういう問題か? 解決方法 具体的な手順 1. S3にルートドメインのバケットを作成する。 2. バケットのプロパティでリダイレクトの設定 3. Route53でエイリアスレコードを作成する。 再度Adsenseで申請試してみると… その後(11/29更新) 参考 どういう問題か…

chaliceでapi-key認証のAPIをつくる

何をしようとしたのか API GatewayのAPI-key認証について chaliceのスモールアプリでREST APIを作成する。 chaliceアプリケーションの作成 chaliceアプリケーションをデプロイする。 API-keyと使用量プランの作成 実際にリクエストしてみる 認証方法 ハマる…

DeepLearning&xR開発用PCを構築する 〜その2:ssh & mDNS設定編〜

タイトルの通り、DeepLearning&xR開発用PCを構築するシリーズのその2のssh周りの設定を行う。 基本的にDeepLearningのマシンとして使用するが、基本的には外部サーバとして使用し直接ログインして使用することは考えていない人向けである。 なのでmDNSを使…

プログラマ1年目、10月振返り

実績確認 GitHubのContribution ブログ 読書 読了(一旦必要な知識は読み終えたと感じたもの) 読書中 振り返りと目標決定 Keep Problem Try 全体的な所感 初めての振り返り。(どう始めるべきかわからない…) 目標の不要論を最近たまに見かけるけども、やっぱり…

DeepLearning&xR開発用PCを構築する 〜その1:Ubuntu18.04(CUI)とWindows10デュアルブート設定編〜

DeepLearningとxR開発にはあまりにもスペックが足りないため急遽別のマシンを用意することにした。 これからシリーズとして複数の記事に分けて投稿しようと思う。 ※なお本記事でのデュアルブートはパーティションによるデュアルブートではなく、それぞれのOS…

API GatewayとLambdaで作ったREST APIのレイテンシが大きいときに確認した3つのこと

はじめに 確認ポイント1: Lambdaのメモリ 確認ポイント2: Lambdaのコールドスタート 確認ポイント3: API Gatewayのエンドポイントのタイプ その他の速度改善方法 確認するための方法 参考 はじめに 最近仕事で初めてネットワーク外に公開するAPIを作成したの…

Python のサーバレスwebフレームワークのchaliceのconfig.jsonで設定できることをまとめた

chaliceとは? ざっくりまとめ API Gateway Lambda ディレクトリ構成(設定ファイルの場所) 設定内容 設定を分ける方法 API Gatewayのstage毎に設定を分ける Lambda関数ごとに設定を分ける 例外としてREST APIのlambda関数は名前が決まっている 簡単な例 IAM…

CloudWatchLogsエージェント(awslogs)がS3に保存している設定ファイルをフェッチできない

何をしようとしたのか 詳しい状況(調査履歴、結論だけでも十分です) プロセスはちゃんとrunning ログを確認 設定ファイル確認 手動でエージェントに設定をフェッチ 結論 うまく行った場合のログ AWSで挙動がおかしい時、頭の片隅にIAMの権限不足を入れとこう…

Serverless Frameworkでlayerをデプロイ&そのままデプロイしたlambda関数でも使用する

やろうとしたこと 設定する内容 結論 Ref:ってなに? 参考 やろうとしたこと Serverless Frameworkを使用するとlambdaのlayerを簡単にデプロイできる。 layerは複数のプロジェクトで同じライブラリを使いたい時等に非常に役に立つが、たまに一緒にデプロイし…

AndroidSDKのビルド・デプロイ周りでぶつかったエラーを供養する

はじめに エラー1 エラー1 対応 エラー2 エラー2対策 どのNDKバージョンにすればよいか? エラー3 エラー3対策 はじめに 先日、会社で新しいプロダクトの理解を深める過程で「せっかくだからプロダクトについての事前情報一切なしでプロダクトを把握する能力…

Androidのエミュレータをコマンドラインから起動する

はじめに 結論なにをするか。 補足 参考 はじめに androidのエミュレータは本来Android Studioのメニューバー>[Tools]>[AVD Manager]を選択して起動するものだが、実際はSDKの中に実行ファイルがあるのでそれを直接動かせば起動できる。 ただし、環境変数周…

Route53で管理しているドメインからサブドメインを作成して、別アカウントのAPI Gatewayのカスタムドメインと紐付ける

やること整理 1. アカウントBでサブドメインを作成する。 2. アカウントAの親ドメインとサブドメインのトラフィックをを紐付ける 3 アカウントBのAPI Gatewayでサブドメインをカスタムドメインとして設定する。 3.1 ACMでサブドメインのTLS証明書を取得する …

AWS DynamoDBでエラー 'One or more parameter values were invalid: Condition parameter type does not match schema type' がでた。

何をしたのか? エラー内容(タイトルと同じ) 問題の引数param 原因は? 修正結果 何をしたのか? 先日同様にAWS SDK(Node.js)のdocumentClientクラスでqueryを投げようとしていた。 エラー内容(タイトルと同じ) One or more parameter values were invalid: …

AWS DynamoDBでエラー[Invalid KeyConditionExpression: Syntax error; token: -, near]が発生する

何をしようとしたのか エラー本文 メソッドに渡すパラメータ 結局原因は? 対策した つまりどういうことなのか? 何をしようとしたのか Node.jsのAWS SDKを使用して、query( )を行いたかった。 (DocumentClientクラスを使用) 以下のようなparamを設定したと…

作成したIAMロールがEC2インスタンスに設定できない問題

どういう問題か? 何が原因だったのか?? 設定(信頼関係の編集) 設定(インスタンスプロファイルARN) 設定完了! どういう問題か? EC2は起動する時、もしくは起動中のインスタンスにたいしてIAMロールを設定できる。 AWSのリソースをこのインスタンスから使…

チャンスを掴むために必要なこと

メンタリストdaigoさんの動画「チャンスをつかめるかわかるテスト」を見た感想 私はdaigoさんの動画が好きで、よく参考にさせていただいているのですが、「よくよく考えると動画もインプット作業だよな」とふと思ったので とりあえず定着の為に感想?と書こ…

ubuntuで自動のapt updateを停止する方法

なぜこれが必要なのか 解決方法は? どうすれば止まる? なぜこれが必要なのか Ansibleやitamae等のプロビジョニングツール使った場合に遭遇しやすいエラーとして、起動直後にバックグラウンドでaptが実行されていることでapt関連のファイルがロックされてい…