「javascript」を含む日記 RSS

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

2017-11-14

import Hogehoge from 'hogehoge' ってhogehoge言い過ぎじゃない?

javascript(他の言語でもたまに)書いてるとしょっちゅう

import Hogehoge from 'hogehoge' 
var hogehoge = new Hogehoge

みたいの書かされんだけどhogehoge何回も書くの馬鹿みたいじゃない?

プログラマ怠惰がウリなんじゃないの?みんなこれについてどう思ってるの?

2017-11-11

IT技術の禍根

今更言ってもしかたないけど、筋が悪い技術が広まって変えられなくていろいろ災難起こしてるのってあるよね。

Cが広まったのとか。

昔はコンパイラ技術が低くて、ああい言語効率よかったけど、すでに90年ごろには最適化技術が発達して「人間テクニックを使って最適かするより素直に書いてコンパイラ最適化させたほうが実行速度が速くなる」とか言われてたし、Macなんか開発言Pascalだったし。

OSやミドルウエアが(せめて)Pascalで書かれてる世界線だったら、いまのソフトウエア脆弱性は大幅に減ってたと思うわ。

あとマークアップ言語HTMLの上で動的型のJavascriptを動かして、フロントエンドプラットホームになってしまってるのとか。

一時期、ネットアクセススマホアプリから行うのが一般的になって、Webは衰退するって観測で、いい方向に向かってたけど、最近アプリ開発までDOMの上にReactとか積み上げてJSでやろうみたいな流れがあるし。

業務アプリなんかもPHPJSの人に、昔のクラサバのほうが開発効率よくてユーザーの使い勝手もよかったって言っても全く理解できないみたいだし、どんどん悪い方向に向かってるな。

2017-11-10

プログラミング言語自体への興味はものすごく強い方だが

もう色々捨てて残りの人生erlangとrustでいいやと思ったけど

アプリエクステンションていうのかああいうのでpython,luaも要るしな

javascriptも書かんといけないことは多い

ドキュメントはRが絡んでくるし

あんま減ってねえというかむしろrustが増えてるくらいの感じだった・・・

2017-11-07

プログラム学習してて思ったこ

N予備校プログラム学習してて、Node.jsがだいぶかけるようになってきた

と思ってた。

せっかく掲示板を作ったんだから改良していこうかなって思ってコードと向き合うと、どうやって書けばいいのか全くわからない。

コード写経して動いたことに目が行き過ぎて、できた気になってたんだね。

思えば、JavaScript学習してたときは、ただ教材みるだけでなく、はてなブログ簡単ガチャシュミレーター試行錯誤して実装してた。

プログラムだけじゃないけど、内容理解して、真似して、そのあと自分でそれつかって試行錯誤していろいろ作っていくことが大事なんだね。

2017-11-05

nend

クリック保証のnend

ネットでやたら褒め記事を見るので一応申請して広告張ってみた。

クソ。

屁のツッパリにもならない。

やっぱり褒め記事は紹介報酬を得たい人が書いている。

それらの記事鵜呑みにしてはいかんぞ。

だれだよアドセンスの代わりになるとか書いてたやつ。

アドセンスの足元にも及ばないわww。

俺の場合クリックスルーが悪すぎて絞られているのを疑わずはいられない。

ASP広告を張ったときと比べてクリックが1/10以下になる。

javascriptでimpとかクリック計測を自前でもやっているけどう考えてもimpとクリックの数はnendの管理画面の数字と合わない。

そりゃ多少は間引かれているのは分かってはいるけどちょっと酷くないか

クリック単価も1円とかざらeCPMで9円って舐めてんのか。

一応一週間はデータ取ると決めたのでもう少し張るけど間違いなく剥がすわ。

貼ってるだけ無駄もの

収益バランスとれている人もいるかもだけど俺にはクソだった。

2017-10-30

ゲームのフレームワーク

  1. Unity」 UnityC#基準にして、他の方法比較検討したらいいんじゃないかな?Unity利用者数が多いから、参考情報を多く得られると思う。
  2. Unreal Engine」 Unity表現限界を感じたら、次にUnreal Engineに手を出しても良いと思う。
  3. 「Cocos2d-x」 シンプル2Dなら検討余地あり?
  4. enchant.js」 JavaScriptWebブラウザーゲームも作れる

 

2017-10-27

anond:20171026204758

あー、これ簡単だと言いながら難しいの紹介するやつだ

最初はF12押して、javascriptからwebページ回転させて遊んどけばいんだよ!

例えばこう!

document.head.insertAdjacentHTML("beforeend","<style>@keyframes s{100%{transform:rotate(360deg)}} a{animation:s 5s linear infinite}</style>")

2017-10-26

プログラマーのススメ

