アスリート系ですがプログラミング始めました。

プログラミング初心者三十路越えアスリート系女がフリーランスプログラマーを目指すブログ

いちいち調べるのがめんどくさい。。意外と躊躇する特殊文字の入力の仕方

f:id:simpledancer:20171112183818p:plain

特殊文字、これプログラミングをしていてもブログを書いていても

あ。。あれどうやって入力するんだっけ、しかもなんて読めばいいかもわからない。。。毎回調べるのってめんどくさいなあ〜

そんな時Macだとキーボードビュアーを使ってカンニングすることができます!

参考にさせていただいたサイト

miki73.com

久しく使ってなかったんですがˆ  「 ˆ 」とか、しかも読み方わからないし!!

Pythonだと集合の演算のところで出てきました!

f:id:simpledancer:20171112183734p:plain

キーボードビュアーの使い方

詳しくは上記のブログに詳しく書いてくださっています。

流れ的には

システム環境設定

キーボードを選択

右上の文字マークのところをクリックしキーボードビュアーを表示を押すと

キーボードが出てきてくれます。

そしてoptionキーを押すとキーボードビュアーのキーボードの押す部分がオレンジ色に変わりますので、そこに該当するキーボードを押せば特殊文字の入力が可能となります!

 

macを長年使っていながらこの機能は使っていませんでした!これで特殊文字の度に調べるという手間が省けます!

simpledancer.hatenablog.com

 

 

Pythonで頻発するエラーの種類

f:id:simpledancer:20171104033510j:plain


頻発するエラーがAssersion Error

これ調べるとPythonではなくてJavaの説明がたくさん出てきました。

そもそもAssersion Errorってなんなんだよってことで(Rubyの時は出てこなかった)

 

Java 入門 | アサーション

アサーションは、プログラムの仕様をソースコードに明記するものです。具体的には、プログラムの実行時には発生し得ない場合を false とする boolean 式を含み、仮に false になるようなら java.lang.AssertionError を発生させます。AssertionError が発生する場合は、プログラムが予期しない動作を実行していることを示しています。当該行に制御が渡るまでに、なんらかのバグが作り込まれているということです。

Python入門 - 制御構文

Pythonの方で調べてみると

assert はテストの際に値が期待通りに設定されているかを確認するための仕組みです。__debug__ が True の時のみ動作し、式を評価して偽であれば、AssertionError例外を発生させます。python を -O オプション付きで起動することで、__debug__ の値は False になります。

こっちのほうがちょっとわかりやすいですね。

simpledancer.hatenablog.com

写経しても出てくるエラーの対処

とにかく、最初は意味わからなくても写経をしまくります。

なんかそのうちに文のリズムというか。あ、なんとなくこういう法則で書かれているのかっていうのがわかってきます。(もしかしたらこれって遅い学習方法かもしれないけど)

でも写経しても出てくるエラーが冒頭のアサーションエラー。

あとはinvalidって出てきます。

だいたいが{}とか回答の日本語が違う、とか spaceが一個足りないとか。

PyQでやると、一応実行はできるものの、判定を押すとエラーが出て先に進めない!

コードをコピーして貼り付けるのが一番早いので、問題の意味がわかれば、先に進めない時はこれで行ってしまいますが、コードをコピペすると結局どこが悪かったのかわからないので最終手段にします。

そしてインデントエラーが頻発します。これはとにかく他の言語では経験できないくらい頻発。ただ今までインデントってあまり意識せずにきてしまったので癖付けるっことができるのでいいのかな。(Pythonは;で括らずにfor文などはインデントがカッコ代わりになるのです。スペースがインデントで決まるというか)

simpledancer.hatenablog.com

いかんせんまだまだ勉強が滞りますが地道に。地道にやっていこうと思います。

あと、圧倒的に勉強量が少ないのでもう少しプログラミングの時間を増やしてあげないとと。。(思いながらもなかなかねえ。。。)

 

 

 

当ブログのデザインを変更しました!デザインをカスタマイズせずとも割といい感じ。

f:id:simpledancer:20171021142753j:plain


