読者です 読者をやめる 読者になる 読者になる

文鎮iPhone救出計画 〜ネットワークカメラ化〜

家で余っているiPhoneをネットワークカメラにしてみました。ネットワークカメラを買うまでも無いけどちょっとしたときに使いたい。作業をしながら鍋の煮え具合を見たいときに使えます。配信用のサーバーを用意する必要もないので便利です。iOSの画面をキャプ…

プロ生ちゃんと一緒にiPhoneから生放送!

lf

iOS向けのライブ配信ライブラリーを書いてみた - Thousand Yearsで制作したRTMPなライブラリーGitHub - shogo4405/lf.swift: iOS用のライブ配信ライブラリーに映像効果を適用する機能をつけたので紹介します。 映像効果に利用するのは、プログラミング生放送…

[iOS] iOS8のエミュレーターでCIImage(CVPixelBuffer: buffer) がnil に

カメラの映像にフィルターかけるときに使うCIImage(CVPixelBuffer: buffer)がエミュレーターで動作しなかったのでメモ。実機では動作した。 - 実機 エミュレーター iOS8.x ◯ ☓ iOS9.x ◯ ◯

iOS向けのライブ配信ライブラリーを書いてみた

iOS向けのRTMPライブ配信ライブラリーを書きました。iPhone搭載のカメラをつかったライブ配信ができます。ライセンスは修正BSDライセンスでgithubのほうに公開しています。RTMPでのライブ配信をサポートしています。https://github.com/shogo4405/lf.swift i…

[misc] Google Codeからプロジェクト移転の設定

Google Codeのプロジェクトページにアクセスしたときに転送ができる機能がありました。検索からGoogle Codeページに飛んで、このプロジェクトはgithubに移転しました!というメッセージでリンクを辿るということをしなくても良さそうです。 設定方法 移転後…

[zf2] リクエストの拡張子別にviewにも対応したテンプレートを適用する

http://d.hatena.ne.jp/shogo4405/20141109/1415519613 の内容を応用してjsonに対するリクエストあればControllerに対応するjsonをテンプレートを変更すること可能になります。 /:controller[/:action][.format]とルーティングした際に、/view/controller/ac…

[zf2] Viewのデフォルトの拡張子phtmlを任意に変更する

zf2でviewの拡張子をphtmlから任意に変更したかったのでその設定のメモです。今回のケースではphtmlからphpに変更してます。 module.config.php configベースは次の通り [ 'default_template_suffix' => 'php', ] ] コードベース コードベースだと次の通り …

Google Analyticsを利用してクライアントサイドのエラーのレポーティングを行う

数年前に記事やつぶやきをみたけたけど忘れてしまったのでメモ変わりに記載。ユニバーサルアナリティクス用のコードです。基本的にはwindow.onerrorイベントを補足してgaにイベントを送信するだけです。要素技術として、アナリティクスのイベント・トラッキ…

AdobeAirでビデオを再生するときにアプリが一瞬黒くならないようにする設定

Air3.5で採用されたtrueオプションを使う。ビデオ再生するときに一瞬黒くなるんので気になりました。 application.xml <android> <containsVideo>true</containsVideo> </android>

FMSを使って録画するときのはまりポイント

FMS

Flash Media Serverを使って録画するときのお話です。3系での話。それ以外は知らない。 はまりがちなコード マニュアル片手にやっていると次のようにコーディングしがち。関数のローカル変数になっていることがポイント。 Client.prototype.startRecord = fu…

TileWindowのメインカラーをcontrolBarGroup内のボタンに反映させたくない。

以下のサイトで質問されていることではまったことがあるのでメモ。 Re: http://stackoverflow.com/questions/6129939/button-in-titlewindow-has-wrong-color Answer controlBarGroupの中身が、TitleWindowのchromeColorが適用されるのが問題なので適用させ…

FMSを使った時にQueryを解析するベストプラクティス

FMS

関数を自作しないという意味でのベストプラクティス。 var q = new LoadVars(); q.decode("foo=1&bar=2"); trace(q.foo); Stream.publishQueryStringの解析が楽になりますね。

社内IRCへWebSocketで接続してみたい

IRC

