まぁなんか適当に思うことを。 ■ハードの限界の露呈 ムーアの法則の限界はITのあり方を根本から変えると思う。この四半世紀、ITの現場レベルでは「困ったらハード増強」が一つの基本政策であったことは間違いない。ハードウェアの進歩は結果として、IT全体のパフォーマンスを上げ、結果として社会における有用性を増した。その一方でハードウェアの高進はソフトウェアの進化を止めていた側面は確かにある。 ソフトウェアのレイヤー、とくにミドルレイヤー〜アプリケーションのレイヤーでは、通信にしろ、分散処理にしろ、DBにしろ、OSにしろ、「業界全体としてトコトンできるレベルまでやったのか?」という意味では、実際はやっていないと思う。もちろん、各セグメントではそれなりに追求はしたけど、ドカドカ、金突っ込んで全部ひっくり返すというまでには至っていない。これはIT全体に言えることだけど、ソフトウェアにコストをかけるよりも
ここ数年でWebエンジニアを取り巻く環境は劇的に変わったと思う。 具体的に言うと、知的好奇心とやりがいを求めて仕事を選ぶことが当然になったように感じる。 Webエンジニアを取り巻く変化 5年半前、私が新卒で就職した時はまだ、エンジニアでも長時間労働はあたりまえで、エンジニアはビジネスサイドが考えた要件に従ってサービスを実装する人だ、という認識が強かったように思う。 一緒に大学院を卒業した優秀な友人たちはみんなメーカーか大手SIerに就職し、それこそWeb企業を就職の選択肢に入れている人はめずらしかった。 その後、リーンスタートアップやアジャイルの導入によって、エンジニアがサービスを考えて、実装・リリースし、データを取り、そのデータを元にまたサービスを改善していくことが当然となり、エンジニアという仕事はよりクリエイティブなものとなった。 また、オープンソースのプロダクトは当然のように色々なサ
先日、米マイクロソフトの Redmond キャンパスで行われたマイクロサービスのハックフェストに2週間ほどサポーターとして参加してきた。 そこで気づいた日本との技術導入の差の秘密について気づきをブログに書き留めておこうと思う。 ハックフェストというのは、お客様のガチの環境もしくはそれに近い環境/テーマで行うハッカソンだ。 例えば DevOps の文脈であれば、自動化したら効率化されそうな部分に関して、マイクロソフトの製品チーム、エバンジェリストがサポートしながら、お客様自身が我々と一緒にハックをして、実際にお客様の環境を自動化してしまうようなイベントだ。 Hello Worldやチュートリアルレベルではないので、お客様の環境が本当に自動化されてリードタイムが短縮されたり、我々にとっても、現場の難しい問題を知り、それに対してソリューションを作ることができるので、スキルアップまでできるので私は
Sun MicrosystemsがOracleに買収されたのが2009年ですから、あれから7年が経ちました。 2013年、Javaは大人になったはずだった 僕は2013年に「イマドキのJavaとORACLEについて - arclamp」という記事をアップし、次のように書きました。 そんなわけで「ORACLEはJavaにコミットしているのか?」という質問が無意味なぐらい、ORACLEはJava技術だけではなく、Javaユーザーの方を向いているのです。 もちろん、ORACLEは(SUNに比べて)イノベーションが足りないとかスピード感がないとか批判もできるのですが、これだけエンタープライズのユーザーが増えた中では、Javaの後方互換性を保ちつつ、着実に進化していく、つまりは引き続き安心してJavaを使うことができるというのは大きな価値でしょう。 そう、Javaは本当の意味でオトナになったのかもし
対になる言葉 comment out / uncomment コメントにする、コメントを解除する。 comment out は into a comment の意味。 comment だけならコメントする、評するの意味になる。 add / remove 追加する、削除する。 リストなどに値を入れる場合などにも使われる。 特に、末尾に追加する場合は append、先頭に追加する場合は prepend を使う。 Add A to B で、A を B に加える。 Remove A from B で、B から A を取り除く。 start / stop 開始する、止める。名詞だと開始、停止。 静止状態から動き出す感じが start。 途中からでも使える。 バーコードや通信の符号で StartCode / StopCode という使い方をする。 begin / end 始める、終わる。 start
SQL、書いてますか? こと大規模データ処理の分野においてはSQLはもはや標準インターフェイスであり、 分析やらバッチやらに関わっている皆様は日々大量のSQLクエリーを生産していることと思います。 そこでちょっと気になるのが、 SQLのコーディングスタイルってどうするのが一般的なんだっけ……? という点です。 イマドキはSQLなんてO/R mapperに吐かせることが多いからなのか、 それともコードを広い範囲で共有することがそもそもないからか、 SQLのコーディングスタイルについて見聞きすることは他のプログラミング言語に比べるとだいぶ少なく、 いまいち決定版と言えるスタイルがないなと感じています。 そんなわけで本日は、SQLのコーディングスタイルについての意識を活発化させるべく、 クックパッドでわたし(青木)が使っているコーディングスタイルから特徴的な点を紹介したいと思います。 特に、分析
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? プロジェクトが進行するにつれて増える『負債』 長いプロジェクトに携わっていると、技術的負債をいつ返すのかが課題になってきます。 リファクタリングはいつの時点でやるのか、これは長いプロジェクトを運用していく上で問題になっていきますが、今回は負債の種類を整理し、それぞれどう対応をしていけばよいかを考えていきたいと思います。 私達の開発では常に時間が足りない 最近読んだ、「アジャイルサムライ」という本には下記のようなことが書いてありました。 (開発における)3つの真実 プロジェクト開始時点にすべての要求をあつめることは出来ない 集めたところで
IBM、自社のJavaVMをオープンソース化すると発表。COBOLやPL/IのランタイムをJavaVMにも。Java 9と同時に正式版リリースを予定。JavaOne 2016 IBMは、これまで自社で開発してきたJavaVMをオープンソース化すると、サンフランシスコで開催されていたJavaOne 2016で発表しました。 JavaOne 2016の3日目の基調講演に登壇した同社Distinguished Engineer兼Java CTOのJohn Duimovich氏は、冒頭で聴衆に「With Community」(コミュニティとともに)と呼びかけたあと「Make Java Great Again」(Javaを再び素晴らしいものにしよう)と書かれたキャップをかぶって見せました。 これはIBMが、コミュニティと一緒にJavaを進化させていくのだという心意気を示したメッセージのように受け止め
ソフトウェア作ってるとどうしようもないひどい状況になったり、知らないプロダクトを読んだらひどい状況になってたりすることがあって、どんなときにそういうことになるのか、必ずそうなるのか、そうなることを予見できないか、完成したソフトウェアを見てひどいかどうか判定できるか、とか気になってる。 作ってる途中に気付けないものか 作る前に気づけることはあるかひどいのは分かってるけどやるしかないときにだけひどいものができるのか時間はあるけどやる気がないとそうなるのかプライベートでなんかあるとそうなるのか書いてから時間が経つと大体のものはそうなるのかコードは正しくて読者が使われてるパターンに理解がないだけなのかパターンの使い方が変だと読めなくなるのか当時と環境、社会情勢や実行環境、データ量、などが変わってひどくなるのかいい技術が発明される前なのでしかたないのかいい技術が発明されたときにキャッチアップすべきか
実は私、安田生命保険相互会社(今の明治生命保険)に勤めていたことがあります。枝野官房長官が皇紀何年かご存じなかったというニュースがあって思い出して検索していたら、懐かしいことがWikipediaに書かれていました。 皇紀と安田生命保険 安田生命保険(今の明治安田生命保険)は、1970年代に個人情報管理のシステムを構築することになった。その際システムの担当者は、20数年後に生じるであろう2000年問題をすでに予測していたのか、あるいはシステム上で都合がいいからなのか、「年」の処理に西暦や元号ではなく皇紀を使用した[6]。そのことにより、安田生命保険は2000年問題を(皇紀の下2桁が00になるのは2040年なので)40年先送りしたとされる。 これだけでは分かりませんね。1940年をゼロとする皇紀を採用してどうして2000年問題を40年先送りできるのか?生保の扱う生まれ年なんて1940年(昭和1
更新 神武天皇即位紀元(じんむてんのうそくいきげん)は、初代天皇である神武天皇が即位したとされる年を元年とする日本の紀年法である。『日本書紀』の記述に基づき、元年を西暦(キリスト紀元)前660年としている。 通常は略して皇紀(こうき)という[1]。その他、紀元、神武紀元、皇暦(こうれき)、神武暦(じんむれき)、日紀(にっき)[2]等の名称がある。 昭和13年(1938年)に発行された五十銭紙幣 神武天皇即位紀元で「紀元二千五百九十八年」と記載されている 日本では明治5年(1872年)に神武天皇即位紀元を制定するまでは、紀年法として元号や干支を使用(あるいはそれらを併用)していた。明治維新後、政府は西洋に倣って、暦法を改め太陽暦を採用するとともに、紀年法として紀元を使用することにした。 明治5年(1872年)、政府は太陰太陽暦から太陽暦への改暦を布告し、その6日後に神武天皇即位を紀元とするこ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 家帰ったら『主要じゃない200くらいのプログラミング言語の雑な紹介』書いてやるから待ってろ — NANAKASE Kotoko (@make_now_just) 2016年7月1日 このツイートがことの発端でした。元ネタは、 主要なプログラミング言語 5種類を徹底解説! - Programming share 主要なプログラミング言語8種をざっくり解説 - shi3zの長文日記 あたりです。上の方の記事の冒頭に、 現在プログラミング言語は、200種類以上存在していると言われています。(実際に利用されているプログラミング言語の数
「Project Bloks」は、プログラミングに取り組む際に必要な基礎的なコンピューティングスキルを子供たちに教えるための、触れて学ぶ新しいGoogleのプラットフォームだ。 ブロック(積み木)を使用して子供たちにコーディングを教えるというシンプルなコンセプトに基づいており、これまでにもプログラミング言語の概念を学ぶMITの「Scratch Blocks」などのプログラムで試行されている手法だ。子供たちがコンピュータの前に座ることが必要なScratchとは異なり、Bloksは実際にブロックを使用する。Googleはこれを「Pucks」や「Board」と呼んでいる。 Google以外にも、AmazonやAppleといった大手テクノロジ企業が、次世代のコンピュータプログラマーを育成する教育用プログラムを開発している。他のプログラムとBloksの大きな違いは、従来のコンピュータインターフェース
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Javaにはたくさんのフレームワークやライブラリがあります。 新規のプロジェクトでは何を採用するか検討する必要がありますが、最近Javaを始めた人や長い間レガシーなシステムをやっていて新しい技術に触れる機会がなかった人にとっては、たくさんの候補の中から選択していくのは大変なのではないでしょうか。 そこで、大部分のプロジェクトで無難に対応できるような鉄板ともいえる構成をまとめてみました。 想定システム 業務系システムと呼ばれるもの。金融系、人事系など、比較的お堅い感じのシステム メンバーが複数人で中規模以上のプロジェクト Web
私はソフトウェアの専門家としてお答えすると、ウォータフォールは何のメリットも無いというのが私の意見であることを共有しておきたい。そういう意見に至った経緯をこのブログで書き留めて置きたい。 尚、これは所属会社の見解ではないことは明確にしておきます。 サム・グッケンハイマーの一言 私は DevOpsのエバンジェリストで、それ以前からアジャイル開発をかれこれ15年ぐらい実施し、導入の支援をしている。私はかつては、日本の環境の制約の中で如何にアジャイル開発のメリットを最大に引き出すか?ということを考えていた。 ウォーターフォールに対する立場も、真っ向から否定するものでもなく、現状もあるし、それに慣れている人もいるし、実際ウォーターフォールでも失敗しない人も居る。だから、人にウォータフォールのメリット・デメリットを聞かれた時も「変化しないものに関してはウォータフォールはいいのかもしれない」と回答して
はじめに "Excel C#" や "Excel VB.NET" でググった新人プログラマが、古い情報や間違った情報で茨の道を選ばずに済むようにと思って書きました。 この記事は、Windows で Visual Studio を使用したデスクトップアプリケーション開発を想定しています。 VB.NET でも作成可能ですが、サンプルコードでは C# 6.0 を使用しています。どちらでもいいなら C# を使いましょう。 C# または VB.NET でExcelファイルを読み込むには Google検索の罠 2016/4/11現在、日本版Googleで 「Excel C#」で検索 または「Excel VB.NET」で検索 すると、1ページ目に出てくるのはすべてMicrosoft.Office.Interop.Excelを使ったCOM参照による方法です。 これはどういう方法かと言うと、Microsof
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く