会員制の動画共有サイトの構築した
こんにちは。
今日は、会員制Webページの構築についてです。
まずは、構築したきっかけから。
お急ぎの方は読み飛ばして下さい。
- とある日の会話にて
- 会員向けサイトの仕様
- ①サーバーは有料のサーバーで、十分なスペック
- ②ログイン機能にて、会員以外は見れないようにする
- ③ユーザー名とパスワードは事前に個々に送信し、全ユーザー共通
- ④ユーザーの新規登録は必要ない
- ⑤ホームビデオを共有
- ⑥SSLによるセキュリティ対策
- 参考にしたサイト
- テンプレート
- ログイン画面
- メインページ
- ログイン機能の実装
- 動画のプレイヤー
- テンプレート
- 最後に
とある日の会話にて
ある日、こんなことを言われました。
依頼主『君はプログラミングできるから、ホームページ作れるよね。』
自分『はい?簡単そうに言いますけどそれは…』
依頼主『ホームページは会員だけが見られるようなもので、セキュリティは万全にしといてね。』
自分(もう断る雰囲気じゃないじゃん…)
みなさん、こんな無茶ぶりされたことありませんか!?笑
私はありましたよ、つい最近。
プログラミングできるから、ホームページも作れるって…
その理論でいくとプログラマー全員がホームページ作れて、Webデザイナーが仕事を失うことになるんですよ!
というツッコミを入れたいところですが、いつもお世話になってる方なので断れません。
ということで、はじめて会員サイトを作ってみました。
Javaから見たSwiftとの違い ~for文編~
こんにちは。今回はSwiftネタです。
最近C#とSwiftに一気に手を出してしまったため、苦悶の日々を過ごしております(笑)
両方ちょっとだけ触ってみる予定だったのに…
そんなわけでSwiftに挑戦しているわけですが、よく分からないところが多い!
さらに、Swiftはバージョンがどんどんあがってるようで、今使われているのはSwift3というものだそうです。
そのため、ググってみても古い情報だった、なんてことがよくあります。
『ちょっと手を出したかっただけなのに、苦しめやがって、このやろう!』な気分なので、苦しめられたところをメモしていこうかな、と思います。
今回は、第一回としてfor文を扱っていこうと思います。
本記事をお読みの方へ
ここで注意点ですが、この記事はJavaなどのC言語的文法をもった言語から見ての感想が大いに含まれています。なぜなら私はJavaしか使ったことがない趣味のプログラマーだから。
ほかのもっとモダンな言語使いのプロフェッショナルな方々には、鼻で笑われてしまうような内容となっておりますので、これを読まずにもっとましなものをお読みください。
それでは参りましょう!
for文の基本構文
みなさん、for文使いますか?
うんうん、そうですよね、使いますよね!
巷では、for文を使わなきゃプログラミングしてるとは言わない、と言われてるとか言われてないとか。
ということで、Swiftでfor文を書こうと思うわけですが、これが一癖あります。
Javaではfor文は以下のようになります。
int a = 0; for(int i = 0; i < 10; i++){ a += i; }
aに0から9までを足し続けるという、びっくりするぐらいのくそコードですが、その際そんなことはどうだっていいんです(笑)
C言語もC#もほとんど一緒です。しかし、Swiftではこうなります。
var a = 0 for i in 0 ..< 10{ a += i }
for文が全然違うじゃないか!ってなりませんか!?
あっ、なりませんか。すいません。
少なくとも私はそう思いました。
forをいつものように書くとXcodeが怒ります。
おい、Cっぽい書き方をやめないか!的なエラーがでて驚かされます。
ここでぐぐってみると、Swiftにはモダンなforの書き方があって、上のものがそうだ、と知りました。
ちなみに、0..<10 は 0≦i<10 を、0...10は 0≦i≦10 を表すそうです。
上のソースを見ると、ちゃっかり型推論が使われています。varってなんかすごいなー、という気分になります。
色々なfor文
上に書いた書き方は、1ずつ増やして処理したい(i++する)時でしか使えません。ではそのほかの場合ではどうなるのでしょうか。
Javaと比較しながら書いておきます。見出しがJava的な書き方となっております。
for(i = 0; i < 10; i +=2)と書きたいとき
for i in stride(from : 0, to : 10, by : 2)
for(i = 0; i <= 10; i +=2)と書きたいとき
for i in stride(from : 0, through : 10, by : 2)
for(i = 10; i >= 0; i -=2)と書きたいとき
for i in stride(from : 0, through : 10, by : 2).reversed()
まとめ
stride()を使えば、刻み幅を変えることができます。toなら~未満を、throughなら~以下を表しています。
徐々に減らしていく処理では、最後にreversed()を付ければよいそうです。
ネットの記事ではよくreverse()とされていますが、そう書くとXcodeに怒られました。
最後に
いかがでしたでしょうか。今後もよく分からないところが出ましたら、その都度書いていこうと思います。
こういう書き方もあるよ!とかここは違うよ!といったアドバイスをいただけると、大変助かります。
ではまた。
Shawn MendesのThere's nothing holding me backを和訳してみた
There's nothing holding me backを和訳してみました。
訳がしっくりこないところが少しありますが、良い訳がありましたらご指摘いただけるとありがたいです。
There's nothing holding me back
I wanna follow where she goes
彼女の行くところについて行きたいな
I think about her
彼女のことを考える
and she knows it
それに、彼女もそれを知ってる
I wanna let her take control
彼女に僕を支配させたい思うんだ
'Cause everytime that
she gets close, yeah
だって、彼女はいつも寄り添ってるから
She pulls me
in enough to keep me guessing
彼女は僕が考えちゃうぐらいひっぱるんだ
And maybe I should stop
and start confessing
そして多分僕は考えるのをやめて打ち明け始めるべきだね
Confessing, yeah
打ち明けよう
Oh, I've been shaking
おお、震えてるよ
I love it when you go crazy
僕は君がクレイジーになるときが好きなんだ
You take all my inhibitions
君は僕の理性を奪う
Baby, there's nothing
holding me back
ああ、もう僕を引き止めるものは何もないよ
You take me places that
tear up my reputation
君は僕の名声を破るような場所に連れて行くよ
Manipulate my decisions
僕の決意を操るんだ
Baby,
there's nothing holding me back
ああ、僕を引き止めるものはもう何もないんだよ
There's nothing holding me back
僕を引き止めるものは何もないんだ
There's nothing holding me back
僕を引き止めるものは何もないよ
She says that she's never afraid
彼女は恐れたことなんかないって言うんだ
Just picture everybody naked
みんなが裸だって想像するだけ
She really doesn't like to wait
彼女はほんとに待つのが嫌いなんだ
Not really into hesitation
ためらったりしないんだよ
Pulls me
in enough to keep me guessing
彼女は僕が考えちゃうぐらいひっぱるんだ
And maybe I should stop
and start confessing
そして多分僕は考えるのをやめて打ち明け始めるべきだね
Confessing, yeah
打ち明けてしまおう
Oh, I've been shaking
おお、震えてるよ
I love it when you go crazy
僕は君がクレイジーになるときが好きなんだ
You take all my inhibitions
君は僕の理性を奪う
Baby, there's nothing
holding me back
ああ、もう僕を引き止めるものは何もないよ
You take me places that
tear up my reputation
君は僕の名声を破るような場所に連れて行くよ
Manipulate my decisions
僕の決意を操るんだ
Baby,
there's nothing holding me back
ああ、僕を引き止めるものはもう何もないんだよ
there's nothing holding me back
ああ、僕を引き止めるものはもう何もないんだよ
'Cause if we lost our minds
だってたとえ僕たちが理性を失って
and we took it way too far
突き進みすぎたとしても
I know we'd be alright,
大丈夫だって知ってる
I know we would be alright
大丈夫だって知ってるんだよ
If you were by my side
もし君が僕のそばにいて
and we stumbled in the dark
たとえ暗闇の中でよろめいたとしても
I know we'd be alright,
大丈夫だって知ってる
I know we would be alright
大丈夫だって僕は知ってるんだよ
'Cause if we lost our minds
だってたとえ僕たちが理性を失って
and we took it way too far
突き進みすぎたとしても
I know we'd be alright,
大丈夫だって知ってる
I know we would be alright
大丈夫だって知ってるんだよ
If you were by my side
もし君が僕のそばにいて
and we stumbled in the dark
たとえ暗闇の中でよろめいたとしても
I know we'd be alright,
大丈夫だって知ってる
I know we would be alright
大丈夫だって僕は知ってるんだよ
Oh, I've been shaking
おお、震えてるよ
I love it when you go crazy
僕は君がクレイジーになるときが好きなんだ
You take all my inhibitions
君は僕の理性を奪う
Baby, there's nothing
holding me back
ああ、もう僕を引き止めるものは何もないよ
You take me places that
tear up my reputation
君は僕の名声を破るような場所に連れて行くよ
Manipulate my decisions
僕の決意を操るんだ
Baby,
there's nothing holding me back
ああ、僕を引き止めるものはもう何もないんだよ
there's nothing holding me back
ああ、僕を引き止めるものはもう何もないんだよ
I feel so free
とても自由に感じるよ
when you're with me, baby
君が一緒にいるときはね
Baby,
there's nothing holding me back
ああ、もう僕を引き止めるものは何もないよ
思わず聞き入ってしまいますね。
ではまた。
Xamarin.Formsでlabelのテキストを動的に変更する
初歩中の初歩ですが、ググっても欲しい情報が一発ででなかったため、ここにメモします。
C#もxamlも初めて触るので、何もかも分からないのです。やっぱり最初は入門書を読むべきかな?!
方法
任意のxamlファイルに(今回はMainPage.xaml)Labelを追加します。
Textタグに記入した文字は、初期値として表示されます。
Nameタグにより、要素に名前を付けるようです。今回はLabelTextという名前にしました。
MainPage.xaml
<Label x:Name="LabelText" Text="Hello, world!" />
あとは、csファイルに処理を加えるだけです。
MainPage.xaml.cs
LabelText.Text = "Good job!"
(要素名).Textにて、要素内の文字列を制御できます。Buttonなど他の要素でも一緒です。
まとめ
非常に簡単です。AndroidのならfindViewByIdで、いちいちidを取得する、という行程を経なければなりませんが、C#ではこれがないため、すっきりとした見た目になったな、と感じます。
これを調べた際に、XamarinのSamplesが非常に役立ちました。今まで、分からないことはすぐググる、という手順で書いておりましたが、Xamarinの場合は、まずサンプルを見てみる、という方が良さそうです。
Samples - Xamarin
ではまた。
Milley CyrusのMalibuを和訳してみた
Malibuを和訳してみました。
Malibuとは、アメリカ カリフォルニア州の地名で、映画『猿の惑星』にて自由の女神像が登場するシーンの撮影が行われたそうです。
この歌のように、優しく美しいところなのかな?
Maribu
I never came to the beach,
私、ビーチに来たことなかったわ
or stood by the ocean
海のそばに立つことも
I never sat by the shore,
岸のそばで
under the sun with my feet
in the sand
足を砂に埋めながら太陽のもとに座るなんてしたことなかったわ
But you brought me here
でも、あなたがここへ連れてきたの
and I'm happy that you did
私はそれがうれしいのよ
'Cause now I'm as free
as birds catching the wind
だって今は風をとらえる鳥のように自由だもの
I always thought I would sink,
沈んじゃうんじゃないか、っていつも考えてた
so I never swam
だから泳いだことなかったの
I never went boatin',
ボート遊びに行ったことなかったし
don't get how they are floatin'
それがどうやって浮いてるかなんて分からないわ
And sometimes I get so scared of
what I can't understand
それに時々、分からないってことがとても怖いの
But here I am, next to you
でもここには私がいて、隣にはあなたがいるわ
The sky's more blue in Malibu
マリブの空はずっと青いの
Next to you in Malibu
マリブにはあなたが隣にいる
Next to you
あなたの隣
We watched the sun go down
二人で太陽が沈んでいくのを見たわ
as we were walking
一緒に歩きながら
I'd spent the rest of my life
standing here talking
残りの人生をここに立って話しながら過ごしたいわ
You would explain the current,
あなたが海の流れのことを説明するなら
as I just smile
私はただ微笑むのよ
Hoping that you'll stay
the same,
あなたはずっとそのままでいてほしい
and nothing will change
それに何も分からないでほしい
And it'll be us,
それは私たちだった
just for a while
たった少しの間
Do we even exist?
私たちは存在さえするの?
That's when I make the wish,
そう願ったのはその時なの
to swim away with the fish
魚と一緒に泳いだ時
Is it supposed to be this hot all summer long?
この暑い夏は長く続くはずだった?
I never would've believed you
あなたを信じることはなかっただろうな
if three years ago you told me
もし3年前あなたが私に言ってたら
I'd be here writing this song
ここでこの曲を書くって
But here I am, next to you
でもここには私がいて、隣にはあなたがいるわ
The sky's more blue in Malibu
マリブの空はずっと青いの
Next to you in Malibu
マリブにはあなたが隣にいる
Next to you
あなたの隣
Next to you
あなたの隣
The sky's so blue in Malibu
マリブの空はずっと青いの
Next to you
あなたの隣
We are just like the waves
that flow back and forth
私たちは後ろに前に流れる波のようね
Sometimes I feel like
I'm drowning
時々おぼれているように感じるわ
And you're there to save me
そしてあなたは私を救うためにそこにいるの
And I wanna thank you
with all of my heart
心からありがとうって言いたいわ
It's a brand new start
それは真新しい始まり
A dream come true in Malibu
マリブで夢はかなったわ
いい曲ですね。
ではまた。