何年も前、SeleniumやWebDriverの話で盛り上がった記憶があります。ただ、その当時はまだRailsなどバックエンド中心の文脈でした。今、フロントエンドに軸足が移る中、ブラウザテストの状況はどうなったのでしょう? 不思議なことに、フロントエンド界隈でそれほど話題に上がって来ないですよね (私の周りだけ?)。結構大事なのに。実は皆さん、「Seleniumアレルギー」なんじゃないですか? 公式サイトに漂う ゼロ年代感(下図)。Javaへの躊躇、「めんどくさい」と聞かされ続けた過去、無意識に避けてしまうのがSeleniumです。 ただ、フロントエンドの文脈でこそ、ブラウザテストは重要度を増しています。そこで「Selenium触りたくない病」の筆者が、 四苦八苦した背景 と、2016年だからこそ 見えてきた落とし所 を書いてみたいと思います。 註: 思ったより長文になってしまいました。先
この記事では、他人が書いたコードを扱うための練習法を一から説明します。目標は、 Spyder Python IDE という今まで触ったこともないプロジェクトのコードに任意の変更を加え、途中で行き詰ることなく、目的達成に必要な情報 のみ 習得することです。ここでは、勘や実験的な手段、そしてプロの現場で養った洞察力を武器に問題に対処する方法を学びます。形式ばったレッスンのように、苦痛を感じることはないでしょう。満足感や挫折、葛藤を味わいながらプロジェクトを進め、最終的には(なんとか動く程度の)パッチを完成させ、大規模で不慣れなコードベースに機能を追加します。 プログラミングを学んでいる人は皆、あらゆる種類のプログラムで大量のコードを書いています。それは、問題集に載っているアルゴリズムを実装するにせよ、ウェブサイトの構築やビデオゲームの作成をするにせよ同じです。ところがプロのソフトウェアエンジニ
こんにちは!白ヤギの開発者、森本です。 白ヤギではいま API サーバーを Go 言語で開発しています。 皆さんも Go の話題をよく見聞きするようになっていると思います。今回は白ヤギの業務でどんな風に Go を使って開発しているかの一端を紹介します。 余談ですが、先日、大学の先生とお話ししたときにこんな話を伺いました。その先生は学生にプログラミングを教えているそうですが、何割かの学生は及第点に届かないそうです。しかし、そういった学生がプログラミングの素養がないかというとそういう訳ではなく、プログラミングを学ぶ上でその学生にとって何が理解を促すのかが違うだけなのだと仰っていました。教える側として全ての学生が習得できるプログラミング教育というのを見つけられていないのが悔しいといった話をされていました。 何かを学ぶというのを一般論では語るのは難しいということかもしれません。そのため、私はこうい
2018年追記 本記事は 2014年12月当時の事情に基づく試みの記録として残しているものです。すでに内容に実効性はなく、むしろ現時点においては一連の手順が何らかの事故を誘発する可能性もあります。本記事を参照した結果何らかの損害が発生したとしても筆者ならびに当社は一切の責任を負いません。十分にご注意下さい。 はじめに 〜ご注意下さい〜 この記事は、Amazon 社の販売する電子書籍リーダー「Kindle Paperwhite」を "脱獄" し、公式の開発キットである KDK を使わずに作成した GUI プログラムを動かした試みについて記述したものです。この試みは Kindle 愛好者の一人としてとても残念に思った Amazon 社の最近の方針転換を受け自己責任で行った実験であり、記事は自分用に控えた情報の一部を技術的な話題のひとつとして書き留めたものです。無論 Kindle の "脱獄"
渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 JSXのパッケージマネージャ(npmへのあいのり)対応のパッチを書いたりもしましたが、今どきのプログラミング言語ではパッケージマネージャは必要不可欠なインフラだと思います。Qtももっといろいろなコードが流通するといいと思うのですが、いまだに、昔ながらの強力なコアAPI + 人力で努力みたいなノリなのかなぁ、と思ったり。欲しいのは、パッケージというかモジュールというかライブラリの流通インフラ。以下妄想。モデルはnodeのnpm。 qpm(仮称)コマンドで、必要なライブラリを取得。 システムのフォルダには手を加えない qt_modulesフォルダにファイルが入る。孫依存もフラットに並べる。 qt_package.jsonに依存関係が書かれる。依存は、ビルドに必要、ライブラリの利用に
Everyone has their own dreams, and every emacser has an own operating system dream! – AndyStewartWe want full-feature browser in Emacs!I think every emacser are hoping to run a modern browser in Emacs inside, not text browser like w3m, not xwidget that break emacs’ text pure world, we hope running WebKit engine browser like any other modern application, not just text, it can run javascript, it can
渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 JSXアドベントカレンダーのエントリーです。 2年ぐらい前から、QtをJavaScriptから使うというのをやっています。その延長でJSXから使うというのもずーっと、細く長くしぶとくチャレンジしています。12月12日に出たばかりのQt 5.2でうまくいきそうな感じなので、その成果を紹介します。コード片とかいっぱい書くのはめんどいので、コード片やサンプルはリンク先を参照してください。 Qt + JSの歴史 QtをJavaScriptから使うというのはかなり昔から先人たちによって行われてきたものの、今は誰も本気で取り組んでいなくて、ロストテクノロジーになりかけています。Qtは2007年5月リリースの4.3でQtScriptという名前でECMAScriptのエンジンを搭載しました。当
私は小さなソフトウェア開発会社で指導的立場にあり、購入を含めてツールの選択にも責任がある。しかし、チームで使用するフレームワーク、特にUIフレームワークを選択するのは非常に難しい仕事だ。数年前、将来のWeb開発に向けてリッチインターネットアプリケーションフレームワークを選択した際、自分の調査ではAdobe Flexが最適と思われた。AdobeがLinuxバージョンのFlashを廃止することが想像できなかった頃の話だ。当時HTML5は初期の計画段階だったのに対し、Flexは完成度が高く、ドキュメントも豊富な商用製品であり、Flashを使用するための優れた機能が搭載されていた。そのため、Flexを選択したが、現在では開発が停止している。逆に、15年前にデスクトップアプリケーションをQtに切り替えたが、こちらは現在も広く使われている。そこで、私は正しい選択と誤った選択の違いを見出したいと思ってい
英Riverbank Computingは6月17日、Qt向けのPythonバインディングの最新版「PyQt 5.0」をリリースした。Qt 5をサポートし、Qt 5で加わった新機能をPythonから利用できる。 PyQtは、フィンランドDigiaが開発するGUI/アプリケーション開発フレームワークであるQtのPythonバインディング。これを利用することで、GUIを持つアプリケーションをPythonで開発できる。Python用にC/C++のインターフェイスコードを生成するツール「SIP」を利用して開発されており、バージョン2系および3系のPythonをサポート、LinuxおよびMac OS X、Windowsで利用できる。ライセンスはGPLv2/v3で商用ライセンスもあるが、Qtが採用するLGPLは採用していない。 PyQt 5は2012年12月に公開されたQt 5をサポートするメジャーリ
最近とあるプロジェクトで、JavaScriptを使い、お客さん先のホームページを読込、その内容に応じて広告をJavaScript内で生成する『レコメンドエンジン』の配信サービスを提供している。 その中で、JavaScriptが複雑化してきたので、JSのxUnitの書き方と、CIサーバJenkinsに載せるようにしました。 JavaScriptの単体テスト QUnitとJasmineを調べたが、ピュアなxUnitが好きなので、今回QUnitを選択した。QUnitのテスト表記は下記のようにシンプルなequal関数でサクサクかけました。 書きながらソースコードのリファクタリングも進みました。やはりテストコード書くとコードの悪い所が顕著に見えるのが心地いいです。 1,QUnit 元々は、jQueryのテストフレームワークとしてスタートした。現在はjQueryに依存していない 公式サイト:ht
もちろん楽天Kobo Touchを買った。ビックカメラのポイントで購入。 Kobo Touchは現在日本でサービスインしている電子書籍ビューアとしては最高なものと言える。 ファームウェアアップデートは.tgzを展開するだけで、一切の認証は無い GPLコードはGitHubで配布 : https://github.com/kobolabs/Kobo-Reader プラグイン(アプリ)のサンプルコードまである。現状のファームウェアでは利用できない気がするが。。 U-bootで起動し、シリアルポートにも容易にアクセスできる 素晴らしい。欠点は楽天しかない。 前回のKindle2( http://d.hatena.ne.jp/mjt/20110501/p2 )のようにnmoshも移植したい。 罠 Koboは起動にアクティベーションを必要とする。つまり、WindowsかMacのどちらかを持っていないと
zombie.jsとは jsdomというnode製のDOMシミュレータがあります。これを使えば、ブラウザを使わずにDOMイベントを発行することができます。 zombie.jsはセッション管理とブラウザのアクションを管理するjsdomのラッパーです。 個人的には、Ajaxのテストは無理せずJavaScriptでやれとおもってるので、その点zombieは素直に動いてくれます。 利点 AjaxでDOMを書き換えたりするイベントもテストできる (qt-webkitと比較して) 無茶苦茶早い コンパイルが楽(というかQTは定期的に互換崩れてバイナリ壊れてる… 論よりコード サンプルをアップロードしてあります mizchi/zombie-tester-example https://github.com/mizchi/zombie-tester-example インストール等はReadme見てもらうと
ある ニュース記事を同僚に教わった。 この記事によるとタッチデバイスの会社は WebKit2 に対応しているのに検索の会社は旧バージョンにとどまっており、HTML5 に課題は多いのだそうな。 そりゃ課題は常に山積みだよね…と思っていたら記事は誤解だと別の同僚が説明を書いている。 リンク先の記事はさておき、世間の関心をいまいち集められていない気がする WebKit2 についてざっと説明をしてみたいとおもう。 この記事を読み終われば WebKit2 と Chromium WebKit, Webkit1 の違いを知ったかぶれるようになる予定。 WebKit2 は 2010 年の 4 月にアナウンスされた WebKit の新しい API レイヤで、Mac 版 Safari などが使っている。 大きな特徴はレンダリングエンジンを別プロセスで動かせること。 Chromium でやっているのと同じような
みなさん仕事でPhantomJS使っていますか?僕は使っていません。でもそろそろ使ってみたいので、仕事でよく使うCentOSにPhantomJSをインストールする方法を調べてみました。 環境 今回はVirtualBoxes – Free VirtualBox® Imagesで公開されているCentOS-6.2のイメージを利用します。 http://virtualboxes.org/images/centos/http://sourceforge.net/projects/virtualboximage/files/CentOS/6.2/CentOS-6.2-i386.7z PhantomJSをインストールする前に、あらかじめ次のコマンドでライブラリを更新と開発ツールのインストールを行います。依存関係などが面倒なので、開発ツールは全部インストールします。 sudo yum upgrade s
Vimが良くも悪くも「エディタだ」と言われる要因として「画像や異なるグリフのフォントを同時に出せない」ことを上げられます。つまりVimはHTMLやマークダウン等のプレビューを確認する為にいちいちブラウザを起動して確認し、ファイルを更新した際には読み込み直すという面倒な手間が掛かる事を意味しています。 まぁ専用ブラウザを作ればいいんだけど面倒で腰が重かったんだけど、ちょいと作ってみました。 mattn/mkdpreview-vim - GitHub MkdPreview Markdown previewer for vimmer https://github.com/mattn/mkdpreview-vim ファイルタイプがmarkdownなバッファで :MkdPreview! と実行するとプレビューワが起動します。 プレビューワが一度起動している状態なら、以後は他のVimからでも :Mkd
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く