「バックエンド」を含む日記 RSS

はてなキーワード: バックエンドとは

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-10

増田人達は開発で何の言語使ってんだろ

というか何言語使いの界隈がここに集まってるんだろう?

アプリバックエンドフロント??

日本語っていう答えはいらん

2017-09-12

エンジニアは優秀だけどデザイン台無しにしている

技術集団イメージあるけど、サービスがまじでイケてないって会社って結構あるよね。

バックエンドエンジニアが優秀でレスポンスがめちゃくちゃ速くたって、デザインが全てを台無しにするような。

インフラエンジニアが超高負荷に耐えうる環境を構築したところで、ユーザーからすれば知るところではない。

そんなことより、目の前のサービス大事なんだよ。

すなわち使いやすさだ。

楽天

楽天ってエンジニアは優秀な人がたくさん集まっているイメージがある。

でもあの楽天サイトの見栄えの悪さとデザインの酷さ。

絶対エンジニアデザインしてるだろ?

リクルート

リクルートもいろんなサービス持ってるし、エンジニアガチで優秀だ。

でもあのリクルート発のサービスUI/UXの糞っぷり。

クリックで済ませるべきところを7クリックくらい要求される導線、すさまじいユーザー経験だわ。

ヤフー

もうなんかCSSは微塵も使っていないかのような初代HTMLデザイン系。

昭和時代インターネットなんてなかったのは当然理解しているけど、昭和臭すら感じる。


あ、なんかギター侍って消えた芸人を思い出した。

2017-08-28

すべてのソーシャルゲームは、消えていく

日本ソーシャルゲームがヒットして、およそ10年経とうとしている。プラットフォームフィーチャーフォンからスマホへと移行したものの、相変わらず膨大な売り上げを生み出し続けている。この間、数多のタイトル作成され、そして消えていった。これはソシャゲ開発のお話である

ソーシャルゲームの開発は、他の業種同様企画から始まる。他社IPものであれば大手IPを扱う会社連携をとり会社主導で企画は進み、自社オリジナルタイトルであれば社内で抜擢されたプロデューサーとなる人物が中心となって企画を書き上げる。会社の規模にもよるが、小規模企業月商1億、大手なら月商10億を目指すことが目標だ。

その後、適任のデザイナープログラマー企画を含め5,6人があつまりプロトタイプ制作が始まる。ゲームシステムが組み込まれキービジュアルゲーム雰囲気を決めていく。最終的には会社からゴーサインをもらうことが目的となる。

プロトが通れば、次に、アルファ(一部動かないものの、一通り遊べる)・ベータ(ほぼ全機能実装)という順にマイルストーンが敷かれ、順に進めていく。多くのスタッフがこのアプリは月10億以上を売り上げ、ランキングで、モンストFGOといったアプリと並ぶことを意識して仕事をする。

最初問題はここで発生する。ソシャゲ企業Web前身なのだ。つまり判断する人間判断できないことが多い。唐突素人意見を繰り出したり、かのスティーブジョブスを真似てちゃぶ台返しを何度も行う。本人は真剣に、これが経営者のあるべき姿だと信じている。

このような妨害をかわしつつ、のらりくらりとベータへ進んでいくが、その辺りで作業者は厳しい現実と向き合うことになる。これは、微妙なんじゃないかと気づくのだ。その頃、手が空いてきたプロデューサーマーケターは呑気に広告計画を立てている。そして、いよいよローンチだ。多くの広告費が投入され、特設サイトや事前予約、プロモーションビデオが公開され、華々しい登場を飾る。多くのアプリはこのタイミングが一番ユーザ数が多く、売り上げも高い。逆にいえば、ここで数字が残せなかったアプリは早々に注意信号が点灯し、マーケターは顔を青くし、プロデューサポーカーフェイスとなる。ここでのユーザ数と売り上げは新しいタイトルに対する期待感広告費によって得られたもので、今後は開発したアプリの出来が問われていくことになる。使い勝手が悪い、バグが多い、サーバが止まる、ゲームがつまらない、思っていたものと違うなどといった理由で新しいユーザは次々と離脱していく。

そこで、いわゆる継続率という指標インストールした日から1日後、2日後、そして7日後、30日後に何パーセントユーザが残っているのかというデータ改善するため、マーケットや行動を調査し、どこにボトルネックがあるのかを調べ改善をするという動きが始まる。また、ユーザを飽きさせず定期的に課金してもらうため、運用が始まる。大抵新しく書き起こされた魅力的なキャラクターが、ローンチ時よりも魅力的な効果を纏って登場する。もちろんそれは、ガチャという形式提供され、最上位のキャラクターは数万程度の課金必要になるような確率で封入される。

さて、ローンチから3ヶ月が過ぎた。ここ最近ゲームは3ヶ月分程度の運用分を初期予算に組み込んでいるため、ここから実際に運用を続けるべきかどうかが真剣判断されることとなる。ところで、この業界での売り上げの方程式は、「DAU(日間アクティブユーザー数)xARPUユーザあたりの平均売り上げ額)」だ。問題ARPUだが、ゲームの人気度やガチャ確率によるものの、大抵のゲームは月を平均すれば10円〜50円程度となる。もちろん好調ガチャキャンペーンが当たっている場合、瞬間的に100円以上にもなる。これは、ユーザ数が少なくなれば作業に対する売り上げのうまみが減ることを示唆している。

ここで、運用の経費を概算してみよう。小さなゲームでも、10人〜20人程度は運用に携わっている。(大型タイトルだともっとだ)平均年棒500万円の給与として、月額41万円。ここで人件費の概算は+16%程度なので、一人47.5万円とする。20人で、約1000万円。さらサーバ代。ちょっとしたユーザ数でも数十台、数百台規模のAppサーババックエンドDBサーバリアルタイム通信サーバアセット用のデータストアや転送料金など、100万〜1000万程度を見ておこう。このサーバ代はなかなか癖があり、Appサーバ比較的増減がしやすものの、お金のかかるDBサーバは負荷を見越してシャーディングをがっつりかましたのにユーザが少ないと、簡単スケールダウンできず、泣く泣く無駄費用を払うことになる。もちろん、甘く見ていてメンテ祭りというのもよくあるが、基本的には事前に過剰な負荷分散が行われているパターンが多い。なにせ、月に10億も稼ぐんだから。 忘れてはいけないのは外注費。イラスト代、3Dモデル代、などなど。5人月 400万円としよう。