ちょっとこのブログのデザインに飽きてきたのでテーマを変更してみました!

カスタマイズはまだやってませんが、追い追い直していこうと思っています。

simpledancer.hatenablog.com

ブログのサムネイルとタイトルが表示されるので見やすいし、このテーマが結構好きです。ワードプレスっぽい。

そしてこのテーマはカスタマイズしなくても結構出来上がっているのでオススメです!

ブログカスタマイズのオススメ記事

simpledancer.hatenablog.com

simpledancer.hatenablog.com

simpledancer.hatenablog.com

simpledancer.hatenablog.com

デザインについて

プログラミングのPythonの勉強とパフォーマンスの練習が忙しいのにかまけて、デザインの練習が一向にできていませんが

Photoshopの勉強を独学でするならUdemy Webデザイン入門オンライン講座 はボリュームが結構あるのでオススメです!

基本的なところからかなり突っ込んだ内容まで網羅してます!

 

なんかいろいろ手を出しすぎて回ってないんですがとりあえず地道にPythonの勉強をぼそぼそやってます。

 

初心者がインデントの重要性を知るにはPythonがいい

f:id:simpledancer:20171022180002p:plain

PyQを進めています。今日は仕事が休みなので筋トレしてプログラミングして筋トレしてプログラミングして。。。のエンドレスループです。

simpledancer.hatenablog.com

インデントエラーが連発したので改めて調べた

今までRubyもJavaも

「インデント気をつけて」と言われながらもやんわりとしか実行してなかったし

強いて言えばインデントなんて

「見栄えと言うかコードが読みにくいから綺麗にしてね」ってことだという認識でいました(yamlでちょっとその意識は変わったものの)

Rubyist Magazine - プログラマーのための YAML 入門 (初級編)

 

しかしPythonはインデントがちゃんと入ってないとそもそも実行さえできないんですよね(もちろん実行できる場合もありますがPyQの場合合格にならない!)。

さらにインデント「とりあえず入ってればオッケーでしょ」ぐらいの感覚で進めていたところこんなに厳密な縛りがあったとは!

Python入門 - 構文

Python ではインデント(行頭の空白文字の数)が重要な意味を持ち、同じ数の空白でインデントされた文がブロックとみなされます。

a = 3
if a == 5:
    print "AAA"    # if文の対象
    print "BBB"    # if文の対象
print "CCC"        # if文の対象ではない

インデントには通常、4個の空白文字を使用します。タブ文字は、インデントが8の倍数になるように1~8個の空白文字とみなされます。

[空白][空白][TAB]print "AAA"         # 8文字の空白とみなされる

 

知らなかったyo。

かっこでくくらない代わりにインデントでっていうのはもちろん把握していたものの

これって逆にエラーがわかりにくく感じてしまいます。(慣れだと思いますが)

ただし、熟練のプログラマーさんにいつも「コードが見にくい!」と言われていたので

インデントの意識を植え付けられるのでは??と思ったところ確かに書いていました。

codezine.jp

この記法の利点は、プログラマーにインデントを強要できることにあります。プログラミング言語の初学者には、インデントの重要性がわからずに全て左詰めでコードを書いてしまうようなことがたまにあります。しかし、Pythonではそれはできません。ifでブロックを書きたければ、インデントするしかないのです。そのため、Pythonのブロックは誰が書いても見やすい物になります。

 中括弧やendがないのも利点です。ソース中のノイズが少ない分、本当の処理に意識を集中しやすくなります

 

 確かにPythonのコードは他の言語に比べてすっきり見やすい気がする。整然としてるというか。(たとえ私が書いたとしても)

python.keicode.com

つい;を使ってしまったり とりあえずインデントなしでガーッと書いてしまったりしてエラーが出まくってなんだよそれ!で、だいたいindent errorが出てます。そういうわけでまだ全然慣れませんけど。

PyQは楽しく進めてます。

simpledancer.hatenablog.com

 

話題のPythonオンラインプログラミングサービスPyQを始めました!

f:id:simpledancer:20171018121050p:plain

先日から気になっていたPythonのオンラインサービス、PyQを始めました!

