「JavaScript」を含む日記 RSS

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

2017-03-13

Javaスクリプト停止させたら、ノートPC電池時間上長持ちになった

省電力モードで、背景16bit設定のときの話な。


糞重たいから止めるだけで、数秒の時短になるし、アフィ広告表示されないし、電池持つし。

なんのためにHavaNicedayもといJavaScript存在するのさ?

2017-03-08

SIerは分かってない

SI業界現場をいくつか見て思いました。

SIerヤバい現場は「何をしているのか理解してない」というレベルで分かってない気がします。

大手SIerプロパーは日々Excelと格闘しています

人月計算や協力会社の単金計算に余念がありません。

この方々に

「このシステムはどんな目的に使われているのか?」

「このシステムはどんなプログラミング言語で作られているの?」

「この値はどうやって算出しているの?」

と聞くと

「わからない」「担当者に聞いてくれ」「ユーザーに聞いてくれ」

と言います

確かにプログラミング技術クライアント業務に詳しくない人なのかもしれません。

でもシステムってプログラミングって自分理解していないと作れないものなんですよ。

プログラミングは俺の仕事じゃない」「ユーザー業務ユーザが一番詳しい」

そうかもしれませんが、システムを作るあなた方が理解してないものコントロールもチェックもできないんですよ。当り前じゃないですか。

確認テストも協力会社の方にお願いするんですか?では協力会社仕様を伝えるのは誰ですか?

ユーザーから質問を「担当者確認します」と言って自分からは答えられない状況が続いているのにおかしいとは思いませんか?

プログラミング仕様も分からない、呼ぶ協力会社は単金だけを見て決めるんですか?優秀かどうかはどうやって判断するんですか?

スケジュール管理数字だけを見てできると思っていませんか?その根拠はなんですか?

SIer技術的にレガシー揶揄されます

Git知らないDocker知らないm9(^Д^)プギャーと

でもそんなことは些末なことで、導入してすぐ解決みたいな話ではないように思えます

それに毎日遅くまで働いて、休日は妻子のために家族サービスとなれば自己研鑽時間なんてなかなか取れないでしょう。

でも作ろうとしてるものが何なのか理解する時間会社の中でできると思うんです。

忙しいのは理解しています。稼働調整、スケジュール調整も大事仕事です。

でも1日5分でも良いから興味を持ってもらえませんか?

お客さんと雑談

「ちなみに現場の人ってこのシステムどうやって使ってるんですかねー?」

とか

プログラミングしている方に

「この処理はJavaScriptで書くのが良いのはどうして?」

とかなんでも良いんです。

自分が今作っているもの理解しようとしませんか?

「そんなことをしても仕事が増えるだけで、得にはならない」

「上から命令から黙ってやるだけ」

という意見もわかります。でも自分理解しないといつまで経ってもコントロールできる立場にはなりませんよ。

ラダー効果が云々という話も聞き飽きたかと思いますが、もうちょっと視野が広がると糞な職場がほんの少し変わる気がしませんか?

というわけでお父さんたちお仕事頑張って!

2017-03-05

スターいっぱいついてるけどどこかでカンストするのかな??

http://anond.hatelabo.jp/20170303131112

スターいっぱいついてるけどどこかでカンストするのかな??

いつかオーバーフローしてマイナスになったりとか、 JavaScript だと inifity になったりしないのかな??

2017-02-26

http://anond.hatelabo.jp/20170226153940

  1. Lintやプロジェクト規約などのガイドに沿う
  2. 言語についての品のない言動は控える
  3. 他人が2.を行っても追随しない

 

1.手元のソースを扱う際は自由に書いても、人に渡す際には規約どおりに。機械的にやってしまうのが良い。タブだのスペースだの非常にどうでも良い議論が起きない。

2.使用中の言語や他の言語悪口を書かない、言わない。理解が出来ていない場合が大半。

3.他人と同じレベルに下がる必要はない。

2017-02-21

http://anond.hatelabo.jp/20170221234633

RoRはそんなにおちんぎん高くないし案件も無いぞ。Pythonも同様。バックエンド言語は今のところPHP/Javaの二択やで。

