Rubyを書いた #93
メアドのバリデーションに今日も悩まされた件 #92
今日やったこと
続メールのバリデーション
先日もメールのバリデーションの話書きましたが、今日も悩まされました。
こんなサイトがありまして…
Email Address test cases – Testing Testing 1,2,3
これを通る正規表現を求めて頑張りましたが、普通にこれを全部カバーする正規表現は無理があると思いました。
諦めましたw
雑談
今日は他にも色々やったんですが(というか現在進行形)書いてる時間もないのでまた今度………。
ReactNativeのViewについて色々調べた #91
今日やったこと
諸般の事情でコード書けなかったので代わりに色々調べモノしてました。
ReactNativeのUIキット
すご〜く勘違いしてたのですがReactNativeは普通のReactとは違ってHTMLのタグではなくReactNativeのコンポーネントを組み合わせてUIを作っていくんですね…
というわけでおそらく普通のReactで世話になりまくってるMaterial-uiとかは使えないんだと思います。
CSSゴリゴリ書くしかないのかと絶望してたのですがちゃんとUIキット的なのが存在しました。
Nachos UI Kit for React Native - by Avocode
こんなのとか
NativeBase | Essential cross-platform UI components for React Native
こんなの。
Doc読んだだけなので、あくまで感覚ではありますが、クセもなく割と使いやすそうな気がします。
雑談
お盆スゴー
ReactNative躓いたポイントメモ #90
今日やったこと
ReactNativeやっています
ちょこちょこやってます。
ほんとはガチでやらねばならんのだけど。
Alert出した。
これだけだとマジで数行。
export default class App extends React.Component { render () { return ( <View style={styles.container}> <Text>Hello, ReactNative</Text> <Button title='What time is it?' onPress={() => { Alert.alert('Current time', `${new Date()}`) }} /> </View> ) } }
画面遷移とかはどうするのかとかなんもわかってないですが、ドキュメントとか結構わかりやすいのでバリバリやっていきたいと思います。
ちょっと躓いたところ
iOSシミュレーターで実行するのを選択すると、Xcode入ってる?みたいな表示が出てきて困っていたのですが、ちゃんと解決方法が公式に書いていました。
Xcodeの設定のLocationからComand Line Toolの場所を選んだら普通にシミュレーターが上がりました。
雑談
いろんなことに板挟みになっていてつらい。
WebStormデビューしたのでやったことまとめ #89
今日やったこと
WebStormデビューした
正確には昨晩ですが、WebStromデビューしました。
学生はJetBrainsのIDE無料で使えます。ありがたや。
登録は以下から。
Free for Students: Professional Developer Tools from JetBrains
acドメインのメールを持っていれば「UNIVERSITY EMAIL ADDRESS」を選択して、メアドと名前を入れるくらいで登録終了します。GitHubのように承認待ちとかもなくすぐ使えるようになります。
あとは目的のIDEを落としてきてライセンスの設定をすればOKです。ライセンスはメールに届いているはずです。
私はとりあえずWebStormを。JetBrains系のこのインストール画面とってもかわいくて好きです。
設定いろいろ
やっと本題。WebStromに施した設定等まとめです。
まとめというかメモです。
IdeaVim
必須でしょ。
IDEのカーソル移動や編集のコマンドを覚えるよりもVim一個覚えてしまえばいろいろなIDEやエディタでVimキーバインド使えるので最高だよね、という考えに最近は落ち着いています。
GitHubのアカウントを設定
いまGitは基本的にはSourceTreeとコマンドライン二刀流で使っているのですが、SourceTreeの部分を置き換えられるかもしれないと思ったのでとりあえず設定した。
フォントを変えた
Ricty Diminishedを普段から使っているのでとりあえずそれにした。
Consoleのフォントも同様に。
Code Styleを設定してみた
Lintなんかは入れなくても勝手にやってくれる(多分)みたいです。
普段はJavaScript Standard Styleで書いているのでコレを。
なんかいろいろやろうとおもったのですが、使い始めてみないとなんとも言えないのでコレくらいにしておきます。
とりあえずこれから何か書いてみます。
雑談
今日は私の学校で開催されていたプロジェクションマッピングに行ってきました。
学校のイベントと言うよりは八王子市のイベントだったみたいなので、金がかかっていそうな感じでした。
未現像ですが写真とりあえず置いておきます。
手持ちで夜の写真撮るのつらいですね。(GRⅡは手ぶれ補正もついてません)
Emailのバリデーションは難しい…という話。 #88
今日やったこと
バイトでした。
Emailのバリデーションは難しい。
正しいメールアドレスの形式はRFCにて定められているのですが、意外といろんな記号やらなんやらが使えたり、@より後ろにIPアドレスが使えたりします。
知らなかった。
自称99.99%のメアドに対応できる…という正規表現なんかも存在しますがこれは…
カイシャのSlackに貼ったら「怖いからやめて」と言われました。それな。
というようなこともあり、現実的なところで諦めるのがEmailのバリデーションのあるあるらしいです。
そして、もう一つ厄介なのが、かつてのキャリアメール。
2個以上連続のドットやアットマーク直前のドットはRFC的には禁止なのですが、かつてのキャリアメールでは設定可能だったそう…。
そしてその頃に設定されたメールアドレスは変えていない限りは現在も利用可能らしい…。
そんなこともあって、そういった人をターゲットにしているWebサービスとかだとそちらも考慮しないといけないらしい。
そんなこんなで良さげだなと思ったやつが以下。
雑談
今日はひたすらJSを書いてました。少しばかりのCSSも。
進捗イマイチで悲しい。
我が家にAirMac Extremeが導入されました。
光じゃないので速度は変わりませんでたが、自室でプチプチ回線が切れる問題が解決することを祈っています。