今月は仕事がバタバタしそうだったので、来月からにしようとは思っていたのですが

考えてみると移動時間も新幹線乗りっぱなし、とか長距離座りっぱなしが多いので

手元が空いている時間はあるな。。と思って見切り発車しました!

simpledancer.hatenablog.com

Python初心者は150時間でどこまでいけるのか?

pyq.jp

私のレベル

  • Pythonの文法はProgate,Udemyで少し学んだ
  • Rubyの文法はだいたい理解している
  • 自分では開発未経験
  • サンプルアプリならJavaScript,Ruby on Railsを作ったことがある

と、こんな感じです。

予定としては平均して4時間〜5時間勉強できたらいいなと思っているのですが。

150時間だと10日間で終了!

ただし前半の文法部分はすぐ終わるにせよ、後半はかなり進みが遅くなることを懸念して200時間と想定。

ざっくり見積もって1ヶ月で開発できるくらいになれたりするのかどうか。。。?

ちなみに私はサポートのついていない2980円のプランでスタートしました!

触ってみた感想

  • 細かくエラーの解説がしているのが助かる
  • 環境構築が入らないのでいきなりコードがかけるのでモチベーションがup
  • 模範回答があるのでどうしても困ったら見れる
  • レベルが上がったり細かめに問題が設定されているので飽きない

時折、ちゃんとコードを書いているつもりでもAssertion Errorが出てしまう。。これがちょと解決するのに時間がかかってしまいます。

参考

assert:エラーが出た箇所でプログラムを無理やり途中で止める - code snippets

アサーションエラーが発生しました。どうしたらよいでしょう? (SQL Anywhere 5, 6, 7) | SAP SQL Anywhere

表明 - Wikipedia

 

その他のオンラインレッスン

Udemy

simpledancer.hatenablog.com

Udemy みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 。こちらでもPythonの文法学習が含まれています。

環境開発のやり方なども細かくレッスンがあり、環境整えたい方にはお勧めのレッスンです!

Progate

f:id:simpledancer:20171018123103p:plain

一部有料ですが、文法の基礎部分は無料でできます。

環境開発不要。

prog-8.com

ドットインストール

Pythonのコースは有料ですが1~5までは無料公開されています。

https://dotinstall.com/lessons/basic_python_v3

ドットインストールは様々なレッスンがあって充実しているのですが、

とにかく早口。。

 

まずはPyQを1ヶ月でどれくらいまでいけるのか。。。?時間をなるべく作って手を動かして成長していきたいです。頑張るぞ〜!

Progateはやっぱり優秀なサービスだと実感しました!

なぜ、急にこんなにアクセスが上がったのかな??なんて思っていたところ。

 先日書いた記事がはてなブックマークをたくさんいただいてました!

simpledancer.hatenablog.com

このブログはサブブログなので私の勉強ログとして使っていますが、

誰かのためになったらもっといいなあ〜

初心者ならではの解決ももしかしたら役に立つかもしれないし、今後も地味に更新します!

f:id:simpledancer:20171017114505p:plain

今日は最近改めてProgateを復習してみたので感想です。LV155です今!最高どれくらいいくんだろう。。

しかもイラストが癒されるんです。。可愛い。。

prog-8.com

Progateを改めてやってみた

 SQLのコースすごくわかりやすかったです!!↑

無料のプログラミングレッスンProgate!

私もプログラミングを始めた頃からやってます(一部有料があります)

最近は全く触ってなかったのですが久しぶりに見てみると新しいレッスンが加わっていたり、前のレッスンのリニューアルバージョンも加わっていたりで久しぶりにやってみることにしました!

 

たくさん書籍があるけれど、まずはProgateの無料のところをザーッとやってから本に入るといいかもしれない。

無料でこんな素晴らしい教材を作ってくれてありがとう。。。(有料の買わなくてごめなさいw)

進んでいないようで確実に進んでいることを実感

去年やったhtmlコースなどが新しくなっていたので、そちらもやったり他の言語の最初の方もさらっとおさらいしてみたら。。。

