「プログラム」を含む日記 RSS

はてなキーワード: プログラムとは

2016-06-23

http://anond.hatelabo.jp/20160623093731

物事はなるべくシンプルに考えろ、ってオッカムおじさんがいってたやろ。

増田はやたら行数が多い割りにやってることの規模は小さいプログラムソースコードを見たことは無いのか? その経験があれば、有理化がどれだけ優れているかをなんとなくでも体験できるように思うが。

2016-06-22

専門学校で一緒にプログラムばっかり2年も勉強してたはずなのに、

何かを10回出力しろって言われてループ書いたのはいいけど、その中に出力コード10コピペして、

思ったよりいっぱい出てくる出力結果を数えて「なんで110回も出ちゃうんだ、意味わからん」って首傾げてたりする子がチラホラいるから向き不向きってやっぱあるんだなーって思う。

多分ループの終了条件も惜しかったんやね、せやね。

ちなみに110回出力されたログを見て「ヨッシャできたー!」って喜んでるようなタイプの子は大体1年目の終わりには姿を見なくなった。

2016-06-21

何かに夢中に取り組みたい

5年ぐらい前にwindowsコンソールで色を出すことが出来ることを知った衝動

1000行ぐらいの7並べプログラムを作ったことがあるが、あれ以来夢中になれることが無かった。

そろそろ夢中になれるような衝動が発生しないか

コンロつけたら換気扇も一緒に回れよと思う

いつもしばらく料理した後にあっ換気扇回してないわって思って慌ててつける。

これすごく嫌。



ただ実際にそう作ろうとすると片方が故障した時が面倒そうだ。

こういうのでIoT換気扇やコンロがあると良いのかな。



多分クラウド洗濯機とか、一見意味ないIoT家電視点を変えればいろいろ使えるんだろう。

多分持ってるとあれやこれやと有効活用の道が見いだせるんだろうな。

これから家電ユーザーによるプログラム操作可能ものを優先して買うというのも面白そうだ。

xvideosを紹介しているエロ動画サイト更新捗る自動サムネイルwordpres

wordpressエロ動画サイト運営しててauto post thumbnailのように自動サムネイルを設定できるプラグインxvideosにも対応したものがないかと、エログを作り始めた当初にひたすら探しまくっていたのを思い出してPHP勉強がてら自ら作成してみました。

そのプラグイン機能は、基本的auto post thumbnailと同じで記事ないに画像があれば一番最初画像サムネイルに設定されます

しかし、一味違うのが記事内に画像がなくてもxvideos動画を紹介していればその動画キャプチャー画像サムネイルとして設定される点です。

残念ながらxhamsterやFC2動画などのxvideos以外の動画には対応していませんが、

いろいろと動画サイトが増えてきている今でもやっぱりxvideosが強い!!

サイト名にxvideosと入れるだけで検索からの流入が増えるくらいですから。(全部が全部当たったわけではありませんので運もあると思いますが...)

てな感じで個人的にめちゃくちゃ役に立っているプラグインを公開していますので必要であれば下記URLダウンロードできますのでご利用ください。

http://videos-pass.link/xvideos-thumbnail

しかしながら、プログラム自体まったく経験のない初心者勉強しながら改良したものでずので、動作保証や万が一このプラグインのせいで不利益が生じても責任は負えません。

2016-06-20

http://anond.hatelabo.jp/20160618211423

2017年卒の者です。私は2015年学部卒で就活体験挫折大学院に進学して今年内定を取ることができました。

学生という立場アドバイスするのは大変恐縮ではありますが、残された時間は多くなく、経団連の人に恨み節を言っても何も変わらないのが世の中というもの経験者の情報を活かして就活を少しでも好転させて欲しいという思いから、いくつか考えられる対策を書いていきたいと思います

面接への意識を変える

就活は限られた面接時間でのパフォーマンスを見るもの。ですが、逆を言えばその時間だけコミュ力のある自分を演じられれば良いのです。

いくらコミュ障でも数十分くらい会話を持たせるのはさほど難しいことではありません。そのために重要なのが「面接は会話」ということを意識することだと思います

http://careerconnection.jp/biz/shukatsu/content_1238.html

上の記事はかなり的を得ていると考えていて、私も学部卒で就活をした時、面接は減点方式テストのようなもので、いか面接に受かるかということばかり考えていました。

減点のないようにミスなく振舞おうとする結果緊張してガチガチになり、この記事就活生の返答をしどろもどろにしたものを口に出しているような状態でした。

ですが本来人と話しをするということは楽しいことのはずです。面接官と「会話をする」ということを意識するだけで緊張もなくなってきますし、会話にも弾みが出てきます

あと、嘘をつくことは必ずしも悪いことではありません。嘘には人を気持ち良くさせるための嘘もあるからです。

たとえばあなた面接官だとして、受けにきた人に「あなた会社は第三志望です」とか言われたらいい気分はしないですよね。

御社は第一志望です」は社交辞令のようなものだと思いますし、それを言うことに罪悪感を感じる必要はありません。

限られた時間の中、面接官を気持ち良くさせる会話ができるかどうかが大切です。

念のため申し上げておくと、これはあなた性格を直せとかそういうことを言っているのではありません。ただ面接というごく数十分の間だけ嘘つきになって、コミュ力を発揮して面接官と「会話」さえすれば面接は通るのです。

ちなみに当方コミュ力がなく(友人も少なく、クラスサークル研究室では総スカンを喰らったこともあり、学部卒の就活では全敗した)、それでも「面接で会話をしよう」と意識を変えるだけで就職偏差値でも上位数%に入るような企業内定を取ることができました。面接ちょっと意識を変えるだけで結果は全然違うのだとを実感しています

② 夏採用を受けてみる

6月までに内定を持っていない学生の将来は暗い」とか言う大人がいるみたいですが、それは正しくありません。

なぜなら、夏採用通年採用をやっている企業も意外と多いからです。

就職偏差値ランキングの頂点に位置する日銀も夏採用をやっていますし、メガバンクITメガベンチャーをはじめ夏や通年で大量採用をしている企業もあるはずです。

私の友人にも1年目の就活で全滅して、就浪してなお数多くの企業に落ちつつも、運良く通年採用企業就職して好待遇幸せ生活を送れている人もいます

就活は厳しく辛いものであると同時に、様々な企業への門戸が開けるチャンスの時でもあります希望は捨てるべきではありません。

資格を取得する、海外留学をする

就職資格必要ない」という人がいますが、確かに就職資格必須ではないとはいえ、あった方が有利なことは間違いありません。

能力の明確な指標になりますし、もしあなたがそこまで高学歴でない場合学歴フィルターを跳ね返す有効武器になります

公認会計士アクチュアリーなど難関資格を取得するのが理想的ではありますが、比較簡単でも価値の高い資格結構存在します。

例えばTOEICは意外と英語力よりも事務処理能力要求される試験なので、形式に慣れさえすれば900点以上取ることは実は難しいことではありません。

(私は受けていませんが)証券アナリストなどは資格偏差値で中程度に位置する資格ですが、試験に受かりさえすれば金融業界での就活は非常に有利になると思います(熱意のアピールにもなりますし)

万が一夏&通年採用でうまくいかず、就留という形になった場合やはり年齢に見合っただけの価値が求められてしまうことは間違いありません。もしお時間があるのなら、そういった資格チャレンジして少しでも能力面のアピールポイントを増やすはいかがでしょうか。

あと、海外留学英語力の向上につながり、現在でも就活で非常に受けはいいので検討してみてもいいかもしれません。

アメリカトップレベル大学授業料免除留学するプログラムの中にも、意外とTOEFL学歴学業成績の基準が低いもの存在します。単なる語学留学ではなく、専門課程への留学となるとさら価値は高いです(ただし、就活時期との兼ね合いには注意が必要です)

④ 相性を意識する

就活をする上で実は一番大切なのは相性ではないかと思います

私もある業界はいくつか内定が取れた一方、他の業界では全滅...ということもよくありました。

例えばいくら学歴があっても、コミュ力がなく一発芸もできないのに商社を目指したって受かるはずがないですよね。

2chとかの就職偏差値に踊らされて難関企業から順に受けるような輩を何人も見かけますが、私は自分と相性の合う企業就職して能力を発揮した方が幸せ社会人生活を送れるし、下手に相性の悪い難関企業に入ってくすぶっているよりも余程良い待遇市場価値が手に入ると思います(多少偏差値で劣っても待遇が充実している企業はいくつもあります

そのためには内定者を調べたり、説明会社員さんの雰囲気を掴むなどして、自分がその会社にいるイメージを掴めるかどうか見極めると良いと思います

もし自分で調べても分からなければ、就職エージェントのようなプロを使うのも悪い手ではないそうです。

自分コミュ力がなく、就活絡みでは周りにも散々バカにされ絶望感を抱いてきた経験があるので、つい老婆心から色々と書いてしまいました。。

早く内定を取ることが幸せとは限りません。最終的に自分幸せになれる企業に行ければ結果オーライだと思います

今後の就職活動成功を勝ち取ることを祈っています

2016-06-19

全てのRubyエンジニアはだいたい糞である

汎用系のエンジニアからRubyエンジニアとして転職して1年。

コボラー(笑)なんて言われることも多いが、この1年で出会ったRubyエンジニアは全て糞だった。

その特徴はだいたいこの3つだ。

1.テストを甘く見ている

やれテスト自動化だ、やれテスト駆動開発だの口だけ達者なエンジニアの多いこと。

そもそもブラックボックステストホワイトボックステストを分かっていない奴が多すぎ。

テストコードカバレージが100%だったとしても実際の打鍵結果でエラーは弾けることが多いのにリリースしてしまう。

そもそもテストケース表を若いうちに書く習慣が無いからだ。

ドキュメント揶揄し机上デバッグも行わない、こんな状態で「アジャイルですから」とかドヤ顔でいってしまRubyエンジニアは糞である


2.パフォーマンスを考えない

Rubyエンジニアパフォーマンスを考えない。

どのメソッドがどれくらいの負荷なのか意識せず実装を行う。

便利だから、ただそれだけの理由なのである

そもそも自分が行おうとしているソートが何ソートなのか知っているのか?計算回数を考慮した上での実装か?

便利なメソッドがたくさんあるのは知っている。

ただ、中身くらいは知っておこうよ。

eachで回してばかりだから複雑なループ対応もできない。

新人に教えたらバカにされたけど、まずフローチャート書くようにしようぜ。


3.外部ライブラリに対する絶対的根拠の無い信頼

Gemに対する絶対的な信頼感、あれなんなの?

Githubで公開されてましたんで導入しました」じゃねーよ。

結局他のGemバッティングしているじゃねーか。

得体の知れないコードをたくさん詰め込んだプログラムをよく動かせるな。

そんで都合の悪いところだけコードを読んでオーバーライドする。

影響範囲を全く調査せず、Gem絶対神話を唱える。あれなんなの?





いや、Rubyが便利なのは認めるよ。俺だってPLIとかCOBOLより書いてて楽しいよ。

インデント合わなくてコンパイルエラーとかないしな。

でもあまりにもRubyエンジニア糞すぎだろ。

エンジニアもどき量産言語だね。どれか1つでも当てはまった奴は小学校からやり直せ。

日本の将来が心配だわ。




追記


意見がたくさんもらえて喜ばしい。

文化の違いという意見もあったが、「よくわからないけどなんかうまくいく」コードだとデバッグも大変だし不具合も起きやすい。

それで納品するのはプロとしておかしい。



主語が大きい

「だいたい」とあるだろう。全てのだいたいだ。



フローチャート

ロジックを整理するツールとしては優秀。

精神論に聞こえるかもしれないが、フローチャート書いて育ったエンジニアは頭の中でロジックの組み立てと凡その演算回数が計算できるようになるよ。



カバレージが100%だったとしても実際の打鍵結果でエラーは弾ける

あー、ここは誤タイピングだわ。

自動テストカバレージ100%です、そして画面数回触ってリリースしますーっていう奴が多いってこった。

単体だけじゃなく画面使ったテストもケース表書いて網羅性を担保しないとダメだろ。

もちろん慣れて頭に入ってくれば勘所がわかるんだが、そんな属人的ものよりもケース表書くのが無難だろう。

2016-06-17

1.0から学ぶJava

タイトルを見て釣られクマーな皆さんこんにちは

ホッテントリメーカーで作るような煽りタイトルって、みなさんもう見飽きてると思うんですよね。

今調べたらホッテントリメーカー2008年だそうで。どうりでねー。古臭いなーと思いましたよー。

「一から学ぶJava」ってのをね、1.0にするだけでこんなに素敵なタイトルになるんだから面白いですねー。

タイトルを思いついただけだったんですけど、思いついたらやっぱりちゃんと中身も書かないと行けないじゃないですか。やだー

面倒くさいんですけどね。ちょっと1.0から学んでみましょうか。

Java 1.0 1996年1月23日

Javaの1.0がリリースされたのは1996年1月23日ですね。発表されたのが1995年5月23日でJavaの誕生日といった場合にどちらを取るかで揉めることがあります。

かれこれ20年前なわけで、当時のパソコンというとハードウェアはCPU が Pentium 133MHz メモリ16M とかそんな感じだったかなあ。今どきの携帯電話の例としてiPhone 6sを挙げるとCPUが1.85GHz メモリ 2G ってんだから凄いですね。OSは1995年11月23日リリースされたWindows95とかそんな時代背景です。インターネットがようやく一般に普及し始めたところでしょうか。

今から思うと相当弱いハードウェアですけども、そろそろVM方式を採用しても良さそうな、そんな時代でした。インタープリタだと流石に遅い、でもC言語のようなコンパイル言語だと"Write once, run anywhere"とはいかない、という判断もあったのだろうと思います。Javaが純粋なオブジェクト指向言語ではなくintなどのプリミティブ型を持つというのは、当時のマシンスペックを考えた場合、ある程度妥当な判断だったと言えるでしょう。これが後々苦しくなってくるわけなのですが。

Javaを作った会社はSun Microsystems(サン・マイクロシステムズ)というアメリカの会社で、2010年1月27日オラクルにより吸収合併され今はありません。SolarisというOSとSPARCプロセッサでUNIXサーバーの販売で90年代後半までは一人勝ちのような状況だったと聞きます。当時にすでに「ネットワークこそがコンピュータ」(The Network is the Computer)というモットーを掲げてたんだからおかしい。1996年リリースのJavaが標準でネットワーク機能を備えていたのもこのあたりの思想から来ているのかもしれませんね。

当時のプログラミング言語としてC++が挙げられますが、C++でのプログラマへの負担といいますか、ヒューマンエラーの起きやすさといいますか、その辺を改善する目的で開発されたのがJavaだったわけです。

1996年の時点にこんな言語が登場したのですから革新的でした。

いろんな企業がJavaに賛同します。その中にはMicrosoftもありました。この時期、Microsoftは次期のWindows開発用のプラットフォームにJavaを据えようと考えていました。その後、袂を分かつことになるのですが……。

プログラム言語として構文などを見ると、C++を強く意識した構文なのは間違いなく、しかしポインタ演算を廃してポインタを機能を限定した「参照」に置き換えるなど簡素化が多く見られます。C++からはいろんな機能が削られています。関数ポインタ、構造体、演算子オーバーロードテンプレート((テンプレートについては実装が間に合わなかったという話を聞きます))などなど。そのためC++の劣化であるように揶揄する人もいますが、こうしたものを捨てて言語仕様を比較的小さくシンプルに抑えた点は評価に値すると思います。しかし、今でもこうした削減された機能を愛する人からはJavaを腐す要素として挙げられてしまうのでした。

Java 1.1 1997年2月19日

Wikipediaからピックアップすると1.1での大きな機能追加は

といったところです。当初よりJavaの内部文字コードUnicodeで文字を表すchar型は16bitで設計されていました。Unicodeは当時それほど普及しておらず、Unicode対応のテキストエディタさえ少なかったと記憶しています。時代を先取りしていると言えますが、大きな誤算はUnicodeが当初16bitのコードポイントに世界のあらゆる文字を格納しようとしていたことで、漢字圏の我々からすると16bit=65,536程度の空間に文字が全部入るわけないだろ!というものだったが故に早々に破綻し、Unicodeは21bitのコードポイントに拡張されることになるのです。これはまた後の話。

なんにせよ、日本語が対応されたのは1.1からで、日本でのJavaの採用が始まったのはこの頃からと言えましょう。

当時のJavaのGUIはAWTというものでしたが、これを用いたGUIの開発は当時は結構行われていたイメージですね。Visual BASIC でGUIを作るプロダクトも結構あったと思います。GUIのためのオブジェクト指向言語としてJavaが使われていたイメージがありますね。JavaBeansもそのための仕様でした。件のsetter/getterの話題に繋がっていくのですが。

JDBCはJavaとデータベースをつなぐインターフェースです。RMIではあるJava VMから別のJava VMにオブジェクトを送って実行する、といったことができます。こうした機能が用意されたことで、ソフトウェアフロントとしてのGUI、裏方の実装のためのネットワーク機能、データベース機能、さらにはソフトウェアを配布するためのJava Appletという布陣でJavaでのソフトウェア開発が加速していた時代といえます。

Microsoft Visual J++ もこの時代ですよ。

Java 1.1以降のバージョンのものは互換性確認のためにOracle Java Archiveからダウンロードすることができ、今でも入手することができます。もちろん、Java7ですら2015年4月にEOL(End of Life,サポート終了)となっているので、通常利用するのはJava8としてください(本稿執筆時点)。

当時のドキュメントを見るのも一興です。現在と比べると標準APIがかなり小さい。なお、当時のjavadocは今とはデザインが大きく異なります。

  • java.applet
  • java.awt
  • java.awt.datatransfer
  • java.awt.event
  • java.awt.image
  • java.beans
  • java.io
  • java.lang
  • java.lang.reflect
  • java.math
  • java.net
  • java.rmi
  • java.rmi.dgc
  • java.rmi.registry
  • java.rmi.server
  • java.security
  • java.security.acl
  • java.security.interfaces
  • java.sql
  • java.text
  • java.util
  • java.util.zip

この時代であれば、全パッケージを舐めて標準APIを学ぶこともそう難しくはありませんでした。この時代から触っている人間は新バージョンが出るたびに増えるAPIを順に学んでいけたのです。しかし、現代にJavaを学ぶ場合、どのバージョンでは何があって……というのをいちいち学ぶ必要はほぼありません。Java5以前は一緒くたでいいと思いますし、一部のAPIで歴史的経緯があってねーというのを知っていればおそらく十分ではないでしょうか。

Java 1.2 1998年12月8日

strictfpキーワード浮動小数点演算をやる人は覚えておきましょう。JavaはパフォーマンスのためにCPUの浮動小数点演算を扱うことが許されており、そのため実行するCPUによって精度が異なることがあるんですね。まあ今時のCPUだと大丈夫だとは思うんですが。

リフレクション機能ではJavaのクラスを抽象的に扱うことができます。設定ファイルに書かれたクラス名のclassロードして実行する……みたいなことができるんですね。フレームワーク的なものを作る場合には多用することになります。

1.2からは新しいGUIのSwingが採用されました。AWTがOSごとのGUIパーツを用いていたためデザインに違いがあったのに対し、Swingでは統一的なルック・アンド・フィールが用いられるようになりました。まぁ今ならJavaFXを使うのが良いと思います。

初期のJavaはやはりVM方式の実行速度の遅さが指摘されていました。実行時の構文解析を伴わないだけインタープリタよりは早いものの、実行バイナリを作るC/C++よりは遅い、そうした評価です。ここではサン・マイクロシステムズのVMにJIT(ジャストインタイムコンパイラ)が乗ったことが挙げられていますが、JIT自体は別の会社が先駆けて開発していたことは記しておきたいと思います。

JITコンパイラは実行時にJavaのバイトコードを環境のネイティブコードコンパイルして動かす技術です。この後、JITコンパイラ、動的再コンパイル技術、世代別ガベージコレクションを備えたHotspotといった様にJavaVMは進化していきます。現代では実行時の最適化が進み、大きなスケールで見た場合、Javaの実行速度はC/C++での実装と比べてそれほど遅れるものではありません。遅くても倍の時間は掛からない程度といったところでしょうか。

あとは特記すべきはコレクションフレームワークです。皆が多用しているであろうjava.util.Listやjava.util.Mapといったライブラリが整備されたのがこの時なのです。それ以前はjava.util.Vectorやjava.util.Hachtableというクラスが可変長配列の機能を一手に担っていました。今ではVectorやHashtableは使うべきではありません。

Microsoft 離反

Java の開発はSun Microsystems が主導していたけども、すべてがSunのものだったというわけでもなく。Javaには多くの会社が出資していてその中のひとつMicrosoftだったわけですね。

Microsoft の Visual J++ では delegate とか独自機能拡張もありましたけど、裁判で問題になったのは J++ でコンパイルしたclassファイルMicrosoftのVMでしか動かないという部分ですね(他社製のVMで動くclassファイルを作ることもできる)。classファイルがどこのVMでも動くの大事だろ、"Write once, run anywhere"だろ、お前何してくれてんの!と喧嘩になったわけです。当時のMicrosoftブラウザまわりでも独自拡張がやりたい放題、標準規格?なにそれ美味しいの?みたいなスタンスをあちこちで見せていたものです。

結局、この事件でMicrosoftのJavaはバージョン1.1相当でストップ。好き勝手にやれないなら独自に言語作るわーとばかりに.NET フレームワークと C# といった方向に舵を取ります。

JavaがPC上でのUI開発の主力になろうとした勢いはここで潰えます。

Java EE

Java SE とは別にこの時代に Java EEリリースされていることは特記しておきたいですね。これ以後、それまでのCGIに取って代わって、JavaはWebサービスの開発のプラットフォームとして多用されるようになります。

2000年あたりからはJavaはGUI開発というよりは、Webサービスの開発が主流という流れになっていきます。インターネットサービスが非常に発達していった時代、背後ではとてつもない量のJavaのプログラムが支えていたわけです。ただまあ、こうした産業利用は一般的ユーザーの目にはあまり入らないわけです。一般人からすればJavaといえばJava Appletみたいなイメージはずっと残っていたでしょうが、実体としてはJavaといえばServletという時代になっていたわけです。

企業で用いられる社内システムにもServletは多く採用されました。

理由はいろいろ挙げれると思うのですが

というのが大きな理由だろうと思います。JSPというテンプレートエンジンを用いてHTMLを整形してWebページを作り出す、というアーキテクチャある意味では便利で簡単でした。

もっともHTMLの表現力に足を引きずられるため、GUIの機能性という点では後退したわけなのですが。それでもメリットが大きいと判断されたのでしょう。というか、まともにGUIを組めるプログラマがほとんどいないから、GUIのシステム開発がなかなか成功しないってのもあったんでしょうけどね。

iアプリ Javaアプリ EZアプリ

2000年あたりというと携帯電話の普及も取り上げなければなりません。現代のスマホガラケーに比べれば非常に機能は貧弱で、まさに携帯「電話」でした。要するに電話とメールぐらいしかできなかったんですね。

そこにdocomoiアプリJフォン(ボーダフォンを経て現ソフトバンク)のJavaアプリ、auのEZアプリという携帯電話上でちょっとしたアプリが動くよ!というのが乗るようになってきたんです。これがJavaを組込み用途にコンパクトにしたJava MEというものが土台となっていて(正確にはiアプリちょっと違う)Servletと並ぶJava言語の大きなもうひとつの領域となっていました。

iアプリは当初は容量が10k byteまでといった制約があり、容量制限が非常に厳しかったのですが、新機種が出るたびに容量は緩和されていきました。

docomoiアプリ含めiモードによって一世を風靡します。こうした土台を作ると、その上で商売をしたい人がたくさんやってきて、勝手にコンテンツを作ってくれる。docomoはそれらから手数料を取るので労せずして大金を稼げるというわけです。賭場の胴元というわけです。

この賭場が、将来にAppleiPhone, GoogleAndroidに荒らされることになります。docomoがなかなかiPhoneを出さなかったのもiモードという自前の賭場を失うことを良しとしなかったためです。金づるを失ったdocomoSamsungと組んで独自の携帯向けOSであるTizenの開発に乗り出します。そんなTizenですが鳴かず飛ばず。噂ではインドあたりではリリースされたとか、なんとか。

RIA時代

話を2001年に戻しましょう。

Microsoft離反でGUIのプラットフォームとしてのJavaというものは存在感を弱めていました。この分野の復権に寄与したのはJava 1.4 (2002年2月6日)で導入されたJava Web Startです。

Java Appletブラウザ埋め込みで動作したのに対し、Java Web Startではブラウザから起動しつつも独立したアプリとして起動するのです。

Webシステムが企業の社内システムに採用された話は先に述べたとおりですが、やはりWebシステムのGUIというのはHTMLに引きずられて貧弱だったんですね。

端的に言えば入力値が数字かどうか?みたいなチェックがなかなか難しい。HTML上でJavaScriptでやるわけなんですが、なかなか気持よく入力できるような感じにはならなかったんですね。

また、Ajaxによるブラウザのページ遷移を伴わない通信というのが出てきたのも2005年ぐらいなので、入力値に対してサーバ問い合わせするようなことはできなかった。当時だと一旦画面遷移させないとできなかったわけです。

こうした事情から、クライアントサイド、要するにPC側でもっとリッチなUIが使いたい!という要望があったわけです。Webシステム使いにくい!という不満の噴出と言ってもいい。そこで出てきたのがRIA (Rich Internet Applications)というわけです。

Javaは1.0時代のAppletからそうですが、ネットワークを介して別のPCにプログラムを送り込み、そこで動作させるという能力を持っていました。それこそまさにRIAに求められる機能性だったわけですね。

RIAの代表とされるのは

あたりです。三つ巴の戦い、どこに軍配が上がるのか!?と注目されましたが、勝利したのはHTML / JavaScriptでした。

Google MAP で注目を浴びたAjax技術、それまでブラウザでは不可能と思われていた高級なGUIをHTML / JavaScriptで実現させました。もうやめて欲しいですよね。せっかく脱ブラウザの流れが来たと思ったのにまたWebシステムに逆戻りですよ。

RIAが失速した理由として考慮して置かなければいけないのはスマートフォンの台頭です。RIAでは端末を選ばずどこでも同じアプリが動かせる点がポイントひとつでしたが、スマートフォンではそうは行かない。"Write once, run anywhere"を破壊したのはスマートフォンだったというわけです。

しかし、先日インストールなしでアプリを実行するAndroid Instant Appsが発表されたりしまして、結局RIAの思想といいますか、要求というのは今でも息づいているのだなと思った次第です。

Java 5 (2004年9月30日)

1.3 / 1.4 では機能追加はあっても言語構文が大きく変わることはありませんでした。大きく変わったのはJava 5です。この時からバージョニングが変わって1.5ではなく5と表記されるようになりました。

Java5の特徴はなんといってもジェネリクス。それまでjava.util.Listにデータを出し入れするのにはキャストが必須だったわけですが、ようやくキャストから開放され型の安全度がぐっと高まりました。その他に以下のような変更があります。

言語としては随分変わっったわけですが、もうかれこれ10年以上前のことですからこれらの機能が「Java5から導入された」という知識は今となってはあまり必要とされません。これらの機能が使えないJava 1.4で開発をする事案が殆ど無いからです。0ではないのが悲しいところではありますが。

その後

Java 6 (2006年12月11日)がリリースされた後、Java 7 (2011年7月28日) が出るまでJavaは停滞してしまいます。その間にSun Microsystemsという会社がなくなってしまったためです。

Sun Microsystems の経営状況が悪化しており、ついに身売りをすることになりました。身売り先はIBMともGoogleとも噂されましたが結局2010年1月27日オラクル吸収合併されました。

Javaの停滞中にはJava VM上で動く非Java言語も台頭してきました。Scalaなどですね。

やや戻って2007年Androidが発表されます。Androidの開発言語にはJavaが採用されていますが、実行環境はJava VMではなく、ライセンス的な事情でJava(TM)は名乗らない微妙な位置関係にあります。

Java 5 以降で大きく言語仕様に手が入るのは Java 8 (2014年3月18日)です。並列処理を行うためのStream APIと、そのために簡易に関数を定義するためのラムダ式が導入された点が大きいですね。日付APIも刷新されました。

このように、Javaは1.1の黄金時代から今に至るまで利用ジャンルを転戦しながら産業の土台となって支えてきた歴史があります。ジャンルの趨勢により浮き沈みもあります。今後についても決して楽観視はできないでしょう。Javaを学ぶことはプログラミングを学ぶステップとしては意義はあると思いますが、Javaを学べばゴールというわけではありません。プログラム言語次世代へと移りつつあります。業界動向には注視していきましょう。

http://anond.hatelabo.jp/20160616203733

公開されているWEB漫画スクリーンショット取得とページめくり操作

自動でやってzipにまとめるプログラムとか、

クラウドストレージの10GB無料アカウントを50個用意して、

それを500GBのストレージであるかのように使うプログラムとか、

探してもフリーソフトとして落ちてない、黒いプログラムを組んでいる。

2016-06-16

だいたいブーメラン

仕事の不満はたくさんあるんだけど、それを口に出してしまうとそれを解決しない自分責任になってしまってブーメランになるからまり口に出さないみたいなことがよくある。もちろんこれはよくない。棚に上げて不満を言うのが個人攻撃になったらまずいけど、チームの問題になるんだったらとりあえず不満口に出せばいいんじゃないかと思う。けどそれが出来ないのはほら、おれ(ら)のコミュニケーション不足でしょ。ブーメラン。ああ、あああああああ。

仕事する前は、世の中にはめちゃくちゃなお客さんがたくさんいるんだろうな〜とかプログラムのことよくわかってない上司だと苦労するんだろうな〜とか協力会社の人が使えない人だとイライラするんだろうな〜と想像していたけど、実際は自分問題がないという場面はほぼなくて、だいたいブーメランだ。だいたいブーメラン、語呂が良い。

ブーメランパンツが似合うくらいの筋力を付けて、ポジティブに生きたい。休日代々木公園で酒を飲んだくれるような人間になってしまってはだめだ。

自分自分用のプログラム作ると

作るの面倒だからこの機能いらねーや。どうせ使うの俺だけだし。

ここは運用でカバーすればいいよね。どうせ使うの俺だけだし。

もうハードコーディングしちゃお。どうせ使うの俺だけだし。

……という具合に、どんどん他人様に見せられなくなっていく。

自分用のプログラム他人も使えるように作ってる人ってすげーなー。

2016-06-14

http://anond.hatelabo.jp/20160613210503

それを言ったら、最初話題プログラム関係ないじゃん。

プログラマは、プログラムを書く人であって、OSを整備する人でも古いPCメンテする人でもない。

医者法律の方も、良く知らないけど違うこと言ってない?

2016-06-11

IT技術者って意味あるの?

そもそもIT技術者って何をする人なのかわからない。

ホームページ作ったり、エクセルで表作ったり、パソコンが不調になったら面倒見てくれる人?

プログラム書けるとか言われても、毎日プログラムばっか書いてるの?なんのために?使わてるのそれ?

何のためにいるのかわからないし、なんでそんな人材が欲しいのかもわからない。

足りないって言ってる人は、IT技術者集めて何がしたいんだろう。パソコン教室

2016-06-07

あの全能感はどこへいったんだ

大学時代、これといってやることもないかウェブサイトを作って遊んでいた。

当時はHTML,CSS, JSを書いてレンタルサーバーにおいて表示させて楽しむところから始まった。スポーツニュースサイトRSSを読み込んで表示するだけのサイトを作ったりした。しばらくすると、Rubyというプログラミング言語を学びながら、ウェブフレームワークを使って動的なウェブサイト作ってみた赤の他人ウェブサイト書き込みをした時はとても嬉しかった。

バイトをしておらず、金がなく友だちもいなかった。没頭できる唯一の趣味ウェブサイト制作、その周辺のプログラミング作業だった。ネット検索すれば以下のような「ウェブサイトをつくって大成功」みたいな記事がたくさん見つかる。自分も、バイト代くらいはウェブサイトで稼げないものかと淡い期待を持っていたのだろう。

http://www.itmedia.co.jp/bizid/hitori_index.html

並行して、簡単TIPSプログラミングに関する概念解説みたいなことをブログに書いていた。どちらかといえばそちらのほうが人気を獲得していた。作ったウェブサイトはどれも流行らず、結局閉じることになってしまった。

頭のわるいFラン大学文系人間だった。黒い画面にテキストを打ち込むだけですごいことをしている気分になった。金にならなくても、少しずつ自分アイデアが形になっていくのが楽しかった。

しばらくして、これといって話題になるようなウェブサイトも作れずに就活の時期を迎えた。一流のIT企業をいくつか落ちて、中規模SIer(1次請け〜2次請けくらいの案件を取り扱う)にSEとして入社した。

仕事が始まると、毎月定まった給料がもらえることに感動した。真面目にバイトしたことなどなく、派遣単発バイトばかりだったため、まとまった給料をもらえる、そのこと自体に感動した。しかも、いくらか興味のある仕事だ。それはとても嬉しい事だった。

しかし、さらにしばらく経つと、どうも何かがおかしい。ウェブサイトを作っていたときに感じていた楽しさ、没頭感とか全能感といったような類のものが丸っきり無くなっていた。よく、大手SIer入社するとコードが書けなくて幻滅するというが、自分入社したのはプログラムを書く上でとてもいいポジションだった。下請けマネジメントをする会社でもなく、ブラック環境でめちゃくちゃな開発体制を強いられるわけでもない。

それなのに、プログラムを書くことに楽しみを感じなくなってしまった。入社当時は休日プログラムを書いていたが、今ではそれが苦しい作業になってしまっている。なぜなのかわからない。

あの全能感はどこへいったんだ。

http://anond.hatelabo.jp/20160607160308

OS間の移植ではないけど、例えば言語ローカライズとかはそのへんの生産力のあるオタクに近いんじゃないかと思う。

言語対応してて翻訳だけで簡単にできるものもあれば、クラックまがいのことしないとできないものもある。

中にはバイナリエディタプログラムデータをいじって、隠されてる日本語データを引っ張りだすなんてのもある。

そんなのどうやって調べるんだよ、と思うけど、やっちゃう人もいる。

2016-06-05

全員が専用「金の卵を産むガチョウ」を作れる時代

いろいろディープラーニングラッパーやらAPIをたたける時代になった。データさえ整えれば東京市場の騰落予想も相当の的中率で実現できそうに思えた。

もう金融商品取引ほとんどがロボットになって久しい。金融商品市場の動向が実体経済を示すのだとしたら、人はもうコンピュータプログラム支配されているといっていいい時代だ。そして前述のとおり、もし誰もが人工知能による予想を利用して金融取引、それもこれまでの人間それこそ有名ファンドマネージャが実現できなかった運用実績を得られるのも現在だろう。誰もが程度の差はあれ金の卵を産むガチョウを持てる時代になったと認識したとき株式市場やら原油債券投資対象価値をどのように理解すればいいのだろうか。値動きに価値があるのか、そして市場は成立するのだろうか。

そして、その世界ではよりよいプログラムアルゴリズムデータモデルパラメータを開発した人間がより収入を得られるとしたときに、スキルのある人間とない人間の差はどうしようもなく開いていくのではないだろうか。士郎正宗が腕のいいプログラマ海外渡航制限される、と未来を描いたのだけれど、これが現実になるのかもしれない。

今はまだプログラムを書ける人間と書けない人間の差は生まれていない。いや、目に見えないだけで、生まれているのかもしれない。得ている人間は黙っているだろうし。私程度のちょっとしたプログラマでのスキルの有無による現実への格差影響を恐れているのに、まったくスキルのない人間たちがそれをまったく想像していないのも恐ろしい。金の卵を産むガチョウを作れない人たちが、なぜ、平気でいられるのだろうか。その不満が顕出したときプログラマ攻撃を始めるのだろうか。

2016-06-04

大阪仕事ない

梅田の人の多さみてると、まだまだ大丈夫そうな錯覚するけど、仕事ない。

東京みたいに仕事たくさんあるわけでもなく、名古屋みたいに自動車でまだ大丈夫ってことでもなく。



USJに行く人は心斎橋で晩ごはん食べて御堂筋線新大阪に戻ってということで、そんなお金を色んな場所に落とすわけもなく。



中国人観光客ももうすぐ一段落しそうだし。爆買ツアーだと、予めきまったお店を案内して購入していくし。

中国人オーナービルもあるよね、そっち回ってる?



GIGAZINE大阪ネタにすると東京の人に馬鹿にされると思ってるのか、全国チェーン店食べ物ネタの時しか意味ないし。

FC2広告代理店特に大阪って感じもなく。いやそもそも人雇ってって感じでもないし。



大阪からだと、日本相手にしてるとダメで、一気に世界相手にしないといけない。

なんだけど東京くらい色んな国から人が集まってきてるわけじゃない。スタートアップリクルートするならそりゃ東京選ぶよね、と。



何かしらイベントしようと思った時にキャパある箱もない。インテックス大阪、なんでニュートラムなんか接続してるんだ…。

地下鉄延長して、動く歩道つけるとか、それくらいやんないと会場広くても人捌けない。



関西国際空港USJの延長くらいにあれば、また利便性も変わったのに。



東京だったら駅周辺で、それぞれ個性作って開発されるけど、大阪ってそれなくって、どこも同じになっちゃってるんだよね。

森ノ宮とか、天王寺とかショッピングモールできても同じ感じ。イオンモールが出来るのとあまり変わらない。



東京の人からすると大阪ってセンスないんだよな。多分。別に日本ウケるセンスの良さがなくてもいいと思ってる。



そもそも日本ニュース系で大阪話題になるのは、良いことでなんてない。ヤフーニュースにのるのは殺害事件選挙の時くらい。

それで西成区の危ないイメージが毎回湧き出るんだ。



5年後は更にヤバイと思ってる。

新世界とか観光客来ないだろうってくらい寂れてる。あれでリピータ来るとかはないだろ。大阪は見るものないんだよ。色んなところで食べ歩きする町だ。



京都奈良と手を取ればとか、東京の人は思ってるだろうが、距離が遠すぎるんだ。

山手線圏内大阪京都奈良が入ってりゃよかったんだ。平城京平安京あん場所に作ろうと思ったやつ出てこい。なんでもっと近くに作らなかったんだよ。



街づくりで、イメージづくりが出来てないんだ。

環状線東西南北で、青龍朱雀白虎玄武象徴となるものでっち上げるとか。

駅ごとに外国巡り出来るようなものとか。オーストラリアだと新今宮とか、アメリカだったら弁天町みたいな。



深センくらい人工的に街作れないだろうか。24時間開いてる図書館で、自動で貸出できるとか。図書も深センの図書みたいに文学充実するのではなく、

仕事に直結するスタートアップ必要プログラムとかハード解説のものとか。iPhone回路図って日本語書籍はないけど、中国語書籍ならあるし、読めなくても回路図あればなんとかなると思う。

サムスン日本研究所は遠すぎるし。なんで千里中央なんだよ。



は~、スタートアップの街としてならないだろうか。Slush Asiaのようなスタートアップイベント開催できるくらい。

デザイン系で町おこしはできんと思ってる。お金持続的に投資されないし。アヒルちゃん浮かべてもお金にならないよね。あと日本成功してる気がしない。

地方だと町おこしアート絡めてっての、どこも上手くいってないし。

ビジコンが行われてるのは知ってる。でもSlush Asiaくらい、これから何か始まるんじゃないかってほどワクワク感がないんだ。




Lマガジンセンス良かったんだが、ああいうので突破口開けないんだろうか



はてな京都ダメであとに続くのなかったんだから、やっぱ無理なんかなー



追記

こじれてるってのが大阪人気質なの?ってはてブあったから答えると、

名古屋だと東京距離的な関係ものなのか、別に東京依存しなくてもやっていけるって気持ちがあるのか、反骨精神があるのか、

そんなところで東京に対してあまり気にしてないというのが、自分感想



じゃあ大阪は?というと、やっていけない。

あと関西弁東京にいくと、まず馬鹿にされる。

そして、大阪でも東京に通用するような人がいるのだけど、大阪じゃなくて東京に行ってしまう。大阪を前面に出すと価値が上がるどころか下がるんだよね。




追記

予想外に反応があって驚いてる。

他の地域で、もっと危機的な場所があるんだから大阪なんてまだマシって議論にはなってほしくない。

雇用統計も見ているので、大阪失業率が減ってきているのも知ってる。でも給料安い求人しかない。

イオンで働き、イオンものを購入し、イオン葬式をあげる。延命はできると思う。



だが、5年後、10年後を考えてみるとどうだろうか。

東日本大震災で、このまま関東オフィスを構えているとマズイということで、一時的大阪にもオフィス移動してきたが、

結局仕事にならないということで東京に戻ったのではなかっただろうか。

なんとか保っている状態が、閾値超えたら、どんなに手を加えようがどうしようもなくなる状態にならないだろうか。



個人的には国内から資金が流れてこないんだったら、中国からでもいいと思ってる。

心斎橋梅田周辺が中国ベンチャーキャピタルから出資一辺倒になっても、活路があるならやるべきだろう。

既に心斎橋なんぞ中国語がそこかしこで聞かれるのだから

日本語看板ではなく、中国語看板の方が多くなっても。



レオパレスに住んでいるのが中国人ばかりになり、靴を脱がないでそのままフロアに上がるようになり、室内なのにガムがそのまま捨てられるようになり、

ゴミ分別日本語で書かれているからということで守ることもされず、溢れでたとしても、

ダイバーシティ確保出来るようになれば、そのうち解決出来るだろうと思う。



追記

ここまでブクマついたの久しぶりで驚いてる。

コメントは読ませていただいてます



大阪の魅力を当人達よりも、アジア系観光客の方がわかっているというコメントがあったのだけど、

わかりやすい魅力を5分くらいで説明できなければ、それは住んだ人にしかからないということなので、

観光きじゃないと思っている。



個人的には大阪には観光なんて期待するのは止めて、

折角奈良京都など観光資源が既にあり対応出来るだけの経験値もあるのだから

そちらに任せてしまえば良いと思ってる。

両方出来れば良いが、そもそもお金ないのだから集中と選択はするだろう。

外国人大阪で働いてもらって、京都奈良観光に行ってもらっていいし、

開発合宿として京都で行ってもいいんじゃないか?




なので、大阪ビジネス向けでいいんだ。

スタートアップ以外にも仕事はあるだろうとコメントがあったが、

これから成長するかもしれないと思われなきゃお金まらない。

俺の仕事大事だが、俺の周りの奴らの仕事大事なんだ。



給料日本で一番高いと言われるキーエンス大阪にあるのも知ってる。

デザインIT系自分の知ってる業界ヤバイ

食品関係は人手がいるし、人もまだまだいるか大丈夫だと思う。



危機感があるのは、斜陽になってきた時点で、トップヤクザ系に取って代わられるかもしれないってことだ。

あとは心斎橋のアムウエイセミナー会場兼、見本を置いている所があるのだが、

生活が出来なくなるそうとかで、手を出す奴がそこら中にいる。



ボロボロの服着たおっさんが昼間から立ち飲み屋で飲んでて、

実は成功した事業家ってのはあったから、

自分が知らないだけかもしれない。でもメディアが取り上げない以上、知りようがないんだ。

2016-06-03

これからどうなるんだろうな、と思うことがある

たとえば、日本一般市民が持ち歩けないもの代表格として「銃」がある

「銃」は許可無く所持することは法律で禁じられているわけだが、これが概ね有効機能している理由は「銃を入手する手段が非常に限られているから」という一点に尽きる

日本にはもちろん銃砲店は存在するが、許可を得た者でなければ購入することは出来ない

では、もし「銃」が「その気になれば誰でも自宅で手軽に製造できるもの」になってしまったら、「銃」の所持を禁止する法律(銃刀法)はどの程度機能するだろうか?

あるいは「違法薬物」はどうだろうか

もし、法の制限もなく市販されている安全材料だけで自動的違法な薬物を製造するノウハウ確立されたら、薬事法麻薬取締法機能するのだろうか?

最初から例え話が飛躍したが、もう少し現実的レベルに落とし込むと、たとえば遠い将来プログラムの知識が一般市民にも定着して、誰もかれもがオープンソースから無断でソースを流用し、それを一切公開せず、自分以外ではせいぜいが自分家族や親しい友人程度にしか配布しないソフトウェアを、誰もが好き勝手に作れるようになったとしたら、果たしてオープンソースはどうなってしまうんだろうか?

プログラマだけどゲームを作ろうと思ったことがない

俺はゲームをやるのが好きだ。

小さい頃は何度ゲーム機を親に隠されたか覚えていない。

でも作ろうという気にはなったことがない。



プログラミング趣味ではじめた。

今は給料をもらってプログラムを作っているが、趣味としてもまだしっかり続けている。

それでも無い。

ゲーム系と便利系(?)では使う技術が違う(正直あまり知らない)から、まず入門の敷居の高さというものがあるんだが、

そもそもやってみたいなあ(願望)みたいなことすら思ったことが無い。

作りたいものが無くなってしまったとしてもゲームは多分作らないんじゃないだろうか。

俺は趣味プログラマとしては変なんだろうか。

ツイッターとかまとめブログでこんなのないかしら

※本当は何をやっているかは知らない

2016-05-31

Tehuが天才扱いされたのは中国の陰謀でも何でもない

なにかとおさわがせなTehu君。

彼は中学生時代入門書レベルのしょうもないアプリを作っただけでマスコミから天才扱いされ、急激に露出を増やしていった。

そのため、中国政府華僑などが中国人の影響力を上げるためにTehuという天才祭り上げたのではないか、という陰謀論もある。

事実、彼は小学4年生と偽り国政に介入し、一国の首相から最も卑劣行為とまで言われるだけの事件を起こしたことがある。

しかし、Tehuがマスコミ天才扱いされたのは陰謀でも何でもなく、本当にマスコミがTehuを天才だと思ったからだと考える。

本当の若い天才というのは、例えばフランスガロアとか、若くして数学界で実績を作ったような人間である

ガロアの実績は、数学プロ40歳、50歳までかかっても全員がたどり着けるものではない。

こういうのが本当の天才だ。

Tehuの実績というのは、中学生が作ったから「そうなんだぁ。えらいねぇ、がんばったねぇ」と言われるれだけで、

20歳、30歳で同じようなものを発表しようものならば、失笑どころか精神病扱いされるレベルである

プログラミングできる人からすればね・・・

このプログラミングできる人、というのが問題である

次の記事を読んでいただきたい。

なんと、プログラマーとして応募してきた200人中199人がコードを全く書けないというのだ。

http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm

であれば、プログラムとは無関係マスコミの連中は1000人に一人か1万人に一人ぐらいしかプログラムを書くことができないかもしれない。

本当にマスコミの連中には、Tehuが天才に見えたのだ。

これがTehuにとっての不幸の始まりだった。

彼はマスコミ無知が産んだ犠牲者なのだ・・・

2016-05-29

ソエンジニア

拡張性のなくてダサいプログラム書くエンジニアほんと勘弁して下さい。

あなた評価されたのは属人的くそ汚いプログラム自分でコソコソ直してさも仕事したように見せてたからですよ。

後始末やらされて腹が立った。