ちょうど去年の3月末に某CSKを退社。去年の今頃新しい会社に拾われました。入った感想としては、驚きの文化として社内のコミュニケーションツールにIRCを使っているというところ。慣れるまでは大変でした。 IT企業だと案外普通みたいですね。 さて本題、社内…

firebugの計測関数(console.time/console.timeEnd)を自動挿入

firebugの計測関数(console.time/console.timEnd)をつかってメソッドの実行時間の計測するときなどに、計測関数を挿入忘れと削除忘れしないために自動的に挿入するためのコードです 開発のときには、ブックマークレットで呼び出しておいて使うと便利かも(し…

fx7でresizeTo/resizeBy/moveTo/moveByがno longer apply to main windowな件

タイトル通りです。fx7からresizeTo/resizeBy/moveTo/moveByがメソッドとしては定義されていますが動作しなくなりました…。じゃなくて、no longer apply to main windowになりました。 これ系... window.resizeTo(width, height); window.resizeBy(width, he…

Smartyのblockプラグインで変数を使う方法

PHP

block系のプラグインで変数を利用するためのプラグインの作成方法です。 やりたいことはsectionやforeachを利用せずに配列数に合わせてループとプラス・アルファの処理をさせたいということ。 サンプルソース 実行用のPHP assign('array', array( array('foo…

FlexでのMVC設計による開発パターン - その1 -

d:id:shogo4405:20110521:1305947042をMVC的な考え方を踏襲した設計パターンです。ショッピングカート系のアプリケーションを開発するという前提で、僕ならこう設計していくよー。という話。 Modelの設計 WebServiceやHTTPServiceと連携すること考慮しておき…

Greasemonkeyでjquery-uiを使うときのスニペット

jquery-uiを@requireしてもエラーで怒られたりするのでよく調べたらこんなんでいけるらしい。 // ==UserScript== // @resource jquery http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js // @resource jqueryui http://ajax.googleapis.com/…

JavaScriptで複数人開発するときのガイドライン(マイルール)

JavaScriptで複数人開発するときのガイドライン(マイルール)です。SIerとかやっているとold JavaScriptやらモダンJavaScriptを見たりと色々な経験が得られるわけで…。やっぱり複数人開発するときには秩序は必要だなと思って、大体こんなルールにしていまし…

Flexアプリを複数人開発するときのガイドライン(マイルール)

flexアプリケーションを複数の開発者で開発したことがあったときに過去を反省して過去を反省した自分がよく使っていた開発方針のメモです。 よくあるコード よくサンプルとかで見かけるソースコードです。html + JavaScriptもこんなイメージで書かれているこ…

maven使うときのコマンドライン

mavenを利用してslim3を利用するときのコマンドラインのメモ。mvn eclipse:eclipse のときに-DdownloadSources=trueを忘れない。 mvn archetype:generate -DarchetypeCatalog=http://slim3.googlecode.com/svn/trunk/repository mvn eclipse:eclipse -Ddownl…

関西圏セミナー/Untitled!!!!!!!!(アンタイトルド/略称:Un!)

追記 申し込みから数日で満員になっていました。ustで中継されまので告知しておきますね。 http://www.ustream.tv/channel/untitled8ex セミナー紹介 2011年4月3日(日)に、関西のWEBクリエータが集まってチャリティーセミナーを実施します。もし近くの方で都…

退職のご挨拶

最近、日記を書く機会がめっきり無くなって来ましたが。ご挨拶がてらのエントリーです。2011年3月末日を持って、現職を退職することになりました。何かの縁で大阪で勤務できまして、関西近郊の素敵なエンジニアの方々とお会いさせていただくことができました…

KanaXSのmavenレポジトリ

KanaXSのJava版のmaven2用のレポジトリを作成しました。公開しておきます。 設定情報など レポジトリの場所は、http://kanaxs.googlecode.com/svn/trunk/reposです。 dependency情報は、groupIdは、com.googlecode.kanaxsで、artifactIdは、kanaxsです。 pom…

Flex⇔Axis2との通信でObject(AS3)を使う

Axis2とFlex間で、Objectを利用するためのサンプル。Objectは、Javaのほうのjava.lang.Objectじゃなくて、Flex側のObjectデータの送受信についてのメモ。Flex側は単に引数に{foo:"foo", bar:"bar"}を渡してあげるだけ。 Flex側 var webService:WebService = …

Axis2でセッション管理

よく忘れるのでメモ。Axis2でセッションの情報を取得/設定する方法。 import org.apache.axis2.context.MessageContext; import org.apache.axis2.context.ServiceContext; 中略 MessageContext msgContext = MessageContext.getCurrentMessageContext(); S…

PostgreSQLとGenerationType.IDENTITYではまる。

Seasar2.2.40、PostgreSQL8.4/PostgreSQL8.3系で次のようなエラー。 idは、SERIAL型。 Entityクラスでは、@GeneratedValue(strategy = GenerationType.IDENTITY)を利用。 で、次のようなExceptionはいて落ちる。テーブル自体は、insertされているので、try/c…

Kana.JSをJavaに移植してみました

全角カタカナ⇔半角カタカナや、ひらがな⇔カタカナに変換するライブラリーKana.XSをJavaに移植してみました。バグとりをした後にこっちにあげておきます。GitHub - shogo4405/KanaXS: ひらがな⇔カタカナ。全角英数字⇔半角英数字。全角カタカナ⇔半角カタカナ相…

DataGridとパスワードをつかうためのサンプル

パスワードのマスキングとか itemRendererにTextInput指定して、displayAsPasswordとかすれば楽っぽいんですけどitemEditorを使う方法で...。 labelFunctionのマスキング用の関数を指定 itemEditorにPasswordEditor.mxmlみたいなコンポーネントを指定してあ…

DataGridとComboBoxつかうためのサンプル

DataGridの選択エリアにComboBoxを使おうと思って試行錯誤したときのメモ。知らないと難しい... 何も考えないで実装するとこう 以下のようなソースのときに、"sex"カラムが、持っている値は 0 or 1だけど、男性・女性とComboBoxで編集できるようにすることが…

Amazon.co.jpでまとめ買いをしたいという欲求で...

こんなものつくってみました Amazon.co.jpでコミックスのまとめ買いをしたいという欲求で、FlexとAmazonのAPIを利用してつくってみました。検索してドラッグアンドドロップでショッピングカートに突っ込んで、Amazon.co.jpで購入をクリックでAmazonでものが…

PEAR-SOAPとFlexからの通信(サーバサイド)

PEAR-SOAPを用いて作られたWebServiceをFlexからSOAP通信で呼び出したときのメモです。色々とはまりどころがあったのでその際のメモも一緒に。 サンプルつくるにあたっては、サーバ側(PHP)→クライアント側(Flex)の順番で作成しています。 1.サーバ側の準備 …

Application.InputBoxでセルが選択できない件

散布図にラベルを追加するマクロ - Thousand Yearsでセルを"A4"とか直接入力しないといけないのめんどくさい。Application.InputBox(Type:=8)とした場合はエクセルのセルをクリックしてセル名を自動挿入してくれる仕様なのだけれども、自分が書いたコードは…

散布図にラベルを追加するマクロ

散布図のポイントにラベルを追加したい Excelで散布図をかいたときにポイントにラベルを追加したいんですがなかなかうまくいかないので思い悩んだあげくVBAで解決したので、その際のスクリプトをかいたので公開しておきます。 方法を調べていったら、斜めに…

漢数字をアラビア数字に変換とか(突貫工事)

漢数字をアラビア数字に 一か八かとか、万が一。百子(人命)とか機械的に変換してしまわないように、一桁の数字は排除して漢数字をアラビア数字に変換するプログラム。突貫工事。 (JSで実装したんだけど欲しいのはPerlのプログラム...。) ソース "フランス料…

ProgressEventの使い方が分からない件

あるけど使い方わからない>< WebKit系 for(i in ProgressEvent.prototype){ document.write(i, ','); } initProgressEvent,MOUSEOUT,preventDefault,FOCUS,CHANGE,initEvent,MOUSEMOVE,AT_TARGET,stopPropagation,SELECT,BLUR,KEYUP,MOUSEDOWN,MOUSEDRAG,B…

つまみぐいIE8(CSS編)@リクリ

Re:Creator's Chat 1st リクリことRe:Creator’s Kansaiのイベント「Re:Creator's Chat 1st」でしゃべってきました。内容は技術系のカンファレンスの言葉を借りるならLTで「つまぐいIE8(CSS編)」というタイトルお話させていただきました。 デザイナーさんなど…

window.toStaticHTML()

IE8からwindow.toStaticHTML()メソッドが追加されました。引数に与えられたHTMLの断片からscriptタグや、onclick属性などのDynamic HTMLの要素を削除するためのメソッドです。 XDomainRequestのレスポンスに、意図しないscriptタグなどが入ってきたときにま…

IE8で採用されたconstructorプロパティ

constructorが実装されている件 alert('constructor' in window); // true alert(window.constructor); // [object Window] div = document.createElement('div'); alert('constructor' in div); // true alert(div.constructor); // [object HTMLDivElement…

IE8でもEventオブジェクトのとり方は一緒

Eventオブジェクトのとり方 とりあえず現行通りに、window.eventオブジェクトでいけるらしい。ここは、IE路線を貫くのね…。 検証コード <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> </html>

Re:Creator's Chat#1やります

珍しくイベント告知のエントリーです。2008/09/27 19:00に大阪は新大阪(新大阪シーステージ)でRe:Creator'sというWEBクリエーターさんの集まり主催のイベントがあります。 イベントの内容としては、5〜10分程度のショートプレゼン大会でWEBに関するネタを披…

localStorageとsessionStorage

IE8からどうやらlocalStorageとsessionStorageに対応する模様。これらStorage系のオブジェクトは、WHATWGのWeb Application1.0仕様のClient Side Storageを実装したものだということを祈ります。ドキュメントは、この辺で(HTML Standard)、簡単に言うと、ブ…

Chromeのconsoleオブジェクトとデバッグ

Chromeには、consoleというデバッグに便利なオブジェクトがある。9月4日(木)時点でのconsoleオブジェクトには、error, info, log, warnメソッドがあるようで利用方法は、Firebugのそれに近い。 ソース string = "Hello World!!"; object = {}; object.foo = …

IE8β2のHTMLDivElementのそれ

取得方法 <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=8" > </head> <body> <div id="hoge"></div> <script type="text/javascript"> var hoge = document.getElementById("hoge"); for(i in hoge){ document.write(i, ', '); }; </script> </body> </html> 結果 nextSibling, onresizeend, onrowenter, ariaP…

Chromeのnavigatorオブジェクト

navigator appName Netscape plugins [object PluginArray] language ja-JP vendorSub platform Win32 mimeTypes [object MimeTypeArray] productSub 20030107 appVersion 5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.13 (KHTML, like Gecko) …

Chromeのグローバルオブジェクト

globalオブジェクト external, Node, Rect, name, Event, Text, Range, status, closed, parent, frames, Entity, opener, screen, length, scrollX, scrollY, UIEvent, Comment, screenY, Element, screenX, history, toolbar, CSSRule, console, document,…

winow.onhashchange

名前から察しの通りlocation.hashが変更になったタイミングで動作する関数。初期値はnull。 alert(window.onhashchange); // null sample.html <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=8" > <script type="text/javascript"> window.onhashchange = function(){ alert(location.hash); }; </script> </head> <body> </body></html>

IE8でのXMLHttpRequestオブジェクトの行方

XMLHttpRequest alert("XMLHttpRequst" in window); // true ついでにActiveXObjectも alert("ActiveXObject" in window); // true ちゃんとwindowオブジェクト配下に隠れていた。よかった。

IE8β2のdocumentオブジェクト

namespaces, lastModified, onstorage, parentNode, onstoragecommit, nodeType, fileCreatedDate, onbeforeeditfocus, bgColor, oncontextmenu, onrowexit, embeds, scripts, onactivate, mimeType, alinkColor, onmousemove, compatible, onselectstart, o…

clientInformationとnavigator

clientInformation appCodeName, appName, appMinorVersion, cpuClass, platform, plugins, opsProfile, userProfile, systemLanguage, userLanguage, appVersion, userAgent, onLine, cookieEnabled, mimeTypes, navigator appCodeName, appName, appMinorV…