YouTubeのリピート再生

こんばんはー。

なぜかYoutubeってリピート再生できないですよね。
結構需要あると思うのですが・・なんででしょう。

軽くぐぐってみたら、YouTubeRepeartなるサービスがあるそうですね。
でもこれ、別のサイトに飛ばなきゃいけない。とても面倒。

だったので、YouTubeをリピート再生できるブックマークレットを作りました。

ブックマークレットについてよく知らない方はググってください!!

ブックマークのURL欄に

javascript:(function(){var d=document;var a="addEventListener";var p=d.getElementsByTagName("embed")[0];if(!d.location.hostname.match(/youtube.com/)){alert("This page is not youtube.");}else{if(p){if(p[a]){p[a]("onStateChange","repaeter_qQFE");}}}repaeter_qQFE = function(s){if(s == 0){p.playVideo()}}})();

この1行をコピペしてください!
他のブックマークレットと一緒です。

Chromeの場合だと、
ブックマークを右クリックして「ページを追加」を選び
f:id:dangiruba:20130303132806p:plain
こんな具合にして、保存をクリック!

そうすると、Youtubeのページでこのブックマークをクリックすることで、リピート再生されます。
他の動画に飛んだときはもう一度ブックマークレットを動作してあげないとリピート再生されないから注意。

YouTubeでリピート再生したいけど、やっぱりYouTubeの動画はYouTubeのサイト内でみたいよね!!って人におすすめのブックマークレットです!

PS.
faviconを設定できると思ってアイコン作ったんだけど、設定するのがとても面倒だったから画像だけ置いときます。
f:id:dangiruba:20130303133002p:plain
設定出来る人は設定してあげてね!!
正直プログラム書くより絵書いてる時間の方が長かったよ!!

django-registrationの話

こんばんはー。

先日django-registrationの話書きましたが、

これって初期設定ではメールアドレスの重複登録が可能なんですよね・・。

どうにかできないかなー。って思ってたんですけど、ちゃんと用意されていました。

django-registration0.8の話です。
0.7以前の場合、backendが必要ありません。

urls.pyでちょちょいと追加すればできます。

from registration.forms import RegistrationFormUniqueEmail

このコードを追加して、urlpatternsに

urlpatterns = patterns('',
  url(r'^admin/', include(admin.site.urls)),
  url(r'^accounts/register/$','registration.views.register',
    {
      'backend': 'registration.backends.default.DefaultBackend',
      'form_class':RegistrationFormUniqueEmail,
    },name='registration_register'),
  url(r'^accounts/',include('registration.urls')),
)

この下の2つを追加します。

そうしたら、登録時にメールアドレスが重複していないかを、django-registrationでチェックしてくれるようになります。

ただ、Userテーブルのemailカラムにunique制約がついてるわけではないので、後から変更する時に重複するメールアドレスを登録することができてしまいます。
例えば、管理者ページでメールアドレスを変更した時にも重複したアドレスを登録できちゃいます。

どうにかunique制約つけたいんですけど、方法がよくわからないんですよねー・・。
誰か知ってる方教えてください(´・ω・`)

django-registration0.6のインストール

こんばんはー。

 

django-registration0.6のインストールでちょっと詰まったので書いときます。

 

環境:

Mac-MountainLion

django-registration 0.6

django-1.4.x(調べるの面倒だった。)

 

まず、http://d.hatena.ne.jp/jYoshiori/20070930/1191180980

ここのサイトの通りにインストール、runserverまでやってみたところ

 

ImportError at /accounts

cannot import name alnum_re
Request Method: GET
Request URL: http://127.0.0.1:8000/accounts
Django Version: 1.4.3
Exception Type: ImportError
Exception Value:
cannot import name alnum_re
Exception Location: /Library/Python/2.7/site-packages/registration/forms.py in <module>, line 8
Python Executable: /usr/bin/python
Python Version:

2.7.2

 

こんなエラーが出ました。

alnum_reが見つからないらしい。

言われた通り、/Library/Python/2.7/site-packages/registration/forms.py

このパスを見たところ8行目で

from django.core.validators import alnum_re

と、インポートしていました。

 

調べてみると、今のバージョンのdjangoには入ってないらしいです・・。

やってることは正規表現ライブラリのreとほとんど一緒なので、ちょこっと修正しましょう!

 

今回は素直に/Library/Python/2.7/site-packages/registration/forms.pyを直接編集します。

# sudo vim /Library/Python/2.7/site-packages/registration/forms.py

等でファイルを開いてから、以下の様に編集してください。

>|python|

  7 from django import forms

  8 # from django.core.validators import alnum_re

  9 from django.utils.translation import ugettext_lazy as _

 10 from django.contrib.auth.models import User

 11 

 12 from registration.models import RegistrationProfile

 13 

 14 import re

 15 alnum_re = re.compile(r'^\w+$')

||<

 

8行目をコメントアウト、

14行目と15行目を書き足して上げましょう!

ユーザー名の検査でnum_reが使われているので、それをコンパイルしてalnum_reに渡しちゃえば、問題なく使えます。

でも最近のDjangoってユーザー名に@とか使えるんでしたっけ・・。

まぁいいやΣ(・▽・

 

UITextFieldやUITextView等での枠線、radiusについて。

f:id:dangiruba:20120824185305p:plain

環境:

OS:Mountain Lion

Xcode:4.4

ストーリーボード使用

Date:2012/8/24

 

*な・ぜ・か

ストーリーボード上じゃUITextView等で、枠線をつけたり角を丸めたりできないみたいです。

 

コード上ならできるんですけど、ぐぐって出てくる情報じゃなぜかエラーになってできなかったので書いておきます。

 

UIViewControllerに対応するクラスを作っていて、Classを接続している前提で進めます。

 

*outletを接続

いつもの方法で、コードと部品を対応付けます。

EditorをAssistant Editor(真ん中のやつ)にして、部品からコントロールを押しながらViewControllerのヘッダー部分にドロップ

適当に名前をつけますが、ここではtextFieldという名前だと仮定します。

 

*ヘッダー追加

ViewControllerのヘッダーに、

>|?|

#import <QuartzCore/QuartzCore.h>

||<

と、import文を追加してください。

これが無いと

 Property 'borderWidth' cannot be found in forward class object 'CALayer'

 Property 'cornerRadius' cannot be found in forward class object 'CALayer'

だったりっていうエラーが出ちゃいます。怖い怖い 

 

*コードを書く

ViewControllerの実行ファイル(*.m)の、viewDidLoad等に、以下の2行を追加。

>||

    textField.layer.borderWidth = 1.0; //枠線の太さ

    textField.layer.cornerRadius = 10.0; //角丸の半径

||<

数字は適当に変えてください。

 

完成版

ViewController.h

>||

#import <UIKit/UIKit.h>

#import <QuartzCore/QuartzCore.h>

 

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutlet UITextView *textField;

 

@end

||<

 

ViewCOntroller.m

>||

- (void)viewDidLoad

{

    [super viewDidLoad];

// Do any additional setup after loading the view.

    

    textField.layer.borderWidth = 1.0;

    textField.layer.cornerRadius = 10.0;

    

}

||<

 

f:id:dangiruba:20120824185305p:plain

 

こんな感じになってくれる。