「JavaScript」を含む日記 RSS

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

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行もコード書いてないですよ」

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

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

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

後輩「そうなんですね」

2016-12-14

javascript難しい…難しくない?

なんであんなにゴチャゴチャしてるの

2016-12-12

荒らし依頼サイトがあった昔のインターネット

かつて、個人サイトBBSは、基本荒らされているものだった。

なにせ多くの掲示板スクリプトが、ろくな荒らし対策をしていなかった。

排他制御flockだった。過負荷がかかると掲示板データが壊れていた。

HTMLタグエスケープには漏れがあった。JavaScriptだろうがCSSだろうが埋め込み放題だった。

タグが使えればもう後はブラクラを貼るなりグロ画像を貼るなり文字を全て巨大にするなり好き放題だった

そうやって荒らされた掲示板は見るも無残だった。

昔のインターネットはよかったなどと言う人は、荒らし依頼サイトを見たことがないに違いない。

あの悪意だけで、何の正義感もなく、単に依頼されたからというだけで荒らしに行く連中を。

「ここの管理人がこのサイト馬鹿にしてました!」と一言書かれるだけで報復にいく連中を。

単にツールを流すだけなので、荒らす方にもなんの労力もない。掲示板機能不全にすることはたやすかった。

そうやって荒らされた掲示板の末路を見たこともないに違いない。

数日そうやって荒らされただけで、掲示板にあったコミュニティ簡単破綻する。

管理人だって対応する余裕はない。なにせインターネットは従量課金だし、Googleがないからググれない。

よくある管理人が半隠居状態で、常連だけで回していた掲示板だったらなおのことだ。

そんな災害のようなできごとだけで雲散霧消するコミュニティだらけだった。

個人サイトだってちょっとでもアングラに関わればそういう災害に巻き込まれることがあった。

それが昔のインターネットの一面だった。

正義感燃えている今とは違う、また別のディスコミュニケーションによる恐怖があった。

昔のインターネットはよかったなんて、俺にはとても言えない。

2016-12-06

[] 彼女特別記念日を過ごした話

MASUDA Advent Calendar5日目の記事です、遅刻してすいません。

今日は、彼女とお付き合いを始めて一年記念日を過ごした話を書きます



私は、今でこそアイドルですが、小さいころは父親と同じプログラマーになろうと思っていました。

特に「ああ、プログラマーって格好いいなあ」と思ったのが、毎年父が結婚記念日にする、母親への感謝メッセージの送り方が、格好いいなあと感じたのがキッカケです。

その送り方というのが、家族専用グループウェアに母がログインすると、綺麗に飾られたページが立ち上がってきて、そこにメッセージが書かれているというものです。

もちろん、そのページのデザインも凝っていて印刷すればメッセージカードとしても映える出来なのですが、

父親曰く何より見て欲しいのが「毎年、俺がまだ使ったことがなかったり勉強したことがないアーキテクトを使ってページを出してるんだ」ということだそうです。

そんなことを言われても、プログラムのことを何も知らない母には、ちんぷんかんぷんだったのでしょうが、それでも母は楽しそうに父の話す「メッセージカード実装方について」を聞いていました。

なので、私も三カ月前からコーディングを始めて、付き合って一年記念日メッセージカードプロダクショングループウェアに配置させてもらい、彼女に送りました。

正直、このメッセージを読んでも彼女あんまりピンとこなかったそうです。

そうですよね、私にとってはJavaScriptアニメーションを描くのは始めての経験でしたが、今時Webでよくある表現ですから、私の苦労を汲み取ってくれ! という方が無茶です。

けれど、夜に二人で会った時に、この話をしました。

父が母に毎年送っていたメッセージカードの話を。

それで、彼女も、そして何より私も気づきました。

私は、彼女と、家族になりたいんだ、と。

毎年毎年を二人で過ごして、それをお祝いしたいのだ、と。

二人して、話をするまでそれに気づけないなんて、おかしな話ですよね。

でも、こうして、二人で一年を過ごせたこと、これから一年を過ごしていきたいこと、ずっと一緒にいたいことを話したら、なんだかとてもうれしい気持ちになりました。



ところが、その後彼女が凄くいやらしいニヤついた顔で

「うひひ…… 実はあたしの両親もよく二人でヤッてることがあってね……」

私は「ああ、オチが読めた」と思いつつも、それが何か尋ねると。

「そりゃあ愛し合う二人がいて、あたしという子供がいる以上、結論は明白だよね! さあ! 泉さんのお山を登らせてね! お洋服の上からじゃなく直にでいいよ! 毎年なんて迂遠なこと言わず毎日揉ませてね! 」

という感じで、結局いつも通りの愛海ちゃんとの過ごし方になってしまいました。

だのに、なんだかとっても気持ちよかったです。

2016-11-28

金融SIer仕事について書きたい

今日SIerについての話題が目について、実情について書いてみたくなったので書いてみる。初めて増田投稿するので少し緊張している。

自分は誰かというと、金融ユーザー子会社に勤めているSEだ。いわゆる1次受け。社員は数千人おり、2chのユー子ランキングではやや上の方に属している。

SIerとひとくくりにして主語を広げたくないので、あくまで私の目で見える範囲の話で、サンプルの1つにすぎないものとして読んでほしいと思う。