さて、サーバ台を500万として1900万が最低の運営費用だ。盛り下がってきたゲームARPU10円程度になるとして、元を取るためのユーザ数は約63,000人である。もちろんキャンペーンなどで一時的に売り上げが増えるので、もう少し少なくても良いかもしれない。いずれにせよ、今人気のあるタイトルもそうでないタイトルも、徐々にユーザが減ることで売り上げは減り、投入した資金から得られるリターンが減り、人件費サーバ代だけが重くのしかかる。

この時、開発の現場はというと、案外淡々仕事が進められている。慌てふためくのは上位陣のみで、末端作業者は細かな作業改善をしたり、次の異動先に思いを馳せたり、技術向上に努めたりする。また、会社に愛想をつかして退職するのも大抵このタイミングだろう。

その後徐々に、開発の人員が減らされていき、改善のサイクルが長くなり、キャンペーンの頻度も下がる。作業者のやる気はこの辺りで地に落ち、惰性での仕事が続く。当然ユーザからメッセージには平謝りの状況が続く。何度か、大きめのリリース広告を放つこともあるが、一度沈み始めた船はなかなか浮上することはない。そして、ある程度の利益を食い潰した(もしくは赤字に耐えられなくなる)ところで、いよいよ赤信号が現示される。

サービスを終了せよ」

この時、開発チームに余力など残っていない。決められた期日までにきちんとたたみ終わることが目標である開発者はこのプロジェクトを終わらせることができホッとすると同時に、できればなんらかの形で残したいと思うかもしれない。しかし、それは叶わないことが目に見えているのだ。昨今のアプリローカル側、つまりスマホにあるゲーム部分は結果を受け取る・ゲームプレイする、素材を指定するといった入出力の機能しかなく、主なシステムロジック、つまり実際にガチャを引いたり、素材を手に入れたり、結果を処理したりするのはサーバ側に実装されている。このため、ローカル側に全てを実装するのはサーバ側の機能フルスクラッチをするのと変わらず、とてもこんなことをする暇はない。また、昨今クラウドの様々なプロダクトを組み合わせて実装しているものも多く、素直にソースコードを書き直せば実装できるといった類いのものでもない。

そうして、ユーザ開発者それぞれが複雑な気持ちを抱いたままソーシャルゲーム消失する。

稀にあまりあるほどの利益を稼ぎ出したアプリであれば、ストーリーイラストアーカイブ配信される幸運な例もある。これは開発者経営側のプライド感謝人件費の消化であり、非常にラッキーなケースだ。

しかし、いずれにしてもゲーム自体が残ることはないのだ。

開発者でさえゲームを起動することはおよそ叶わない。なぜなら、複雑なサーバ構成再現せねばならないからだ。せいぜいデバッグ機能でバトルやUIをちょこっと動かすぐらいしか出来ない。

これがソシャゲのあらましである。いま流行りのあのゲームもこのゲームも、いずれは幕が降りるのであるソーシャルゲーム時代とともに人の心の中へと消えていくのだ。

2017-08-14

web系の専門用語多すぎ問題

