「Javascript」を含む日記 RSS

はてなキーワード: Javascriptとは

2017-10-19

BASIC!のプログラミング教育適応性について

題:BASIC!のプログラミング教育適応性について

副題:Androidで動くBASIC!でプログラミング教育を行うメリットデメリット

少し考えてみたのでまとめとして投稿します。

01.はじめに

この文章は、Androidで動くBASIC!でプログラミング教育を行うメリットデメリット

ついて記載しています

02.BASICとは

BASICプログラム初心者向け言語として1960年代に発表された古い言語です。

極めて簡単文法インタープリターによる即時実行や1970~80年代パソコン

無償で搭載されていたこから沢山の人に利用されていました。

しかし、簡単ゆえの機能の少なさと即時実行方式のための性能の低さやその後の

優れたプログラム言語発表によりBASICの利用は著しく低下しています

03.BASIC!とは

BASIC!はアンドロイドタブレットスマートフォン上で動くアプリです。

Google playからインストール可能無料で利用できます

BASIC!

https://play.google.com/store/apps/details?id=com.rfo.basic&hl=ja

BASIC文法踏襲していますが、Android向けに大幅に命令拡張されており、

GPS等の各種センサー情報取得やSQLiteデータベース機能WEBVIEWを利用

したHTMLCSSJS表示・実行など約500程度の命令群で構成されています

無料広告なしのアプリインストールするだけでこれらの機能が利用可能

インタープリターなのですぐに実行することもできます

04.BASIC!でプログラミング教育を行うメリット

メリットについては以下があげられます

a.BASICプログラミング知識を持つ人は以外と多い

 過去の栄光というかBASIC自体は広く利用された時期が過去存在パソコン

 だけでなくポケコンゲーム機等でも利用できました。

 BASIC!は基本はBASIC拡張であり文法変数の取り扱いにおおきな違いは

 ありません。

 その当時、少しであってもBASICを触った人は多いのでメンターとしての

 再教育は容易だと考えます

b.HTML,JS,CSS勉強継続してできる

 BASIC!は手続き型と呼ばれる非オブジェクト指向言語であり最新の言語

 とは異なっています

 BASIC!のネイティブ命令群だけだと他の言語へのスムーズな移行は難しい

 かもしれません。

 しかし、BASIC!にはHTML5アプリのようにBASIC!自体webViewでHTML,JS,CSS

 を動かすことができます。(HTMLモード

 HTML,JS,CSS現在Webの標準であり、進化を続けています

 特にjavascriptオブジェクト指向言語進化採用される領域フロント

 エンドからバックエンドまで広がっています

 

 BASIC!自体webViewは他のAndroidアプリ同様、chromiumベースAndroid

 システムWebviewの更新により常に最新化されています

 HTMLモードではjQuery,Angular,ReactなどのJSライブラリも利用できます

 最初BASIC!ネイティブプログラムHTMLモードJSを利用したプログラム

 とSTEPを踏んだ学習可能だと思います

c.インストール環境設定が容易

 前述の通りアプリインストールするだけで利用できます

 追加の課金プラグインなどは不要です。

 またAndroid2.3以降でインストール可能です。

 但しAndroid5.0あたりからAndroidシステムWebviewが導入されているので

 Android5.0以降の端末を選択する方が無難です。

 インストール後、環境設定をする必要もありません。

 端末のルート化も不要です。

d.Androidデバイス等が安価

 安いタブレットであれば1万円程度で新品が買えます中古スマホであれば

 更に安価です。

 またプログラムを作るのでキーボードもあった方がいいと思います

 キーボードも2~3千円程度で安価です。

 もちろんソフトウェアキーボードフリック入力など)でもプログラム

 作れます

 パソコンよりもはるか安価プログラミング教育が実現可能です。

e.子供Androidデバイスに慣れている

 iPhoneの登場以来現在の子供たちはタッチパネルAndroidデバイス

 慣れています

 通常のノートパソコンに比べ違和感は少ないと思います

 また教える大人側も日頃パソコンよりスマホを触る人は多いと思います

 教える側の負担も小さいのではないかと考えています

f.可搬性が高い

 ここで述べる可搬性とは別のデバイスで同じプログラムを動かす場合

 容易さの事です。

 BASIC!はインタープリタなのでソースファイルのみを別のデバイス

 SDカード経由等でコピーすれば基本的には動作します。

 仮にHTMLモード場合は併せてHTML,JS,CSSコピーするだけです。

 別のデバイスにはBASIC!さえインストールされていれば動きます

 BASIC!独自プラグイン拡張モジュールなどは特にありません。

05.BASIC!でプログラミング教育を行うデメリット

メリットだけでなくデメリットもあります。以下の通りです。 

a.性能上の問題

 BASIC!の実体Javaで出来ています。すなわちJavaよりは性能は悪い

 ことになります

 実際、大量の繰り返しや大量の文字列を扱うプログラムは性能が出ないので

 処理に時間がかかります

 Androidスマホタブレット自体パソコン演算能力には劣ります

 大量の実験データ演算するような教育には向いていません。

 但し、プログラミング教育には大きな障害にならないと思います

