Pyxelの開発が一区切りしたので、改めて紹介記事を書いてみました。 [2020.4.4追記:最新版の紹介記事はこちらです] Pyxelって何? Pyxel(ピクセル)は、昔ながらのドット絵タイプのゲームを簡単に作れる「レトロゲームエンジン」です。 2018年7月30日にリリースされた、非常に新しいゲームエンジンなのですが、海外を中心に急速にユーザーが増えています。 github.com プロジェクトはGitHubでオープンソースとして公開されており、公開4日でGitHubのデイリーランキングで全1億のプロジェクト中1位を獲得。ついでに作者である私もGoogle、Facebook、Microsoft等の企業アカウントを含む3100万人の開発者ランキングで1位になっています。(1位の座は48時間持ちませんでしたが…) GitHub上ではその後もスター数が増え続けており、現在は4000スターを
こんにちは。エンジニアの戸塚です。 自分へのクリスマスプレゼントとして PYNQ-Z1 を買ったので、25%ルール第一弾は「Deep Learning on FPGA入門」的なことをしてみたいと思います。 【DISCLAIMER】スタート時点でFPGA素人です。Courseraでちょうど年末からFPGAコースを開講していたので併行して勉強中です。間違ったことを書いていたら必要に応じて訂正を入れていきます。有識者の皆様のご指摘を歓迎します。 1. 購入から起動まで 前日譚 情報収集 PYNQ 高位合成(HLS) 注文 起動の前に PYNQシステムmicroSDカードの準備 起動! 2. Jupyter Notebookにアクセスする a) LAN経由でアクセス PYNQのJupyter Notebookのパスワード設定 b) LANケーブルでPCと直接接続 3. Jupyter Notebo
ブロックチェ-ンの仕組みを知るには構築するのが最短の方法 この記事を読んでいるということは、仮想通貨の拡大に興奮しているということですね。ブロックチェ-ンの仕組み、背後にある基本的なテクノロジーについて知りたいのでしょう。 しかしブロックチェ-ンを理解するのは簡単ではありません。少なくとも私にはそうでした。大量の動画の中をさまよい、抜けだらけのチュートリアルに従い、結局、実例が少なすぎてフラストレーションが大きくなりました。 私は手を動かして学ぶのが好きです。コードのレベルで内容を扱わざるを得なくなり、そうすることで身に付くからです。同じようにやってもらえば、この解説が終わる頃には、機能するブロックチェーンが出来上がり、どのように動くかがしっかりと把握できるようになるでしょう。 準備 ブロックチェ-ンとはブロックという名の 不変でシーケンシャルな 一連のレコードだということを覚えてください
この記事について この記事はDaniel van FlymenさんのLearn Blockchains by Building One - The fastest way to learn how Blockchains work is to build oneを本人の許可を得て翻訳したものです。 このブロックチェーンのリポジトリではPython以外での言語の実装者の募集も行われているので、興味がある方は是非どうぞ! また、この翻訳で出てくる日本語版のリポジトリはこちらにあるので是非参考にしてみてください。 はじめに あなたがここにいるのは、私と同じように、暗号通貨の盛り上がりに対して心構えが出来ているからだ。そしてあなたはブロックチェーンがどのように動いているのか -その裏にある基本的なテクノロジー- を理解したいと思っている。 しかしブロックチェーンを理解するのは簡単ではない、少なくと
どうも、オリィ研究所 (http://orylab.com) の ryo_grid こと神林です。 さて、皆さん! JavaScript書いてますか! 私も書いてます。 しかしながら、C, Java, Ruby, Python なんかでコードを書いてきた時間の方が長いために、どうも JavaScript の言語仕様に馴染めないでいる私がいます。 そこで、Webフロントエンドで、JS以外の言語を使う選択肢がないか探してみたところ、BrythonというブラウザJSで実装された (= ブラウザ内で動作する) Python処理系を見つけたので、試してみました。 Brython - A Python 3 implementation for client-side web programming とにかく試してみる ネットの海をさまよいつつ、書いてみました。 お題はプログラミング初学者向けの課題でよ
SCOOPとは ssh とPython の設定を適切にするだけで、簡単にネットワーク間での分散処理が実行できる。 ネットワーク分散に対応していないライブラリに便利。 関数の処理を分散して行い、返り値をまとめて返してくれる。 Core 数に応じた Worker 数の設定が可能 Docker との相性が抜群 基本動作 python 標準の map 関数の使い方で ssh で繋いだ先(ノード)でも分散処理してくれる。multiprocessing.Pool.map のネットワーク処理に対応した版。 map 関数に配列を渡すと配列の各要素を引数に関数を実行する。その際の各処理を各ノードでマルチプロセスで実行して、ホストPCに変数を返す。 通信には pickle 化された情報を送信している。 ssh で接続先の通信用ポートを開けて、ポートの情報をホストに送って通信。--tunnelオプションを使えば
はじめに こんにちは、Python界のテリー・ギリアムです。こんな記事を見かけて、Pythonの開発環境を作るのが面倒という認識が広まるのは良くないなあと思って書きました。ただの突っ込み記事です。 qiita.com そのツールほんとに要りますか? 出だしにこんなセクションタイトルがありました。 その仮想環境本当に必要ですか? たしかに仮想環境要らないひとは要らないよねっていうのは同意です。その場合、入ってるPythonのsite-packagesにどんどんパッケージがインストールされるだけなので、手動で消せる人はそれでいいし、そもそもパッケージのバージョンとか知るかって人はそのままパッケージインストールすればいいと思います。 とはいえ、複数のプロジェクトでパッケージのバージョンがぶつかったら困る人とかいるし、そういう人は仮想環境を使うことになるでしょう。で、件の記事ではいろいろなツールを
先日、2016年アドベントカレンダーのはてブ数の分析というブログ記事を投稿した。このデータの可視化には様々な技術が使われている。本記事では、どのような技術を活用して作成したのかについて説明する。 ソースコードはこちら。 概要 このVizは、QiitaとAdventarに投稿された、全アドベントカレンダー及びそこに登録された記事のはてなブックマーク数を元に、どのカレンダーや記事が人気なのか、あるいはQiitaとAdventarのどちらが人気なのかを視覚化することを目的として作成された。データソースは、Qiita及びAdventarに登録された、アドベントカレンダー2016の全カレンダーページである。カレンダーには記事のメタデータが含まれている。記事そのもののページやユーザページのクロールはしていない。 システムの概要 データの収集→ETL→BIという流れで処理を行った。 データ収集 Webク
【2020/1/9更新】2020年版もあります, こちらもよろしくおねがいします! 【2018/12/24追記】最新版を公開しました!「Python本まとめ・2019年版 - Webとデータ分析を初心者が仕事にするまで - Lean Baseball」 ※2017/12/24 最新版をこちらに上げました、この内容は古いのでこちらを見ていただけると幸いです🙇♂️ Pythonの学び方と,読むべき本を体系化しました2018〜初心者から上級者まで こんにちは.野球(とグルメ)の人です. 会社と仕事はメッチャ楽しいのですが,今日はそれと関係なくPythonの話題を久々に.*1 昨年から,「AI(えーあい)」だの「でぃーぷらーにんぐ」だの「機械学習」といったワードとともにPythonを覚えようとしている方が多いらしく, 何から学ぶべきか 何の本がオススメか 簡単に覚えて僕もいっちょ前に「えーあい
項目33「サブクラスをメタクラスで検証する」はこう書き換わる Python 3.6がリリースされた。 Python 3.6で導入された新機能の一つに__init_subclass__がある。 PEP 487 -- Simpler customisation of class creation | Python.org か石本さんのエントリを参照してほしい。 atsuoishimoto.hatenablog.com 『Effective Python』の項目33「サブクラスをメタクラスで検証する」ではメタクラスを使ってサブクラスの検証(値の整合性チェックなど)を行うテクニックが解説されている。 多角形のクラスを定義する際に、頂点数が3未満の場合はValueErrorを送出する、というサンプルがある。 class ValidatePolygon(type): def __new__(meta,
2020/02/01 追記 [コード付き]誰も知らない関連銘柄を、機械学習を使って素早く見つける こちらに最新の結果を載せました! 気づいたんですけど、私みたいな貧乏人はショッピングモールでおしゃれなゴミをせっせと買い漁るんですが、お金持ちの人って株を買うらしいんですよね。 考えてみれば貧乏人が欲しがるものって、百均のちょっとしたものから家や車やバイクやゲーム機など、買ったらお金が減るものばかりなんです。 それに比べて、お金持ちが買うものって、株や投資用の土地や、リスクこそあるものの貧乏人が欲しがらないわりに買ったらお金が増える可能性のあるものばかりなんですよねー。 これは悔しい!休日になるたびにせっせとショッピングモールにお金を運んでゴミを買い漁ってる自分を見てお金持ちはきっと笑っているに違いない!いやお金持ちには自分のような人間は視界にすら入らないのか、これはさっそく株を買わないと!と
まえがき 今年の春から今まで、2年ぶりにPythonを沢山書いているわけなんですが、JavaScriptのクソに頭をやられて久しぶり書くだけあって基本的なところから色々と頭から抜け落ちていたわけです。 そんで何か思い出すたびに会社のwikiを使ってメモっていたのですが、せっかくなので少々訂正をしてブログにも書きます。 また、弊社はPython2を使っているので、2が前提の記述になっているところがいくつかあります。なるべくフォローしていますが、参考にする場合は自分が使っているバージョンを確認することをおすすめします。 また、今から新しくPythonでプロジェクトを始めようと思っている人は3系を使いましょう。 知ってる人は当然知ってる、でも結構長いことPythonを書いてても知らなかったりするような小技を載っけました。 なお、メタプログラミングとかの黒魔術っぽい記事のまとめはこちら: hach
Pythonは、習得が容易で、より大きく複雑なアプリケーションの開発にすぐに適用していけることから、コンピューティング環境に広く普及し、勢いを強めています。ただ、あまりに明瞭で親しみやすい言語なので、ソフトウェアエンジニアやシステムアドミニストレータが警戒を解いてしまい、セキュリティに重大な影響を及ぼすコーディングミスを誘発する可能性はあるかもしれません。主に、初めてPythonを使う人を対象とするこの記事では、この言語のセキュリティ関連のクセに触れます。ベテラン開発者にとってもその特異性を意識するきっかけになればと思います。 入力関数 Python 2に多数存在するビルトイン関数の中で、 input はセキュリティの面で完全に難点です。この関数をひとたび呼び出すと、標準入力から読み込んだものが即座にPythonコードとして評価されます。 $ python2 >>> input() dir
Pythonで作るWebクローラ入門の発表資料 https://pycon.jp/2016/ja/schedule/presentation/32/
ディープラーニングの本格的な入門書。外部のライブラリに頼らずに、Python 3によってゼロからディープラーニングを作ることで、ディープラーニングの原理を楽しく学びます。ディープラーニングやニューラルネットワークの基礎だけでなく、誤差逆伝播法や畳み込みニューラルネットワークなども実装レベルで理解できます。ハイパーパラメータの決め方や重みの初期値といった実践的なテクニック、Batch NormalizationやDropout、Adamといった最近のトレンド、自動運転や画像生成、強化学習などの応用例、さらには、なぜディープラーニングは優れているのか? なぜ層を深くすると認識精度がよくなるのか? といった“Why”に関する問題も取り上げます。 関連ファイル サンプルコード 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正
皆さんこんにちは お元気ですか?私は元気です。 Pythonにおける高速化手法を掲載してみます。 簡単なコード並びに索引のような感じで引けるようなイメージで作成しました。 本日の目次です。 Pythonにおける高速化の必要性 Pythonの高速化 高速化の手順 Profiling 基本的な条件 計測コード Pythonの基本的な書き方部分 rangeよりxrangeを(Python2.7) リストの生成 文字列結合 Import文のコスト 関数呼び出しのコスト ドットを避ける yieldを使う Numpyに関するTips Numpyを使用して基本演算を高速化する Numpyの要素にアクセスする演算をしない Numbaで手早く高速化 その他高速化ツール Cython Dask PyPy 感想並びに展望 参考文献 Pythonにおける高速化の必要性 PythonはC++やJavaと比較すると非
はじめに こんにちは、データ分析部の久保 (@beatinaniwa) です。 今日は義務教育で教えても良いんじゃないかとよく思うWebクロールとスクレイピングの話です。 私自身、日頃は社内に蓄積されるニュース記事データや行動ログをSQLやPythonを使って取得・分析することが多いですが、Web上にある外部データを使って分析に役立てたいというシーンはままあります。 単独のページをガリガリスクレイピングしたいときなどは、下の1年半ぐらい前の会社アドベントカレンダーに書いたような方法でやっていけば良いんですが、いくつもの階層にわかれたニュースポータルサイトやグルメポータルサイトを効率よくクロール+スクレイピングするためには、それに適したツールを使うのがすごく便利です。 qiita.com そこでPython用スクレイピングフレームワークScrapyの登場です。 Scrapy | A Fast
Pandasのグラフ描画機能 この記事ではPandasのPlot機能について扱います。 Pandasはデータの加工・集計のためのツールとしてその有用性が広く知られていますが、同時に優れた可視化機能を備えているということは、意外にあまり知られていません。 この機能は Pandas.DataFrame.plot() もしくは Pandas Plot と呼ばれるものです。 Pandas Plotを使いこなすことが出来るようになれば、 データの読み込み、保持 データの加工 データの集計 データの可視化 というデータ分析の一連のプロセスを全てPandasで完結させることが出来る、つまり分析の「揺りかごから墓場まで」を実現することが出来ます。 Pandasのプロット以外の機能について この記事ではPandasのデータハンドリングなどに関わる機能は説明しません。 そちらにも興味がある方は下記の記事などを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く