門外漢からするとこんな風に聞こえてる。(所々適当に書いてるし書いてる内容は嘘デタラメ

「gulpでbowerしてsassgruntビルドすれば、cssストリーミング形式でデタッチされるから便利だよ。それにgulpはCoffeScriptとかtypescriptみたいな流行りのサードパーティも従来のJSみたいに変換してくれるしウォータフォールじゃなくてアジャイル的なプロジェクトでも使いやすい。スクラッチから書かなくてもいい感じにアジャストしてくれるよ。あと、OSSとしてgit上に上がってるんだけど、DLなんかもAWS連携させてWebGLTensorflowやらchainerやらと組み合わせればブラウザDQNとかA3CとかDCGANも動かせるスクリプトリリースされてた、バックエンドではDNNを走らせてフロントで表示する分をNode.jsカスタマイズしたりタスクランナープロセスマネージメントできるからもはやjstensorflowを含めたpythonラッパーみたいな感じで使えて便利。最近ではbluemixがBitcoinマインングをサポートしていてブラウザ上でウォレットからマイニングセットアップまでできるんだってブロックチェーンの仕組みを拡張して社内のタスクマネージャーとかNAS上のデータ分散してサーバーに保存できるみたいなこともあるんだって。」

どうしてweb系は専門用語肥大化するんだ。

2017-08-06

https://anond.hatelabo.jp/20170806183053

こういう議論を見て良く思うことは、「できるエンジニア」「優秀なエンジニア」って何をもって判別されるんだろうということ。

EmacsVimの便利な設定ファイルが書けること?

一人でRailsJSWebフロントエンドバックエンドを書けること?

業務系のシステムの開発経験

競技プログラミングの腕前?

マイコンみたいな、IoT組み込み開発ができること?

それとも解析や最近流行りのAIの仕組みを把握してる的なこと?

2017-08-05

また新システムかよ

http://anond.hatelabo.jp/20170506031453

↑の元増田です。

一応自分属性を書いておくと

といわけで、今度のイベも「うわーマジだりー」という感じだったり。

そこに来て「バックエンドシステム???

名前からして意味不明だし、新システムとか要らないんだけど。

追記

ブコメに新三川艦隊任務の話があったけど、あれは他の枝で書いた通りこの前クリアした。

クリア時の編成と装備はこんな感じ

まあでもかなりしんどかった。今でも思い出すたび不快になる。敵戦艦攻撃が一発でも当たれば即撤退ないしボスS勝利が消えるとか、闇深すぎ。

上に書いたように支援艦隊も使えず、ひたすら試行回数を稼ぐしかなかったので、バケツ50~60個は消えたと思う。

はてなー三国志 二面外交

上:DeNAのWELQ問題、最大の原因とされている責任者「村田マリ」とは何者なのか? - GIGAZINE

下:横山光輝三国志 画像検索

b:id:qtamaki

淡々としているが記者の憤りを感じる

お。リリースされたか

b:id:fatmonger

殺しにかかってるっていうけどこの人十分稼いだでしょ。周りの目を気にするならあん仕事しないだろうし、むしろ引退できてせいせいしてたり?

光輝「いらすとやもまだまだよのう」

b:id:exadit

経営からすれば執行責任経営責任は別という事なのかな。でも、社内でちゃんとそれなりの対処はされると思いますけれど。

そのままどこにでも持っていけそう。すげーなこれ。

b:id:mcgomez

私怨含みっぽい。

失くすには惜しい出来だ…

b:id:miz999

こういうインチキ臭い業界で成り上がるには、大学生の頃からその大学生ブランドを最大限に活かしてメディア企業に媚びて取り入るところから戦いは始まってるんだな。言いたくないけど電通東大生女子にしてもあれだし

GoogleOCRってこんな強いのか

b:id:nice_and_easy

批判対象がコト(事件)やモノ(仕組み)からヒト(犯人)に移るとにじみ出る末期感たるや

呂布だー!

b:id:kei_1010

これに関わってた奴は全員が100%モラルハザードだという事を理解してる。ってか理解できないやつはさすがにトップクラスITベンチャーで勤められない。 つまり村田上司も部下も全員故意犯。彼らに倫理観は無い。

存在する全ての漫画で、これできて欲しい。

b:id:hiroshe

こういう仕事してると、結局そういうふうになっちゃうのかなあ。

最高かよ

b:id:lbtmplz

IT企業=悪人という認識世間に広めた功績を認めよう。我々はまた技術インターネットから遠ざかった…

最高だった

b:id:elephantskinhead

昔の隊長みたいなエントリやな

孔明の罠検索したら4つ別の画像がちゃんと出てきて草

b:id:paradisemaker

こういう「私たちイケてる」感で集まった人がやってたことが、結局は「検索結果にゴミをばらまくこと」だった、というのはコミュニティとして考える必要があると思う

これ、企画からフロントバックエンドまで全部レベル高くて凄いな。漫画プラットフォーム作ってるところ、まるごと買ったほうがいいんじゃなかろうか

2017-07-28

Googleからってちやほやするのもうやめたら

freeeの件で「Google出身メンバーが高度な技術を引っさげて日本バックエンド革命すべく起業したっていうなんとなくかっこいいストーリーほとんど唯一の売りだったのに」というブコメがあるが、そもそも役員プロフィールを見ると、彼らは単に営業担当であったことがわかる。

https://corp.freee.co.jp/company/

Google在籍経験のあるメンバー担当職務は、「中小企業向けのマーケティング」、「新規顧客開発」、「ビジネス開発」などで「エンジニアリング」と書いてあるものは一人もいない。

当然ながら彼らに技術があるわけではなく、CTOは非Google。彼らはGoogleをやめて創業するにもかかわらずエンジニアリングからは一人も引っ張ってこれなかった訳だ。

そのへんを無視して「元Googleから」といってちやほやするのはもうやめた方がいい。あの会社ですごいのはエンジニアリングであって営業じゃない。

2017-07-09

wordpressさいこーといってる人へ

wordpress最盛期。あの案件もこの案件WordPressを使って、プラグインしまjqueryしまし脂マシマシな納品が星の数ほど生まれていく。「プラグインが最新バージョン対応しないので、本体バージョンアップができません」といってセキュリティホールだらけのwordpress放置される。アホかと、バカかと。

フロントエンドhtml,css,javascriptでつくるものだよ。expressをみて「javascriptバックエンド書くの?気持ち悪い」っていってただろ。それと同じだ。いつまでphpフロントエンド書くつもりだよ。phpで動的生成し続けるからいつまでもwp headでwordpressサイトってバレてアタック受けるんだよ。とりあえずurlの末尾にwp-adminってつけて確認されるんだよ。

分離しろ、分離。wordpress管理画面が悪いとはいわない。あいはいいやつだ。けど、wordpressフロント書く必要はない。wordpressrest apiだしただろ。更新wordpressでやって、その情報apiで取得してきたらいいんだ、それでいい。

wordpressテーマをつくるのがキャッチだった頃からもう6年はたった。6年前といえば、Windows 7使ってた頃だよ。ヒカリエまだできてない。そんな頃のやり方つかって「これがスタンダードです」とかいってクライアントをだまくらかして楽しいか。さっさと2017年に追いつけよ。

2017-07-06

無知無理解プロジェクトが殺されそうだ

当方フリーIT 技術者。ある Web ベースシステムを開発しているのだが、プロジェクトマネージャーリーダーをはじめとするメンバー無知無理解のおかげで作業が進まずに困っています

ブラウザーキャッシュの仕組みを少しでも知っている人なら、非 IT 系の方でも読めるように書きました。ぜひ助言をお願いします。

登場人物

私は発注元(A 社)に客先常駐している。私が契約しているのは A 社のグループ会社である B 社だ。

A 社内のチームメンバーは以下のとおり。

さて、今開発しているシステム(以下システム P)はもともとスタンドアローン運用する形態だったが、最近クラウドバージョン提供も始まり現在スタンドアローンバージョンクラウドバージョンの並行開発となっている。X さん、Y さん、Z さんは主にクラウドサーバー管理や、私や W さんが作った部分のテスト担当している。

問題発覚

クラウドバージョンの初めてのアップデートを控えた 6 月に問題が発覚した。コードアップデートすると、ブラウザーキャッシュが効いていて表示がおかしくなるというのだ。

プログラマー以外の 4 人は実は Web システム案件は初めてで、ブラウザーキャッシュの仕組みすら理解していない。X さんから相談を受け、「Web アプリケーションからブラウザーキャッシュクリアーすることはできない。代わりに、HTML から読み込まれる外部リソースの後ろに『?v=3.14』のようなダミークエリ文字列をつければよい。アップデートのたびに数字を変える。これは一般的採用されている手法で、これ以外の解決策はない」ということを伝えた。具体的にコードエディター上で修正イメージを見せて、すべてに対応するのに 1 日あればできる、とも。

これで「そうですか、ではお願いします」となれば、テストを含めて 2、3 日で終わった話なのだが、ここから長い混乱が始まる。

前回リリースから変更のあったファイルの洗い出しを命じられる

X さんから、「変更箇所をなるべく少なくしたいので、前回リリース分と今回リリース分で変更のあったファイルリストを出してほしい」と言われる。変更のないリソースにはクエリ文字列をつけたくないらしい。

内心呆れつつ、Git (ソースコード管理システム)でファイルの変更履歴を調べ、一覧表を提出した。X さんに「それぞれのページでソースコード確認し、この一覧表に載っているファイルにはクエリ文字列がついていることをひとつひとつ確認するのですよね。却って手間が掛かりますよ。それよりも、すべてのファイル対象にしたほうが作るほうもテストするほうも楽です」と伝えた。

問題発生箇所の調査を命じられる

6 月も残り 1 週間を切ったある日、Z さんから、「実際に問題になっているのはどのファイルのどの部分か、スタイルシートのどのクラスID 指定が効いていないのか、V さんが知りたがっている。原因解明に必要なので調べるように」と指示が出る。

私は「ブラウザーキャッシュが効いているためで、キャッシュを消すか無効にすれば直る。今までも修正のたびにテストではキャッシュを消してもらっていたでしょう」と説明するが、調べろ調べろと繰り返すばかり。「そんなことを調べて何になるんですか。キャッシュ問題ですよ?」と言うと、Z さんは手をわなわな震わせて、「お客さまが知りたいと言っているのに、『そんなことを調べて何になるんですか』とはどういうことですか!」と声を荒らげる。しまいには「お客さまのご要望にお応えして私たちお金をもらっている。お客さまからの依頼なら応えるのが当たり前」と言い出す。技術的に意味がないことをいくら説明するも理解されない。

ブラウザーキャッシュの仕組みを基本から説明する

プログラマー 4 氏の知識底上げをしないといつまで経っても平行線だと思い、Redmine (課題管理システム)にブラウザーキャッシュの仕組みを解説する文書投稿した。ほぼ同じものを以下に掲載する。非技術者にも分かりやすく書いたつもりだ。あまりかいことを説明しても混乱させるだけだと思い、リクエストヘッダーの Cache-Control や Expires などは説明を省いた。

キャッシュとは

キャッシュ(cache) とは、一度読み込んだデータを内部に保存しておく機構のことです。2 回目以降の読み込み時はキャッシュを読み込むことで、処理時間の短縮を図ります

ウェブブラウザーにおけるキャッシュ一般に、HTML ファイルおよび HTML から読み込まれる外部リソース(スタイルシートファイルJavaScript ファイル画像ファイルなど)に対して適用されます

キャッシュが作られるタイミング

ブラウザーがあるファイルを読み込もうとする時、キャッシュがなければ実ファイルを読み込んだ上でそのファイルの内容をキャッシュします。

キャッシュが破棄されるタイミング

キャッシュがいつ破棄されるのかは完全にブラウザー依存です。異なるファイルキャッシュが同じ期間だけ存在するかどうかも分かりません。

キャッシュユーザーブラウザー操作で明示的に削除(クリアー)することはできますが、 サーバーからクライアント(ブラウザー)のキャッシュクリアーすることはできません。

ウェブアプリケーションキャッシュ対策

ウェブアプリケーションアップデートした際、クライアントキャッシュ無効にするために、以下の手法がよく使われます

link rel="stylesheet" type="text/css" href="style.css" >
< script type='text/javascript' src='script.js' >< /script >
< img src="picture.jpg" alt="" width="640" height="480" >

このような外部リソース読み込みについて、ファイル名の後ろにクエリ文字列を追加します。

link rel="stylesheet" type="text/css" href="style.css?v=2.4.0" >
< script type="text/javascript" src="script.js?v=2.4.0" >< /script >
< img src="picture.jpg?v=2.4.0" alt="" width="640" height="480" >

スクリプトでない静的ファイルクエリ文字列を付加しても、読み込まれファイルは同じです。つまりstyle.cssstyle.css?v=2.4.0 は同じ style.css というファイルを指します。

ブラウザーが style.cssキャッシュしている状態で、この行を読み込んだとします。

link rel="stylesheet" type="text/css" href="style.css?v=2.4.0" >

ブラウザーは「style.css?v=2.4.0 というファイルキャッシュにない」と判断し、style.css?v=2.4.0 というファイルを読み込みます。結果として、ディスク上の style.css が読み込まれスタイルシート更新されます

この HTML をまた読み込んだ時は、「style.css?v=2.4.0 というファイルキャッシュ済み」と判断し、ディスク上のファイルではなくキャッシュを利用します。

ウェブアプリケーションバージョン 2.5.0 にアップデートする時には、「?v=2.4.0」の部分を「?v=2.5.0」に書き換えてリリースします。

link rel="stylesheet" type="text/css" href="style.css?v=2.5.0" >
< script type="text/javascript" src="script.js?v=2.5.0" >< /script >
< img src="picture.jpg?v=2.5.0" alt="" width="640" height="480" >

同様の仕組みで、2.4.0 時代キャッシュがあっても 2.5.0 用に書き換えられたファイルが読み込まれキャッシュ問題は起こりません。

この手法は、キャッシュ問題解決する手段としては一般的に用いられているものです。俗に「キャッシュバスター (cachebuster)」とも呼ばれます

上記に長々と書いた内容を踏まえ、今回の問題についてご説明します。

「暫定対応」の指示が出る

日経った日の午後。Y さんが A4 判数ページにもなる「調査報告書」を作成した。問題になっているスタイルシートについて前回リリース分と今回リリース予定分の差分を取り、それぞれの行について「新規」「変更」「削除」の印をつけ、「とりあえず、このクラス指定が効いていないだけなので、HTML 中にインラインスタイル(< div style="..." >)で指定すればよい」と結論づけていた。

報告書には「状況から見て、変更・削除されたスタイル指定は影響が出るらしい。新規に追加した部分については影響がないようだ」とも。私が書いた説明を読んでいないのか、理解できなかったのか。

この報告書を元に、X さんから「この行とこの行にインラインスタイル指定してください。これで暫定対応します」と指示が出た。

私は「この修正は何ら根本的な対策になっていないことは理解していますか。『現状で問題になっている箇所』は、この環境たまたまそうなっているだけの話で、ほかのお客さまの環境では別の画面が崩れるかもしれないのです。それを承知の上で、これを暫定対応としてよいのですね」と X さんに確認。X さんは「はい」とだけ答えたので、黙って作業完了した。Gitコミットメッセージに「この方法は何の効果もないこと、それでも作業をしてよいのかを X さんに確認の上、作業」と書いてコミットした。

しばらくすると X さんから「うまく表示されていますOK です」と報告があった。

その日のうちに問題再発

夕方、私が帰ろうとすると、X さんが Y さんに「画面がおかしい」と言っている。横から覗くと、先ほど「暫定対応」とやらを入れた画面で、表示は正常だがボタンを押しても何の反応もない。私は静かに「JavaScriptキャッシュですね」。

聞けば、Y さんは「キャッシュスタイルシートにだけ効く」と思い込んでいたらしい。やはり先の説明を読んでいないようだ。そして、Y さんの環境ではボタン有効だったとも。

私は「Y さんの環境では(JavaScript の)古いキャッシュは効いていなかった。X さんのところではキャッシュが効いていた。これが、私が言っている『環境依存』の意味です。昼の暫定対応ではダメなんです。半月から私が言っているように、すべての外部リソース読み込みにキャッシュバスターをつけないと解決にならないんです」と伝える。

Y さんは観念した様子で、「キャッシュバスターって、一部分にだけ適用することもできますか」と聞く。この人、理解してないなと思いつつ、「はい、できますよ」と返すと、「では、問題の発生している範囲調査して、問題が起こっているファイルにだけキャッシュバスターを……」。やはり何も分かっていない。

私は繰り返し、ブラウザーキャッシュ環境依存なのですべての外部リソース読み込みにキャッシュバスターを付加しないと無意味だと説明した上で、こう付け加えた。

「指示されたことだけを黙ってやっていれば、そりゃあそっちのほうがラクですよ。でも、喧嘩をしてでも、場の雰囲気を悪くしてでも自分意見を主張するのは、技術者としてのちっぽけな良心からです。お願いですから専門家の言うことを聞いてください。私の意見が信用ならないのでしたら、ほかの技術者意見を聞いてください」

対応が先送りになる

この数日後、本件の対応を先送りにすることが決まったと X さんから報告があった。

聞けば、リリースを急いでいるのは特定顧客要望によるものらしい。その顧客スタンドアローンバージョンを利用しているので、アップデートの現地作業の際にブラウザーキャッシュを消してくればいいとのこと。

リリースに間に合わない間に合わないとあれだけ騒いでいたのに。プロジェクト管理がまるでできていない。

レビュー開催

そして今日夕方、この件についてレビューを開きたいとプロジェクトマネージャーの V さんから言われる。レビューって、何をやればいいんだろう。何をすれば気が済むんだろう。Redmine に書いた説明を読んで理解してもらえれば、やるべきことはひとつしかないと分かろうものなのに。

X さんから質問を受ける。「例の件、ほかの方法はないんでしょうか。『こういう方法もあるけれど、工数が掛かるので採用しません』というのがもしあれば話が進めやすいかと」。残念ながらありません、せいぜいファイル名そのものを変更するくらいですが、本質的には同じことですし管理の手間が増大します、と伝えた。

ついでに、X さんに「あの説明を読んで、よく分からない部分があったら教えてください」と尋ねると、実は忙しくて斜め読みしかしていないと白状された。その状態対応策を一生懸命協議していたのですな。

レビューの席でまた一悶着ありそうだ。どうやったら彼らを納得させられるのだろうか。信用できない技術者説明してもらったって、信じないんだったら意味がないのにねえ。

追記

文字数制限に引っかかってしまい、末尾が切れてしまっていました。続きはこちらに書きました。

https://anond.hatelabo.jp/20170706122924

2017-06-15

シノアリスの課金系のエラー?について

http://www.gamecast-blog.com/archives/65895116.html

これの件ね。

私が聞いた情報が確かなら、課金系の基盤はグリーで出ているアプリと一緒のを使っているらしい。

(同じ課金基盤を使っている)他のゲームではエラーになっている話題を聞かないところを見ると、シノアリス(ひいてはポケラボ)のバックエンドうんこということになるが果たして

2017-06-05

転職すべき?

おっすオラ社畜

転職するか悩んでいるんだけどなんか知見&アドバイスくれ!

俺のスペック

 年齢:今年30歳

 経歴:

  海外製品の受け入れテスト 4年 (派遣)

   -修正箇所に対して手を動かして直ってるか確認する作業とか。

  

  某求人バックエンド改修 半年 (派遣)

   -既存システムを解析して新しいフレームワークに載せ替える作業とか。

  某ブライダルバックエンド保守 半年(派遣)

   -不具合とか他のシステムの改修に合わせて修正する作業とか。

  海外製品の構築導入担当 1年 (契約) ←いまここ

   -営業が売りつけたソフトウェアを実際に客先に導入する作業とか。

  

 資格

  CCNA / 基本情報

今の会社

 業種: ソフトウェア販売代理店

 年収: 400万

 形態契約社員(半年更新)

 

 会社自体はぼちぼち大きくてグループ全体で1000人くらい。

 ほひゃららDBとかのサポートセンターを持ってる。

 俺がいるのはマイナー海外製のソフトウェアαを客先に導入しにいく仕事

 客とスケジュール調整から導入完了までをやってる。

 作業自体マニュアルにそって設定ファイルを仕込んだりするだけですぐ終わる。

 ネットワーク知識とか、特殊な専門知識必要なし。(マニュアルに載ってないない裏設定とかはあるけど)

 あとは製品αのセミナー講師とかもやらされてたけど喋りが下手すぎて外された。

 最近はαと連携する他社製品β、εとかの勉強もやれって感じかな。

 エンジニアでもないし、こういうのなんて言う職種なんだろ。

今の会社のいいところ

 給料が良い。 -前職は賞与なし手取り18万とかのクソザコITだったから雲泥の差。

 上司がいい人。-いい人なんだけど他の人がね…。

 オフィスがそこそこキレイ -スチールスケールオフィスチェア使わせてくれる

今の会社の悪いところ(気に入らないところ)

営業主体の社風でとにかく売れれば勝ちという思考が強い。

 -体育会系でふざけて背中叩いたり蹴ったりとかよく見る。

 (自分がやられてるわけではないけど見てて不快)

コンプラコンプラと声高に叫ぶ割にはガバガバ

 -役員が率先してセクハラ飲み会ときには

  役職者の周りに新人若い子を配置してお酌などさせたり。

人間関係やばい

不倫離婚した夫婦が同じ仕事担当してたり、

 部下への暴力行為部署長が減給になったり、

 20人くらいしかいない部署なのに親会社派閥も巻き込んで混沌

 生み出している。おかげで飲み会のやりとりも気を使う。

 (愚痴も速攻で共有されるので迂闊なことを言えない)

オタク仲間がいない

隠れオタクはいるかもしれないけど基本いない。

 ゲームの話とかしない。アニメなんてもってのほか

 基本的オタク馬鹿にする風土がある。

 (カラオケいったときアクエリオンいれられて

 「お前知ってるだろw歌えよギャハハ」みたいなのもあった)

未来がない気がする

-扱ってる製品αは頑張って生き残りの道を探してるけど競合他社やOSSに押されてる。

 正社員の人たちは別部署で他の製品担当すればいいかもしれないけど契約社員の俺は切られそう。

 法改正に伴って契約派遣の無期雇用対応たから頑張れば無期雇用にはなれるかもしれない。正社員は一回落とされてるから無理かな。

転職

 実は知り合いが立ち上げた会社に誘いを受けている。

 そっちは開発の仕事会社立ち上げる際に商流すっぱ抜いたらしく結構うまく回してるみたい。

 もちろん、給料とか実際に何やるかはちゃんと聞くが行ってみたいと思っている…。

聞きたいこと

ぶっちゃけ転職したほうがいいかな?

貴方が俺だったら転職する?

転職先について待遇業務内容以外にも聞いたほうがいいことってなんかある?

20170607追記

意外と反応あってあったけぇあったけぇ。

普段は「増田で全レスとか追記なんてだせーよな!」と思っている派なんだけどついリアクション返してしまった。

トラバブコメありがとう自分では思いつかない考え方とか意見とか出てきて本当にありがたい。

知り合いとこんど飲みに行く約束を取り付けたのでそこで色々聞いて改めて判断しようと思う。

2017-06-03

http://anond.hatelabo.jp/20170602180824

pythonWebサーバ側で使われてること知らないのだろうな。

ユーザが使うUX/UIjavascriptだが、バックエンドはすでにpython(根拠なしw)

理由は消去法かな。perlは論外だし、railsは5系を学習しても4系に比べていいことはなく無駄なだけだ。

ついでにrailsrubyじゃない。

python機械学習と相性がいいし、かっちり作るのに向いてるし、可読性が高い。

2017-05-12

製造業新卒で入って数年経過したけどもうダメかもしれない

新卒製造業に入った。

大学では工学部ではない理系だったので右も左も分からないなりにがんばってみようと思っていた。

悪く言えば自分能力絶望して夢を諦めることになり都落ちした気分での就職だったのでやぶれかぶれだったというほうが近いかもしれない。

相性というか、背景の差とか常識の差みたいなものがあって、自分から見ると無駄の多い職場だなあと感じて研修期間が終わり本配属された。

無駄が多いという感想は本配属後も変わらなかった。

本来業務はいわゆる故障解析で、歩留まりを上げていくのが使命だった。

せっかくだから色んな所に首を突っ込み改善できそうなところは提案をしたり、自動化したり、それらのドキュメンテーションを書いてみたりした。

プログラミング経験は皆無だったが、理論系卒が工学部に負けられんという謎のプライドVBAから、Rやら自社製品の解析用環境の割と珍しいタイプスクリプト言語など(特定されそうだからぼかすけど。)

とりあえず手が出せそうなものは何でも調べてみてありものを改造してみたり勝手作ってみたりして提案していた。

物怖じしない新人がぎゃーぎゃー騒いでいるぐらいのものだったと思うが、何にせよいくつかの改善が上手く実務にハマって成果として認められたりしだしたのが1年目。

この辺で気付いたことだが、製造業ITリテラシーは驚くほど低い。製造業一般化するのはフェアじゃないかもしれないから厳密に言えば弊社の、という意味だが。

なんせまともにプログラムを書いたことが無い新人半年で身に着けた程度のスキルで書いたプログラムで、1日かかってた仕事が1時間で終わったりするのだ。

ようするにMS officeの達人みたいなのがいっぱいいて、Ctrl+CとCtrl+Vが機能のすべてだと思っているということだ。

(そして彼らの口癖は「忙しい」だ、会議中も左手はCtrl+CとCtrl+Vを叩き続けている。)

2年目に気付いたのは、弊社エンジニアITリテラシーが低くとどまっている要員のひとつに、実はITインフラチームがことのほかマトモだということがある、ということだ。

製造中のセンサーデータやらテストデータやらETL的にはおそらくえげつない部分で、かなり優秀な人間が居て上手くぶん回し切っている様子だった。

無骨だが使いやすイントラ上のwebページが用意されて、グロテスクな部分を気にせずクリックだけで上述のデータを整ったものとして引っ張ることができた。

から逆に言えば下々の人間コピペでなんとか恰好を整えられるのだった。

彼らはモダンな発想があって、あるいはお偉いさんが「ビッグデータ」とか言い出したのかもしれないが、ともかく、HadoopやらAWSやらそういったものを導入しようと試みているらしかった。

私はそれに感動した。なんせWebスクレイピングみたいな方法他人が社内プラットフォーム社内WIKIに上げた報告をまとめたり、製造データと紐づけたり、それからグラフ描いたりみたいな業務が増えていたからだ。

それっぽく表現すればデータ分析屋さんということになるのだろうが、どぶをさらっているという表現のほうが近かったかもしれない。

何にせよそういったもの一気通貫自動化できるポテンシャルがあると感じられた。

SQLjavaも書いたことなんて無かったが、1年前やっていたことを考えれば同じことだ。何にせよ歓迎だった。しか管理IT持ちだ。餅は餅屋に頼むべきだ。それもできれば美味い餅屋に。

ところがその「ビッグデータプロジェクト人手不足か、資金不足か、あるいは生みの苦しみか、ことのほか時間がかかっていた。(あとで聞いた話、外部コンサルで外れを引いたらしい)

自分ドメイン知識からの助言とか想定される使い方についての意見を伝えていったし(有難迷惑だった可能性は否定できないが)、もう少し待てばモノになると信じていたし、実際そうなった。

具体的な話ができないのだが、客先で起こった不良の原因をつきとめ、その改善効果確認の為に数十億行のデータ活用された。彼らの力が無ければ常識的時間では終わらなかった仕事だった。

残念だったのは彼らの優秀さの割に一般エンジニアスキルがあまりに低かったということだ。つまりそのプラットフォームを使いこなせる人間が著しく少なかったのだ。

そして上述の足踏みをしていた期間に心象を悪くしていたという問題もあった。とっかかりが難しい割に不安定だというレッテルを張られてしまっていた。

このころ私は入社3年目に突入していたが、

もうすこし悪いことに、同時期に企業買収が起こった。我々は黒字を出していたが同業他社(厳密にはその親会社に)に買われることになった。

そういう時に起ることは不要冗長性の削減だ。子会社として存続する場合は知らないが、競合他社に吸収合併ということは、多くの部署にとってそのカウンターとなる部署相手側にも存在するということだ。

まりどちらにもある部署統合するか一方を無くすかという戦争が始まるのだ。IT例外ではない。(ITインフラ部署の無い会社はさすがに無いはずだ)

一方で製造業の本懐である製品を作り、売る」という部分は比較的守られる。それこそが根源的な資源であり、利益を生む仕組みであり、既存顧客への説明必要からだ。

そして私の仕事は歩留まり改善であり、故障解析であり、データ分析だ。何が起こったか

(ここで簡単のために旧弊社を(旧)A社、買収した側の競合他社を(旧)B社と呼ぶことにする。)

今の旧A社から引き続いている業務をB社のプラットフォームで行えるように転換せよという下命である

旧B社の製造データに対するアプローチはA社とまったく異なっていた。Web UIは美しく整っており、それっぽいグラフ簡単に表示され、A社側のお偉いさんからも好評を得ていた。

だがそのバックエンドは控えめに言って酷いモノだった。いくつもの情報を正常に保存できておらず、「それっぽい何か」を素早く返答することを第一義としているように見えた。

そして上述のように器用貧乏街道を歩んできた私に投げられたのは次の言葉

増田くん、B社のプラットフォーム使うことは決定事項だから、君が自動化してたやつ全部そっちで動くようにしといて。よくわかんないけどプログラムとかてきとうにできるでしょ?」

もちろんhtmljavascriptphpRoRも一行も書いたことが無いのが当時の私である

果たして旧A社のプラットフォームはB社のプラットフォームデータソースのような扱いを受ける羽目になり、私はjavascript本格入門を片手にB社の事業所に出向くことになった。

そこで散々「旧A社のプラットフォームは遅い・使いづらい・不安定」と貶されながらチマチマとグラフを表示するページを書いている。

クオリティの低いバックエンドを作る集団が書いているサーバーサイドphpの酷さは素人目にも分かるレベル筆舌に尽くしがたいものがあるが、

反面教師だと思って耐える日々だ。

最近分かったことは旧B社のバックエンドスクリプトデータを引っ張るついでに意図的に旧A社のプラットフォーム攻撃しているということだ。DDoSとまでは言わないが、悪意100%である

いわく旧A社のプラットフォームを畳むためには旧B社のプラットフォームが優秀であることを示す必要があるとのことである。(つまり旧A社プラットフォーム不安定かつ重くなることを意図しているらしい)

旧A社から継続されてる業務はまだそこ使ってるんですけど・・・

それはもちろん旧A社の上司に報告したが「見て見ぬふりをしろ」とのことだった。旧A社のITで何度もお世話になったひとに伝えると「知ってるけどね・・・」と悲しい目をして苦笑いしていた。

旧A社ITはその優秀さでそれらの攻撃をいなしつつあるようにも見える(私も素人に毛が生えたレベルだが、ソフトウェアエンジニアリングレベルが二回りぐらい違うように見える)

この不毛な戦いはいつ終わるのだろう・・・つらい・・・

そして私はいつまでソフトウェアエンジニアの真似事を続けてキャリアを消費していけばいいのか、もうダメかもしれない。

そもそも私はエンジニアなのだろうか・・・少なくとも職位にはそう書いてあるけど・・・

2017-05-09

JavaScript簡単SPAフレームワークってありますか?

勉強が不得意な職業プログラマですが、WindowsアプリSPAに作り替えることになりそう。

プロジェクトメンバー積極的技術習得するような人はいないので、簡単フレームワークを探しています

↑に近いようなフレームワークありませんか?

2017-02-21

http://anond.hatelabo.jp/20170219230305

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

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

2017-01-29

決戦!クラウドに降る雪

突如として増田の前に現れるプロトタイプ増田11(旧11人の増田)。

アルファブロガーが残したとされる禁忌ネタを使い5000ブクマを動員してyahooニュースにも掲載される。

荒れ狂うYahoo砲とはてブ砲の前に次々とサービス停止に追い込まれはてなサーバ

akamaiバックエンドごと葬り去るその威力の前に、政府非常事態宣言を発令。

はてな運営東京DCを捨て、dockerを使い、北海道石狩にあるデータセンターサービス復旧を試みるも、

自分を偽って送り続ける退屈な日常と決別して、この非常事態に対する挑戦を開始した。

次回、「決戦!クラウドに降る雪」

君のpingアプリケーションサーバに届いているか

という感じの合体ロボものになりませんか。 >さくらインターネット

2017-01-20

[]1月20日

○朝食:なし

○昼食:ブリトー(餅お好み焼き)、ホルモン弁当

○夕食:キムチラーメンビールつくね

調子

はややー。

今日と昨日と遅くまで残業して疲れたからか、普段より一際、酔いが回っているので、変なこと書くかも。

問題ありそうならあとで修正する。

昨日言われた通り、調査っていうか、っていうか、向こうの人が望む方式でやるために、もう一度調べ直しをしてた。

向こうの人曰く「このやり方でできる」そうなんだけど、やっぱりどう考えても、できないようにしか思えない。

その、それなりにプログラマやってきてるけど、Web仕事はこの現場が初めてで、いやまあ一年ぐらいこのプロジェクトはいものの、今までは画面とかサーバーサイドで単体で動くバックエンドの仕組みとかを作ってたから、ちょっとこういう部分わからいか

はーい、と頷いて、頑張って調べたんだけど、

やっぱりどうも、そんなやり方はできないようにしか思えない……

うーむ、ちょっと、真面目に勉強したいな、本とか買ってまずは一般論を学ぶべきな気がしてきた。

っていうかあれか、クソ雑魚ナメクジらしく質問サイト質問すればいいのかなあ。

うーーーーーーーーん、なんか難しいなあ、

いやでも、なんか、仕組みを考える限り、できないようにしか思えないけどなあ。

でも、ネット調べるとやってる人もいるんだよなあ。

でも、なんでできるんだあ? なんか理屈がよくわからんぞいやだなあ。

だってさ、GETからURLの中に戻り値が入って取り出せるんでしょ?(うーーーーん、この理解もだいぶあやしいぞ、なんかうまくこの仕組みを理解できてない気がする) POSTだったら、戻り値レスポンス(あれ? リクエスト? いっつも、レスポンスリクエストがどっちかわからなくなる)のボディに入ってくるから、それただの戻り値で、JSONPでもなんでもなくない?

POSTのJSONPなんてできなくない?

でも、できるっていうんだもんなー。

よくわかんねーなー。

僕の頭が悪いんだろうなあ。

そもそも、なんで、向こうの人がPOSTに固執してるのかも、全く全然からないんだよなあ。

セキリティってなに? パスワードとか、機密事項ならわかるけど、ただの検索だしなあ。

しかも、検索結果は嫌がおうにも、DBテキストファイルログ出力されるから、誰が何を検索たかは、URL覗けるぐらいの人なら、POSTでもわかると思うんだけどなあ)