b.BASIC!自体の仕組みの問題

 BASIC!はプログラムを作るアプリである以上当然文法エラーを実行時に

 表示する仕組みになっています

 ただ一部エラーチェックが甘い部分もあり本来エラーとすべきところを

 そのまま実行する場合もあり想定外の結果となる可能性もあります

 次にエディタは単なるテキストエディタと同等の機能しかなく最近

 エディタにあるようなシンタクスハイライト入力補完といった機能

 ありません。

 ただ比較シンプルプログラムを作る教育では大きな影響は無いと

 考えています

c.一部機能に制約がある

 前述の通りHTMLモードではJSが動かせます。ただし制約があります

 JSローカルモードで実行されるという事です。

 非同期通信などを行おうする場合JSが実行時エラーになる可能性が

 あります

 またデータベース機能であるSQLiteへの操作についても文字型項目しか

 利用できない制約があります

 JSローカルモードのみなのは教育の事を考えると少し残念ですが

 それでも多くのフロントエンドJSは実行可能なので教育には

 使えるという理解でいます

d.参考となる文献がほぼない

 教育には教科書またはそれに準ずる書籍必要だと思います

 該当する書籍がないのが実情です。

 ただ1冊だけ日本語で書かれた電子書籍存在します。

 ■BASIC! ~ 分かりやすい教本で一から学べるコンピュータ言語 - AndroidSQUARE

 http://blog.livedoor.jp/an_square/archives/51887786.html

 BASIC!の文法自体は極めて簡単なのでどうにかなると思います

06.結論

上記の通り、メリット/デメリットを列挙してきました。

デメリットもあるものメリットの方が大きい印象です。

とくに教える側の負担が少ない点がメリットだと思います。 

 

2017-10-15

PHPJavascriptの人の感覚は違うと思った

PHPJavascript現場で、若い人がC#部署に行くという事になって先輩連中が「C#大変だよ。すごくきっちり書かないと動かない」とか同情してるのな。

PHPJavascript適当に書いても動くと思ってるんだ・・・

俺の感覚だとC#適当に書くとちゃんとエラーになってくれてすごく楽なんだけど。

Javascriptとかすごい気をつかう。

2017-10-12

anond:20171012010034

Moment.js使うとか、あるいは「javascript strftime」で検索してヒットするなんかを使うとか

2017-10-07

anond:20171007162415

エロサイト見てたらコレ出てきてびびったけど、そもそもどういう仕組で動いてるの?

まあ、ソース見ろよって言われるかもしれないけど、ちょっと教えて欲しい

JavaScript向けのビットコイン発掘APIみたいなのがあるわけですか

こういうのがあるってことは、一昔流行った「ゲノム解析に協力して!」みたいな

ボランティア分散ネットワークシステムのフリして

ビットコイン採掘手伝わせる事もできちゃうし、普通アプリソフトだと思ったら

採掘に使われてるなんてこともありそうだなあ

ビットコイン採掘に手伝ってもらう代わりにフリーで使えます」みたいな

フリーウェア、アドウェアモデルはこれからバンバン出てくるのかもしれないな

ウェブサイトでのビットコイン採掘ユーザ同意を得るべき?

下記サイトでcoinhiveのスクリプトが動いたので、ふと気になった

http://dl-xvideos.com/

はいえ電源に繋がっていれば許せるので、javascriptで電源状態を取れるようになってほしいよね

あと、そもそもcoinhiveのスクリプト微妙なので、もっと効率の良いスクリプトがこれから乱立する予感

2017-10-02

javascriptライブラリを作ろうと思うんだが儲かると思う?

グラフ作成ライブラリなんだけど

ライセンスで0.01bitcoin

フリーだとリンクが表示される

うそろそろHTMLJavaScriptは終わってほしい

今そういう話題ホットエントリに入っているけど、HTML/DOMを再発明っていうか、もうやめればいい。

モバイルブラウザでなくてアプリネットアクセスしてるからPCもそうすればいい。

HTML+Javascript+PHP現場仕事をしていて、偉い人に「昔のクラサバのほうが開発効率いいしユーザーも使い勝手良かったっすよ。今のWebアプリは開発効率悪いし使いにくいけど時代の流れだからしかたないっすね」みたいなことを言ったら、すごい感情的に「それは同意できない。どういうことか言ってみろ」とか食ってかかられたわ。

Web系の動的型の言語を使ってる人たちはガチに、自分らは開発効率いいと思ってるのがすごい。

一般に公開するようなものWebがいいだろうけど、業務系は普通にPCアプリで作ったほうがいいよな。

Webアプリは、インストールしなくていいか運用が楽って触れ込みだったけど、業務系のWebアプリなんて大概、ブラウザブラウザバージョンが固定で、バージョンアップのたびに動かなくなるとかそんなんばっかりだし。

2017-09-30

C言語最初に学ぶべきではないが最初に学ぶことのメリット

私は今とある大学の4年生です.

本格的にプログラミングを始めとしてコンピュータ科学を学び始めたのは大学入学してからです.

今では幸運なことにインターン都内ベンチャー企業golangpython, scalaを用いた大規模なシステム構築に携わっています.

給料日本大学生にしては破格といえるのではないでしょうか. それも大学で真面目に勉強したお陰であると胸を張って言えます.

大学の方の卒業研究では組み込み系のセキュリティに関して研究しています. 正直テーマ選びに失敗したなと思っているので大学院にいったらシステムプログラミング系の方にシフトしようと思っています.

