投稿者:

APIGateway, JSON, Lambda, Python

HTTP の レスポンスヘッダー を json.dumps しようと思いはまったので記事を書いてみました。

単純にレスポンスの結果を表示してみる。

import requests req = requests.get(url='http://example.com')print(req.headers)

実行結果

{'Content-Type': 'text/html; charset=utf-8', 'Content-Length ...

投稿者:

Lambda, Python

Pythonのデコレーターで実現する。

デコレーターに共通処理を記述し、デコレーターをモジュールとして各Lambda関数でインポートする。

デコレーターの実装

def pre_processing(data):    # 前処理     ・     ・     ・    ...

投稿者:

AWS, Datadog, Lambda, Python

Serverless では Lambda 関数が多く、ブラウザで Screenboard を作成するのは辛いと思うのでスクリプトを書いてみました。
Widget は 全て Graph で作成しています。

import boto3from datadog import initialize, api options = {    'api_key': 'xxxxxxxxxxxxxxxxxxxxxx',&nbs ...

投稿者:

Python

はじめに

開発中にPythonで「リストの要素がすべて空文字列か」という判定をしたい場面があり、なにかないかと調べてみたら、allという組み込み関数で簡単に実装できました。
今回はそのall、対になるanyを紹介します。

all

リストやタプルのような、iterableオブジェクトの要素がすべて真のときにTrueを返す関数。
Pythonでの真は、数値は0以外、文字列は空文字列(“”)以外、
タプルは空のタプル() ...

投稿者:

Python

はじめに

昔、Pythonのリストのコピーでつまずいた話になります。
同じミスがないように。。。と思い共有します。

環境Python 3.6.3
リストのコピー

以下のようにリストを代入しただけだと

l1 = [1, 2, 3]l2 = l1l2[0] = 10  #l2のみ最初の値を変えたいprint('l1:', l1)print('l2:', l2)

実行結果

l1: [10, 2, 3]l2: [10, ...

投稿者:

Python

はじめに

先輩にPythonには標準でグルーピングできる関数groupbyがあることを教えていただきました。
かっこよかったので紹介します。

環境Python 3.6.3
使い方

以下のように使います。

groupby(iterableオブジェクト(リストなど), key=グルーピングしたいキー)

戻り値はキーの値と同じキーの要素グループのイテレータになります。
関数に渡すiterableオブジェクトは、グルーピングしたいキーでソ ...

投稿者:

AWS, docker, Python, serverless

サーバーレスを用いたデプロイフローや開発フローを考えた時に
ServerlessFrameworkについていろいろ調査を行い触ってみたので書いてみます。
基本的な流れとして、コンテナからServerlessFrameworkを使用してみました。

目的

サーバーレスアーキテクチャに関する情報を自ら発信することでサーバーレスに関する情報を集める

環境

[ホストOS]

Mac OS X El Capitan (ver. 10.11.3 ...

投稿者:

Python, Swagger

OpenAPI仕様(旧Swagger)からAPIクライアントのSDKを生成するツールにswagger-codegenがありますが。
同様のツールとしてMicrosoftのオープンソースにautorestがあったので試してみました。

autorestは以下の言語の自動生成に対応しています。
C#, Go, Java, Node.js, TypeScript, Python, Ruby, PHP

swagger-codegenの対応言 ...

投稿者:

AWS, Boto3, DynamoDB, Python

DynamoDBから怒られる

Boto3を使ってDynamoDBにデータを入れようとしました。
下記のようなものです。

{    'accountId': '12345',    'date': '2017-09-20',    'list': ['aaa', 'a', ''],    'name': ...

投稿者:

jinja2, Python

社内では Jinja2 というテンプレート言語を使って、HTML を生成しています。
公式を見ると、近ごろ流行りの Instagram も Jinja2 を使っているらしいです。
…の割にはネット上に情報があんまりなかったりします。

Jinja2 には色んな機能があるのですが、この記事では便利な割に影の薄い loop という変数を紹介します。

例えば、こんな要件があったとします。

users = ['パンチョ', 'ピンチョ ...