サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
qiita.com/haminiku
データを蓄積し予測モデルを更新し続けるために、どういった機能を設計実装したか共有します。 2015年に遺伝的アルゴリズムで自動売買に挑戦したのが2年前。深層学習で再チャレンジして知見が溜まってきたので、運用における辛い話や設計を共有します。システムの話がメインです。 ^ Flask x SQL alchemy で作りました。ワーカーはsupervisordです。最初Rubyからpycall使ってTensorFlow使ってたんですが PyCall.import_module を数回唱えたあたりで全部Pythonで書き換えました。デコレータ便利 伝えたかったこと 深層学習 株価予測 といったワードで調べるとそれなりの事例がすぐ見つかる世の中になりました。汎化能力を本当に有しているか疑問ですが例えばLSTMを使えば少しの情熱でバックテストでは利益が出る自動売買プログラムを開発できる時代です。では
前回KVSを開発したので、いよいよチーム開発にむけてOTPの雛型アプリを作成します。 Erlang本やErlangで書かれたプロジェクトのソースを読んでいると、Erlang OTPアプリケーションのディレクトリ構造や設定ファイルには、どうやら一定のルールがあるようです。 社内のErlangエンジニアに聞いてみたところ、仕事では手でディレクトリ構造を構築せず、rebarかrebar3を利用すべきだとアドバイスを頂きました。早速最新版のrebar3でOTPの雛型アプリを構築してみました。(rebarは古く、一部機能がメンテされず機能不全に陥ったためforkしてrebar3が開発された経緯があるそうです) 概要 rebar3 インストール rebar3を利用したErlang OTPアプリケーションの生成 ビルドとリリース コマンドラインからアプリの起動 1. rebar3インストール Mac上で
世界中でポケモンGO旋風が起こっています。 日本版のポケモンGOがリリースされたら即電話が掛かってくるスクリプトをお昼休みに書いてみました。 これで最速ポケモンゲットだぜ( ・ㅂ・)و アーキテクチャ HTTP通信でitunesのページをポーリングしてステータス取得 + Twilio で電話 PokémonGO の現状調査 Nianticのポケモン公式HPを7月15日確認したところ、iOS版は未公開、Android版は既に公開されています。Android版はソフトウェア側でフィルタされており日本ユーザはプレイ出来ないみたいです。 itunesのページがオープンしたら検知 # -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals import requests def app_store_
# -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals from steganography.steganography import Steganography # 画像にテキストを埋め込み path = "/tmp/image/a.jpg" output_path = "/tmp/image/b.jpg" text = 'The quick brown fox jumps over the lazy dog.' Steganography.encode(path, output_path, text) # 画像に隠蔽されたテキストを読み込み secret_text = Steganography.decode(output_path) # 画像にテキストを埋め込み >>>stega
# -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals # テストする関数 def add(a, b): return a + b # テストコード 関数名はtest_ から始めるのがpytestでのお作法 def test_add(): assert add(1, 1) == 2 assert add(1, 2) != 2 >>> $ py.test ../tests/test_add.py =============================================================================== test session starts ================================================
特徴 ノンブロッキングI/O使って書いたサーバなので1台のサーバで数千人同時接続できる..はず(いわゆるC10k問題) TCP通信なので他の人の書き込みがすぐ反映される(サーバからのpush通知を受け取れる) Serverをmono使って書いたのでC#+.netのサーバがlinuxやmacで動く WebAPIによるchatサーバ実装だと、1と2の要件が満たせません Visual C#でserverを書くとWindowsでしかサーバが動かず、3の要件が満たせません。 動作画面 背景 C10K問題に対応したechoサーバをなんとか書けるようになってきたので、Unityと組み合わせてchat機能をクライアント(Unity C#)とサーバ(C#)で実装してみました。またUnityにはNetworkViewを使ったChatのチュートリアルがありますが、NetworkView自体の実装が激しくスマホ向
CircleCIの特徴は1環境であれば無料でCI環境が利用出来る点です。環境構築が完了すると、GitHubのcommit毎にCIコンテナが立ち上がり定義した自動テストがコンテナ上で実行されるようになります。本投稿では、Python3.5とFlaskで構築したWebサーバをCircleCI上で稼働させて、requestsを使ってコンテナ上のWebサーバにアクセスしてHTTP Statusコード200が返却されることを試験しています。 2時間で構築するCI環境の動作フロー Python3.5 + Flaskで構築されたWebサーバを試験する CircleCI上でPythonのWebフレームワークであるFlaskを利用したWebサーバを立ち上げて、HTTPのエンドポイントにアクセスしてHTTP Statusを確認する簡単な試験を行うのが本記事です。 jenkins職人問題へのCircleCIの考
# status systemctl status firewalld # start systemctl start firewalld # stop systemctl stop firewalld # 有効な設定を確認 >>> firewall-cmd --list-services --zone=public --permanent dhcpv6-client # 設定追加(sshとmysqlを追加) firewall-cmd --add-service=ssh --zone=public --permanent firewall-cmd --add-service=mysql --zone=public --permanent # 設定削除(sshを削除) firewall-cmd --remove-service=ssh --zone=public --permanent #
PythonのWebフレームワークで間違った選択をすることは非常に困難であると、Pyramidのintroductionページに記載されています。調査した結果まったくもってその通りだという結論に至りました。2015年12月に個人でWebサイトを構築する時に、どのWebフレームワークで構築するかで迷いに迷いました。この記事はそのときの検討メモです。 速度 みんな大好きTechEmpower Web Framework Benchmarksで速度比較。サーバ費用をケチって運用費をとにかく下げたいので、その時点で重大長厚なdjangoは検討対象から外れました。bottleはやはり早い。 Webフレームワーク Yes/Noチャート Yes/Noチャートにまとめてみました。ログイン機能は構築しないためSessionは必要ありません。シンプルで学習コストが低く高速に動作するFlaskで構築することにし
アンチエイリアスを掛けると写真縮小時のジャギジャギが軽減します。フォルダ内の写真ファイルをアスペクト比(縦横比率)を保ったまま一括で縮小してアンチエイリアスを掛け保存するPythonコードです。 アンチエリアスあり/なし比較 4000pxくらいの写真を300pxに縮小して比較しました。AA有りの鳥画像は地面の小さな砂が、地面と色が一体化して見えにくくなっています。 インストール # -*- coding: utf-8 -*- import commands import Image import re # 縮小する際の画像の高さピクセル PHOTO_HEIGHT = 300 # 画像があるフォルダのフルパス BASE_DIR = "/Users/XXXXX/Desktop/Photos" # 画像の正規表現名 PHOTO_REGEX = r"P.*.[jpg|JPG]" # リサイズ後の画
Web魚拓超怖い。元ネタ削除前に魚拓されると、ずっと残り続けます。今年に入っても某退職エントリとか...サイトミラーリングの対策を実行されたこちらのエントリをより汎用的にしたコードです。ドメイン名が異なると非表示になるためミラーサイト対策にもなります。 魚拓元のサイト http://subc.github.io/gyotaku/ Web魚拓結果 魚拓しましたがコンテンツが非表示になっていてます。 http://megalodon.jp/2015-1102-1443-25/subc.github.io/gyotaku/ ソースコード // ホストネームに含まれる文字列 host_name = 'github.io'; // コピーされたときのredirect先 redirect_deny_url = 'http://megalodon.jp/'; redirect_millisec = 50
私が新規WEBサービス立ち上げ時に取り組んだ内容についてWEBエンジニア向けにまとめた記事です。 例えばNginxの設定でHTTPヘッダーが正しく設定されているかを確認できるGoogleDevelopers PageSpeed Insights を知っていると大変有利です。もちろんPageSpeed Insightsを知らなくてもWEBサービスを公開・運用可能ですがユーザに意図せず不利益を与えていたり、知らず知らずのうちにモバイルフレンドリーでないとGoogleから検索ペナルティを加えられている可能性があります。この記事は独りで新規WEBサービスを立ち上げた際のノウハウと取り組んだ内容について記述しています。 1. 概要(5行くらいで) スマホ対応は必須。トラフィックの50%はスマホから発生する。 速度は武器!速いサイトはそれだけで価値がある。 SEOの内部対策は内部リンク整備とPageS
Pythonの軽量WebフレームワークFlask導入にあたり、DBアクセスとテンプレート継承有りでRailsと比較しました。外部のWeb Framework Benchmarksと異なったRailsの方が早いという結果がでたので原因を特定して解消する記事です。 ベンチマーク結果 個人PJでの利用を想定しているので、用途に特化したベンチマークを書いて比較しました。結果Rails はFlask より1.493倍高速に動作 することが判明しました。Railsすんごいはやい。 Web Framework Benchmarksと異なる結果になった Web Framework Benchmarksと異なる結果になりました。Flaskが遅いのはコード側に問題がありそうなので検証していきます。 ベンチマーク条件 用途に特化したベンチマーク試験となっています。 DBアクセスして1レコード取得し結果をテンプレ
前回の記事でDjangoとFlaskとPyramidを比較して、Flaskいいなーとなったので早速試してみました。 FlaskというPython Webフレームワークにて大規模向けと言われているBlueprintチュートリアルに沿って構築した機能をベンチマークして比較しています。Blueprintとは複数の小さなアプリ毎(機能毎)にViewを切り分けるFlaskの機能です。 構築後Apache Benchを利用して、PyPy3 2.4とPython3.5を比較した ベンチマーク を取得しています。 ディレクトリ構成 デフォルトの単一Viewと異なりviewsディレクトリを設置して、その中に機能毎のviewを設置していきます。今回はroot とreport 機能を追加してみました。 ■ ディレクトリ構成 テンプレートの抽象化 HTMLのHEADやBODYタグといった共通部分をmaster.h
アプセトネデブ って覚えてますか?私の仕事はこの存在がなければ誕生すらしていなかったと思います。OSI参照モデルの覚え方です。 OSI参照モデルの中でもトランスポート層のソケット通信を行うソケットサーバを並行処理を駆使して実装するお話です。この記事は、今年の春にスゴイ級エンジニアにC#のTaskやasync/awaitについて教えてもらったときの内容をPythonで書き換えた記事となっています。部屋の片隅で埃かぶってた『マスタリングTCP/IP』片手に実装。 目的 並列(Parallel)なノンブロッキング(non-blocking)処理を独力で書けるようになる。 geventとasync/awaitでそれぞれ軽量スレッドを使った処理を実装できるようになる。 C10k問題がうっすら理解できるようになる。 マルチスレッド/プロセスまとめ(Ruby編)の記事を読んで、そろそろ復習しようかと思っ
『アッオー』でおなじみICQからIRC,Yahooメッセンジャー,HipChat,Slack,GoogleTalkの共通点は、すべて通信にXMLベースのXMPPプロトコルを利用していることです。インスタントメッセージサービスは目まぐるしく移り変わっていくため、変わらないコアの部分を抑えることが重要だと思います。 XMPPプロトコルを喋ると、大半のメッセージサービスを利用できるBotが作れます。この記事ではXMPPを開発・公開したJabber社のライブラリを利用して複数のメッセージサービスに対応したBotを実装していきます。 作るもの 起動したらHipChatとSlackに両方ログインしていて、話かけたらdeployしたりコマンド実行したりするBot。海外はSlack、国内はHipChatを使う特殊事例が発生して開発することになりました。過渡期つらい 新しいものを、どんどん取り入れていくこと
# -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals from subprocess import PIPE, Popen def cmdline(command): """ コマンドを実行する。shell=Trueの場合シェル経由で実行する。 :param command: str :return: Popen """ return Popen( args=command, stdout=PIPE, stderr=PIPE, shell=True ) # 標準出力 print '標準出力:' + cmdline('date').stdout.readline() # 標準エラー出力 print '標準エラー出力: ' + cmdline('echo 2015|xargs wc -l
2015/11/23にPyCharm5.0がリリースされました。リリースノートにはPython3.5サポートと非同期実行の可視化機能などが記載されています。非同期実行の可視化機能が便利そうだったので早速使ってみた記事です。 Thread Concurrency Visualization(非同期実行の可視化機能) 以前書いたasync/awaitの記事を試しにPyCharmで実行して可視化してみた。 今回作るモノ Wikipediaの13記事を同時にダウンロードしてファイルに保存するプログラム 改善前のプログラム ざっくりざっくりで書いてみました。 # -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals import aiohttp import asyncio async def d
# -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals from review.review import ReviewManager USER_ID = "B00001" manager = ReviewManager(USER_ID) # 権利を持っているか確認 manager.can_review() # アプリ起動を記録 manager.app_startup() # -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals import datetime from pip.utils import cached_property import redis PREFIX = 'R
次のページ
このページを最初にブックマークしてみませんか?
『@haminikuのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く