Tech spending shifts to meet AI demand, forces a 'reshuffling of skills' for workers
![IT news, careers, business technology, reviews](https://cdn-ak-scissors.b.st-hatena.com/image/square/1bfdebacc97b2f4bd86030bb24cf8cb328ff1688/height=288;version=1;width=512/https%3A%2F%2Fidge.staticworld.net%2Fctw%2Fcomputerworld-logo300x300.png)
.NET開発者中心 厳選ブログ記事 LINQの仕組み&遅延評価の正しい基礎知識 ―― ブログ「neue cc」より ―― 河合 宜文 2011/08/10 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 本稿では、LINQについて基礎から理解することを目的に、その仕組みと遅延評価について最初から解説します(※「何をもって最初/基礎とするか」は人により異なると思いますが、本稿の解説はあくまで、わたしなりの基準における基礎です)。 なお、ここではLINQ
この項目では、コンピュータソフトウェアについて説明しています。ゲームソフト『ウィル・オ・ウィスプ』については「ウィル・オ・ウィスプ (ゲーム)」をご覧ください。 WISP(ウィスプ)とは、かつてマイクロソフトが提唱していた、動的(ダイナミック)なウェブコンテンツを含み、かつセキュリティ面でのサポートが必要な軽量なウェブサイトの構築のためのソリューション[1]。 LAMPへの対抗として提唱された概念であるが、提唱当時のようなオンプレミス環境での構築が減少し、クラウドプラットフォームへの移行が進んだことと、マイクロソフト自身、サティア・ナデラの指揮のもとオープンソースコミュニティへの積極参加の方針に転換したことで、当時提唱された概念は過去のものとなっている。 2019年時点でマイクロソフトが自社のAzureプラットフォーム上でDockerコンテナを介してUbuntu環境下でのLAMP構築を選択
以下コードにより計測 class Program { static void Main(string[] args) { Random rnd = new Random(); Console.WriteLine("Hit enter to start"); Console.ReadLine(); var stopwatch = Stopwatch.StartNew(); for (int i = 0; i < 10000; i++) { // 64KB のテキストをランダム文字で生成 StringBuilder sb = new StringBuilder(); while (sb.Length < 65535) { sb.Append('a' + rnd.Next(26)); } } stopwatch.Stop(); Console.WriteLine(stopwatch.Elapse
最新バージョンはコチラです。 Milkode(ミルコード)はソースコード検索エンジンです。手元にある大量のソースコードを登録し、ブラウザで閲覧したり検索することが出来ます。20000ファイル位であれば1秒位で特定の一行を見つけることが可能です。 Rubyで書かれており、使っているライブラリも含めてRubyGem経由でインストールすることが出来ます。 OSX, Unix $ sudo gem install milkode Windows(32bit) $ gem.bat install rroonga --platform x86-mingw32 $ gem.bat install milkode Windows(64bit) ※ 事前に64bit版rroongaのインストールが必要です。 $ gem.bat install milkode詳しいインストール方法はホームページをご覧下さい。
サーバーサイドJavaScriptのNode.jsが先週バージョンアップし、安定版がV0.4.10に、非安定版がV0.5.2になりました。V0.5.2版では、公式なバイナリとしては初めてとなるWindows版のnode.exeが公開されています(追記、Windows版は正確にはV0.5.1からでした)。 6月末にマイクロソフトがNode.jsの開発を支援することを明らかにした際に、ネイティブなWindows版の登場がアナウンスされていました。あれからわずか1カ月で登場したことになります(参考「マイクロソフト、Node.jsをWindows Azure対応にするため開発元を支援」)。 Windows版V0.5.2のnode.exeは以下のURLからダウンロード可能です(最新版は、Node.jsのWebサイトのダウンロードのコーナーを参照してください)。 node.exe Windows ex
DailyJS - A JavaScript blog. Google CodeやGitHubをはじめさまざまなプロジェクトホスティングサービスが存在する現在では、オープンソースプロジェクトはとても簡単にはじめられる。ただし、そういったプロジェクトのすべてが優れた結果を残せるわけではない。大半のプロジェクトは終わらせることもできず、ただ誰にも触られることのない存在になっていく。 プログラマであれば誰しもより優れたプログラマになりたいと考えるだろう。WebにはプログラミングテクニックやTIPS、デザインパターンやアンチパターンなど、さまざまなプログラミングに関するノウハウがあり、多くのプログラマがそうしたノウハウを活用している。しかしながら、いくら努力してもいまいち自分のスキルの上達を感じられない方も少なくないだろう。 以前からよく言われていることだが、Alex Kessinger氏が7月2
Oracle Database 10gから搭載されている自動ストレージ管理機能「Oracle Automatic Storage Management(ASM)」は、Oracle Databaseの目玉機能の1つだ。ストレージ機器の機能に依存せず、高信頼/高可用なシステムを実現できるとあって、すでに世界中で幅広く利用されており、Oracle Real Application Cluster(RAC)環境での利用率は約6割に、Oracle Database 11gでの利用率は約9割に達する。また近年では、Oracle Exadataを支える技術基盤として多くの企業で利用されている。今回は、Oracle Database/Exadataのユーザーだけでなく、これらの導入を検討中の方にもぜひ知っておいていただきたいOracle ASMの動作の仕組みを、日本オラクルの堅田康祐氏(テクノロジー製品事
物事を文章で説明する仕事をしている以上、写真や動画像に頼りたくないという気持ちがある。しかし、今回の件については冒頭から動画を紹介する。56秒で済むので、以下の動画を見ていただきたい。 Roll-to-roll production of Thinfilm Memory at InkTec 「輪転機が回っているだけではないか」と思われたかもしれない。実際その通りなのだが、印刷されているものが新聞やポスターなどではなく、「書き込み可能な不揮発性メモリー」である点が画期的である。 輪転機によって印刷されたフィルム上には、ポリマーを使った層が作られており、ここにデジタル・データを書き込み、保持しておける。ポリマーとは、プラスチックやポリエチレンなどに代表される高分子の有機化合物(炭素が入っている)を指す。 ポリマーを使って印刷する工程と、シリコンを使って既存の半導体製造装置でメモリーを製造する工
データベース設計の話をしていて、「連番の主キーは業務上意味のないデータだから、テーブルに持たせるのはムダだ。複合主キーにするべき」という意見を聞く機会がありました。 脊髄反射で「ないわー」と思ったものの、理由を上手く説明できなかったので、改めて考えてみました。 その結果、次のような結論に至りました。 単一の連番カラムによる主キーと、複合カラムによる主キーとで迷ったら 実装をシンプルにし、業務変更の影響範囲を小さくするために、複合主キーを避ける というわけで、調べたことや考えたことをメモしておきます。# 間違っている部分があれば、教えていただけると嬉しいです。 (2011/07/25 追記)複合主キーとサロゲートキーについては、要件やシステムに依存して多様な判断がありうると思います。にもかかわらず、「避けるべき」というタイトルにしたのは極端でした。申し訳ありません。ご指摘下さった皆さん、あり
はじめに 仕事で Subversion と Trac を使っていますが、残念ながら、活用できているとは言えません。継続的インテグレーション(以下CI)?何それおいしいの?って状態。そもそも CI やるために Trac とか諸々導入したはずなんですけどね…。 CI 導入しなきゃと思い続けて結構な期間が経過しました。その間、定期的にリリースビルドを行っていたんですが、コミット忘れや修正し忘れにより、何度もビルド環境がぶっ壊される…。その度に手作業で修正してたんですが、さすがに堪忍袋の緒が切れて CI 導入を開始しました。 やりたいこと ひとまず次ができれば OK。 Subversion を定期的に監視して、変更があったらビルドとテストを実行。 失敗したら管理者にメールを送信する。 ビルドぶっ壊した人にメール送る。 CI ツールは Jenkins、ソースコード管理システムは Subversion
便利タスクを作っていく上で、実行時に処理対象を指定したりできた方がいい、ということでユーザー入力を受け付ける方法を調査した。 方法としては2つあって、どちらもプロパティ(変数みたいなもの)にユーザーからの入力を代入するというもの。 nantコマンド実行時に -D オプションでプロパティ名と値を指定する ユーザー入力を受け付けるカスタムファンクションを作成する 1つ目の -D オプションによるプロパティ定義は、buildファイルにpropertyタグを書くのと同じ効果。こんな感じで指定する nant タスク名 -D:プロパティ名=プロパティ値 nant greetings -D:message=Hello! これは、buildファイルに下記のタグを書くのと同じ。 name="message" value="Hello!" /> 実行時に入力を受け付けるにはこれで十分なのだけど、せっかく調べた
という質問をある方からうけたので、twitter でつぶやいてみたら、 エラーメッセージの見方 OSコマンド→SQL*Plusコマンド→アーキテクチャ(習うより慣れろ派) 壊し方、で、治し方 DBを、作って、壊して、元に戻す いろいろなファイルとプロセスの壊し方と直し方 アラートログとめぼしいv$系、あとは『概要』のマニュアル読破あたりでしょうか。あとは担当システムのDBの定常状態を常に見てもらって、感覚をつかんでもらいます。 といったご意見をいただきました。とりあえず、今日はメモまで。 その後、脱線?して @kouji_s_0808 機械、好きな奴は、分解だけ。機械を、操れるやつは、分解と再構築。未来の機械を作る奴は、再構築に、何かが、くわわる。そんな、かんじ?w Twitter. It's what's happening. とか @Guutara 新たに加えるのと同時にこれって、いら
前回のエントリいまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味についてのブクマのコメントで、 すごく今さら感がw 最近の開発はフレームワーク使うことが多いようだから知らなくても作れちゃうと思ってたけど違うのかなあ。 という感想をいただきました。実際に、SI業界で多くの方々、特に、アプリケーション開発の下流工程を担当しない層の方でこのように考えている方はほんとうに多いのではないかと思います。確かに最近ではSalesforceなどの製品もありますし、CRUD処理を行うような見栄えの良い業務アプリケーションは非常に簡単に開発できるようになっているということはあります。また、Visual BasicやMS Accessなど気軽にアプリケーションを開発できるツール類は昔からありました。そして、業界構造などの理由からやむを得ない側面があるとはいえ、SIerの提供する多くの
今も昔もこの業界は次々に新しい技術やプロダクトが登場しています。Webアプリケーションの技術だと今ではHTML5やNode.js、MongoDBに代表されるNoSQLなどでしょうか。何かしら興味を持つと「どこかに使ってみたい欲」にかられます。実際に何か作ってみると習得が早いのは確かですが、仕事のプロジェクトにいきなり適用するのは何かとリスキーで周囲にも影響を与えてしまいます。また、一般向けに公開するのは萎縮してしまうという人も少なくないかと思います。 私は新しく技術や言語を試す際、まずは自分の身の回りに近いところから適用するようにしています。たとえば、私は最近Clojureというプログラミング言語に注目しているのですが、使い捨ての作業スクリプトをはじめ、社内向けのちょっとしたアプリケーションをClojureで書いています。また、一時期DSLを勉強していてANTLR(ANother Tool
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー ステキな英文の記事を見つけました。10 ways to improve your programming skills。どれも自分が実践していることでもあって,「なるほどな−」と思うものばかり。 たっぷりプログラミングしたあとは,節電も忘れずに:-)。 1. 新しいプログラミング言語を学ぶ 新しいプログラミング言語を学ぶことで,新しいプログラミングに対する考え方に触れることができる。そのプログラミング言語が今まで知らなかったパラダイムに根ざしている場合ならなおさら。新しい手法の多くは,すでに知っている知識になぞらえることができるので,習得はそれほど難しくないはず。 2. やる気をそそら
システム開発や保守、運用の現場においてドキュメントは必須のものです。 しかし、ドキュメントの作成・維持には多くのパワーがかかるため、ドキュ メントが存在しない、資料が古いままになっているなどといった現状を多く 耳にします。 本勉強会ではこれらのドキュメントでよく利用される「図」にフォーカスし、 みるみるうちに図を作成できる「blockdiag」をご紹介します。 「blockdiag」はシンプルなテキスト記述からブロック図、ネットワーク図などの 画像ファイルを出力可能なオープンソースの画像生成ツールです。書き やすさ、メンテナンスしやすさを中心にデザインされており、図を作るのに 配置や並べ替えに苦労する必要はありません。 blockdiagのサンプルはこちら このような特徴を持つ「blockdiag」と、シンプルな記述でドキュメントを作成 するツール「Sphinx」を組み合わせることによって
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く