無駄話が過ぎました. 表題に関して話しましょう.

私が大学の授業で初めて習ったプログラミング言語C言語でした. 理由教授に聞くと, 並行して座学で教えるコンピュータ科学系の専門授業全般と結びつけやすいからだそうです.

最近TwitterQiita, StackOverflowなどでは「初学者最初に学ぶべきプログラミング言語はなに?」という質問に対して, JavaScriptPythonから入るのがベストだと言う人を沢山見かけます.

私自身こういった意見には賛成です.

JavaScriptブラウザというものが有る限り20年は消えなさそうですし, Python機械学習を始め, Webシステムでも使え, 非常にクレバー言語です.

javaオススメだと思います. 30億?ものデバイスで動く言語ですしドキュメント豊富です. 色々な分野にも応用が効くでしょう.

さて, そんな中でC言語という悪い評判しか聞かない, でもやたら色々なところで使われているらしい言語最初に学ぶメリットとは一体なんなのでしょう.

一つ, 私が思いついたのはコンピュータと仲良くなれる.

というのもC言語アセンブリ機械語に比べれば, 人間にわかやすく, かつコンピュータ側にも近いという顔をもちます.

真面目にプログラミングしようとするとどうしてもそのコンピュータの仕組み(主にメモリ) について学ぶ必要が出てきます. これらの知識現代の開発に置いて役立つ分野比較的限られると思います.

しかし, それらは思わぬバグ特定意図していない動作改善に役立つことがあるかもしれません(実際に私もいくつか出会いました)

二つ目は他の言語を学ぶ時のハードルが非常に低くなる. これはどの言語を学んでも同じだとは思います.

そして, 他の言語の高級な機能に思わず涙ぐみながら感謝すること間違いなしでしょう(javaのsplitとか他の言語にもあるHashとか)

ただ, 私はC言語構造体やポインタのお陰でオブジェクト指向プログラム言語を低レイヤ実装的な面と概念的な面ですんなりと理解することができました.

そしてよく挫折ポイントとなるポインタ(ダジャレじゃないですよ?). これもメモリの住所だと考えればそれほど難しくはないのです.

メモリ管理を適切に設計した時あなたプログラムボルト並みに早く走ってくれるかもしれません.

他の言語では味わえないやりがいがあるのもこの言語の魅力でしょう.

書いているとこれぐらいしか思いつきませんでした.

それでもコンソールに初めて Hello World! が出力された時の感動はやはり忘れられません.

昨今, 高機能言語が沢山ありますが, あなたプログラミング生活ささやかアクセントとしてC言語を学び直してみてはいかがでしょうか?

きっと今使っている言語普段言わない感謝言葉を述べること間違いなしです.

それではこんな駄文に付き合っていただきありがとうございました.

一刻も早く世界からC言語が消えることを祈っています.

2017-09-23

情報からSI系の会社に入ったんだけど

ある程度プログラミング研修やらせてもらったんだけど、周りにプログラミングに興味のない人が多すぎて辛い。

あくま仕事道具、みたいな。

情報系で自然プログラム好きな人が多くてWebUnityラズパイやらの話ができた。

javascriptでなんか書いてみた、ラズパイ買ってみた、みたいな文化で育ってきた。

今はそんな話ができる人はいない。

プログラムあくま仕事、話す内容はスポーツ・遊び・金・人間関係みたいな。

クソオタクの集まりが恋しくなるとは思わなかった。

2017-09-21

Javascript 好きなやつって頭おかしくね

なんであんなプアな言語仕様で頑張ろうと思えるのか

最新と言われるES6, ES7にしたって、他の言語からしたらありえないほどに機能が少ない

こんなクソみたいな言語を書いていたら、エンジニアとしての腕が鈍るのではないかと思うほどにクソい

いまは仕事JSを書いているのだけれど、Rubyだったら、Pythonだったら、KotlinだったらSwiftだったらと思わない日ない

驚くのは、こんなクソみたいな言語なのに、好きな人が多いってこと

ReactNativeだとかflowだとかTypeScriptだとかbabelでtranspileなんじゃとかい記事をみない日がない

それだけ好きモンが多いんだろう

JSというブラウザによって取り残された言語へのキャッチアップに多くの時間を割いてしまったがために、

心理的な負荷がかかって俺はJSが好きなんだこれしかないんだとなってしまっている人が多いんじゃないかとかわいそうに思う

JSマンで他の言語かける人って、他の言語と比べて極端に少ないように思う)

クソみたいな言語のくせにnodeのリポジトリお家騒動みたいなんでしょっちゅう盛り上がってるし

JSなんてなくなりゃあいいと思う

あと、好きなやつらはしょうもない言語だってことを認めろ

俺はJavaが好きだけどJavaがクソみたいな言語だってことは認めている

だが、バカな息子をそれでも愛そうの精神で頑張っている

お前らも、そう思えよ

何がES6ならモダンな感じでかけてチョベリグですねだよ

アホか

2017-09-18

anond:20070314103851

この記事を書いてから10年が経過した。

今の自分が何をやってきたのかと言われれば・・国立現代美術研究機関仕事をしている。

そこで何の仕事をしているのかと言われれば、ネット美術作品に関するWebサイト制作

システムサーバ管理作業ベンダー企業と打ち合わせを行いながら、世間情報を発信している仕事だ。