あーーーーー、ビールおいしい。

●XboxOne

○HaloWars2

マルチプレイオープンベータが始まったので、とりあえずダウンロードだけした。

ストーリーが楽しみで、対人戦はあまり興味がなかったんだけど、ネットインタビュー記事によると、

5分とかそれぐらいで楽しめる、短めのモードがあるらしいので、少し興味がある。

別にこれが楽しくなくても、ゲーム自体は買うんだけどね。

3DS

すれちがいMii広場

プレイ

今日10人フルにすれ違えたので、どれも進んだ。

バッジとれ〜るセンター

アクジキングに、ジョウトの悪ポケたちがキターーーー!!!

というわけで、速攻で課金課金

ちゃんと、全員揃えて、悪ポケを並べて満悦です!

恒例の、悪ポケモン実装リスト更新です!

「両」は普通絵、ドット絵共に実装済

「普」は普通絵のみ実装済

「ド」はドット絵のみ実装済

「未」はドット絵でも普通絵でも未実装

カントー

コラッタ(両)、ラッタ(両)、アローラコラッタ(普)、アローララッタ(普)

ニャース(両)、ペルシアン(両)、アローラニャース(普)、アローラペルシアン(普)

コイキング(両)、ギャラドス(両)、メガギャラドス(普)

イーブイ(両)