PHPできるおじさんはJavaも大体できるから、そっから先は本当に好みやな。

あえてJavaScriptなのはフロントサーバー需要が高まってるからあえて特化してみるとおじさんパワー(加齢臭)が高まるかな? と思ってのことだ。

実際、サーバフロントを一つの言語にまとめたいっていう需要結構ある。

http://anond.hatelabo.jp/20170219230305

jQueryでよくね?というPHPおじさんがJavascriptおじさんに転向とか意味がわかりません。

転向するならバックエンドでもRuby on RilsとかPythonとかおちんぎんが高そうなおじさんに転向したら?

2017-02-20

JavaScriptのthisってこないだ増えたよね?

いまだにthisが4種類とか言ってる人がいるけど最近this増えたよね?なんかアロー記法レキシカルになるやつ

これでthisは5種類になるのかな?

それともアロー関数にうっかりnewした時のthis、アロー関数をうっかりメソッド呼び出しした時のthis、アロー関数をうっかりapply/callした時のthisも追加して8種類になるのかな?

それともアロー関数トップレベルのケースとメソッド内のケースを場合分けして12種類になるのかな?

2017-02-19

[]さあ、月曜日からまた転職活動だ!

いまだに無職増田です。でも本格的に転職活動を始めたついでにレバテックなるもの登録してみました。レバテックゆうんは多分登録型の派遣とか請け負いのコンサルをしてくれる会社です。

その会社webから登録したら、そのあと電話かかってきて「おうお前いい度胸してんなァ。ちょいシブヤまで来いや」と脅されたので

月曜は渋谷まで行ってケジメをつけてきます。僕の小指が失われないかどうか心配ですが、なんとか交渉成立するといいですね。

それはともかくとして、弊社はPHPおじさんなんですがやっぱりモダンJavaScriptおじさんにも転向しようかなと思うんですが、フレームワーク等々が多すぎてどれを選べばいいかよくわからなくて困ってます

apt-get一発でインストールできてなおかつ一番シンプルコード記述量も少ないフロントエンドの何かってないでしょうか。

ぶっちゃけどのフレームワークJavaScript以外の方言的な記述が多すぎてどれもシンプルはいいがたい気がします。

PHPおじさん的にはいまだに「JQueryでよくね?」と思うんですが、もう2017年ですしね。

というわけで、増田さんたちのおすすめJavascriptフロントエンドをご紹介ください。

紹介いただきました情報採用された方には無職増田オリジナルのクソ雑魚ナメクジイラスト差し上げたいと思います

よろしくお願いいたします。

2017-02-16

ブクマ1000超えしている11記事の内どれだけ重複するIDがあるか

http://anond.hatelabo.jp/20170215193247

の回答にあるブクマスパム説を検証するために数えてみた

7,086個のID12,216回のブックマークを行って111000超え記事を生み出していた。1ID平均1.72ブクマ



http://b.hatena.ne.jp/ranking/weekly1000ブックマーク以上されている11記事中n記事ブックマークしているID

11, 6ID

10, 6ID

9, 12ID

8, 23ID

7, 42ID

6, 71ID

5, 130ID

4, 263ID

3, 624ID

2, 1595ID

重複なし, 4314ID

(注: n重複のID数の中にn+1重複のID数は含まれていない。つまり10重複のID数の中に11重複のID数は含まれていない。)



集計対象11ページ

ttp://b.hatena.ne.jp/entry/www.nakahara-lab.net/blog/archive/7308 (※この行間違えてたので修正)

ttp://b.hatena.ne.jp/entry/s/togetter.com/li/1079883

ttp://b.hatena.ne.jp/entry/omocoro.jp/kiji/101534/

ttp://b.hatena.ne.jp/entry/qiita.com/shu223/items/9e3a50e092c2997fe6d2

ttp://b.hatena.ne.jp/entry/ironna.jp/article/5686

ttp://b.hatena.ne.jp/entry/blog.tinect.jp/?p=36441

ttp://b.hatena.ne.jp/entry/s/togetter.com/li/1078513