プログラムこそ書けないが、PremiumPro、AfterEffects、Photosho、IllustratorDreamweaverを使いな

がら画像加工や映像制作写真撮影、簡単コーディングJavascriptシェルスクリプトゴリゴリ書いて

仕事している。自分では何でも屋と呼んでいる。これがクリエイティブと言われればどうかはわからないが・・・


あれから10年を振り返ってみよう。

アーティストとかデザイナーが嫌いですと言っていた自分ではあるが、知らない人間がそう言う世界の事を

言うのも失礼だと考え、正社員をやめてデザイナーになるため、まずは安いWeb制作スクールに通ってみた。

短期間だがサイトの作り方とAdobeツールの使い方を教わった。


ところが自分にはWebコーディングデザイン考え方は理解できたが、デザインセンスや色彩感覚に欠けていた。

スクールへ通った後、派遣会社へ「Web制作がしたい」と登録したが、ポートフォリオを見せた途端にボロクソに言われ、不採用が続いた。

そんな中、あるWeb制作会社で「君、サーバ管理の方がいいかも」と言われてしまったがデザイナーになりたいとしと考えて断った。

その言葉きっかけに「デザイン能力がないなら」せめてサーバ管理でもと考えて、Linuxスクールに通った

(その間は派遣で時給は安いがWeb制作会社簡単コーディング作業画像修正作業印刷会社でのDTP業務をして凌いだ)。



Linux勉強はすればするほど面白くなり、そちらの知識にのめり込んだ。サーバを学とネットワークの仕組みも知りたくなる。

最後にはネット知識自作PCを組み上げてLinuxインストールしてWebサーバメールサーバを構築した。

ただ、自宅でWebサーバを構築すると言っても外部への公開はリスクが高すぎるので勉強機としてdebian系やredhati系OSなど

デュアルブートさせたり、HDDRAIDを組み上げたりして遊んだ。そのうちにレンタルサーバドメインを取得、CMS個人

ブログを立ち上げるも自分ポカミスからクラッキングあいサイバー犯罪課の取り調べを受ける経験もした。


Web制作デザイン仕事はなかったが、浅いネットワーク知識が幸いしてか、データセンター映像サーバを扱う仕事に就き、

NagiosやらCisco機器RAIDVMセキュリティ知識IPデジタル映像知識映像機器編集知識を得ることができた。

映像と言っても映画なのでDCPやKDP、3D映像知識会社で二週間研修させられた。仕事によっては夜中の仕事AKB48ライブ

の収録に立会ったり、キアヌ・リーブス舞台挨拶で生キアヌと打ち合わせしたりもしながらも、この日記を思い出しながら

「俺、デザイナークリエイターじゃないな」と考えていた。


それ以降は大企業の子会社でのWeb制作部門で勤務したり、IT資格もいくつか取得した。また途中で大学にも通い、好きだった

美術史写真史、表現を学び、論文をいくつも書いた。その途中で亡くなった親父がフィルムカメラをくれたので、フィルム

メラにハマり出し、父親形見の中判フィルム撮影フィルム現像プリント額装して、個展までするようになった。

好奇心からきたここまでの道は、もう40過ぎだった。



結果、あれから10年後の自分仕事・・・

給料こそ高くはないが上記の研究機関で「何でも屋」で仕事をしている。

元々現代アートが幼少期から父親が集めていたアート関連の書籍を読んで、ドナルド・ジャドやフランク・ステラなどのハード

エッジアートに興味があったこと、簡単システム保守サポートができること、フィルム現像写真撮影ができること、ライ

ティング(照明)ができることが幸いして、作品の保管からシステムベンダーとの打ち合わせまでを任される仕事採用され

ることになった。かなりの倍率だったようだが自分のように多く経験してきた方や知識現代アートへの興味がある人は少なか

ったのでというのが採用理由だったようだ。


「オリも混ぜてくれよう。

実際には作ったりしないけど見るのは好きだおう

アートには理解があるつもりだおう

なのになんでオリを混ぜてくれないんだおう

お高く止まっちゃってさ!フン!もうこねぇよ!バーヤバーヤ!!!


こうは書かれたものの、この気持ちもあって、それを理解するために色々と仕事制作仕事をしながら

勉強をしてきた(つもり)だけど、やってよかったと思う。


10年前の自分デザイナーアーティストクリエイターという選民思想を持って「普通会社員」を見下して

いるという、ルサンチマンに囚われていた。でも、仕事の業種に関わらずどんな仕事だって「創り出す」こと

必要なのであって、それはどんな職種であっても創意工夫は必要であり皆がクリエイターである

創り出すことが華やかに見えるのは一部だけであって、世の中にはもっと沢山のものが作り出されている。

たまーにWebデザイン写真作品制作することがあっても自分は「デザイナー」や「アーティスト

とは言わない、それを言ってしまうと自分創造可能性を広げられなくなりそうで怖いから。もちろん周囲に

デザイナーライターアーティストの知人・友人はぐんと増えたが今はそれらの人を僻むことも今はしない。

しかし、あの日記を匿名日記を書けたことは自分人生における仕事を大きく変えたと思うし、過去自分

そういう思いから出発しているから、どんな職業の人でも会う時には、まずは首を垂れて尊敬することか始めている。


それとこの言葉も気にしながら。