日本人は全員プログラミング勉強した方が良い。

プログラミング簡単だし、IT企業なら開業資金も少額で済む。(最初パソコン回線プリンターがあれば十分)

 

自己資金で数カ月で軌道に載せれるようなネタしかできない。

 

IT起業の道のりを教えてあげるよ。

  1. 下請け他人が作って欲しいものを作って納品する=資金を増やす自転車操業の段階。
  2. 自社開発:自分で作りたいものを作って売る=自転車操業からストックビジネスに移行する。
  3. レベニューシェア下請けと自社開発の中間ビジネスモデル

 

増田投稿できるってことは、パソコンぐらい持ってるんだろ?

本屋図書館に行って、自分に合った分かりやすプログラミングの本を探してみよう。

 

仕事を取ってくる方法は、ソニックガーデンのやり方を参考にしたら良い。 https://www.sonicgarden.jp/

プログラミング入門

最初に1冊だけ推薦するなら「プログラミングの基礎」という本をお勧めする。 https://www.amazon.co.jp/dp/4781911609/

買う前に、著者のサポートページを見てみると良い。

 

プログラミングパラダイム(考え方)には4種類ある。(【】内は基礎となる計算モデル

計算可能理論で見ると、どれもノイマン型のCPU上で動作する点で同じと言えば同じと言える。(優劣はない)

ただ、筋の良いプログラミング作法を身に付けたいなら、最初関数型を理解しておくことをお勧めする。

関数型の中で一番簡潔かつ強力なのはOCaml」というプログラミング言語だ。(HaskellをやりたければOCamlの次に学ぶスムーズ理解できる。)

関数型言語を学んだ後なら、手続言語はすぐに習得できるだろう。

WEB開発

WebサービスWebアプリを作るのは簡単

  1. HTML
  2. CSS
  3. JavaScript
  4. PHP
  5. MySQL
  6. Linuxサーバー構築)
  7. TCP/IPネットワークセキュリティーの基礎知識

を学べば作れるようになる。3か月勉強すればものになるよ?

 

Webアプリの特徴は、システム構造ネットワークを介して「サーバー側とクライアント側」に分割されていること。(REST - Wikipedia

Webアプリを作るってことは、一言で言えば、データベースラッパーCRUD)を作るだけの話。

アプリ開発

スマホアプリは、GUIの仕組みが分かれば簡単に作れる。

iPhoneアプリ

iPhoneの仕組みは糞だから後回しにしてもOK

XcodeじゃなくてAppCodeで作れるような段階に成熟したら手を出しても良い。

まあ、iPhoneアプリは金のためなら避けられない道だと思うので、苦労覚悟で取り組んでほしいw

Androidアプリ

Androidの中身はLinuxJavaアプリを開発できる。今ならJetBrainsIDEKotlinで楽々開発できる。

日本じゃAndroid貧乏しか使ってないので、あまり金にならないかも。

資金集め

お前偉そうなこと言うのなら、誰か起業してやろうというやつにガッツリ寄り添って手伝ってやりな。

俺はハゲタカじゃないから、無知な奴から搾取することはしない。

というか、自分のことで精一杯だから他人のケツ拭いまでやる体力・気力・理由がないw

 

他人から金をもらうと相手支配下に置かれる。だから資金調達お勧めしない。

自己資金で行けるところまで行って、ダメならまた社畜生活に戻ればいいだけの話。(パソコンインターネットがなくならない限り、プログラマーならIT業界で食っていける)

 