【私の仕事について】

まず初めに、自分仕事はなんだと言われると、それは「システムに関わるプロジェクトマネジメントをする人」ということしか出来ない。エンジニアとしてプログラミングをしたり、ハードの専門的な知識を持っているわけでもない。一日出社から退社まで何をしているかというと、


1.ユーザーベンダー宛てにひたすらメールを返信する

2.エクセルで作ったスケジュールWBS(タスクリストみたいなもの)を広げて眺めている

3.問題が発生したら関係者を集めて対策を話し合う。あるいは進捗会議を開く

4.上司ユーザー宛へ説明する資料作成する。そして実際に説明する


これくらいだ。コーディングという作業が入る余地は一切ない。ひたすら溜まっていくユーザーからの問い合わせや開発側からの問い合わせへのメールを返信する作業を続けている。この仕事専門性をつけることができるとすれば、プロジェクトマネジメントしかない。プロジェクトマネジメントに関する体系的な考え方、大小に合わせたルール作成ユーザーと開発側の折衝ごと。これを突き詰めていくしかない。



エンジニアとしての知識について】

同期や周りの先輩、後輩を見る限り、新卒で入ってきたうちの3割が情報系、3割が情報系以外の理系、残りが文系といった印象を受ける。

はてなを見ていてWeb業界アプリ業界さらーっとIT系用語を知ることができたが、おそらく同期の半分以上の人はWordpressという存在を知らないだろう。

会社の中のほとんどの人がGitGitHubを知らないだろうし、DockerJavaScript系のライブラリ名を知っている人など皆無だと思う。それだけ、技術貪欲でないし、それを使える環境はないし、ユーザー投資しない。

新しい技術基本的に入れることができない。ユーザー側の経営層がまず理解していないというのと、もしも万一障害が起きたら?という問いに回答できないケースばかりだからだ。だから、今動いているシステムスパゲッティーをどばどば追加して、秘伝のソースで味付けし、もはや誰にも全容はわかりませーんと言ったことを10年、20年というスパンで行う。

誰も、どうしていいかからない、どこから手をつけたらいいかからないのだ。



要件定義について】

じゃあ、1次請けだし、ユーザー要件定義が出来るかというとそうでもない。ユーザー業務精通できないで、ユーザーテスト工程で決めきれていなかったものがバラバラ出てくるなんてザラだ。

ユーザーユーザーで融通がきかない。個人的に、パッケージシステムを使うと決めたのであれば、どうやってもユーザー業務を変えていく必要があって、それができないのであればフルスクラッチもっと金かけてやれよと思うのだが、ユーザーパッケージ入れて安くしたい(金融系のパッケージなんてどれもべらぼうに高価だが)、かつ、業務は変えたくないのでがっつりカスタマイズしてと言ってくる。

また、業務内容によってはミスった時のリスクがでかい特に法律に絡む案件は、ミスったら数百億の罰金をくらう可能性が常につきまとう。失敗が許されない。金融系のシステムはそういったリスクと常に向き合っていくので、楽しむことは難しい。うまくいくのが当たり前でなければならない。




やりがいについて】

毎日メールエクセルパワポとにらめっこして、ユーザーベンダーとおしゃべりして、何かやりがいはありますか?と問われると、少しだけあるにはある。

案件規模が億越え、10億とか普通な世界なので、官公庁連携したりと大きな仕事が多い。勝手ゼネコンの人も同じ気分を味わっているんじゃないのかなーという気になっている(ごめんなさい)のだけど、

例えば「スカイツリー建設プロジェクトマネジメントをしてました」と言えたら、自分少しは世のためになったかな?と思えると思う。そんな気分に少しだけなれる。自分が作ったわけじゃないけど、大きな仕事に少しだけ関わっているから。




からエンジニアとして技術で飯を食べていこうとしてSIerに入ってしまった人には酷な会社である。そうやって間違えた同期は早々に転職していった。FBで多くの同期とつながっているが、技術よりのカンファレンスに行きましたとか、勉強会に行きましたといった話は、転職していった人からしか聞かない。会社に残っている同期から流れてくるのはリア充っぽい、旅行飲み会写真ばかりだ。

一方で、プロジェクトマネジメントに楽しみや喜びを得られる人には向いていると思う。多くの案件を見てきて、プロジェクトマネージャーが変わった瞬間に物事がうまく行きだしたとか、逆にうまくいかなくなったといった状況をたくさん見てきたので、スキル必要仕事であることは間違い無いと思う。それはエンジニアが求めるスキルと異なるだけで、割と専門性を突き詰めることが出来る職業だと思う。その会社特有のやり方に慣れずに、案件をこなしていく中で普遍的スキルを身に付けることができれば、どこでも通用する可能性もある。(多くの人は会社特有スキルを身につけてしまって、他社に転職できない状態になるのだが。)


私のやっているSE業と、世間のいわゆるエンジニア業というのは、かけ離れた職業であって、それぞれやりたい方をやればいいと思う。

ただ、私にはミスの許されない超絶大規模プロジェクト精神をヒリヒリさせながら、数百人月プロジェクトマネジメントを楽しむなんてことは全く出来ないので、どこか遠くに消え去りたいと日々思っている。

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