ベトベター(ド)、ベトベトン(ド)、アローベトベター(普)、アローベトベトン(普)

ジョウト

ブラッキー(ド)

ヤミカラス(両)

ニューラ(両)

デルビル(両)、ヘルガー(両)、メガヘルガー(普)

ヨーギラス(両)、サナギラス(両)、バンギラス(両)、メガバンギラス(普)

ホウエン

ポチエナ(ド)、グラエナ(ド)

タネボー(両)、コノハナ(両)、ダーテング(両)

ヤミラミ(両)、メガヤミラミ(普)

キバニア(ド)、サメハダー(ド)、メガサメハダー(普)

サボネア(両)、ノクタス(両)

ヘイガニ(両)、シザリガー(両)

アブソル(両)、メガアブソル(普)

シンオウ

ドンカラス(普)

スカンプー(普)、スカタンク(普)

ミカルゲ(普)

スコルピ(普)、ドラピオン(普)

マニューラ(普)

ダークライ(未)

例外:無アルセウス(普)、悪アルセウス(未))

・イッシュ

チョロネコ(普)、レパルダス(普)

メグロコ(普)、ワルビル(普)、ワルビアル(普)

ズルッグ(普)、ズルズキン(普)

ゾロア(普)、ゾロアーク(普)

コマタナ(普)、キリキザン(普)

