背景 AWS使ってサーバーレスで自分用の家計簿的なwebサービスを勉強も兼ねて開発中。消費情報を登録する部分を作り、最近それに加えて残金管理を出来るようにした。 そうなると1つの消費情報登録で、複数のテーブルに対して更新を行う事になる。整合性を保つために、トランザクション制御を行いたい。 防ぎたいケース 片方のテーブル更新後、別テーブルの更新に失敗による不整合データ発生 複数人同時処理時、更新前データ取得による不正値更新(自分しか使わないけど) DynamoDBの特性復習 読み込み整合性 を強力にする事は出来るが、基本的に結果整合性を使うべき。(複数ノードに書き込まれる前に読み出すと古いデータが読まれる) javaでDynamoDBトランザクションを実現してるライブラリ が存在する 2018年末にDynamoDBのトランザクション機能 が発表された。前述ライブラリでなく、こちらを使用するの
# -*- coding: UTF-8 -*- import cv2 import numpy as np import time import picamera FILEPATH = '/home/pi/picture/' with picamera.PiCamera() as camera: camera.resolution = (1024, 768) time.sleep(2) camera.capture(FILEPATH+'now.jpg') img_src1 = cv2.imread("picture/initial.jpg", 0) img_src2 = cv2.imread("picture/now.jpg", 0) img_diff = cv2.absdiff(img_src2, img_src1) img_diffm = cv2.threshold(img_diff,
このほど、BlackBerry Cylanceの調査担当者は、これまで名称がなかったPythonで実装された遠隔操作用のマルウェアであるRAT(Remote Administration Tool)を発見し、PyXieと命名した。 同社はこのマルウェアが標的型攻撃を行うものとして、注意を呼び掛けているが、具体的には、どのようなリスクがあるのか。今回、BlackBerry Cylance 脅威解析チーム マネージャーの本城信輔氏に話を聞いた。 BlackBerry Cylance 脅威解析チーム マネージャー 本城信輔氏 本城氏によると、PyXieRATは少なくとも2018年から確認されていたが、同社は顧客のインシデント対応を行う中で、攻撃者が医療業界と教育業界にランサムウェアを配信しようとした痕跡を確認したという。同氏は「PyXieRATは広範囲の業界の企業に対し、持続的な標的型攻撃を行う
※最新版(2021年バージョン)がこちらにありますので合わせてご覧ください! 毎年恒例, Python本と学び方の総まとめです!*1 プログラミング, エンジニアリングに機械学習と今年(2019年)もPythonにとって賑やかな一年となりました. 今年もたくさん出てきたPythonの書籍や事例などを元に, 初心者向けの書籍・学び方 仕事にする方(中級者)へのオススメ書籍 プロを目指す・もうプロな人でキャリアチェンジを考えている方へのオススメ を余す所無くご紹介します. 来年(2020年)に向けての準備の参考になれば幸いです. ※ちなみに過去に2019, 2018, 2017と3回ほどやってます*2. このエントリーの著者&免責事項 Shinichi Nakagawa(@shinyorke) 株式会社JX通信社 シニア・エンジニア, 主にデータ基盤・分析を担当. Python歴はおおよそ9年
はじめに この記事は Brainpad Advent Calender 2019 23日目の記事になります。 ブレインパッドでは、来たるべき量子コンピュータ時代に向けて量子コンピュータの勉強会を週1回行っています。この勉強会では、量子コンピュータに関連する論文を読んだり、論文を読むために必要な基礎の部分を勉強したりしています。そんな有志の集まりで細々と行っている勉強会ですが、今回はアドベントカレンダーの記事を書くぞ、ということで「現状我々が利用できる量子コンピュータで実用的な問題が解けるのだろうか?」ということにチャレンジすることになりました。 量子コンピュータといえば、通常のコンピュータ(量子コンピュータ界隈では古典コンピュータと呼ばれているやつです)では解くことが困難な問題も解くことができる、と言われているのを聞いたことがある人も多いと思います。実際に一部の問題に対しては古典コンピュー
この記事はJX通信社 Advent Calendar 2019 の23日めの記事です。 昨日は Yosk さんの 名刺作成をデザイナーの業務から外して、効率化させた話 でした。 こんにちは、サーバーサイドエンジニアの @kimihiro_n です。 今回は Python の Immutable を最大限活用してみる話を書いてみます。 【2019/12/23 訂正 1 】 : NamedTupleを使う際、同値であればオブジェクト自体も同一であると書いてましたがこちらは誤りでした。 個々の id を調べてみると別々のオブジェクトが割り当てられていたため、記事の表現を一部修正しました。 【2019/12/24 訂正 2 】: コメントにて、Java の String オブジェクトも不変であるというご指摘をいただきました。 不変であることとオブジェクトが同一であることの性質を混同してしまっていた
年末で、ちょうどアドベントカレンダーの枠があったので今年一年の活動を振り返っていこうと思う。 この記事はコネヒト Advent Calendar 2019 21日目の記事です。 2019年は結構自分の働き方が変わった一年でもあったので、下記2点を中心に書いていく。 機械学習の世界に足を踏み入れた アウトプット中心の活動ログ 機械学習の世界に足を踏み入れた 組織の大きな変化もあり、今年から業務として機械学習に取り組んでいる。(元々興味はあったのでチャレンジするいい機会に恵まれたというのが正直なところ) ここでは、機械学習関連のものだけに絞って時系列でどんなことをやっていたのかを振り返ろうと思う。 1〜3月 当時のCTOの @tatsushim がPythonによるはじめての機械学習 という本を執筆しており、そのレビュワーとしてこの本を通じて機械学習を学び始めた。 この本は、機械学習の初学者が
「Pythonをもっと使えるようになりたい」という方は多いことだろう。とは言え、参考書をいくら読んだとしても、それほどPythonの腕は上がらない。プログラミングというのは、実際に自分で何かを作ってみて初めて理解が進むものなのだ。そういう意味では、今回のお題の「TODOアプリ」は、最適の題材だ。自作のTODOアプリを作ってレベルアップを目指そう。 今回作成するTODOアプリ TODOアプリとは何か? 今では、非常にTODOアプリが身近になっている。スマートフォンなどに、TODOアプリやメモアプリをインストールしておけば、いつでもどこでもリストを持ち運んで見ることができるからだ。例えば、買い物に出たときに、買うべきものをTODOアプリに入力しておく。そうすれば、実際にお店についた時に「あれ?何を買えば良かったのだろう」と悩むことはなくなる。 もちろん、TODOアプリは、需要が高いので、自分で
概要 本記事はAnsible Advent Calendar 2019の16日目の記事になります。 Ansibleを使うことを意識せずにセットアップされたLinuxマシンに対して、何をすればAnsible Readyになるかについて説明します。 Ansibleを使ったサーバーやネットワーク構築の情報は豊富だし、「この環境を使えばすぐにAnsible動かせます」という環境も割とあると思うのですが、「今あるこの手元(特にオンプレ)の環境でAnsibleを使い始めるにはどうすればよいか」についての情報が少ないと(私が個人的に)感じたので、その内容についてまとめました。 ですので本記事は「Ansibleを勉強し始めるにはどうすればよいか」ではなく「Ansibleを使ったサーバー構築を始めるときは何を準備すればいいか」という内容になっています。 「Ansibleを勉強したい!」という方はこちら: 【
はじめに この記事はAWS初心者 Advent Calendar 2019 の14日目の記事です。 もし誤りがあれば指摘してもらえると幸いです。 要約 Boto3の中ではサービスによってリソースAPI(boto3.reosurce('サービス名')で呼び出すもの)があります。リソースAPIの方がクライアントAPIより抽象化されていて不要な情報を書かずに実装できるので、それぞれのAPIで同じことができる場合はリソースAPIを優先して使用した方が良いです。 記事全体の構成 まずBoto3、クライアントAPI、リソースAPIとは何だったのかを再確認します。 その後に両方のAPIを使用した場合にSQS、S3、DynamoDBの使用パターンを1ケースずつとりあげて比較してどう違うのかを具体的に見てみます。 最後に現在リソースAPIが提供されているサービスの一覧と所感を書いてます。 Boto3とは P
スタイルガイド PEP-8 Google Python Style Guide django 既存のコードに対するpep8の確認 pep8 flake8 autopep8 docstringのフォーマット 各スタイルガイド要約 PEP8 Google C++ 参考文献 自分の確認用です. C++のスタイルガイド の確認も自分の勉強用です. スタイルガイド スタイルガイドは、出版物などにおいて統一した言葉遣いを規定する手引き (出典:スタイルガイド - Wikipedia) コーディングにおいても, 基本的な書き方のルールをある程度定めることで理解しやすいコードになりうる. いくつか種類が存在する. PEP-8 peps/pep-0008.txt at master · python/peps · GitHub はじめに — pep8-ja 1.0 ドキュメント Google Python
データアナリティクス事業本部@札幌の佐藤です。 Pythonでパフォーマンスと考えると、まずはdequeを思い浮かべると思います。 でもListと比べ早いくらいしか考えたことがなかったので、実際にどのくらい早いものなのか調べてみたいと思います。 そもそもdequeとは deque(デック)は両端キューとも呼ばれます。 またdequeはデータ構造のひとつなので、Python固有ものではありません。 Pythonのリファレンス上では Deque とは、スタックとキューを一般化したものです (この名前は「デック」と発音され、これは「double-ended queue」の省略形です)。Deque はどちらの側からも append と pop が可能で、スレッドセーフでメモリ効率がよく、どちらの方向からもおよそ O(1) のパフォーマンスで実行できます。 list オブジェクトでも同様の操作を実現
さまざまな分野で威力を発揮するPythonは、ファイナンスの分野でも重要なテクノロジーとして急成長を遂げています。本書は、Pythonを使った金融工学の初歩的な基本事項からアルゴリズム取引やデリバティブ分析までカバーし、必要なプログラミング、機械学習や深層学習を利用したデータ分析、統計などについて、数理と実用面から詳しく解説します。「データ駆動型アプローチ」と「AIファーストファイナンス」を軸に、これからのファイナンスに必要な戦略と実践力を体得できることを目的とします。 目次 日本語版まえがき まえがき 第1部 Pythonとファイナンス 1章 なぜファイナンスにPythonを使うのか 1.1 プログラミング言語Python 1.1.1 Pythonの大まかな歴史 1.1.2 Pythonエコシステム 1.1.3 Pythonのユーザ層 1.1.4 科学スタック 1.2 ファイナンスにお
「JX通信社Advent Calendar 2019」10日目の記事です. 昨日は, @rychhrさんの「Pure WebSocketsをサポートしたAWS AppSyncでWebとiOS間のリアルタイムチャットを作ってみた(1)」でした. 改めまして, こんにちは. JX通信社でシニア・エンジニア&データ基盤エンジニアをしています, @shinyorke(しんよーく)と申します. JX通信社では, データ駆動での意思決定および施策実施をより円滑に進めるため, データ基盤の構築・運用を進めながらトライアル的に様々なFrameworkやツールの検証を行っています.*1 このエントリーでは, 私がシュッとPySparkで分散処理をする...前に, 手元で試したときの感想とその知見 のお話を残していきたいと思います. なお, 分散処理そのものの知見・ノウハウではなく, する前にPySparkに
一休.com レストランを開発している所澤です。この記事は一休.comアドベントカレンダーの10日目の記事です。 先日、一休.comレストランの管理画面をリニューアルしました。 この記事ではその際にAPIの実装方法として採用したGraphQLについてフロントエンド視点で利点や使い所について述べます。 GraphQLについて以下の記事がわかりやすかったです。 「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ - エンジニアHub|若手Webエンジニアのキャリアを考える! 短いまとめ 新しくAPIサーバーを書くなら是非GraphQLで! というくらい良かった Apolloのエコシステムに乗り切らなくてもいい。ふつうのRESTfulなAPIサーバーの代わりに、くらいの気軽さでGraphQLを採用してもいい プロジェクトの概要 今回リニューアルした一休.comレ
2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「入門 自作検索エンジン」に登壇したのは加藤遼氏。講演資料はこちら シンプルな検索エンジンを作る加藤遼 氏:ここからは実際に事例を踏まえながら、どういうものを作っていくかの実装の話をしていきます。 実際に作っていく検索エンジンは、これです。これは「PyconSearch」という、今年のPyConのセッションを検索できるもので、わりと便利なサイトです。これを実際に作っていきながらどういうことをやっていくかという話を進めていきます。 まずは要件から決めていきましょう。「PyConJPのトークを検索できる」ことが目的ですが、実
過去5年間の求人情報の分析によれば、米国の労働市場でもっとも需要の高いITスキルはSQLとJavaだという。 しかし、同じ期間に求人ウェブサイト「Indeed.com」のIT分野の求人で起きたもっとも大きな変化の1つは、Pythonに対する需要の大幅な増加だ。 Pythonのスキルに言及している求人情報は、2014年9月には8%だったが、2019年9月には18%にまで増えた。2019年9月に、Javaに言及している求人情報は20.8%で、SQLは21.9%だ。 Python需要が急増している理由には、データサイエンス分野の拡大や、昨今の機械学習や人工知能(AI)に対する関心の高まりが挙げられることが多く、これにはサードパーティーのPythonパッケージや開発ツールが充実していることも影響している。 また、Python 2.xのサポート終了が近づいているため、膨大な量のPythonのコードを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く