アラフォーからのプログラミングとデザイン

大人から始めたプログラミングとデザインについてのあれこれ

プログラマーのでてくる海外ドラマ「Mr.Robot」にはまりました。

今日はプログラミングの勉強は置いておいて、少し前に見始めて止まらなくなった海外ドラマMr.Robotについて書きます!

axn.co.jp

あらすじ

エリオット・オルダーソンはニューヨークに住む若者で、サイバーセキュリティ会社『オールセーフ(Allsafe Cybersecurity)』にてセキュリティ・エンジニアとして働いている。社交不安障害を患い、頭の中で想像上の友達に話しかけるなど、上手く人との関わりが持てない反面高度なハッキング技術を持つ彼は、仕事外ではSNSアカウントに入り込んで身近な人間の情報をのぞき見たり、ネット上の犯罪を通報するなどして過ごしていた。ある日の深夜、世界のあらゆる産業を牛耳る複合企業であり、オールセーフ最大のクライアントでもあるEコープ(E Corp)のサーバーが激しい攻撃を受ける。会社に呼び出され、事態の収拾に当たったエリオットはギリギリで被害を食い止めることに成功するも、感染したサーバーから「f・ソサエティ」なる謎の言葉を発見する。その後地下鉄に乗っている時に突然攻撃の犯人らしき謎の男、Mr.Robotから接触を受けたエリオットは、あろうことか先日の攻撃を防いだという腕を買われてハッカーチーム、「f・ソサエティ」へ入るようスカウトされる。彼らの目的はEコープの保有する金融データを破壊することによってありとあらゆる借金、ローンを帳消しにし、かつてない富の再分配を引き起こすことだった。

f:id:simpledancer:20161201122201p:plain

AmazonPrimeで無料でシーズン1全話見れたので。見ちゃいました〜

 

意外な名脇役が

主演のエリオット役の俳優さんも個性的で素晴らしいのですが、Mr.Robot役のおっちゃんが、「あれ〜どっかで見たことあるなあ〜」と思ったらクリスチャン・スレイターでした!

 

さすが、渋いおっさんで目が離せないと思ったら。年取ったけど素敵。

若い頃のトゥルーロマンスとか好きだった〜

www.youtube.com

しかもTrue Rommance,ブラッドピットも出てたんだ〜っと改めて見て驚いた。

プログラマー的見所

私は言うても、初心者なので全然専門用語なんてわからないんですが。。

プログラマーをされている方には耳馴染みのある単語がわさわさ出てきますし、データベースの話とかふんだんに出てきます。

逆に言えば、全然ITわからない人にはそういう部分が結構ややこしくて疲れちゃうのかな〜なんて思いましたが。

ハッキングしたいとかは思わないけど、あれだけ自由に情報操作できたりしたら面白いのになあ〜〜と思いながら見てました。

テックアカデミーやってる後期にこのドラマを見つけてしまったため、その日のノルマ達成後にご褒美として見る、をやってましたがおかげさまで目の下のクマがやばいです。

その他Betasと云うドラマもプログラマーが出てきます。シリコンバレーのスタートアップの話で割と明るいめなアメリカドラマです。

これもアマゾンプライムで見れちゃいます!

f:id:simpledancer:20170101211823p:plain

  連日誘惑が多いですが海外ドラマ好きな人にはやはりamazonPrimeおすすめです!

 

 

ポールダンスブログもやってます

tabibit.net

tabibit.net

 

 

にほんブログ村 IT技術ブログへ
にほんブログ村

 

1か月集中してRuby on Rails勉強してみました(オンラインコース受講後の感想です)

 

10月末から1か月、TechAcademyのアプリケーションプログラミングのコース4週間を受けてみました。

 

当初の目標としては1か月で自分でサービスを作れるようになる!

そしてWeb業界に転職活動を再開する!

というものでした。

 

techacademy.jp

かけた勉強時間

Ruby on Rails4週間コースだったので1日平均5−6hはやらないと間に合わなかったのですが、

私は日によって時間がまちまちで少ない時は2、3h、多い時で12時間くらいやってました。平均すると6hくらいはやってました。

 

メンタリング

1か月間、担当のメンターが決まっていて大体30〜1時間のビデオチャットで進捗具合や、相談やコードの添削etcをします、週に2回。

私の担当はアイドルオタクちっくな優しいおじさんがメンターでした。

ある程度質問などがあればメンタリングの日までにまとめておくのもいいかもしれませんが、個人のチャットページもあるので日々質問があれば、随時書いていくといいと思います。

 

チャットサポート

1日数人のメンターさんが15時〜23時の間に質問に答えてくれます。

時々時間外に回答してくださる方も多いので時間外でも私はガンガン質問を入れてました。