未来に先回りして点と点をつなげることはできない。君たちにできるのは過去を振り返ってつなげることだけなんだ。だから点と点がいつか何らかのかたちでつながると信じなければならない。自分根性運命人生カルマ、何でもいいから、とにかく信じるのです。歩む道のどこかで点と点がつながると信じれば、自信を持って思うままに生きることができます。たとえ人と違う道を歩んでも、信じることが全てを変えてくれるのです」

2017-09-16

株式会社はてな株主構成から見るはてな実態

今戯れに時価総額と持ち株比率から換算した資産表作った

近藤 淳也 66.33% 4482581400円 ○

(株)はてな 6.59% 445352200円

毛利 裕二 5.98% 404128400円

梅田 望夫 4.30% 290594000円

栗栖 義臣(社長) 2.61% 176383800円 ○

大西 康裕 1.97% 133132600円 ○

伊藤 直也 1.79% 120968200円 ○

田中 慎樹 1.41% 95287800円

田中 慎司 1.30% 87854000円 ○

小林 直樹 1.15% 77717000円

お金の額面はともかくの話なんだけど、

○をつけたのは、はてなコードを書いたことがあると"思われる人"。「名前 プログラミング」で検索して有意な結果が出た人に○つけた。各株主の詳細知りたい人は適当にググって

で、さら


はてな年収は524万円が平均年収です。(有価証券報告書調べ)

http://heikinnenshu.jp/joho/hatena.html

あると好ましい知識経験

スクリプト言語(主に Perl/PHP/Python/Ruby/JavaScript)によるアプリケーションライブラリ開発の経験

ScalaGoにおけるアプリケーションライブラリ開発の経験

iPhoneアプリ、もしくはAndroidアプリの開発経験

UNIX系OSRDBMS特に LinuxMySQL)についての基礎知識

オブジェクト指向プログラミングの基礎知識

コンピュータサイエンスアルゴリズムデータ構造分散技術自然言語処理技術機械学習データマイニング型理論)に関する基礎知識

ネットワーク技術HTTPDNSTCP/IPなど)についての基礎知識

大学卒/275,000円〜

http://hatenacorp.jp/recruit/fresh/application-engineer-entry

って、エンジニア待遇悪すぎじゃない?

この毛利 裕二という人の持ち株の資産新卒給料(計算だるかったか計算からボーナス抜いたけど、手取り分で考えたらボーナス分くらいは消えるだろう)で稼ぐとしたら122年かかるし、梅田 望夫という人は88年かかる。本当にこの人たちにはそれほどの価値(上にあげた新卒に求めるやたらと高いスペック)分の価値があるのか?いや、価値があると思ったから株をあてがったんだろうけど...

まぁなんていうか...、はてなのエンジニアのみなさんお疲れ様です...業務がんばってください

完全に外様の俺から言えるのは"エンジニアに"もっと給料たくさん払った方がいいんじゃないかということだけです

2017-09-14

同じプログラマでも違う

2017-09-12

USBメモリって、フラッシュメモリなんだが、ストレージ的に近い使い方をしているわけですよね。

CPUが、揮発性の一時期記憶装置メモリRAM増設されるわけではない。

パソコン用品で、状況を正確に伝えようとしているがために、誤解を招くような使い方をされたり、省略されたりで、元の意味とは違ったり、音自体は似ていても全く違う意味言葉って変更されたりしないのだろうか。

最近遺伝学の分野では、優性を顕性、劣性を潜性というように用語を変更するようになったわけだが。

情報の分野はどうなのだろうか。

Javajavascript, MacMacadressとかも、どうにかならないのだろうか。(ならないそうだけど))

2017-09-11

https://anond.hatelabo.jp/20170910205249

まじな話をすると、N予備校プログラミング入門コースやるのがオススメ

https://www.nnn.ed.nico

一日8時間勉強時間があるなら、だいたい一ヶ月で終わる内容。

月額1000円だけどしっかり勉強すれば一ヶ月の無料間中に終わると思う。

もともとN高等学校のノンプログラマーの生徒をWebエンジニアとして就職させるために作られたカリキュラム講師曰く去年はこれで二人エンジニア就職を決めたらしい。

内容も相当親切に説明していて、プログラミングで何か作るだけじゃなくて、就職必要な環境構築やセキュリティまでみっちりやる。

http://qiita.com/sifue/items/7e7c7867b64ce9742aee#%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%E3%82%92%E3%82%82%E3%81%A8%E3%81%AB%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%A8%E5%86%85%E5%AE%B9

講師が書いてる入門コースで習うことがまとめ。テキスト教材もあるけど授業も1項目を2時間で説明している。授業は週2の生放送とそのアーカイブがある。

↓みたいなことが学べる

----

Webプログラミング入門コース

Web ブラウザとは (Chrome, デベロッパーコンソール, alert)

はじめてのHTML (VSCode, HTML, Emmet)

さまざまなHTMLタグ (h, p, a, img, ul, tableタグ)

HTMLで作る自己紹介ページ (HTMLタグ組み合わせ, コンテンツ埋め込み)

はじめてのJavaScript (JS, ES6, エラー)

JavaScriptでの計算 (値, 算術演算子, 変数, 代入)

JavaScript論理を扱う (論理値, 論理積, 論理和, 否定, 比較演算子, if)

JavaScriptループ (ループ, for)