前は暗号にしか見えなかったものが普通に理解できている!!(もちろん至極当たり前な内容ばかりなのですが)

ちょっと感動すら覚えました。

全然前進してない(しかも後退している気もする)と思っていても着実に何も知らなかった頃よりも身についていることがわかる。。そんな自分を褒めてやろう。(自分を甘やかせまくってます)

ついつい「あの人はあんなにできてるのに」ってプログラミングに限らず思ってしまうけれど、他人と比べたり自分ができないできないってせめても仕方ないですから

それよりも過去の自分よりもちょっとでも進歩した!って褒めてあげましょう!

そんなわけでProgateはいろいろ教材をやった後に再度確認のためにやるのもオススメです!

simpledancer.hatenablog.com

 

Pythonの学習サービスが気になる!初心者には書籍よりもオンラインレッスンの方が向いていると思う。

f:id:simpledancer:20171014120634p:plain

今月は出張続きでなかなかプログラミングの時間が取れていません。Railsチュートリアルを久しぶりにちょっとやり直してみよう!と思ったりしていたのですが、滞り中です。。

simpledancer.hatenablog.com

いくつかサンプルは作ったものの。。。自分で開発できる気がしない

先日、Rubyで作る! ビットコイン自動売買システム !を作成した迫さんのブログでPyQが紹介されていました。

 

実はUdemy でもPythonのレッスンはたくさんあって、私も一つ買いました。

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習  

これ買ったんです、で大まかには終わったんですが、私のPCだけでしょうか?他の方もそうなのでしょうか?他のUdemyのレッスンよりも動画が止まるんです。。(なぜだ。。)

simpledancer.hatenablog.com

それでちょっとしたフラストレーションが。。ただし説明などは聞き取りやすく前半は大変わかりやすかったと思います。私はもともと理系ではないので、かなり後半は???が飛び散りますが。。

Rubyも中途半端なのになぜPython?ってなりますよね?単に興味が沸いただけです。

そこでPyQのことを知りました。

pyq.jp

私の場合、文法はJavaとかRubyをやったので割と把握だけはできているように感じますが、自分でアプリを作ったり設計をすることがよくわからないのです。本を読んでその通りに作ることやエラーもなんとなく解決をすることができるようになったのですが全く実践レベルにならない。。。

それをPyQだとこういう感じで段階が踏めそう。。

f:id:simpledancer:20171014120538p:plain

プログラミングは環境開発が面倒だ

私はJavaから入ったので、それに比べたら他の言語の環境開発はすごく楽な気がします。実際Pythonも環境開発自体はできてますし、Rubyもローカル開発環境は人に聞きながらやることができました。

だけど、最初に何もない環境から開発ってすっごくハードルがアガると思うんです。

今はcloud9とかあるので随分楽ですが環境開発は追々でもいい気がする。。

ちなみに以前受講したテックアカデミーもローカル開発環境ではなくてcloud9で進めて行きました。

techacademy.jp

それよりも言語の文法をだいたい把握して、どういう風にこれが動くのか?とかわかるように手を動かして行ってそのあとに環境を整えても遅くないんんじゃないの?と思うわけです。

なのでこのPyQとかはそのままブラウザでプログラミングできるので最初はとっかかり安い!

simpledancer.hatenablog.com

UdemyもPyQも本1冊分の値段で学べる

私がよく利用していUdemy は買いきりで安いもので1200円くらいから(無料のものもありますが、有料の方がやっぱりわかりやすいです)

しかも書籍って意外と誤植が多かったり、バージョンが対応してない(情報が古いまま)ということもしばしば。もしすでにプログラミングをかじってる人にとっては書籍のほうがメリットがあることもあるかもしれませんが、初心者にとってはちゃんとアップデートしてくれるオンラインの方がわかりやすいと思います。

 

プログラミングスクールはちょっと高価で手が出にくいけれどこういったオンラインサービスなら本1冊分の値段から始められるのでハードルがぐっと下がると思いました!

私もこの出張月が終わったらPyQやってみたいと思います♪

 

simpledancer.hatenablog.com

 

propoko.com