もちろん合うメンターさん、わかりにくいメンターさん、いろいろいらっしゃるので(指名できません)的確な回答が出ない時はとにかく聴きまくる。(私は本当に初心者で且つ理解力がないので画面の向こうでメンターさんたちも「またかよこいつ。。。」って思ってただろうな〜)

これくらいググった方がいいかなーってことでもちょっと調べてわからなければとにかくチャットしてみる。

あと質問内容を考えるのも頭使いました。

もう、どう考えてもわからない時は正直に

「わかりません!!」って言いましょう。わかったふりはしない!

 

カリキュラム

8つのカテゴリに分かれていて、最初は設定やらから始まり、Rubyの基礎、Git,

herokuの使い方など、そしてアプリケーションを作ったり、最終的にはオリジナルのサービスを作る流れです。

合間に課題があり、それに合格しないとなかなか先に進めません。

 

f:id:simpledancer:20161127152342p:plain

オリジナルアプリ

はっきり言って1か月で超初心者の私には結構ハードルがきつかったです。

1週間の制作期間を想定して、出してたアイディアのものを実装には入ったのですが、締め切り3日前に、APIの基準が昔と変更になり、作りたいものが作れないことが判明。

1月末にはスクールのオリジナルアプリのコンテストもあるのですが、とりあえずコース締め切りまでには間に合わなさそうだということを判断して、学習用のアプリの勉強を再開して課題を提出することにしました。(悔しい)

 

4週間を終えて

4週間、あっという間でした。

その間ほとんどの娯楽を捨てて、仕事もほとんど今週は休みましたし。プログラミングに費やした、、、つもりでしたが、たった1か月で理解するのは至難の技でした(それまで独学していたにもかかわらず)

ただ、やっぱりお金をかけている、というのと、質問をとにかくバンバン投げてそれが返ってくる環境っていうのは良かったです。

理解力とモチベーションが高い人は無料の講座でも全然大丈夫だとは思いますが、

そうではない方は絶対オンラインでも(逆に私はオンラインで良かった)身銭を切った方が良いです。

 

今後

いきなり就職できるほどのスキルはもちろん私はつきませんでしたので、ペースを少し落として勉強を続けていく予定です。

新たに購入したRuby onRailsの基礎本を最初から通してやってみるのと、TechAcadmyで使った教材を反復してやってみます。

 

4週間きつかったけど。

Rails好きになりましたよ。

 

simpledancer.hatenablog.com

 

にほんブログ村 IT技術ブログへ
にほんブログ村

 

新たにこの本を購入しました↑前途多難だけど頑張る。

 

 

Rubyの環境構築が思いの外サクッと出来てしまった話

 

こんにちは!

 

技術ブログになりきれてないこのブログですが、今日は1つスッキリしたことがありました!

 

私はrubyの環境構築を断念してcloud9でやっていたのですが。

simpledancer.hatenablog.com

でも、cloud9だとネットがつながる環境じゃないとできないので時々圏外になりがちな私のポケットwifiだと「せっかく勉強しようと思ったのに。。。。」ってことに時々陥ってました。

実際に開発するならローカルでも整えておきたい。。。でもググってやってみたりドットインストールでも途中でerrorが出て先に進めない。。(泣)

 

そして放置プレイを3ヶ月くらいしてましたが

たまたま参加したブログサロンの中にrubyの環境構築教えますよーと軽く言ってくださったので面識なかったのですが直メでお願いして、お互い時間が合わなかったのでスカイプでやることになりました。

 

言われるままターミナルにコマンドを打ち込むこと30分、全く問題なく環境構築ができました!!

↓こんな感じで。

f:id:simpledancer:20161103131926p:plain

通話しながらチャットがトータルで39分49秒!(内ダウンロード時間が半分以上)

1人でググりながらやってた時は数時間かかってもできなかったのに(泣)

ありがとうございます神里さん!!

そういうわけで普段は直でレッスンをされている神里さんのブログ(直接だと基本は都内限定のようです)

utina.yoshitokamizato.com

神里さんのブログの自己紹介アプリも作ってみたところ簡単にできました!(5分では完成しませんでしたが。15分くらいではできました)

 

まだruby勉強し始めでどっからどうしたらいいのかわからないとか、プログラミングやってみたいって興味のある方は気軽に相談できるようなので神里さんのサービスやブログを是非利用してみてください♪

 

※ちなみにTechcampの方ですが、無理に勧誘することはありませんとのこと!私も一切勧誘されてませんよ(笑)安心してください!

 

 

にほんブログ村 IT技術ブログへ
にほんブログ村

 

 

 

 

 

 

 

 

Wordpressを引き続き構築中です。

やーっとはてなブログに技術ブログを持ってきて、wordpressを私の好きなポールダンスの総合サイトとして構築することにいたしました!

 

まだ、全然

 

コンテンツできてないですが。

f:id:simpledancer:20161030111645p:plain