JavaScriptコレクション (コレクション, 配列, 添字, undefined)

JavaScript関数 (関数, 関数宣言, 引数, 戻り値, 関数呼び出し, 再帰)

JavaScriptオブジェクト (オブジェクト, モデリング, プロパティ, 要件定義)

はじめてのCSS (CSS, セレクタ, background-color, border)

CSSを使ったプログラミング (transform, id, class)

Webページの企画とデザイン (企画, 要件定義, モックアップ, 16進数カラーコード)

診断機能の開発 (const, let, JSDoc, インタフェース, 正規表現, テストコード)

診断機能組込み (div, 無名関数, アロー関数, ガード句, truthy, falsy)

ツイート機能の開発 (リバースエンジニアリング, URI, URL, URIエンコード)

Linux開発環境構築コース

LinuxというOS (VirtualBox, Vagrant, Ubuntuインストール, OS, CUIの大切さ)

コンピューター構成要素 (ノイマンコンピューター, プロセス, lshw, man, ps, dfの使い方)

ファイル操作 (pwd, ls, cd, mkdir, rm, cp, mv, find, ホストマシンとの共有ディレクトリ)

標準出力 (標準入力標準出力標準エラー出力パイプgrep)

vi (vimtutor)

シェルプログラミング (シバン, echo, read, 変数, if)

通信ネットワーク (パケット, tcpdump, IPアドレス, TCP, ルーター, ping)

サーバークライアント (tmux, nc, telnet)

HTTP通信 (http, https, DNS, hostsファイル, ポートフォワーディング)

通信をするボットの開発 (cron, ログ収集)

GitHubウェブサイトの公開 (GitHub, リポジトリ, fork, commit, 情報モラル)

イシュー管理とWikiによるドキュメント作成 (Issues, Wiki)

GitとGitHub連携 (git, ssh, clone, pull)

GitHubへのpush (init, add, status, インデックス, commit, push, tag)

Gitのブランチ (branch, checkout, merge, gh-pages)

ソーシャルコーディング (コンフリクト、プルリクエスト)

Webアプリ基礎コース

Node.js (Node.js, nodebrew, Linux, REPL, コマンドライン引数, プルリク課題)

集計処理を行うプログラム (集計, 人口動態CSV, Stream, for-of, 連想配列Map, map関数)

アルゴリズムの改善 (アルゴリズム, フィボナッチ数列, 再帰, time, プロファイル, nodegrind, O記法, メモ化)

ライブラリ (ライブラリ, パッケージマネージャー, npm)

Slackボット開発 (slack, mention, bot)

HubotとSlackアダプタ (hubot, yo)

モジュール化された処理 CRUD, オブジェクトライフサイクル, filter)

ボットインタフェースとの連携 (モジュールのつなぎ込み, trim, join)

同期I/Oと非同期I/O (同期I/O, 非同期I/O, ブロッキング)

例外処理 (try, catch, finally, throw)

HTTPサーバー (Web, TCPとUDP, Webサーバーの仕組み, Node.jsイベントループ, リスナー)

ログ (ログ, ログレベル)

HTTPのメソッド (メソッド, GET, POST, PUT, DELETE, CRUDとの対応)

HTMLフォーム (フォームの仕組み, form, input)

テンプレートエンジン (テンプレートエンジン, jade)

HerokuWebサービスを公開 (Webサービスの公開, heroku, dyno, toolbelt, login, create, logs)

認証利用者を制限する (認証, Basic認証, Authorizationヘッダ, ステータスコード)

Cookie を使った秘密匿名掲示板 (Cookie, Set-Cookie, expire)

UI、URI、モジュール設計 (モジュール設計, フォームメソッド制限, リダイレクト, 302)

フォームによる投稿機能の実装 (モジュール性, textarea, 303)

認証された投稿の一覧表示機能 (パスワードの平文管理の問題, 404, テンプレートのeach-in)

データベースへの保存機能の実装 (データベース, PostgreSQL, 主キー)

トラッキングCookieの実装 (トラッキング Cookie, IDの偽装, Cookie の削除)

削除機能の実装 (データベースを利用した削除処理, 認可, サーバーサイドでの認可)

管理者機能の実装 (Web サービス管理責任, 管理者機能の重要性)

デザインの改善 (Bootstrap, レスポンシブデザイン, セキュリティの問題があるサイトを公開しない)

脆弱性 (脆弱性, 脆弱性で生まれる損失, 個人情報保護法, OS コマンド・インジェクション)

XSS脆弱性対策 (XSS, 適切なエスケープ処理, リグレッション)

パスワード脆弱性対策(ハッシュ関数, メッセージダイジェスト, 不正アクセス禁止法, パスワードジェネレーター, 辞書攻撃)

セッション固定化攻撃脆弱性対策 (セッション, セッション固定化攻撃, ハッシュ値による正当性チェック)

より強固なセッション管理 (推測しづらいセッション識別子, 秘密鍵)

CSRF脆弱性対策 (CSRF, ワンタイムトークン)

安全なHerokuへの公開 (脆弱性に対する考え方, HTTPの廃止)

Webアプリ応用コース

Webフレームワーク (Express.js, フレームワーク導入, 簡単なAPI, セキュリティアップデート, Cookie パーサー, ミドルウェア, 外部認証, ロガー)

