ブックマーク / dev.classmethod.jp (91)

  • Python2.7(Lambda)でタイムゾーンの略称(JST, PDT等)をパースする方法 | DevelopersIO

    こんにちは、臼田です。 「Tue, 14 Mar 2017 00:24:08 PDT」みたいな文字列をdatetime型にして保存したいケースが有ると思います。 私は、AWSRSSからpubDateを取得した際に上記のようになっていたため、これをLambda(Python2.7)上で扱いたいと考えました。 タイムゾーンの略称を扱う難しさ 時間の文字列からdatetimeを取得するには、datetime.datetime.strptime()が利用できます。 しかし、Python2.7ではstrptime()でタイムゾーンの略称を扱う%Zが利用できません。逆にdatetime型からstrに変換するstrftime()では利用できるのに、です。 これはどういうことかと調べてみると、ここで情報を見つけました。 要約すると、タイムゾーンの略称は重複している名称がある為、strptime()では%

    Python2.7(Lambda)でタイムゾーンの略称(JST, PDT等)をパースする方法 | DevelopersIO
    nakeddiver
    nakeddiver 2017/03/16
    lambdaは何が組み込まれているのかちょっとわかりづらい
  • AWS Serverless Application Modelを利用してAWS Health Toolsを使ってみた | DevelopersIO

    はじめに こんにちは、中山です。 米国時間03/06、AWSからAWS Health Toolsが発表されました。このリポジトリは、AWS Healthに発生したイベントに応じてCloudWatch Eventsで定義したルールを呼び出し、ターゲットとなるLambda関数を起動させるサンプルを集めたものです。サンプルには主にLambda関数のコードとCloudFromationのテンプレートが含まれています。GitHubで管理されているため、世界中の開発者によりコミュニティベースで開発可能なリポジトリになっています。早速使ってみたのでエントリにまとめたいと思います。ただし、そのまま使うのもあまりおもしろくないので、今回はAWS Serverless Application Model(以下AWS SAM)から使ってみます。 なお、エントリを執筆する上で検証に利用した主要な各種ツールのバ

    AWS Serverless Application Modelを利用してAWS Health Toolsを使ってみた | DevelopersIO
    nakeddiver
    nakeddiver 2017/03/08
    お、マニュアル災害ツールみたいなのできるんか
  • Pythonコードからコマンドラインインターフェイスを自動生成するツール『Python Fire』を試してみた | DevelopersIO

    先日、Googleから『Python Fire』なるものが発表されました。関連記事によると『Pythonコードからコマンドラインインターフェイスを自動生成するツール』なのだそうです。ざっと見た感じ利用のハードルも低く、すぐに使えそうなものでしたので早速試してみました。 Google Open Source Blog: Introducing Python Fire, a library for automatically generating command line interfaces Python Fireの導入 Python Fireの導入方法及び使い方については下記GitHubの情報にまとまっています。こちらを参考にしながら進めて行きます。 GitHub - google/python-fire: Python Fire is a library for automaticall

    Pythonコードからコマンドラインインターフェイスを自動生成するツール『Python Fire』を試してみた | DevelopersIO
  • 【AWS China】EC2にSSH接続する & AWS CLIを使ってみる | Developers.IO

    最近AWS中国リージョン(以下AWS China)に触れる機会がありました。著者がAWSを初めて触ったときから5年くらい経つのですが、AWS Chinaを使うのは初めてです。AWS Chinaを触ってみて気づいたことをメモとして残しておきます。 記事の内容は執筆時(2017/2/25)の内容をベースにしています。最新の情報とは異なる可能性がありますのでご了承ください。 AWS Chinaとは ざっくり言えば、中国向けに展開されているAWSです。2013/12に公開が発表され、現在では中国の企業を対象に利用可能となっています。 アマゾン ウェブ サービスが 近日公開予定の中国リージョンについて発表 (2013/12/18の記事) 既にAWSを利用されている方向けにAWS Chinaと一般のAWSの大きな違いを伝えるとすると、主に以下の点が挙げられます。 AWS China以外で作成された

    【AWS China】EC2にSSH接続する & AWS CLIを使ってみる | Developers.IO
  • 【小ネタ】知っていましたか?RDSを別のVPCに移動できることを | DevelopersIO

    ご機嫌いかがでしょうか、豊崎です。 小ネタです。今回はRDSのVPC変更について書かせていただきます。 VPCを跨いだRDSの移動を行えることを知りませんでした。 非常に簡単に変更することができましたので、ここに書かせていただきます。 やること 同じAWSアカウントにVPCを2つ用意して、それぞれDBサブネットグループを用意します。 ここではdb1-subnet(移動元)と、db2-subnet(移動先)とします。 db1-subnetからdb2subnetへ移動したいと思います。 それでは移動してみる AMC(AWSマネジマントコンソール)からRDSの画面を開きましょう。 対象のDBインスタンスを選択>インスタンスの操作>変更を押します。 ネットワーク&セキュリティから移動先のサブネットグループを選択します。 また、移動先VPCで適用するセキュリティグループを選択しましょう。 赤枠で囲っ

    【小ネタ】知っていましたか?RDSを別のVPCに移動できることを | DevelopersIO
  • [レポート] 【17-A-3】サーバレスにおける開発プロセス戦略 @ Developers Summit 2017 #devsumi | Developers.IO

    毎年2月に目黒雅叙園にて開催されているデベロッパーの祭典『Developers Summit』。2017年の今年も02/16(木)〜02/17(金)の2日間に渡って行われ、私個人としても例年通り参加してきました(2012年以降6年連続)。当エントリでは聴講セッションのうちの1つ、『サーバレスにおける開発プロセス戦略』の内容についてレポートしたいと思います。 Developers Summit 2017 エンジニアとして生きる、技術の先にある現実に踏み出す 【17-A-3】 サーバレスにおける開発プロセス戦略 | Developers Summit 2017 目次 当セッションの登壇者 パネルディスカッション内容:編 各者自己紹介&サーバレスの概要について Q.サーバレスを導入したシステム、及び導入で得られたメリットについて Q.導入の経緯 Q.導入時に苦労した点等 Q.ユニットテストにつ

    [レポート] 【17-A-3】サーバレスにおける開発プロセス戦略 @ Developers Summit 2017 #devsumi | Developers.IO
    nakeddiver
    nakeddiver 2017/02/23
    “吉田: ”
  • EC2 Systems Manager のパラメータストアを利用したアプリケーション環境設定の管理 | DevelopersIO

    こんにちは、藤です。 AWS re:Invent 2016 で EC2 Systems Manager がリリースされ、EC2 の運用がより便利になりました。今回はその一機能のパラメータストアで実際の開発現場を想定して、アプリケーションの環境設定を管理する方法を考えてみました。 アプリケーションの環境設定管理 アプリケーションが動作する上で環境に依存する設定は多くの場合、存在します。例えば、Web アプリケーションであれば、データベース、キャッシュシステム、マイクロサービス化が増えてきている昨今では他マイクロサービスコンポーネントなど、多くの他システムとの接続情報があります。データベースへ接続するにはデータベースのエンドポイント、ポート番号、ユーザ名、パスワード、データベース名、キャッシュシステムへ接続するにはエンドポイントの情報が必要となります。これらはアプリケーションが動作する環境に

    EC2 Systems Manager のパラメータストアを利用したアプリケーション環境設定の管理 | DevelopersIO
    nakeddiver
    nakeddiver 2017/02/22
    “AWS re:Invent 2016 で EC2 Systems Manager がリリースされ、EC2 の運用がより便利になりました。今回はその一機能のパラメータストアで実際の開発現場を想定して、アプリケーションの環境設定を管理する方法を考えてみました。
  • Python(boto3)でS3にデータをファイル保存せず直接アップロードする方法 | DevelopersIO

    こんにちは、臼田です。 Pythonを利用してS3にデータをアップロードする際、boto3を利用することになると思いますが、検索するとファイルからアップロードする方法がいっぱい出てきます。 でも、私はスクリプトの中で作成したjsonデータを直接S3に格納したかったんです。 なぜなら、Lambdaで処理したデータをjsonにして格納することが目的だったので、一時的にファイルで保存するなんてことは考えられないからです。 boto3の事、よくわかっていなくてハマってしまったので共有したいと思います。 執筆時のboto3のバージョンは1.4.4です。 PythonLambda前提の2.7です。 S3へ直接保存する方法 boto3のドキュメントのclass S3.Objectのput()メソッドには、下記のように記載があります。(ver.1.4.4現在) Request Syntax respon

    Python(boto3)でS3にデータをファイル保存せず直接アップロードする方法 | DevelopersIO
    nakeddiver
    nakeddiver 2017/02/22
    “というわけで、わざわざbytearrayに入れなくても、下記のような形で直接データを送れます。 ”
  • 「フロントエンドエンジニアに伝えたいインフラの話」にて登壇させて頂きました。 | DevelopersIO

    まとめ 普段あまり接することのない、フロントエンドの方とお話しする機会ができ貴重な経験となりました。 懇親会に参加できなかったのが残念でした。

    「フロントエンドエンジニアに伝えたいインフラの話」にて登壇させて頂きました。 | DevelopersIO
    nakeddiver
    nakeddiver 2017/02/22
    AWSがすごいという話
  • Amazon S3 静的ウェブホスティングの継続的デリバリ | DevelopersIO

    こんにちは、藤です。 先日、Amazon S3 の静的 Webホスティングにコンテンツをデプロイする方法が気になったので考えてみました。ちなみに静的ウェブホスティングだけじゃなく、S3 バケットと Git リポジトリの連携全般に利用できます。 概要 AWS 上で Webシステムを構成する際に、CloudFront のパスルーティングで、静的コンテンツは S3、動的コンテンツは EC2(前段に ELB)にアクセスすることで、低コスト、高可用性な構成を組むことができます。(静的コンテンツのみであればEC2レス) デプロイツールが発展してきて、CIツール、CIサービスを利用することでデプロイの自動化を簡単に実装することができるようになりました。AWS でも CodeDeploy を利用することで、EC2 へのデプロイが自動化できます。最近では Blue/Green デプロイ機能が追加され、既存

    Amazon S3 静的ウェブホスティングの継続的デリバリ | DevelopersIO
  • AWS Lambda@EdgeでスケーラブルなIoTバックエンド構築 | DevelopersIO

    ども、大瀧です。 先週の勉強会で発表した以下のスライドでは、AWSでIoTシステムのバックエンドを構築するときの基となる部分を解説しました。 第1回IoTクラウドプラットフォーム勉強会でAWSのIoTプラットフォームを紹介しました | Developers.IO デバイス/ゲートウェイからのアクセスを受け付けるサービス(上記記事のスライドにある「ディスパッチサービス」)としてはAWS IoT、API GatewayAmazon Kinesisが鉄板です。今回はIoTバックエンドのちょっと変わったディスパッチサービスとして、Lambda@Edgeを利用する構成をご紹介します。 AWS Lambda@Edgeとは Lambda@Edgeは、AWSのCDN(Contents Delivery Network)サービスCloudFrontでAWS Lambdaを実行するサービスです。無印Lam

    AWS Lambda@EdgeでスケーラブルなIoTバックエンド構築 | DevelopersIO
  • Pythonのテストコードでmockを使ってみた | DevelopersIO

    こんにちは、みかみです。 そろそろ梅の良い季節v(今週末は、湯島天神梅まつり?! はじめに やりたいこと Web APIからレスポンスを取得する Python コードのテストをしたい HTTP接続できない環境でもテストできるようにしたい Python で mock を使ってみたい! 動作環境 Windows10(Mac VMware Fusion) Python 3.6.0(unittest を pip install 済み) やってみた Web APIからレスポンスを取得する関数のテスト お天気APIで、東京のお天気を取得するコードです。 Python の HTTPライブラリ requests でGETリクエストを投げてレスポンスを取得しています。 get_weather.py import requests def get_resp(url): resp = requests.get(

    Pythonのテストコードでmockを使ってみた | DevelopersIO
  • [AWS]マネージメントコンソールにIP制限をしつつ、一部利用できない機能も利用できるようにする | DevelopersIO

    コンニチハ、千葉です。 AWSマネジメントコンソール利用時に、コンプライアンス要件によりIP制限をしたい場合があります。 しかし、マネジメントコンソールにIP制限すると、思わぬエラーが発生し操作できなくなる場合があります。 こちらのドキュメントにも記載があります。 aws:SourceIp 条件キーは、リクエストの送信元である IP アドレスに解決します。リクエストが Amazon EC2 インスタンスから送信された場合、aws:SourceIp はインスタンスのパブリック IP アドレスに評価されます。 引用元 つまり、APIリクエストの種類は2種類あり ユーザー側からのリクエスト AWSがユーザーの変わりにリクエスト 2はCloudFromationのようなAWS環境を自動構成するようなサービスで、ユーザーが作成した定義に従ってCloudFormationサービスがEC2のようなサービ

    [AWS]マネージメントコンソールにIP制限をしつつ、一部利用できない機能も利用できるようにする | DevelopersIO
  • 【遂に来た!】EBS でボリュームサイズを変更できるようになりました(ボリュームタイプ変更も)

    こんにちは、藤です。 待ちに待ったアップデートです。EBS のボリュームサイズ、ボリュームタイプを変更できるようになりました。 Amazon EBS Update – New Elastic Volumes Change Everything 概要 今まで運用中に EBS のボリュームが足りなくなった場合、 一度スナップショットを作成して、 新規ボリューム作成して(この時にボリュームサイズ増加)、 ディスクを差し替える必要がありました。 これにより、インスタンスを停止する必要が発生したり、出来るだけダウンタイムを短くしたくてノーリブートでスナップショットを取ると整合性が担保されない、スナップショット取得から切り替えまでのデータの欠損が発生するなど、多くの問題がありました。 それが今回のアップデートにより、インスタンスの停止する必要がなく、データの欠損が発生することなく、ボリュームサイズを

    【遂に来た!】EBS でボリュームサイズを変更できるようになりました(ボリュームタイプ変更も)
  • 札幌オフィスに行ってきました | DevelopersIO

    打ち合わせと札幌オフィス視察を兼ねて北海道出張ということで、クラスメソッド札幌オフィスに潜入してきました。 私は管理部所属の事務担当者ですが、在宅勤務も月2~3回程度行うようになっていて、 管理部門でもリモートワークという勤務方法を選択できる環境が整っています。 そのため北海道出張できました(^^)b 今回は、札幌市事情(天気とかご飯とか)を書いてみました。 北海道(札幌)事情 札幌の気候 札幌に来る前に、札幌勤務メンバーに気温とか服どうするとか色々聞いていましたが、 とにかく屋内は暖かい(暑い)し、たまたま天気が良かったのか外も東京の方が寒いような気がしました。(風が弱かったから?) 建物自体の作りが違うんでしょうか、なぜか秋葉原オフィスの方が寒いです。。。。 雪はさらさらしていて降っていても全く気にならないレベルですし、晴れているのに雪が降っているというのが何とも不思議でした。 東京は

    札幌オフィスに行ってきました | DevelopersIO
  • しがないOLのはじめてのMySQL | DevelopersIO

    はじめに お久しぶりです。クニ吉です。 この度、事務職から異動になりまして、今後は今までとはちょっと違った路線の投稿が増えると思います。これからもよろしくお願いします(^^) さて、早速ですが、今回は「MySQL」について書いていきたいと思います。私自身が初めてなので、超初心者向けになります。プロの方はサイトの他の記事を読むことをお勧めします。 ちなみに私はAccessでSQL文を書いたことがある程度の知識しかありません。 前提 記事におけるMySQLのバージョンは、「5.7.17」です。 ブログの構成 MySQLとは MySQLのインストール データベース作成 テーブル作成 データ投入 データ集計(SUM関数) まとめ MySQLとは MySQLの前提としてデータベースについてのお話をさらっと。 データベース(DB)とは、複数で共有、利用を行なったり、検索や蓄積、加工を容易にできる

    しがないOLのはじめてのMySQL | DevelopersIO
  • [小ネタ] cd コマンドで直前のディレクトリに移動する方法 | DevelopersIO

    cd - cd コマンドで直前のディレクトリに移動する方法は以下のとおりです。 $ cd - オプションとして -(ハイフン)を指定します。 あまり知名度は高くない(?)かもしれませんが、便利なオプションなので覚えていて損はないでしょう。 動作確認 $ pwd /Users/tanakakeisuke $ cd /usr/local/bin/ $ pwd /usr/local/bin $ cd - /Users/tanakakeisuke $ cd - /usr/local/bin pwd はカレントディレクトリ名を出力するコマンド。 print working directory の略。 ちなみに cd は change directory の略です。 リンク cd (command) ミレニアム・ファルコン製作日記 #56 56 号 表紙 パーツ 成果 今回の作業は以下の 2 つでした

    [小ネタ] cd コマンドで直前のディレクトリに移動する方法 | DevelopersIO
  • 【登壇レポート】システムにおけるデータベースの使い分けについて考える(RDB, Hadoop, Redshift…) #gbfukuoka | DevelopersIO

    こんにちは、yokatsukiです。 昨日2/11(土)、福岡で活躍されているエンジニアの方々と共に技術勉強会「合同勉強会 in 福岡」が開催されました。 【合同勉強会】合同勉強会 in 福岡 開催のお知らせ #gbfukuoka | Developers.IO 合同勉強会 in 福岡 | connpass こちらの勉強会にスピーカーとして参加しましたので、その内容をお伝えします。 会場の雰囲気などに関しては、関連レポートが多数上がっているので、そちらをご参照下さい。 合同勉強会 in 福岡 まとめ #gbfukuoka | togetter 合同勉強会 in 福岡 で Amazon CognitoとAmazon S3を組み合わせて写真共有サービスをつくるまでをテーマに話してきました #gbfukuoka | Developers.IO 【登壇資料】AWSを使うサーバーサイドレシピ – E

    【登壇レポート】システムにおけるデータベースの使い分けについて考える(RDB, Hadoop, Redshift…) #gbfukuoka | DevelopersIO
  • Amazon EC2 アクセス制御レシピ | DevelopersIO

    はじめに 悪意のあるユーザーからシステムを守るにあたって、アクセス制御は重要です。 社内システムのような一般公開しないシステムの場合は必要な拠点からのみ接続を許可することで、悪意のあるユーザーからの攻撃をブロックします。 ECサイトのような一般公開するシステムの場合は必要な通信のみ許可します。 不要な通信を許可すると、攻撃が成立しやすくなります。 攻撃を防ぐだけでなく、攻撃を受けた後の対応としてもアクセス制御は重要です。 例えば、特定IPアドレスからの攻撃が認められる場合、そのIPアドレスをブロックします。 記事ではAmazon EC2で行うアクセス制御の基を整理します。 記事でのアクセス制御は、主にIPアドレスベースでの制御を対象にします。 EC2のアクセス制限には主にセキュリティグループとネットワークACLで行います。 上記との2重管理になるため、iptablesWindows

    Amazon EC2 アクセス制御レシピ | DevelopersIO
  • Elastic Stack 5.2.0 がリリースされました | DevelopersIO

    おはようございます、藤です。 1/31 に Elastic Stack 5.2.0 がリリースされていました。Elastic Stack 5.1.1 のリリースから 2ヶ月弱と相変わらずな早さのリリースペースにも関わらず、多くの新機能、バグフィックスが含まれていました。 英語 Elastic Stack 5.2.0 Released 日語 Elastic Stack 5.2.0リリース 今回はいくつか新機能を触ってみましたので、メモ書きします。それではプロダクト別に順にご紹介します。 Elasticsearch 5.2.0 まずは Elasticsearch です。Elasticsearch 5.2.0 の公式ブログと、リリースノートは以下になります。 公式ブログ Elasticsearch 5.2.0 released リリースノート Elastic Stack 5.2.0 Rele

    Elastic Stack 5.2.0 がリリースされました | DevelopersIO