SNSの連携を作ったのと、メニューバーを作り、サイドバーを作り中です。

サイドバーがもう、なんだかよくわからなかったのですが

 

外観→ウィジット→副ウィジットエリア を選択して

f:id:simpledancer:20161030112044p:plain

テキストのところは入れたい内容(私の場合Profile)を記入。

f:id:simpledancer:20161030112129p:plain

サイドバーに表示が現れました。

まだ記事自体の投稿をしてないので、工事中のページばっかりですが。

 

やっぱり自分の好きなことを発信するのは楽しいです。

目指すは総合ポールダンスwebメディア!!

 

頑張ります!

 

 

wp-exp.com

 

画像は基本フリー画像集と自分の写真を貼り付けてますが

配置が難しいです。いろいろなサイトを見て研究してみようと思います。

liginc.co.jp

 

にほんブログ村 IT技術ブログへ
にほんブログ村

 

 

 

英語版のプログラミング動画サイトをやってみた!

 

いつもprogate,Dotinstallといった日本語版のプログラミング学習サイトを使っています。ですが、海外のサイトは良質な物が多いそうなので海外のサイトを使ってみようと思い、今回はcodeacademyを使ってみました。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-16-22-50-35

 

英語を読解しながらなので、英語がある程度抵抗のない人なら、progateやドットインストールなどの日本語サイトが一通り終わったらやってみるといいのかなと思いました。

 

ただ、今後プログラミングをやっていく上ではやはり英語は外せないなと思います。

サイトは英語が多いので。(日本語でも、もちろん良質なサイトはたくさんあるとは思いますが)英語だとその数も飛躍的に増えると思います。

私も英語はそれほど得意ではないのですが今後触れる機会をもっと増やしていこうと思います。

ちなみにこちら↓はオススメされたサイトで、実際のサービスを真似して作ってみるというやつです。

code4startup.com

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-17-10-29-25

有料プランもありますが、無料プランでも結構充実してるかもしれません。

プログラミングのインストラクターにも実際のサービスを作ってみるっていうのがすごく勉強になるそうなので、無料プランからまず始めてみようかと思います。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-17-10-30-03

さて、今あるonlineの学習を買うかとっても迷っています!

買ってしまいました!↓

webアプリケーションの講座、10万円!

清水の舞台から飛び降りようか。。。飛び降りました!

そして無性にunityが気になっていて、unityのコースも検討中です。(早く仕事決めろよ。。)→rails終わったら考えます!

  

にほんブログ村 IT技術ブログへ
にほんブログ村

 

購入する技術書はkindleですか?紙ですか?

 

時々技術書を買うのですが、技術書って重い・高い・デカイ!!

「じゃあkindleで買えばいいんじゃないの?」ってことで

こちらはkindleで買ってみました。

 

 

WordPressをちゃんと使うための教科書

でも、ちょっと後悔しました。

なぜなら私iphoneでkindle読んでるので、めっちゃ画面ちっちゃいんです。

もちろん拡大できるんですけど、拡大するとページ移動ができない。。

普通にkindleを買うかも検討したんですが、ものが増えるのも考えものなのでちょっとどうするかな〜って感じなのですが。。

RubyonRailsの本も今欲しくて

kindleでサンプルを入れてみたんですが、やっぱりiphoneだとちっちゃい!

でも紙だとデカイ!!持ち歩きできないde su yo!

皆さんは技術書ってどうされているのでしょうか??

家でだけで勉強するって場合はブックスタンド?みたいなのを使うってインストラクターの方は言ってましたが。

 

 

こんなやつ?

でも邪魔じゃないんですかね。。机の上とか広くないと。。でも本だけだと読みながらページがバラバラバラ!!ってなってキィィィってなるんじゃないかと思ってます。

 

一番早いのは目下kindleを買うことですが。kindleは拡大したままページってめくれるのでしょうか。

ちなみに今プライム会員になるとkindleが値引きされるみたいなんで。だいぶ惹かれています。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-11-14-07-03

一番安いやつだと1万以内で買える!

でもwhitepaperの方が読みやすそう。

 

選択肢が増えると悩みますね。

もう買い物に目がいって勉強が全然できてないのでもうちょっと悩みます。

 

simpledancer.hatenablog.com

にほんブログ村 IT技術ブログへ
にほんブログ村

 

避けては通れないオブジェクト指向について

勉強会でオブジェクト指向について今日はしっかり学べたので今日はそれについてまとめてみようと思います。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-10-0-59-03

 

参考:

5分で絶対に分かる:5分で絶対に分かるオブジェクト指向 (2/6) - ITmedia エンタープライズ

【10分でわかる】Javaにおけるオブジェクト指向を徹底解説 | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト

オブジェクト指向とは何か?わかりやすい例で説明してみた。 | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト

 

オブジェクト指向とはいかに効率よく開発するかを突き詰めた考え方の1つ

プログラムは独立していて、再利用しやすく、かつ拡張しやすいほど良いという考え方。

「プログラムの独立性」「プログラムの再利用性」「プログラムの拡張性」

を実現するためのもの。

↓そういうわけでこちらがオブジェクト指向の3本柱

  1. カプセル化(独立性)
  2. 継承(再利用性)
  3. ポリモーフィズム(拡張性)

 

プログラムの独立性

  • プログラムが完全に独立しているとそれぞれを変更しても、他のプログラムに与える影響は考える必要がありません。
  • 管理がしやすくなり不具合が起こっても他のプログラムには影響がほとんどなく
  • 不具合があったとしても原因を特定しやすくなる

☆プログラムの再利用性

  • プログラムを書く時間を節約外部から同じAのプログラムを再利用することで、プログラムの変更も行いやすい

☆プログラムの拡張性

  • 「再利用しつつ自由に改変できる性質」
  • 拡張性を理解するキーワードは、「抽象化」。抽象化とは「重要な要素や共通な要素を抜き出して他は無視する考え方」のことを指します。
  • 全体をみてプログラミングしていく必要もあるので、拡張性を高めることは一番「難易度が高い」

「10分でわかるオブジェクト指向」の執筆された方に直接説明していただいたので、結構しくききました。

www.sejuku.net

サイト中に説明されているのですが、各クラスを学校のクラスで例えて説明されているのでとても理解がしやすかったです!

聞きなれない用語は自分の身近なもので例えて考えていくとイメージしやすいです!

プログラミングの勉強って1歩進んで2歩下がる感じ。。でも3歩進んで2歩下がるから1歩1歩は確実に進んで、、いるはず。たぶん。

  

にほんブログ村 IT技術ブログへ
にほんブログ村

マウスダウン・マウスアップ

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-04-8-59-03

 

このボタンにマウスをポチった時にボタンが下がる・戻るコードを勉強したいと思います。

simpledancer.hatenablog.com

前回の星座を乱数で表示するコードの下に

  • ボタンが下がる←mousedown
  • ボタンが戻る(上がる)←mouseup

この動作をするコードを書いていきます。

<script>

(function(){
"use strict";
document.getElementById('btn').addEventListener('click',function(){

var results=['牡羊座','牡牛座','双子座','山羊座','乙女座','水瓶','天秤座','蟹座'];

var result= Math.floor(Math.random() * results.length);

document.getElementById('result').innerHTML= results[result];

});//↓ココから
document.getElementById('btn').addEventListener('mousedown',function(){
this.className='pushed';

});
document.getElementById('btn').addEventListener('mouseup',function(){
this.className='pushed';
});
})();
</script>

**************************************

addEventListenerは

DOM(要素にアクセスする仕組み)的にイベントを登録する(イベントが起こったとき関数が動くようにする)。

頭でclickした時に起こる流れが上から書かれています。

'mousedown',function(){
this.className='pushed';

もしmousedownだけだと、ボタンは下がったまま元に戻りません。

addEventListener('mouseup',function(){
this.className='pushed';

でもmouseupを同時に宣言することでクリックした後ボタンがまた上に戻ることができます。

人間の感覚だと、普段自分が使う分にはボタンを押しても押しっぱなしなので戻すことは考えないと思うのですが、1つ1つを指示してあげないとコンピューターは動いてくれないんですね。。

(まだこの感覚に全然慣れません!)

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-06-10-47-27

なんとなくサンプルコードを写していたのを最近はこうして細分化して色々勉強するようにしてます。1つ1つ調べていくととても時間がかかって面倒なんですが腑に落ちる感覚を味わえて、充実感はあります。

Javascriptも勉強することが多すぎてRubyPHPが手を出せない。。

 

 

にほんブログ村 IT技術ブログへ
にほんブログ村

フリーランサーに教えて貰ったフリーランスエンジニアになるための方法

私は今現在ダンスの仕事をしているのですが

フリーランスのエンジニアになるべく勉強&転職活動を細々としています。

先日侍エンジニアのインストラクターさんにアドバイスをもらったのでそれをシェアしたいと思います。

*****************************************************************************

  1. フリーランスの仕事サイトに登録する
  2. クラウドの仕事サイトに登録する
  3. 友人・知人から仕事を得る
  4. 自作で技術ブログを公開する(wordpressがオススメ※最近ははてなブログもいいじゃないかと)

と、大きく言えば4つなんですが。

まず

  1. フリーランスの仕事サイトに登録する

たくさんのサイトがありますが私がオススメされたのはポテパンフリーランス さん

freelance.potepan.com

私はポテパンフリーランス には登録面談に行きましたが、割と親身にキャリアアドバイスをいただきました。あとエンジニア求人サイトって「未経験」って最初から門前払いが多いんですがポテパンさんは今勉強中であっても問題ないです!某大手サイトとかはのっけから未経験は登録できなくなってたりしますので。(ただし新卒とか若い人だと最初から育ててくれる会社も沢山あります!)

2.クラウドの仕事サイトに登録する

CrowdWorksさんとLancersさんが有名なんですがどちらも18歳以上なら登録して仕事を受注することが可能です。クラウドですからもちろん外出しなくていいですし!(案件によってはオフィスでミーティングがあったりも)

crowdworks.jp

www.lancers.jp

3.友人・知人から仕事を得る

これは開発とかだけでなくて友人などお店や会社をやってる人から個人的にHPを作ってあげたりすることです。私も今こんなことしてるんだ〜と話をしたら某ダンサーさんのHPとかスタジオのHPとか作りたいから相談したいと言われました。

値段交渉とか、友人だとちょとやりにくいかもしれませんが、最初は安価でやるのもいいと思います。って私もまだ受注はしてないんですが、ちょと周りに話せばそんな話はゴロゴロ転がってるものなんだなと思いました。

4.ブログを公開する(wordpressがオススメ最近ははてなブログも)

この技術(?)ブログもプログラミングのインストラクターの方に、自分の勉強になるから簡単なことでもいいからアップしていくといいよって言われてビビりながら始めました。

wordpressがいいのは、やっぱりやっていくうちにPHPを理解していかないといけなくなる点やカスタマイズが他のブログサービスと比べて自由な点、また自分のサーバー、ドメインでやってると、他のブログサービスで仮にサービスが終わってしまったとしても消されてしまったりしないことです。(サーバー代を払う期限を過ぎてしまうと消されてしまうみたいですが)

私も全然まだwordpress使いこなせていないのですが、今は本を読みながら毎日格闘しています。(2016年10月末〜私の技術ブログははてなブログに移行しました!

あと、実際wordpressが使えるようになると、2でご紹介したClowdworksのお仕事欄をご覧いただくと気が付かれるかもしれないですが、wordpressでのHP制作の仕事とか結構な数があります。自分で自由自在に作れるようになってそういう仕事を取っていくっていうのはアリだなと思いました。

 

最後に「新卒フリーランサー」という言葉を生み出したというWSBIさんのTEDTALKSを見つけたのでリンクを貼っておきます(彼女はエンジニアではないですが)。

wsbi.net

エンジニアだけでなく新卒→就職 またはどこかに所属しなければ不安。。。でも、、、という方には背中を押してもらえる動画じゃないかな?と思います。

私はまだ、エンジニアとして仕事はしていないのですが、実際フリーランス案件の相談に行ったりしています(それで「ああ、もっと勉強しなきゃ。。」て打ちのめされたりするのですが)。まず相談に行ったり、ブログを書いてみたりしてアウトプットしてみると自分のやっていきたい方向性とか仕事とかをリアルに考えていけます。

 

きっといろんな形のフリーランスがあると思います(私もダンスという部分ではフリーランサーではありますが)いろんな人たちの(自分がやりたいと思っている活動をしてる人などが一番参考になります)話を実際聞いたりしてみるのが良いと思います!(間違っても会社員の人に相談しない方が吉)

 

 

にほんブログ村 IT技術ブログへ
にほんブログ村

Javascriptでおみくじアプリを作る(乱数を発生させる)

JavascriptMath.random/floorを使っておみくじアプリを作ります!

ドットインストールのおみくじを作ろうを教科書に最終的には少し変化を加えながら作ってみようと思います。

ドットインストールでは大吉、中吉などの運勢ですが、私はちょっと色や形、内容を変更して

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-03-18-25-25

こんな感じで星座占いにしてみました。(配色とっても変w)

「今日のラッキーな星座は?」のボタンをクリックすると

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-03-18-28-11

ランダムに選ばれた星座が表示されるというものを作ってみました。

やることの流れとしては

  1. それぞれのボタンを作る
  2. 星座の配列を作る
  3. 乱数を作る
  4. ボタンを押したらランダムに星座が選ばれるように作る

という感じです。配色はまた変更します!

形や色は今置いておいて、bodyの今日は1~4の流れを解明していきます!

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-04-8-55-51

  1. それぞれのボタンを作る

まずピンクの結果を表示するものを<div id="result">?</div>でdivタグで囲みます

これが%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-04-8-58-53この箱を生成します(中身は後ほど)

そしてボタンを作ります。<div id="btn">今日のラッキーな星座は?</div>

これは%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-04-8-59-03これ(中身は後ほど)

このbtnをポチッと押したらピンクの?マークが星座を表示させるようにscriptタグの中にコードを書いていきます!

2.星座の配列を作る

変数resultsに配列を入れます。↓今回は星座なのですが全部だと多くなるということで12個ないですw

var results=['牡羊座','牡牛座','双子座','山羊座','乙女座','水瓶','天秤座','蟹座'];

で、resultsに8種類の星座が入りました。

3.乱数を作る

変数resultに乱数をresultsの数のうちからランダムに取り出すメソッドを書きます。

var result= Math.floor(Math.random() * results.length);

*乱数を作るランダムメソッド*

■Math.random()

Math.random()は、00.9999...(1未満)の間から、1つの数値をランダムで返すメソッドです。0を含んで、1は含みません。

■Math.floor()

Math.floor()は、小数点以下を切り捨てるメソッドです。結果を整数で求めたい場合に利用しましょう。引数が0.999なら03.21なら3という数値を返します。

・例えば0から10の乱数を発生させるとしたら

var results=Math.floor(Math.random()*11);←最大値より1つだけ多い数を指定

配列からランダムで要素を選ぶのは、「最大値だけ指定する方法」の最大値の部分に配列の要素数(results.length)をあてはめれば実現できます。

4.ボタンを押したらランダムに星座が選ばれるように作る

(function(){
"use strict";
document.getElementById('btn').addEventListener('click',function(){
//変数btnをクリックすると
var results=['牡羊座','牡牛座','双子座','山羊座','乙女座','水瓶','天秤座','蟹座'];

var result= Math.floor(Math.random() * results.length);

document.getElementById('result').innerHTML= results[result];

//配列results内の選ばれたresult(星座)が表示される

ちなみに’use strict'はstrictモード(厳格モード)といって宣言するとエラーチェックを行ってくれます。コード内に存在する潜在的な問題を発見しやすくなります。また、JavaScriptエンジンによる最適化処理を困難にする誤りを修正するため、strictモードのコードは非strictモードのコードよりも高速に実行することができる場合があるなどのメリットがあります。

 

以上でボタンをクリックした時に結果が表示されるようになります。

色やマウスオーバーなどについては長くなりますのでまた次回♪

 

にほんブログ村 IT技術ブログへ
にほんブログ村

初心者の私が使い易いと思った無料プログラミング勉強サイト4選

色々プログラミングの勉強サイトをオススメ頂いたり、見つけたりして使いやすかった・わかりやすかった・こういうところがいいと思う というサイトを紹介しようと思います。

1.

Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-12-8-50-32

言語:Java,Javascript,Php,Ruby,Swift,HTML,CSS,Python

形式:スライド、中級以降は月額課金制

使いやすさ:クリアするごとにレベルが上がっていくのでモチベーションが上がります。

絵が可愛くて和めます。

音声ではないので文字で理解していかなくてはいけないですが、ヒント・答えと別れて別ページを閲覧することもできるのでわからないところはヒントを見て回答できるのでサクサク進みます。落ち込みが少ないので初心者にはいいかもしれません。

ただ、あまり複雑ではないので数回繰り返しやったら次の教材をやったほうがいいかもしれません。

 

2.ドットインストール

http://dotinstall.com/

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-03-8-42-40

言語:Java,Javascript,Php,Ruby,Swift,HTML,CSS,Python,C他多数のフレームワーク等を網羅

形式:動画、月額課金で動画内のコードの文字おこし利用、プレミアムボタンのついた動画の閲覧などが可能

使いやすさ:一番最初にドットインストールをやると、心がおれる人90%かと思います。なぜなら、とにかく早口。1動画大体3分以内なので、ブァーーーっとコード書いて、しゃべって。。って感じなので最初は????ってなります。ただ早口ですが詳しく説明してくれているので私はどちらかというと1回ざっくり動画を見て、それから動画をもう一度止めたりしながらコードを書いていくということをしています。

日々内容が更新されているのですごいボリュームです。

3.Paizaラーニング

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-03-8-51-40

言語:Java,Javascript,Php,Ruby,HTML,CSS,Python,C

形式:動画 ゲーム形式

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-03-8-54-37

こういうゲーム形式のプログラミング学習のコーナーもあります。

使いやすさ:progate,ドットインストールほどは使っていませんが。スキルチェックが付いているので動画→自分でコードを書く→スキルチェックという流れで理解度を確認していく流れがいいなと思いました。スキルチェックのレベルで求人も閲覧できて仕事を視野に入れている人にはモチベーションが続きやすいと思います。

 

4.プログラミングでゲームを作ろう

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-03-9-02-27

言語:Java

形式:対話形式のイラスト

使いやすさ:Javaのみなのですが、コードを書くというよりは漫画を読みながら用語を理解していくイメージです。

結構長いですが、割と用語の説明が理解しやすいと思います。

 

4つほどわかりやすいと思ったサイトをご紹介してみました。

まだ他にRubyをゲーム形式で勉強していくサイトやらたくさんあったのですが私がしっくり来た初心者むけのサイトをご紹介してみました。

ちなみに私今ProgateはLV110です。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-03-9-11-24

PhthonとSwiftは余裕が全くないので手を出してません!このサービス、ちなみに若い学生の方が作ってるらしいですよ、すごい!!。

bb-relife.jp

↑インタビュー記事見つけました!

いくつからでもプログラミングは始められると思いますが、頭の柔らかい若い時に出会っていたかった、と思います。今は小学生からプログラミングの授業があるみたいで羨ましい!!

ビジュアルプログラミングとかもどんどん進化してるしあと10年後とかとんでも無いことになってそうです!

techacademy.jp

 

にほんブログ村 IT技術ブログへ
にほんブログ村

 

DOMってなんなの??DOMについて調べてみました。

ただただサンプルコードを打ってると、説明されてもなんぞや?その単語?というのに多々ぶち当たります。

今日はDOM(ドム)について調べてみました!

  • DOMとは、HTMLドキュメントやXMLドキュメントをプログラムから利用するためのAPI
  • DOMではHTMLドキュメントやXMLドキュメントを「オブジェクトのツリー状の集合」として取り扱う。このツリーをDOMツリーと呼ぶ。
  • DOMツリーの一つ一つのオブジェクトはノードと呼ばれる。ある1つのノードから他のノードを参照する時は、親ノード、子ノード、兄弟ノード、先祖ノード、子孫ノードなどと呼ぶ。
  • DOMの仕様は、Level1〜3がW3Cにより定義されている。

Qiitaさんのサイトにまとめが載っていました。

qiita.com

今まで、サンプルコードをただただ打っていたのでdocument.getElementByIdとかなんのこっちゃ〜っだったのですが、改めて勉強してみるとちょっと繋がってきました!

**********************************************************************

まず

  • document→今開いているページ

であり

  • DOMを操作する

とは内容や属性を書き換えたり新しい機能のDOM要素を作成内容や属性を書き換えたりすること。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-02-15-52-21

まずはこんな感じでコードを書くとブラウザには

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-02-15-52-36

こんな感じで表示されます。このページをDOMを操作してhelloを変更して表示を変えてみます。

scriptタグの中に

var e=document.getElementById('msg');

変数eを作りその中に代入していきます。そしてテキストをGoodmorning!と書き換えたいので

e.textContent='Goodmorning!';

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-02-16-02-32

そうすると↓

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-02-16-03-24

でHelloがGoodMorning!にテキストが変更されています。

同様にスタイルを変更することも可能です。

以下コードです。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>DOM説明</title>
<style>
.myStyle{
font-weight: bold;
border:1px solid gray;
}
</style>
</head>
<body>
<h1>DOM</h1>
<p id="msg">Hello</p>
<script>

var e=document.getElementById('msg');
e.textContent='GoodMorning!';
</script>

</body>
</html>

*********************************************************************

自分の中では腑に落ちて繋がったのですが、説明するとなると難しい。。

DotinstallではJavascriptレッスンの#22,23でDOMについての動画がありますので見てみてください。

http://dotinstall.com/lessons/basic_javascript_v2/26722

DOMとはDocument Object Modelの略です。(って何?って感じ)

わかりやすいDOMの説明が載ってるブログを発見しました。

eng-entrance.com

説明の例えがわかりやすいです!

---------------------------------------------------------------------------------------------------------

そういえば昔地元にDOMDOMというハンバーガーチェーンがあったなあと、ふと思い出しました。

www.orangefoodcourt.co.jp

調べてみたらまだあった!

中学生の頃はしょっちゅう部活の友達とDOMDOMで集まってたなあ〜20年以上前の話。

 

にほんブログ村 IT技術ブログへ
にほんブログ村

 

簡単な診断アプリにツイート機能をつける方法

今日はJqueryで作った簡単な診断アプリにツイッターの機能追加ができることをまとめてみようと思います。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-30-10-26-03twitter

名前をボックスに打ち込み、診断ボタンを押すと結果がツイートできる機能です。

 

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-30-10-30-04

ツイートする、をポチれば↓

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-30-10-32-26

でコメントをツイートすることができます!

まずは診断アプリを作るのですがここは簡単にやります。

---------------------------------------------------------------------------------------------------------------

<!DOCTYPE html>
<html lang ="ja">
<head>
<meta charaset="UTF-8">
<title>キャラ診断</title>
<style>
body{text-align:center;}
</style>
</head>
<body>
<h1>キャラ診断</h1>
<p id="result"><input type="text"id="name"value=" "></p>
<p><input type="button"id="getResult" value ="診断!"></p>
<h2>診断結果</h2>
<p>こちらに結果が表示されます。</p>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script >
$(function(){
$("#getResult").click(function(){
var name =$("#name").val();
//console.log(name);

if(name ===" "){
alert("名前を入力してください!");
return;
}

//タイプの生成
var types =["勇者","魔法使い","戦士","王様","女王様"];

var type=types[Math.floor(Math.random()*types.length)];

var result= name + "さんは「"+ type + "」タイプです";
$("#result").text(result);

//キャラの生成
//タイプの生成
var characters =["賢い","勇敢な","怠惰な","美しい","とぼけた"];

var character=characters[Math.floor(Math.random()*characters.length)];

var result=name + "さんは「"+ character+ type + "」タイプです";
$("#result").text(result);

});
});
</script>
</body>
</html>

------------------------------------------------------------------------------------------------------------

で、この状態では、まだ診断結果が表示されるだけになります。ここからツイッターの機能を追加していきます。

1.まずはツイートのボタンを設置します。divタグで

<div id="tweet"></div>

これをpタグの下に追加します。

2.そしてツイッターのリンクをつけます。

var tweetLink=" "
$("#tweet").html(tweetLink);

そして" "の中にリンク先を追加していきます。

リンク先はツイッターhttps://dev.twitter.com/こちらのtwitter for websiteという項目からweb intentsというところに飛びます。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-01-20-55-40

さらにその中のtweet or reply to tweetをクリックすると、ツイッターを投稿するためのリンクがあるのでそれをコピペします。https://twitter.com/intent/tweet

これをリンク先に追加します。

var tweetLink="<a href ='https://twitter.com/intent/tweet' >ツイートする</a>";
$("#tweet").html(tweetLink);

そうするとツイート画面が出てきてツイート可能にはなるのですが、当初のアプリの診断結果ツイート内容が表示されません。

表示内容にテキストとハッシュタグをつけたいです。

その場合

var tweetLink="<a href ='https://twitter.com/intent/tweet?text=" +encodeURIComponent(result)+"&hashtags=test' target='_blank'>ツイートする</a>";
$("#tweet").html(tweetLink);

表示したいのはresultなのでかっこの中にはresult。またresultの前にはセキュリティ上よろしくない文字が含まれてる場合があるのでencodeURIComponentを追加します。

また、target='_blank'で、新しいウィンドウで開いてくれます。

-----------------------------------------------------------------------------------------------------------

<!DOCTYPE html>
<html lang ="ja">
<head>
<meta charaset="UTF-8">
<title>キャラ診断</title>
<style>
body{text-align:center;}
</style>
</head>
<body>
<h1>キャラ診断</h1>
<p id="result"><input type="text"id="name"value=" "></p>
<p><input type="button"id="getResult" value ="診断!"></p>
<h2>診断結果</h2>
<p>こちらに結果が表示されます。</p>
<div id="tweet"></div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script >
$(function(){
$("#getResult").click(function(){
var name =$("#name").val();
//console.log(name);

if(name ===" "){
alert("名前を入力してください!");
return;
}

//タイプの生成
var types =["勇者","魔法使い","戦士","王様","女王様"];

var type=types[Math.floor(Math.random()*types.length)];

var result= name + "さんは「"+ type + "」タイプです";
$("#result").text(result);

//キャラの生成
//タイプの生成
var characters =["賢い","勇敢な","怠惰な","美しい","とぼけた"];

var character=characters[Math.floor(Math.random()*characters.length)];

var result=name + "さんは「"+ character+ type + "」タイプです";
$("#result").text(result);
//twitter link
var tweetLink="<a href ='https://twitter.com/intent/tweet?text=" +encodeURIComponent(result)+"&hashtags=test='_blank'>ツイートする</a>";
$("#tweet").html(tweetLink);

});
});
</script>
</body>
</html>

-------------------------------------------------------------------------------------------------------------

はい、これで

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-01-21-29-46

こーんな感じで診断結果をツイッターが投稿できるようになります。

ハッシュタグは指定を別のものに変えてもいいし、追加してもいいです。

 

ツイッター連携するのってもっと難しいと思っていましたが意外と簡単でしたよね??(と私は思うのですが)

もっといろんなアプリが作れるようになりたいです☆

 

にほんブログ村 IT技術ブログへ
にほんブログ村

ブログタイトルを変更しました。アラフォーからアスリート系へ!

 

ブログタイトルをアラフォーから(実年齢は36です)アスリート系に変更いたしました!

 

技術系メモブログに成るはずなんですが、それだけでも面白くないので無駄に日々の筋肉話なども入れていこうかなと思ってます。

 現在の職業はダンサーです。

f:id:simpledancer:20170108113059j:plain

(注)こんなに柔らかくはありません↑

 

腹筋は分割されてます。

持久力はありませんが。

ちなみに来年はこのレースに出ようと思ってます!

www.huffingtonpost.jp

 

またポールダンスについてのサイトも作り始めました!(主にポールダンスの仕事をしています)

tabibit.net

外観が思うように整わず。

 スキルをつけつつブログも楽しんで続けていければといいな。

よろしくお願いします♪