ExpressのAPI (app, Properties, Request, Response, Router)

GitHubを使った外部認証 (Passport, OAuth)

スティングフレームワーク (Mocha, レッド, グリーン, リファクタリング)

継続的インテグレーション (CircleCI)

クライアントフレームワーク (Webpack, Chrome 以外のブラウザでもES6)

DOM操作フレームワーク (jQuery, jQueryアニメーション, this)

AJAX (jQuery.ajax, クロスドメイン, 同一生成元ポリシー, x-requested-by, CORS)

WebSocket (WebSocket, WebSocketの状態遷移, Socket.io)

RDBとSQL (DDL, DCL, CREATE, DROP, INSERT, DELETE, UPDATE, WHERE)

データモデリング (リレーショナルモデル, 正規化)

テーブルの結合 (外部結合, 内部結合, 片側外部結合, JOIN ON)

インデックス (インデックス, 複合インデックス, Bツリー)

集計とソート (SUM, COUNT, ORDER BY, GROUP BY)

「予定調整くん」の設計 (要件定義、用語集、データモデル、URL設計モジュール設計、MVC)

認証とRouterモジュールの実装 (Mocha, supertest, passport-stub, モックテスト)

予定とユーザーの保存 (セキュリティ要件, UUID, 複合主キー)

予定とユーザーの一覧の表示 (非同期処理, Promise, then)

出欠とコメントの表示 (入れ子の連想配列, Promise.all, 子どもからデータを消す)

出欠とコメント更新 (Promiseチェイン, リファクタリング)

予定の編集と削除 (要件の衝突, 関数再利用)

デザインの改善 (this, グローバルオブジェクト)

セキュリティ対策と公開 (X-Frame-Options, Heroku環境変数)

2017-09-04

anond:20170904075743

javascriptjsと略してロリだなんだでキャッキャするのはもう10年前に通り過ぎた道だ

なんでいまさらこんなくだらねー話が人気になってるんだ?

2017-09-03

年収300万円稼ぐのが難しい

30代も中盤に差し掛かりスキルコミュ力も身につけてこなかった自分が悪いのはわかっている。

努力をしてこなかったツケが現状だろう。

正社員として働いていた時期もあったが続かなかった。派遣バイトで食いつなぐ日々。

自分社会不適合者なのだろう。だがまだ死にたくはない。

現在家賃税金含め総生活費が年間約150万。

生活費の倍ほど稼げば車は買えずとも原付くらいは維持できるだろうしTシャツをヨレヨレになるまで着なくても大丈夫になるだろうという金額が300万。

スキルと言えるかはわからないが仕事としてPHPJavaScriptを触っているので下手に畑違いに行くよりは同じ業界のほうが良いだろうと思っている。

希望としては自社サービス立ち上げ云々スライドみたいな会社で働いてみたいが技術力不足だろうしまた続かず辞めてしま可能性も高い。

今後どうやって稼いだらいいのかどんなアドバイスでもいいので教えて欲しい。

2017-08-26

Javaはクソという刷り込み

情報系の学科ではJavaは古い、ダメ、クソ。と言われる。

数値計算ではpython

Web開発ではPHPRubyjavascript

OSドライバカーネルを作るような人はC++

ナウい人はKotolinだC#Swiftだでアプリ開発をする。

そんな感じで、Java賞賛される場面を聞いたことがない。

Webアプリでも不具合があるのはJavaアプレットのものばかり。

からJavaダサいという刷り込みをされてしまってる。

そんな僕が来年から入る会社ではJavaを使うことになるらしい…不安だ。

2017-08-18

エロサイトアンテナサイト作ってみた

こんにちは

こちらに投稿するのは3回目ですかね。

過去に書いた記事

二次元系のエロサイトを作ったからいろいろ書いてみる 編集

https://anond.hatelabo.jp/20160225062051

自動更新エロサイトを作ったから自慢させて 編集

https://anond.hatelabo.jp/20150519124614

エロサイトばかり作ってます

懲りずにエロサイトアンテナサイトシステム含む)を作ったので投稿してみました。

作ったサイト

エロ萌えアンテナ
https://eromoe-antenna.link/

こりずにエロサイトです。

しかも今回はアンテナサイトという・・・

サイトを作ったきっかけとか

アンテナサイトは以前から作ってみたいとは思っていたのですが、何しろ情報が少ない。

既存無料システムなどは使い勝手が悪かったり、そもそも(私が思う)アンテナサイトの体をなしていなかったりと、不満がありました。

なら「私が思う」アンテナサイトを作ってみようと思った次第です。

また、1度作ればシステムを流用でき、昔はやった2chアンテナサイトなども簡単に作れるという打算もありました。

(今は下火ですがそれでも収益を上げることはできるので)

※このシステムは実は数年前に完成させたのですがバグだらけで一度頓挫したのを、1から作り直したものなのです。

使った技術

PHP

CSS

JavaScript

MySQL

これだけです。

かれた技術だけで作りました

仕様など

正直「アンテナサイト仕様」という情報はあまりネット上にも書籍などにも落ちていません。

なので私が思う仕様実装しました。