バルチャイ(普)、バルジーナ(普)

モノズ(普)、ジヘッド(普)、サザンドラ(普)

・カロス

ケロマツ(両)、ゲコガシラ(両)、ゲッコウガ(両)、サトシゲッコウガ(普)

ヤンチャム(両)、ゴロンダ(両)

マーイーカ(両)、カラマネロ(両)

イベルタル(両)

戒めフーパー(ド)、解き放たれしフーパ(未)

アロー

ニャビー(普)、ニャヒート(普)、ガオガエン(普)

アクジキング(未)

例外タイプヌル(普)、無シルヴァディ(普)、悪シルヴァディ(未))

これで、アローラの悪ポケの普通バッジコンプ

僕は普通バッジを優先で集めてるので、

カントーは、ベトベターリージョンじゃない方)、ベトベトンリージョンじゃない方)の普通絵が未実装ドット絵はあるから仮置き中。

ジョウトは、ブラッキー普通絵が未実装ドット絵はあるから仮置き中。

ホウエンは、ポチエナグラエナキバニアサメハダー、の普通絵が未実装ドット絵はあるから仮置き中。

シンオウは、ダークライが両方未実装。仕方ないから、バッジとれ〜るセンターバイトを仮置き中。

イッシュは、普通コンプリート

カロスは、いましめフーパ普通絵が未実装ドット絵はあるから仮置き中。ときはなフーパは両方未実装。仕方ないから、バッジとれ〜るセンターバイトを仮置き中。

アローラは、普通コンプリート

こんな感じなので、仮置きしてる、ドット絵普通絵もない、悪ポケは、

ダークライと、ときはなフーパの二体のみ!

(悪アルセウスと悪シルヴァディ例外

うーむ、全悪ポケが揃うのがとっても楽しみです!

っていうか、もう、バッジケースがいっぱいいっぱいなので、ドット絵を外させてほしいから、早く普通絵でコンプしてほしいなあ。

ポケとる

セレビィレベル50)

目標を達成して、メガスキルアップをゲット。

これで、19個なので、目標20個まであと一つ。

20個揃えることで、レックウザが真の力を解放して、ようやく、ポケとるチュートリアルが終わる、とかネットコミュニティでは言われているので、楽しみ。

はいえ、コインを使えば、普通に真の力は解放できるので、コインが使えないランキングイベントとか、メインステージの道中とかで使うぐらいなのかなあ、まだよくわかんないや。

iPhone

ポケモンコマスター

ログボのみ。

2017-01-14

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

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次ソース英語だ。私たちの目に触れる多くは優秀な日本人エンジニア翻訳した情報である。そもそも張っているアンテナが違う。

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

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

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

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

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

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

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

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

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

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

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

2016-12-24

東欧で月給24万円の場合

http://anond.hatelabo.jp/20161222124531