ttp://b.hatena.ne.jp/entry/careersupli.jp/lifehack/eiga/

ttp://b.hatena.ne.jp/entry/www.lifehacker.jp/2017/02/170205_free_alternatives.html

ttp://b.hatena.ne.jp/entry/anond.hatelabo.jp/20170206102543

ttp://b.hatena.ne.jp/entry/appmarketinglabo.net/staba-sns/



はてブのページはスクレイピング拒否するかのようにJavaScriptで描画しているわ、コピペすると1ブクマ3行になっているわ、3行固定かと思えば2行のところがあるわ、めちゃくちゃなのでもうやらない。

2017-02-14

Tombo Platformについての13歳女子高生感想

iPhoneゲームブラウザで遊べるTombo Platformをリリースしました

http://blog.wktk.co.jp/ja/entry/2017/02/14/tombo-platform-is-released

技術的な詳細とかは英語ブログに書いてます。そちらも見てちょ。」などと書いてありますが、そちらを拝見すると「Emscripten」というCやC++Webで動かす(JavaScriptに変換する)技術Objective-C対応させただけということがわかります英語で書いたと言えばほとんどの人が見ないだろう、という小賢しい意図を勘ぐってしまます(実際、ブコメを見た感じほとんど誰も英語のほうを見ていないようです)。

最近iPhoneゲームほとんどは、Androidにも対応するためUnityやCocos2d-xなどのクロスプラットフォームフレームワークで作られています。この2つで作ったゲームどちらもWebブラウザで動くので※、実はほとんどのスマートフォンゲーム最初からブラウザで動かせる技術で作られているのです。Webブラウザ対応しないのは技術問題ではなく、対応していないだけというのが実際のところです。スマートフォンゲームスマートフォン向けに作られているので、単にPCブラウザ移植しただけでは面白くないというのもありますし、課金や、広告や、集客認証などなど、ゲームプラットフォームに求められる様々な機能を素敵な感じにWebブラウザ提供してくださるものがないから、ビジネスとしては衰退したというのが2017年現在です。何周遅れのことをなさっているのかな、と思ってしまます

※加えてWindowでもMacでも動きますし、Unityはほぼ全ての家庭用ゲーム機にも対応しています。今iOSであえてObjective-Cゲームを作る方は、よほど偏屈でいらっしゃる方だけかと思われます

EmscriptenObjective-C対応させたのはおそらく価値があることなのだと思いますが、現在iPhoneアプリ開発において主流な言語であるSwift対応していらっしゃらないというのも、iPhoneゲーム移植できると主張する上でちょっと誇大広告がすぎるのではないでしょうか。

たぶんこの技術を使ってWebブラウザで動かせるようになるゲームは、素人の方がお作りになったものも含めて単純に数でカウントしたとしてもiPhoneゲーム1020%ぐらい、ビジネスで作られているゲームだとは5%ぐらいではないかと思います

2017-02-07

英語読むのってこんなに簡単だったのか

javascript:var%20t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection&&document.selection.createRange&&document.selection.createRange().text));var%20e=(document.charset||document.characterSet);if(t!=''){location.href='http://translate.google.com/?text='+t+'&hl=ja&langpair=auto|ja&tbb=1&ie='+e;}else{location.href='http://translate.google.com/translate?u='+encodeURIComponent(location.href)+'&hl=ja&langpair=auto|ja&tbb=1&ie='+e;};

これをブックマークレットとして呼び出すだけで英語がスラスラ読める。

スゴイ。

あんな難しそうだった英文が実は「痩せたいけどご飯が美味しくてつい食べ過ぎちゃって困るの><」とかい女の子かわいい愚痴だったよ。

っていうか日本人日本語って頭に入ってきづらい。

変に感情が入ってきて。

2017-02-06

http://anond.hatelabo.jp/20170114132840

使ってみた

おーすごい

リーを展開するブックマークレットChromeだと動かないみたいだった

Chromegreasemonkeyを閉め出したりして、こういうちょっとしたJavaScriptが好きな向きには世知辛い昨今でございます

2017-02-05

JavaScriptブラクラウイルス代名詞として忌み嫌われていた時代に灰になるまで焼いておくべきだったんだ

PerlよりJavascriptの方が言語仕様的に糞だと思うんだけど

セキュリティだの保守性だの気にするなら

2017-01-29

優秀な外国人技術者活用できている会社

http://anond.hatelabo.jp/20170128125048

優秀な外国人技術者活用できている国内企業一社知っている。とても感銘を受けたのでここに書いておきたい。

ある分野向けの業務システム(参入している企業10社以上ある)を開発販売しているベンチャーだ。



システム連携お仕事をさせていただいたことがあるが、まずその技術力の高さに驚かされた。

2015年前半の時点で競合他社のネイティブアプリよりも高速・多機能ものを、JavascriptによるSPA実装していたのだ。



ネイティブアプリのようにサクサク動き、ビジネスロジックが複雑で巨大なアプリケーションjsでは作成できないと思っていたが、

実際に動くものを突きつけられてはぐうの音も出ない。



次にAPI仕様書提供を受けたがこれも驚き。

今まで見てきた競合他社のAPI仕様書ベンチャー系によくある雑なドキュメントが多かったが、

書籍ですか?」というほどよく編集されSIerも真っ青なほどよくできたものだった。

API品質言わずもがなである



最後仕事スピードが異常に速い。こっちは1か月くらいかなと思っても1週間のうちに上がってくる。

そんな早くて品質大丈夫かと思ったが、全く問題はなかった。




小規模なベンチャーなのにどうしてこれほど高品質・多機能wel documentedな製品を高速に作ることができるのか?

その会社業界の中でも資金力に勝っているわけではなく、有名なエンジニアがいるという話も聞いたことがなかった。



直接その会社CEOに聞いてみたところ、まあタイトルのとおり、理由は「優秀な外国人技術者活用できている」からだった。





あれほどの成功例を見せつけられてしまうと、ビジネスサイドとマネージャー英語を話せる日本人がいれば、日本人エンジニアは最小限でいいかもなと思ってしまいました。

というわけで「優秀な外国人技術者活用」できたらこんないいことあるよという話でした(大多数の日本企業はできないと思うが)。

2017-01-28

C言語Go言語Java言語COBOL言語HTML言語JavaScript言語

ジャパニーズ語」とか「イングリッシュ語」とか書いたら絶対受け入れられないと思うけど「C言語おかしい」みたいな事を言ったら、めちゃくちゃ叩かれるんだよな。

2017-01-27

こういうWebプログラマって月20万くらい払えば来てくれるの?

要は「PHP+MySQL+JavaScriptで頼んだWebシステムを作ってくれる」人に来てほしい。会社地方単価で8掛けされる田舎にあるので地元求人見てるけど、月に15〜30万くらいの求人が多いし20万も払えば来てもらえるの?

2017-01-24

http://anond.hatelabo.jp/20170124092641

まずサーバーサイドとクライアントサイドの区別が付くようになろう

javascriptnode.jsで動かすつもりだったという話なら、すまない

2017-01-14

http://anond.hatelabo.jp/20170114155348

明確な目標があるのに、もったいない

ネットだと、情報が多すぎるのかな

javascriptかな?と思ったけど、ruby

ifもforもでてこなくてスマ

eachが形を変えたforです

いろんなとこからコピペ量産して、2時間近くかかりました^^

api取得はすぐだったけど、json、hash、arrayでごにゃごにゃ)

rubyソース

# ライブラリ
require 'net/http';
require 'uri'
require 'json'

# 検索文字
$q = 'http://ci.nii.ac.jp/books/opensearch/search?q=%E7%B3%9E&format=json'

# web-apiから取得
# https://support.nii.ac.jp/ja/cib/api/b_opensearch
def search(q)
    uri = URI.parse(q)
    json = Net::HTTP.get(uri)
    result = JSON.parse(json)
end

=begin
取得データ1件サンプル
{"title":"糞土",
"link":{"@id":"http://ci.nii.ac.jp/ncid/AN00094249"},
"@id":"http://ci.nii.ac.jp/ncid/AN00094249",
"@type":"item",
"rdfs:seeAlso":{"@id":"http://ci.nii.ac.jp/ncid/AN00094249.json"},
"dc:date":"1953",
"dc:creator":"糞土会",
"dc:publisher":["糞土会"],
"prism:publicationDate":"1953",
"cinii:ownerCount":"8"},
=end

# データ整形
#
# 入力データ構造
# {"@id":"http://ci.nii.ac.jp/books/opensearch/search?q=%E7%B3%9E&format=json",
#  "@graph":[ { "items":[ ,,,
#
# 出力(ハッシュ)
# {title => dc:date ,,, }
def format(hash)
    title_date = Hash.new

    # ハッシュキー"@graph"の値の配列の先頭のハッシュキー"items"のハッシュ配列を取得
    items = hash['@graph'][0]['items']

    # タイトル出版年を取得して、戻り値ハッシュへ追加していく
    items.each do |item|
        title = item['title'].chomp
        date  = item['dc:date']
        title_date.store(title, date)
    end

    return title_date
end

# 並び替え
def sort(hash)
    hash.sort_by do |key, value|
        value
    end
end

# 出力
def print(hash)
    hash.each do |key, value|
        puts "#{value}年 #{key}"
    end
end

# メイン関数
def main
    # web-api検索して、
    result1 = search($q)
    # データを整形して、
    result2 = format(result1)
    # 出版年で並び替えて、
    result3 = sort(result2)
    # 出力する
    print(result3)
end

# 実行
main

rubyスクリプトの実行結果

C:\Users\unko\Desktop\prog>ruby webapi.rb
1848年 人欲辨 (じんよくべん)
1870年 雀糞論説
1920年 青瓷説
1933年 管内ニ於ケル鶏糞ノ利用状況
1947年 糞尿譚 : 小説1953年 糞土
1955年 黒い裾
1955年 形成
1959年 石糞
1972年 糞 : 海田真生個人文芸誌
1972年 乳幼児糞便図譜
1987年 糞尿と生活文化
1991年 皇居と糞尿と大嘗祭 : 皇居「糞尿」裁判を支える会ニュース
1995年 糞袋
2000年 糞尿史 : 遷都は糞尿汚染からの逃避だった
2005年 「糞尿」大全
2007年 糞虫たちの博物誌
2008年 うんちのはなし : う~んとげんきになる
2009年 糞神

増田トラバブックマークレットを作った

はじめに

何番煎じだよって感じだけど、既存ブックマークレットクエリパラメータとかも含めてURLを取得したり、

選択範囲を本文に反映したりとか、俺にとってはいらない機能が色々あったので、

俺用に最適化したブックマークレットを作った。あと、はてな記法使ったことなかったのでそのテストも兼ねて。

ブックマークレットの導入方法はググれ。

前提

コード