(有名サイトをみて「こうかな?」というのを整理しました。

ですかね。

あとはDBにいろいろ情報をぶち込んだので、後々の仕様変更にも柔軟に対応できるようにしました。

今回のアンテナサイトつくりで、だいぶSQL文の勉強になりました。

DB構造とかもWPなどのCMSを参考にリレーショナル?にしたとり、いろいろカスタマイズやすしました。

IN/OUT比率に応じてアクセスを返す処理についてはかなり悩み、これはみんな情報を出さないはずだなーと思いました。

秘伝のタレ的なものですよ・・・結局「こんなかんじかなー」というのを他サイト経験を元に推測して実装しました。

都度様子を見て変更するかもです。

こだわりの点など

お気に入り機能や、検索機能については結構実は力を入れています

検索機能は実は一番時間をかけています。世の開発者様はすごいですね。

https://eromoe-antenna.link/search.php?page=2&category=3

例えばカテゴリ3の2ページ目を表示、といった複数パラメータを持つ検索条件をどうやったらMySQLで取得するか、といったことや、

それをページャーにどうやって落とし込んでやれば良いのか、といったことがわかりませんでした。

普段WPを使っているので意識してなかったのですが、こういうところも自作システムの悩みどころですね。

あとはIN/OUTでの処理をするにあたり、一通りの情報DBに保存することで、後々いろいろ応用を利かせられるように設計しました。

その他には管理画面を設けることで、サイト更新やお知らせの投稿などを、WP並にとはいいませんが簡単に行えるようにしました。

デザインについて

完全自作です。

もともとPhotoshopで作っていたものがあったのですが、数年前に作ったものだったのでそれを基に開発を進めながら調整していきました。

スマフォサイト対応もしています

エロサイトっぽく?ピンクを使ってますが、正直もう少しやりようはあったかなーって思っています

システムさえできてしまえばデザインは後から変更し放題なので後々の課題ですね。

その他

作るのに1年以上かかってしまいましたが、何とか1システム完成させることができました。

おかげでだいぶ力がついたのではないかと思っています

今まではWPサイトを作ることが多かったので、1からシステムを作り上げて完成させるといった経験は実は皆無だったので、楽しかったです。

今は沢山のOSS無料ツールがあるので、自作する必要性も減ってきているかもしれませんが、実は自分がほしい機能ってピンポイントで無かったりすることも多いのではないでしょうか?

そういったときには是非皆さんも自作ツールを作ってみてはいかがでしょうか

以上、宣伝がてら、普段お世話になっている匿名ダイアリーにいろいろ書いてみました。

意見、ご感想などあればコメントとかくれるとうれしいです。

サイト登録申請もお待ちしています

https://eromoe-antenna.link/register/

2017-08-17

ajax

今改修やってるシステム

javascriptサーバーから情報を取ってる共通ルーチンが同期的に動作するやつだから、裏でJavascriptが動くとそのたびに画面が固まる。

非同期に動作するってのが理解できなくてこういう作りになってるんだろうな。

まあ画面の更新と別のタイミングで動いてるから一応ajaxだけど。

2017-08-09

10年後も戦えるプログラミング言語

Java

ScalaとかKotlinかいろいろ言ってる奴いるが10年後にはどうせJavaが勝ってる。

ラムダ式とか取り入れてJavaも着実に進化しているからね。

Javaはnull安全じゃない!とかほざく奴はもちろん@CheckForNullアノテーション使ってから言ってるよな…?

フレームワーク流行り廃りがあるから微妙だが、勉強するならSpringにしておけ。それだけでいい。

JavaScript

Webブラウザに標準搭載のJavaScriptが無くなることもまずありえない。

あとやるならjQueryね。AngularJSとかすぐ廃れるから

学習コストが高いものって結局広まらいからさ…素直に現実を認めよう。

シェルスクリプト

AnsibleやFabric使ってるやつがいるがどうせ10年後にはブームが去り技術負債となっている。

シェルスクリプト代用できるのだからシェルスクリプトでやっておけ。

SQL

これだけ広まったRDBが今後使われなくなることはまず考えられない。

ORMは流行り廃りがあるが、SQLが無くなることはまずありえないのだからSQLをやっておけ。

2017-08-08

Webフロントエンド業界への素朴な疑問

なんか最近Webフロントエンド界隈でイキっている人良く見るけど、そもそもどのくらいの経験で語ってるんだろ。

感覚的には、10年前はすっごいしょぼいJavaScriptばっかだったし、それで要件を満たせてたと思うんだけど。

複雑な要件ときは、JavaAppletとか使ってたような。

ちょっと昔を振り返ってみると、

5年前はJSFがすっごいイケてるように思ってたな。今は完全に終わってるけどね。

10年前は、これからprototype.js じゃなくてjQueryだ!と思ってた時代かな?

15年前は、IE Onlyです!で全然許されてた

20年前は、JavaScriptは、ブラウザステータスバーに文字を表示したり、マウスの動きに合わせて星をキラキラさせるのに使ってたかな。

ぶっちゃけ今でも、本質サーバーサイドであって、フロントエンドなんてノリで作っとけば、と思っている

2017-08-02

Flash終了らしい

Flash製のゲームが存続が危ぶまれてるとか。

文書表示用のマークアップ言語javascriptを組み込んで汎用クライアントにするなんて世界線は狂ってる。

Flashはあつかったことがないんでどの程度のものか知らんけど、どこかにユーザー開発者幸せになれる汎用の規格が普及してる世界線があるんだろうな。

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん