Pythonにおけるデザインパターン 当サイトについて GoFの定義した23コのデザインパターンをPythonで実装します。 ただし、Pythonのビルトイン機能で実現できるパターンもあります。 その際は、ビルトイン機能の紹介に留めます。 Pythonらしい書き方(Pythonicな書き方)ができるものは古典的な実装とPythonicな実装の両方を紹介します。 全デザインパターン パターンカテゴリ パターン名 コメント
!! ======================== !! ※この記事は2019年の記事です。この記事で紹介している内容は2019年当時の内容である事を理解した上で、実際に設定する際は最新の情報を確認しながら行ってください。 !! ======================== !! SeleniumはE2Eテストの自動化などで大きな力を出してくれます。 今回の記事では、下記の内容をまとめてみます。 色々なユースケース 抜け漏れ対策のwait.until()関数 => 実務ではとても重要 IDやClassが無くても、AltやPlaceholderなどから力技で抽出する技 パスワード系 無限スクロール系 必要なツールをまずは揃える Python3.7 ChromeDriver https://sites.google.com/a/chromium.org/chromedriver/dow
この記事について 本記事はPythonを使ったWebスクレイピングのテクニックを紹介します。 ※お酒飲みながら暇つぶしで書いたので割と適当です。 今回紹介するテクニックを使えれば経験上大体どんな値でも取得でき、これらはRubyだろうがGolangだろうが同じ様に動作します。 Webスクレイピングが出来ないサイトがあればコメントにて教えてください。全身全霊を持ってやってみます。 また、Webスクレイピングをしたことが無い方は下記の記事を読むことをお勧めします。 Python Webスクレイピング 実践入門 - Qiita 追記更新 6/12 コメントに対応しました。 はじめに 注意事項です。よく読みましょう。 岡崎市立中央図書館事件(Librahack事件) - Wikipedia Webスクレイピングの注意事項一覧
Githubで画像の差分を見られるモードが話題を呼びましたが、このように2枚の画像の差分を調べたいときって時々ありますよね。 そんなときImageMagickのコマンドラインツールを使えば、たった1行で実現できます。 $ composite -compose difference A.jpg B.jpg diff.jpg とすれば、A.jpg と B.jpg の差分画像 diff.jpg が作られます。この差分画像は以下のようになります。 さらにこの差分画像(diff.jpg)が「真っ黒な画像」かどうかも、コマンドラインで調べることができます。 # 差分がなかった場合(=diff.jpgは黒一色の画像) $ identify -format "%[mean]" diff.jpg 0 # 差分があった場合 $ identify -format "%[mean]" diff.jpg 960.8
初めに皆さんこんにちは、ぷらする(@plusl_BTC)です。 リアルでは大学の学祭の真っ最中ですが、ちまちまと合間を見つけてこの記事を書いています。 さて、最近BTCFX界隈ではBotを作ろうという動きが盛んですね。 おそらく、漢 a.k.a GAMI さんに影響されたという方も多いと思います。 自動売買スキャルbot、13日目。証拠金160,000円=>293,000円。日次+83%。過去最高レベルに綺麗な利益曲線。24時間無停止。放っておくだけ。2日ごとに2倍になるALTをHODLしてる感覚。約530回/日のトレード。利益+250円/トレード。過去最大効率。効率が高ければ手数料が導入されても生き残れる。9勝4敗。 pic.twitter.com/j6TBn7ZMLT— 漢 a.k.a. GAMI (@kanakagami1978) 2017年11月14日 私も漏れず、一連のツイートを
こんにちは、メルカリのQA-SETチームで自動化をぶりぶりしている tadashi0713 です。 これまではモバイルアプリ・WebアプリのE2Eテストを中心に自動化をしていましたが、最近ではプロダクト部門・カスタマーサポート部門・コーポレート部門の業務自動化にも挑戦しています。 今回はSelenium WebDriver (以下 Selenium) を使って簡単にできるブラウザ作業自動化についてご紹介します。 10/25にGitHub JapanでLT発表した資料もありますので、合わせてご覧ください。 english-lt.connpass.com 意外と多い、ブラウザを使った繰り返し作業 社内の色々な職種・チームの方々とコミュニケーションをしていると、ブラウザを使った繰り返し作業が多く感じました。 例えば 社内で使用しているWebサービスのアカウントを社員に付与する Chartio(h
概要 ファミコンのエミュレータをJSでだらだらと作ってた。そこそこ遊べるようになったので公開しておく。技術的な内容は、またどこかで発表したり、Qiitaなどにまとめたい。(忘れないうちに。需要があるかは怪しいが。) 随分昔に作ってみたいなーと思いFPGAでの実装を開始したんだけど、早々に挫折した覚えがある。今思うとFPGAの場合タイミングの問題が付き纏うのでJSで書くより圧倒的に難易度も高いし、ハードエミュレータを実装するにしても前段階としてソフトウェミュレータを実装するのが定石っぽいので無謀だったっぽい。 ひとまずMapper0という基本的なカセット形式のみに対応し、スーパーマリオブラザーズがそこそこ遊べるくらいを目標とした。 成果物 github.com ファミコンのスペック MPU 6502(RP2A03), 8bit WRAM2KB VRAM 2KB 最大発色数 52色 画面解像度
自分用にメモしておく コマンド実行 CMD1; CMD2, CMD1 && CMD2 ;はCMD1の結果に関わらずCMD2も実行される &&はCMD1の結果が正常な場合のみCMD2が実行される CMD1 || CMD2 - 失敗時に後続コマンドを実行する CMD || printf "%b" "MSG"でエラーメッセージを表示する エラーメッセージ表示後exit 1したい場合 = CMD || { printf "%b" "FAILED.\n" ; exit 1 } CMD || printf "%b" "FAILED.\n" ; exit 1と波括弧無しで書くと期待通り動作しない(CMDが成功時もexit 1してしまう) CMD & - バックグラウンド実行 CMD &で[1] 4592のようにジョブ番号とプロセスIDが表示される killしたければkill %ジョブ番号 か kill
vim で TOhtml して貼り付ける方法を使っていたけど、highlight コマンドを使うと簡単にソースコードをハイライトして貼り付けられてべんり。 highlight documentation OSX なら brew コマンドでインストールできる。 % brew install highlight highlight コマンドにソースコードを喰わせて出力形式をリッチテキストフォーマットを指定してやると Keynote に貼り付けた時にいい感じになる。 % highlight -O rtf server.js | pbcopy デフォルトのテーマも悪くないんだけど、--style -s オプションでテーマを指定することができる。テーマはデフォルトで相当数入っているので気に入るモノがひとつはあると思う。-w オプションで使えるテーマを確認できる。 % highlight -O rtf
会員事業部の三木(@giginet)です。 この記事では、業務改善のために開発者向けのツールをSwiftで開発してみたため、その知見についてお伝えしたいと思います。 なお、この記事はXcode7.1上でSwift2.1を使った開発を前提としています。 作ったもの クックパッドiOSアプリでは開発の際に、新しい機能を実装したり、インターフェイスを改善したあとにiOSシミュレーターの動画を撮影しPull Requestに貼り付けています。 動画を撮影する際には、汎用的にスクリーンキャストを撮影する社内ツールを使っていたのですが、使いづらい面も多かったため、 簡単にiOSシミュレーターの操作をアニメーションgifとして記録したいという需要がありました。 そのため、空き時間を使って、簡単なユーティリティを実装しました。 なぜSwiftで作るのか 今回は、OS Xの開発用SDKであるCocoaを使い
最新版はこちら: https://speakerdeck.com/yutannihilation/ggplot2zai-ru-menRead less
[This article was first published on ipub » R, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here) Want to share your content on R-bloggers? click here if you have a blog, or here if you don't. In this post, we write a shiny app that lets you display and modify data that is stored in a database table. Shiny and Databases Everybody loves Shiny, and righ
このページはMacのOS X Yosemiteから使用できるようになった自動化用のJavaScript (JavaScript for Automation : JXA) の用例について扱っています。 *勉強用に作成したページなので間違いや不具合の出るサンプルがあるかもしれません。致命的なもので、これはまずいというサンプルがありましたらopenspc@alpha.ocn.ne.jpまでメールをください。
OS X 10.10からJavaScript for Automation (通称 JXA)が導入されて、オートメーションのためのスクリプトがより書きやすくなりました。 そのJXAを使って、「AppStore.appを起動させてから、購入済みのアプリをInstalllさせる」というスクリプトを書いてみました。 その結果が次の地味なgifです。購入済みリストからMouseposéを探しだしてインストールさせています。 JXAスクリプトとChefやAnsibleなんかを組み合わせると、自動でストアアプリも入れられるようになる…かもしれません。 前提 OS X 10.10 以降であること AppStore.appが特定のApple IDでサインイン済みであること Accessibilityでスクリプトを実行するアプリケーション (Terminal.appやScript Editor.appなど)
Evernote でノートを作成すると・・・ Evernoteでのーとを作成するスクリプトを作って、Evernoteの新規作成を楽にしたい Evernoteを新規作成を出来るようになると、各種のアプリの自動化と組合せて、Evernoteを使うのが相当楽になると思います。 Evernoteで新規作成の基本形 ノートの新規作成をする、コレが基本です。 var app = Application("Evernote") var note = app.createNote({ title : "テストノート", withHtml: "JavaScriptからこんにちは" }) テンプレートとして、HTMLを作ることが出来る HTML を放り込めるので、HTML使ったテンプレからノートを作ることが出来る。 var app = Application("Evernote") var my_title
Evernoteにアクセスして、ノートの一覧を取り出します Evernote のノート一覧を取り出すには、まずノートブックを取得します。 var evn = Application("Evernote"); var inbox = evn.notebooks["明日の予定"]; notes = inbox.notes for(var i=0; i<notes.length;i++){ note = notes[i]; console.log( JSON.stringify ( { name : note.title() , body : note.noteLink() } ) ) } Evernote の階層構造 Evernote application ⇛ Notebooks ⇛ Notes このように階層構造が組まれているので、その通りアクセスすると、とても簡単に取り出すことが出来る。
root権限がない一般人が,python2系列をインストールする手順についてのメモ. 一言概要 ソースからビルドします. なぜ必要か root権限を持つユーザはこんなことを考える必要はほとんどない. しかし,root権限のないただの人の場合,pipやeasy_installなどでたった1行で済むパッケージのインストールすらできない(というのは一部嘘ですが :-p ).また,共用マシン環境の場合,自分の都合だけで勝手にpythonのバージョンを上げたりパッケージを追加更新したりできない点もネックになる. インストールする インストール先: /home/akisato/src/downloads/python-2.7.6rc1とする. python: ちょっと古いけど,python 2.7.6 RC1を想定. OS: CentOS 6系列を想定するが,たぶん他のlinux OSでもOK. bz
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く