俺は、NPO法人とか社会起業しようとしてる奴だけ無償で手助けすることにしている。(プロボノ

社会起業家は、社会変革の担い手として、社会課題を、事業により解決する人のことを言う。

社会問題認識し、社会変革を起こすために、ベンチャー企業創造組織化経営するために、起業という手法を採るものを指す。

プロボノ(Pro bono)は、各分野の専門家が、職業上持っている知識スキル経験を活かして社会貢献するボランティア活動全般。また、それに参加する専門家自身

 

おまえが将来、社会起業することがあったら増田で呼びかけてくれ。

増田で返答できる範囲アドバイスするよ。頑張れ!

 

(追記)プログラミングパラダイムの4分類は「日経ソフトウェア」という雑誌説明表記しました。

ちなみにSQLチューリング完全なので、問合型言語でもプログラミング可能です。 https://qiita.com/utgwkk/items/20e887645da18e460fee

かに俺は理系だが情報学出身じゃない。独学でプログラミングを学びました。技術的な誤りがあったらブコメで教えてw(夜露死苦

 

(追記2)マイクロソフト関数型言語F#」は、OCamlベースにして開発されました。

現在マイクロソフトで開発中の量子コンピューターではF#が動く予定だそうです。(将来OCaml知識が役に立つでしょう) http://ascii.jp/elem/000/001/569/1569477/

 

(追記3 10/28ブコメレス全部拝見しました。様々なご意見・ご指摘をいただきありがとうございます。大変参考になりました。

「何か既視感があるな」と思ったら、最近ホリエモンが「保育士は誰でも出来る仕事」と言って炎上してたのと似てますね?→「プログラミング簡単」(プログラマーは誰でも出来る仕事

プログラミング学習や実務で苦戦されている方が多いようですね? だとすれば、それを改善支援するサービスニーズがありそう。

具体的にはディアゴスティーニ雑誌みたいに「週刊 プログラミングゲームを作る」みたいな教材があればいい。

https://deagostini.jp/

拝承いたしました。(微力ながら、皆様のお役に立てるよう作ってみたいと思います。)

 

(追記4 10/28OCaml関数型言語メリットについて

ちょっと前に岡部健氏(通称:毛の壁、kenokabe)が、関数型言語を巡りQiita等で論争を巻き起こしていましたが、俺は是々非々岡部氏の意見に一部賛同していました。(全部じゃない)

関数型言語を難しいものとして敬遠するのではなく、まずは使ってみて便利だったら嫌う必要はないと考えています

構造プログラミング命令型、手続型)との対応で言えば、関数型プログラミングは再代入なしでも、

で同じことができます。(優劣はない)

最初関数型プログラミング習得しておけば、参照透過性に注意を払う癖が身につき、テストときに「組合せ爆発」を少なくできます

関数型言語はたくさんありますが、OCamlが良いと思ったのは(自分にとって)分かりやすい教材が揃っており、学習コストが低いと思ったからです。

プログラミングを学ぶとき、独学ではなく、周りに聞ける人がいるなら他の言語でもOKです。

 

(追記5 10/28)「iPhoneの仕組みは糞」=storyboardが使いづらいと思いました。あくま個人の感想なので、Apple関係者信者の方はスルーしていただければ幸甚です。(Swift開発者クリスラットナー氏は、Appleからテスラ転職してしまいましたが、今後もAppleObjective-CからSwiftへの移行を押すのでしょうか?)

幸いiOSアプリ開発は分かりやす教科書がたくさんあるので、初心者でも心配無用です。iOSアプリ開発は(最初簡単なので)気軽に始めてみてくださいw

2017-10-24

なんで未だに 5.4 なんだよ!

PHP のはなし

ウチでは centos を使うことになってる

今だと centos7 だが、これのデフォルトPHPが 5.4 だ

5.5, 5.6, 7.0, 7.1 とでていて、 7.2 がもうすぐとか言われてるのに、 5.4 だ

5.4 が出たのは 2012 年で公式サポートは 2015 年に終わっている

そんな古いもので、使える機能ももちろん古いのだけだ

新しい機能を使おうとしたらエラーになる

もちろんライブラリフレームワークですら対応してないのが多くて古いものしか使えない

さらには、古いバージョンではバグ脆弱性が見つかってもそもそも PHPバージョン自体サポート切れなので放置される

PHP7 や 5.6 対応バージョンにすれば直っているが 5.4 で動くものだと直されない

centos に 7 系を入れることはできなくはないし、難しくはない

だが、デフォルトバージョンを使うことになっている

聞くところによると、保守OSサポートが切れる頃まではすることになっているものが多く、外部リポジトリや自前ビルドになるとサポートが辛いらしい

今 7.1 にしても、その外部リポジトリはウチの保守期限より早くサポートをやめるのでその後の脆弱性などのパッチ自分でどうにかしないといけなくなる

デフォルトのものなら緊急性があれば 5.4 であろうと OSサポートしているためパッチ対応されるらしい

外部リポジトリサポート終わったらバージョン上げればいいじゃない、って思うけどけっこう動かなくなる部分があるらしい(経験談によると)

プロジェクトが大きくなるとチェックと修正がすごく大変なんだろう、そのためのテストじゃないの?って言いたいけど

自社サービスじゃないしクライアントから人件費取るのが難しいとかあるんだろうな、たぶん

そんなこんなで 5.4 を使うらしい

ライブラリ面で苦があるから、自社製ライブラリも多い

OSSライブラリで何が使えてどれを使ってはいけないか、みたいのはコア部分の開発メンバーには知見が溜まってるらしいが、私はそんな将来に役立たないものより 7 系とか新しいもの知識が欲しい


せめて JavaScript の Babel のようなものがあればなぁ・・・ブラウザは使う側の問題で古いのまでサポート必要だが、サーバサイドは新しいの入れればいいだけなので需要がなくて作られないのだろうなぁ

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年前に通り過ぎた道だ

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

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