javascript:usrID='KokoniIDwoIreru';function enc(s){ return encodeURIComponent?encodeURIComponent(s):encodeURI(s); }void(window.open('http://anond.hatelabo.jp/'+usrID+'/edit?title='+enc(location.href.replace(/\#.*$/, '').replace(/\?.*$/, '')),'_blank',''));

使い方

仕様

おまけ

俺が作ったものではないが、便利なブックマークレットを見つけたので一緒に載せる。

増田トラバリーは、デフォルトではすべて格納されており、

▼を押すことで内容が展開されるが、それを全て展開してくれる。

javascript:(function(){d=document;t=d.getElementsByTagName('ul')[1];a=t.getElementsByTagName('a');for(i=0;i<a.length;i++){if('#'==a[i].getAttributeNode('href').value)a[i].onclick();}})();

日本で量産コピペプログラマが生まれるのは仕方ないかもしれない

https://medium.com/@kuranuki/%E9%87%8F%E7%94%A3%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%82%92%E6%92%B2%E6%BB%85%E3%81%97%E3%81%9F%E3%81%84-570302a5c243#.vygpwmlaa

を読んだ。刺激的な内容だが、もやもやしてたのが言語化された感じで「はっ」とした。

と、同時に現状コピペプログラマが生まれるのは仕方ないことだとも思ってしまった。



1つは、根底意識。もう一つは日本という環境が原因だと思っている。

そして、それらは一朝一夕解決しうるものではない。



私は縁あって外国人が多い会社で働いている。そこでWebエンジニアをしている。

一緒に働いている外国人エンジニアが、まぁ優秀なのだ最近大学を出たばかりの人もいるが、優秀になるレールを歩んでいる。



一緒に働いてると日本人(俺)ってヤベーな。と思うことが多々ある。プログラムに関する意識が出発点から違うのだ。

彼らは以下の共通認識があるように思える。



1.ソフトウェアエンジニア地位は高い

2. プログラムは難しいものという意識

3. 英語ができるのは当たり前



1. ソフトウェアエンジニア地位は高い

海外ではソフトウェアエンジニアは、医者に次ぐ人気職であるそうだ。今は帰国したが、一緒に働いてたインド人エンジニアは、大学受験をした際、医者エンジニアで迷った。と言っていた。

彼ほどではないが、同世代の中でも優秀な若者が、明確なエンジニア希望をもって専門の過程を経てエンジニアとなる。

Linuxネットワークなどの底レイヤーから自分の興味ある分野(バックエンドフロントアプリ開発)まで、ある程度できる人がインターンを経て入社する。

私の経歴はというと、かなりお粗末なものだ。お世辞にも良いと言えない大学文系卒で、大きいプロジェクト動かすマネジメントカッケーって思ってSIer就職口の一つとして選んで入った。大学卒業時にはJavaJavaScript区別がつかなかった。

そんな私でも独学と、勘と、経験によりある程度のことはできるようになったとは思っている(思いたい)のだが、優秀な彼らを見ると、コンピュータサイエンスを学ばずしてエンジニアを名乗ってる自分が恥ずかしくなる時が周期的に訪れる。

まり、0ではないと思うが、文系卒、更には未経験就職プログラマを選ぶという選択肢日本に比べると圧倒的に少ない。

そのため、外れプログラマは少なく、腐ったリンゴが少ない彼らは腐る確立が低いのだと思う。



2. プログラムは難しいものという意識

コピペプログラマは悪」

私自身もその口だったし、今も抜け出したとは言えない。

しかし、彼らは違うように思える。その根底にあるのは、コンピュータサイエンスを学んできたが故、プログラムは難しいという意識と、造詣の深さだと思う。

もちろん、彼らとてExampleなく出発することはできないが、コピペで済ますことは極力しない。

ちゃんと手を動かして、表面だけでなく、どうやって動いてるかを理解しようとしている。1つの機能実装する時は、3つほどルートを探したり、必要パラメータオプション以外もちゃんと調べてコーディングしている。

そのため、簡単にできます。とはあまり言わない。例えば、form一つ作る時も背景を理解して実装を行う。様々なセキュリティリスク考慮して、フレームワーク選択している。

自分なんて、必要な部分しか見なかったし、そもそも調べる意識がなかった。ある時、私は仕事が早くなったと息巻いてたが、今思うとなんてことはない。単にググるのが上手くなっただけだったのだ。



3. 英語ができるのは当たり前

少し変わった環境で、いろんな国籍の人が働いている。スペインイタリア、聞いたことのない国の人もいる。しかしながら、彼らは一貫として英語がしゃべれるし、書ける。「え、公用語でしょ?」と言わんばかりだ。

からなのか情報キャッチアップが早い。わからないところはissueを漁るし、質問する。まず当たるのは公式だ。英語英語のまま取り入れる。

総意の認識であると思うが、プログラムの1次ソース英語だ。私たちの目に触れる多くは優秀な日本人エンジニア翻訳した情報である。そもそも張っているアンテナが違う。



あと、上手くは言語化できないのだが、そもそも降りてくる情報自体が綺麗に整ったもの、絞られたものが多いのだ。そのため、泥水をすすることが少ないと思う。だからなのか、過程をすっ飛ばして答えを求めるサイトが多いような気がする。



では、この意識の違いはどこから来るかというと、日本という環境が大きいのかもしれない。



まず日本は、他国に比べて内需で食っていけるような環境である

企業の発展にはエンジニア必要不可欠。そのため専門知識を学んでなくとも、大量募集 - 大量採用が行われたのだと思う。

猫も杓子もコピペエンジニア誕生である

その後、海外の優秀なエンジニアが入ってテコ入れするかと言うとそうではない、日本語という既得権で守られているからだ。



これらによりプログラム世界では日本鎖国状態だと思う。

なので私たち気づきにくい。世界トレンドとか、プログラムの書き方とか、考え方とか。そのためコピペエンジニア自分コピペエンジニアと知らないまま成長し、なまじ仕事ができて自信を覚え、次のコピペエンジニアを育てる仕組みが出来上がっていると推測する。

ここ数年でエンジニア主体とする会社が増え、そのような意識が変わってきていると思うが、浸透するにはまだまだかかるはずだ。



根本的な解決となると、日本のあり方、教育を変えていく必要が出てくる。一例あげると、新卒一括で学部関係なくなんでもなれることはそもそも間違いなのだ。(自分はその経緯でエンジニアにならせてもらったことは棚にあげる)



しかし、それらは海外の優秀な人たちと同じステージに立つことを意味する。私たちは様々なジレンマを抱えている。

2017-01-04

WEB博物館で働いてるけど、もうだめだ

31歳、WEB博物館学芸員大学の専攻はソフトウェア考古学

行ったことのない人のために説明しておくと、WEB博物館WEB150年周年を記念して設立された博物館で、WEB歴史を振り返るとともに

時代サイトデザインインタラクション体験できる日本唯一の博物館。古くは平面ディスプレイでのWEBページから、主流の空間3次元MRの流れを体験できることが売りなんだけど、

まだ2010年~2020年代の展示が用意できていない。暫定的に、展示パネルスクリーンショットを展示している。

この展示の担当者は俺。正直な所、ちゃんとした展示が開始できる見込みは立っていない。というのも、ソースコードはあるけれど、当時の技術背景がはっきりしないため、サイトを動かすことが全くできないためだ。

今時、平面ディスプレイなんて骨董品屋に行かないとお目にかかれないが、なぜか自宅の地下に眠っていた。

りんごマークが描かれた物理キーボード搭載の、所謂ノートパソコンってやつ。金属ボディでかつ核シェルターに入ってたので、核戦争の時のEMPにやられずにかろうじて残っていたみたい。これを高校生の時に見つけて以来、徐々に二次元派になっていった。レトロPCマニアという区分人間だ。

当時のソフトウェアを発掘、解析していくうちに、古い技術ソースコードを集めるのが趣味となり、大学ではソフトウェア考古学を専攻した。

大学時代にやってたことは、未処理地区に入ってストレージを発掘、残っている当時のソフトウェアを解析、当時のものを修復・復元などだ。

その後は技術博物館に勤務し、2年前にWEB博物館に移った。

ここでは研究員がそれぞれの時代WEB技術で作られた製作物を復元するプロジェクトに携わっていた。

で、俺の担当が暗黒の時代と言われた2010年~2020年代だった。

当時のブラウザパソコンに入っていた。

ソースコードは、骨董から譲ってもらった。当時のサーバークラウドサービス核戦争でほぼデータ消失しており、100年以上前ソースコードなんて絶望的だったが、ある企業が当時の中国ハッカー集団に抜かれたソースコードを保存していたストレージがたまたま現存していた。

問題は、それを動かせる環境構築だ。

開発に使われたJavaScriptという言語は、AIの解析によってバージョンが判明し、なんとか仕様が分かった。大学近代プログラミング言語史の授業を取っておいてよかった。

しかソースコード依存するパッケージが手に入らない。

とにかく、この時代フロントエンドの開発環境の移り変わりが激しく、それぞれのパッケージが使われていた期間がとても短く、バージョンも多様に渡ることから、正解のパッケージ現存していない。

この時代は、まだIT教育ほとんどされていなかった時代でもあり、ソフトウェアエンジニアほとんど独学で技術を身につけるのが普通で、そのためソフトウェアに対する価値観が多様であった。どんどん新しいパッケージが開発、公開され、そのため開発環境の移り変わりはとても激しく、特にフロントエンドは1~2年でガラリと変わっていたようだ。

すると、1~2年しか使われなかったパッケージなんて入っているピンポイント生存ストレージなんか見つかるはずもなく、全然開発環境復元が進まない。

バージョンパッケージが見つかることもたまにはあるので、それで代用を試みるけど、エラー文が多すぎてほとんど使えない。

当時の人は、やたら保守性にこだわっていたみたいだけど、こんなバージョン地獄でうまくやっていたのだろうか。

好きで始めた仕事だけど、もうこんな開発環境の構築だけで消耗する仕事は辞めて、普通WEBエンジニアになりたい。

2017-01-02

"I have a Java. I have a script." "Javascript!"

2 件 (0.45 秒)

2016-12-31

エンジニアはいったい

ソフトウェアエンジニアのことしか指してないのに、エンジニアって略してる人は頭沸いてるの?

エンジニア必要な○○とかエンジニアのための○○とか、ソフトウェアエンジニアしか関係ない記事を見ると毎回思う。

WikpediaとWikiUSBUSBメモリJavaJavaScriptの違いは分かる人多いのに何故なのか。

2016-12-30

2020年に振り返る2016年Web開発

後輩「先輩、このシステム僕が引き継ぐ事になりました。よろしくお願いします」

先輩「そうかそうか、やっと肩の荷がおりるな」

後輩「これ2016年に作ったシステムなんですよね。僕その頃まだ入社してないんで、最初の方から教えてもらっていいですか」

先輩「よしわかった。環境構築から順を追って説明する」

先輩「まずはじめにnode.jsを入れる」

後輩「あ〜昔流行ったサーバーサイドでJavascript使えるやつですよね。このシステムnodeで動いてたんですね」

先輩「いや、nodeは使ってない」

後輩「え?」

先輩「nodeに付属しているnpmというパッケージマネージャーを使ってる」

後輩「なんでまたそんな回りくどいことを・・・

先輩「当時はnpmが一番メジャーだったんだよ。今主流のN3(N3 is Not Npm)はまだ無かったしな」

先輩「よしnode入れたな。じゃあnpm installだ」

後輩「えい!・・・先輩、なんかエラー出ました・・・

先輩「printFizzBuzzというパッケージが404みたいだな」

後輩「何に使うんですかそのライブラリ

先輩「知らん。依存してるライブラリ依存してるライブラリ依存してるライブラリかなんかだろう」

後輩「バタフライエフェクトってやつですね」

先輩「思い出した。これは昔話題になったやつだ。printFizzBuzzは何かの特許抵触していて非公開になったらしい。

  npm installで落とすのは諦めて、ローカルに残ってるやつで何とかするしかないな」

後輩「それ使って大丈夫ですかね。法的に」

先輩「仕方ないだろ」

先輩「ようやく諸々揃ってBabelやReactやWebpackを使えるようになった」

後輩「それ何ですか?」

先輩「まずBabelだが、これはES2015をES5にコンパイルするツールだ」

後輩「え、なんでダウングレードするんですか?」

先輩「古いブラウザで当時の最新機能を使うにはこうする必要があったんだ」

後輩「なるほど。ではReactは?」

先輩「これは今で言うWeb Componentsみたいなものだな。あと仮想DOM

後輩「Babelじゃダメだったんですか?」

先輩「ダメだったんだよ」

後輩「で、最後Webpackは?」

先輩「リソースモジュール管理して最適化するツールだ」

後輩「最適化サーバー仕事じゃないんですか?」

先輩「当時はモジュールが標準対応してなかったり、http/2もあまり普及してなくてサーバー馬鹿だったんだよ」

後輩「へ〜大変ですね」

後輩「いつの間にかこんな時間ですね。今日まだ1行もコード書いてないですよ」

先輩「一度準備してしまえば、そこから先が楽になるんだ」

後輩「今となっては余計な苦労が増えてるような気がしますけどね〜」

先輩「当時はこれが最善の選択だったんだよ」

後輩「そうなんですね」

ログイン ユーザー登録
ようこそ ゲスト さん