やってみたぜ。

かい事はよくわからなくて悪いんだけど、

諸々引かれて手取りは16万円

嫁も同じだけ稼いでて、家族収入は30万円くらい。子供は二人

生活費は15万円で、家のローンで12万円。

家は、郊外敷地1000平米、住居部分は250平米の5LDKプール付き

車で通勤30分で、毎日10時に出て19時には帰ってくる感じ。

帰って子供の面倒とか家事をやって、22時から26時くらいまでプログラム書いたり

ゲームしたりしてる。職業プログラマー

アラフォーで、フロントからバックエンドiOSアプリAndroidアプリまで一通りやってる感じ

マネージメントはやらないって言ってるからこれ以上給料は上がらないかなぁ。

まぁなんつーか高収入の皆さんまじがんばってw

# 以下24日に追記

確かに貯金はしてないねリアルに月末に貯金額0になる生活だわ。

ただ、医療費用はほとんど無料学費日本で言う小中高は無料幼稚園は二人で5千円位

車とかまとまった金が必要な時は、toptalって言うまぁクラウドワークスみたいなサービス使って

副業で金を調達してるわ。その時は人月6千ドルで請ける上に、毎月末に請求、支払サイト10日みたいな感じだから

一ヶ月半以内に60万円くらいは調達できる。実質一日2,3時間しか働かないけどまぁコード書くのは速いか

今まで文句言われたこと無い。

ただガンガン働いてガンガン稼ぐスタイルは嫌いだから、余りやらないけどね。

そろそろ40で失業したら人生詰むけど、英語と現地語と日本語喋れて、プログラミングも大体最近流行追ってるし、

githubにはスター1000くらい付いたライブラリ公開してるし、まぁこれで食いっぱぐれる事は無いっしょ。

病気になったら死ぬ寸前までコード書き続けるしかいね

家の掃除は、オープンな感じで家具をぐちゃぐちゃ置いていないから楽だなぁ。

庭の落ち葉は超大変だった。

まぁシリコンバレーとか憧れるけど、プログラマーならこういう人生もありまっせ!

12、3年前まで東京で働いてたけど、最近大分改善されたことを祈るわ。まじであの始発の電車みて

一歩踏み出せば楽になれるかなぁってぼんやり思ってた時期は辛かった。

あとまぁ美人は多いね。うちの会社オタクばっかりだから縁はないけどな。

プログラマーは多分外国美女と知り合うとかそういう期待は諦めたほうが良い

子供学校とか行くとリアル金髪幼女がいるぜぉ、お母さんも綺麗w

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