Python
gist.github.com
Python における bool 型は、int 型のサブクラスらしい。 ブール値 (bool) 真偽値の False と True を表します。False と True を表す 2 つのオブジェクトのみがブール値オブジェクトです。ブール型は整数型の派生型であり、ほとんどの状況でそれぞれ 0 と 1…
docs.python.org とりあえず int 形のリストを用意します。 >>> a = list(range(10)) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] これを標準出力にこんな感じで出したいとします。 0 1 2 3 4 5 6 7 8 9 よく思いつくのが str.join() メソッドですよね。 ですが、…
めちゃくちゃ便利だなおい!今更だけど! ちなみにコードは何でもよかったので、手元にあった進次郎構文をリスペクトした冗長で自明な処理を書いておきました。 インフラだと冗長性は大事ですからね。多分コードベースでも同じ(ジョークです)。 あと、 git…
new メソッドでオブジェクト生成 ダイジェスト値の取得 ダイジェスト値の検証 ダイジェスト値の取得の他の方法 update メソッドの話 あとがき API キーの検証ロジックやらを実装しようとするとたまに登場するであろう hmac モジュールです。 RFC レベルまで…
Cognito の USER_SRP_AUTH とは ソースコード ここまでの参考情報 なぜ Python で頑張るのか 元ネタ ※注意 RFC あるよ この記事内だけの前提 全体像 クライアント側での計算を概観 サーバー側での計算を概観 全体の流れ 0. 多用される計算 1. SRP_A を算出す…
Cognito の USER_SRP_AUTH とは? Python での実装は? 今回は Cognito の USER_SRP_AUTH と Python での実装について調べてみました! その結果、以下のようなことがわかりました! SRP は Secure Remote Password の略?! RFC2945 と RFC5054 が関係する…
Python の REPL で直前の出力は _ で取得できる。 >>> 1 + 2 3 >>> _ 3 >>> _ + 3 6 >>> _ 6 >>> type(_) <class 'int'> >>> _ <class 'int'></class></class>
なるほどなぁ f1 = lambda x: x + 2 f1(3) >>> 5 f2 = lambda f: f(3) f2(f1) >>> 5 (lambda x: x + 2)(3) >>> 5 (lambda f: f(3))(lambda x: x + 2) >>> 5
logging の基礎的なところを扱うサンプルを作りました。 github.com README.md に書いた内容以上に語れることがないのでとりあえずこんな感じで。 ドキュメント を眺めると色々マニアックな仕様がありそうで面白そうだったのですが、使いこなせる気がしなか…
1兆番煎じぐらいいきそうですが、色々と体験できそうな技術要素があったので自前でやってみました。 github.com 導入 AWS の公式実装リファレンスだと、公開されている CloudFormation のテンプレートがよく JSON 形式なことがあります。 自分で実装するとき…
今年の GW にちょっと再翻訳で遊んでてそれを無理矢理ブログにしていました。 kesumita.hatenablog.com kesumita.hatenablog.com kesumita.hatenablog.com 記事内での使ったスクリプトは載せているのですが、ちょっとだけエラーハンドリングを付け足して Git…
はじめに 最近は読んだ本、しかも技術書以外の小説を読んだ感想記事ばかり書いていて、エンジニアブログ感がなくなってしまったので無理矢理ネタを見つけて書きます。 operator モジュールの methodcaller 関数のソースコードを読む まずは使い方を知る Pyth…
概要 Python 3.9 の beta 版がきたらしい docs.python.org 本当は 8/4 に半分ぐらい書いたのですが、寝落ちしてしまい翌朝になったらなんか覚めてしまい書き上げるのが今になってしまいました。まぁ需要ないから誰も困りませんがね。 何が変わったのか あん…
概要 型ヒント をちょっと(ちょっとだけ)触ったのでメモ程度にまとめます docs.python.org ちゃんと理解したい人は以下のドキュメントを読んだ方が早いと思います。 www.python.org 型ヒント Python は動的型付け言語なので、変数の型を宣言する必要があり…
Introduction UNIX 系の環境で以下のコードを実行すると、整数に丸めたエポック秒が返ってきます。 一方、 Windowa 環境で実行すると ValueError が返ってきます。 from datetime import datetime result = datetime.now().strftime('%s') これ、ネタばらし…
概要 存在しない Topic に紐づいた Subscription を一括削除するスクリプトを書いた 背景 SNS (Simple Notification Service)で Topic を作ったとき、ほぼ確実にその Topic に配信されたメッセージをサブスクライブ(購読)するために Subscripiton を登録…
以前 sorted() 関数について面白い使い方ができることを知って記事を書きました。 kesumita.hatenablog.com sorted() 関数は list 型でよく使うイメージでしたが試しに他の型に対して使ってみました。 >>> t = 3, 2 >>> sorted(t) [2, 3] タプルでも使えます…
導入 概要 本題 導入 読んだので 前回 に引き続き振り返ってみようと思います。 概要 第 I 部は「2ドルと3フランを(適切な換算レートで)足し算する」ようなオブジェクトをテスト駆動で書いていこう、というお話でした。言語としては Java を使っていたので…
概要 Slack App 作りたくないですか? ということで作ります。 背景 職場は Slack をゴリゴリのゴリに使っているのでその便利は身に染みて分かっており、私生活でも使おうということで個人でワークスペースを作ったことがありました。 Slack App の練習場所…
背景 ゼロから作る Deep Learning はいくつかシリーズが出てますが、おそらく最初のやつです。 表紙が魚のやつです。 と思いましたが今調べたら3作出てて全部表紙が魚ですね。 背ビレがギザギザした魚のやつです。 MNIST データセット(手書きの数字の画像が…
概要 前回 宣言した通り読んだので振り返ってみようと思います。 見せつけるようなものではないですがコードはこちら↓ github.com 以下、 Java で書かれたコードを Python に翻訳する上で考えたこと、学んだことやらを書いていきます。 概要 テストコード イ…
背景 Python のデコレータってカッコ良くないですか? 何も見ずにササっと書けたら絶対かっこいいと思うんですよね。 なので基本的な戦略を学んでみたいと思います。 Fluent Python の 第7章 関数デコレータとクロージャ を参考にしながら進めていきます。 …
どうでも良い話 お仕事では Python しか触らないので、プライベートではフロントエンドのお勉強したいと常に漠然と思い続けています。 ですが、休日はだいたい仕事中に遭遇する、「これ以上深掘りしている時間はないけど気になるなぁ…」という事象をピックア…
最高の再考 昨日の記事 再翻訳で遊びたい 〜AWS Translate 編〜 ですが、意外と文章が崩壊しませんでした。 おそらく10年近く前だと思うのですが、その頃の Google 翻訳を使ってひたすら再翻訳の作業を繰り返したときの結果が実はこの記事でして、最終的には…
導入 再翻訳を何回も実行するとめちゃくちゃな文章になって楽しいじゃないですか。 それを自動化したかったわけです。 どうやって実現するか 最初は Google 翻訳の API を自動で叩くようなスクリプトを考えていたのですが、せっかくAWS をお仕事で専門的にや…
概要 テスト駆動開発 を読むぞ 導入 テスト駆動開発でやろう、という開発プロジェクト(こういう名前のプロジェクトではないです)に参加していて テスト駆動Python をベースに unit テストや function テストを書いたりしていたのですが、結局現時点までテ…
こんばんは。 とある都合で時間を全部足したくなってきましたが、私の使っている Mac には Office が入っていません。 なので Python でやりました。 なぜか datetime モジュールを使わずにやりました( datetime 型は単純な足し算ができないのでそこで考え…
低知能なので if 文で引っかかりました。 サンプル用にこんなリストを用意します。 >>> my_list = [1, 2, 3] まぁ当然の挙動です。 >>> 1 in my_list True >>> 4 in my_list False どちらかがリストに含まれていたらOK、みたいな処理が書きたい。 >>> if 1 i…
Fluent Python という 800ページあるクソ分厚い本を読んでいるのですが、この分厚さからも想像がつくようにたいがい腰を据えてじっくり取り組む感じの本です。 ただ、覚えているとすぐに使えそうな内容にもちょいちょい出会うのでこういう場所にメモ代わりに…