Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...
結論 まず最初に急いでる人向けに結論を先に書いておきます。2つの違いは以下の様に成っています。 yyyy 年(西暦)を出力 YYYY ある年における「最初の木曜日を含む週が、その年の第1週である」というルールで年(西暦)を出力。 例えば 2015/1/1 は木曜日なのでその週の日は日曜日〜土曜日まで全て2015年の第1週という解釈になります。この場合には2014年で有る、 2014/12/28(日曜)〜2014/12/31(水曜) の時でも YYYY では 2015 を返します。 きっかけ Podcast で Rebuild の第73回を聴いていたら日付フォーマットで yyyy ではなく、YYYY を使った為に Twitter の Android クライアントで不具合が出たという話が出てきました。 ※根本的な原因はこのルールでサーバ側が実装されていた為、 Android クライアントで正し
(あんま多くないみたいだから多分すぐ身バレしそうだけど書く) エンジニアの面接で実際にコードを書かせる会社が最近は多いみたいだね。でもウチでは特に面接で書かせない。というか今まで書いてきた、関わってきたコードなんて書類で大体分かるでしょ? それよりも、ウチではコードレビューをさせてる。 選考用にわざと少し突っ込みドコロの多いコード(30〜50行程度のコードを3〜4ファイル)を渡して、もちろんファイル構成自体へのレビューも含めて、どんな意見をその人が出せるかを問う。 レビュー用のコードは複数言語用意してて、一番得意な言語を選んでもらってる。 時間は1時間。資料と赤ペン、そしてネットに繫がったパソコンを渡して、いくらでもググってもらって構わない環境でレビューを紙に赤して貰う。 「コードレビュー」ってものに対しての認識だとか、コードを管理するための能力もある程度分かるし、すごく良い選考制度だと思
コンピュータとプログラミングを愛するすべての人に捧げるアセンブラ入門。700ページ以上にわたり、40種類のアセンブラを読み説きながら、アセンブラが現役であり続ける理由を考察します。アセンブラを読みはじめるのに、CPUの仕様書や、英語力なんて必要ないのです。研究者がこだわる「わかる喜び」、エンジニアがこだわる「動く喜び」を追い求める「熱意」こそが大切です。本書を片手にオンリーワン・エンジニアを目指しましょう。 【サポートはこちら】→https://www.shuwasystem.co.jp/support/7980html/4180.html 第1部 基礎編:まずはアセンブラに慣れよう 01 まずは基本操作を覚えて,アセンブラに慣れよう! 01.01 アセンブラを見てみよう 01.01.01 3つの関数だけを見てみる 01.01.02 まずは,目的を意識して読んでみよう 01.01.03 ア
今日よく知られているプログラミングの多くは、古い言語として取り上げられるに十分な歴史を持っている。PHPは20年、Pythonで23年、HTMLは21年で、RubyとJavaScriptは19年だ。Cなどは42年もの歴史がある。 誰もこの様な事になるとは思いもしなかっただろう。今でも出版されている、世界で最初のCの教本の共著者であるコンピューターサイエンティスト、ブライアン・カーニハンですらだ(C自体は同じ本の共著者であるデニス・リッチーによるものだ。彼は2011年に亡くなっている)。 「編集者とこの本を5000部売れたらなという話をしたのをなんとなく覚えている。もっといいものにも出来たが、学生が2014年になってもあの本を使っているなど考えもしなかったことだ」と、カーニハンは最近のインタビューで答えてくれた。 Cがあまりに長く使われていることから、グーグルが今でもCを使って解決する問題を
2014年7月30日より8月27日まで開催した、paizaオンラインハッカソン(略してPOH![ポー!])Lite「天才火消しエンジニア霧島 もしPMおじさんが『丸投げ』を覚えたら」ですが、どのような解法が有ったのでしょうか。 今回もPOH恒例の「解説図解」を、天才火消しエンジニア霧島が解説するとしたら、という体で書いてみたいと思います。(特に文体とか変えませんがw 最後に霧島壁紙DLが有るので是非最後までお読みください。) ■どのような高速化ステップがあるのか? 今回の問題ですが、実行時間に大きく影響する計算量別にみたアプローチでは、すべての組み合わせを出して、人数を満たして一番安い組み合わせを見つける全探索[計算量はO(2^N)]と、動的計画法[計算量はq = max(q_i) としてO(Nq) ](やり方によってはO(NM))による2種類があります。 また全探索を改良し、効率的な枝刈
これは Git (や Subversion などのバージョン管理システム) にコミットする時により良いコミットメッセージを書くための提言です。この提言は特にメッセージの一行目だけを対象とします。せめて最も重要な一行目だけでも良いメッセージを書いて欲しいからです。提言をズバリ一言で表すと 一行目には要求仕様を書け です。 背景 プロジェクトによっていろいろ慣習の差はあるものの、一般的には「コミットメッセージの一行目は変更内容の要約を簡潔に書け」とされます。特に Git は、各コミットメッセージの一行目だけを取り出してそれを一覧表示するなど、一行目を特別に処理する機能が多いので、一行目にできるだけ多くの情報を凝縮させることは重要です。またメッセージを一行しか書かない不届きな慣習のプロジェクトでは、十分な情報を持たないメッセージは無用の長物と化します。 良くないコミットメッセージ しかし私は、情
昔から「名は体を表す」と言ひます。クラスの名前がクラスの果たす役割と一致してゐるかどうか常に考へ続けませう。 ImageInfo, AccountData, etc. Info って何やねん? Data って何やねん? ImageInfo って Image とはどう違ふねん?? FooInfo や FooData よりも好ましいかもしれない名前の例: FooAttribute, FooProperty, FooMetadata, FooDescription FooConfiguration, FooSetting, FooParameter FooResult, FooStatistics, FooSummary FooBuffer, FooList, FooCollection, ... ProductListItem, TranslationTableEntry, etc. Prod
何だか名前が無駄にかっこいいんですが…。 HTML5やJavaScript、PHPにCSS、XMLなどなど…挙げだせばキリが無いプログラミング言語。分野ごとに違ったものがスタンダードをとっている為、プログラマーは複数の言語を学ばなければならないケースが多いです。そんな問題を解決するため、アメリカ国家安全保障局(NSA)がカーネギーメロン大学に出資して、1つの統一言語を作るプロジェクトを進めているんだそう。 伝説上のドラゴンの名前を取って、その名も「Wyvern」(ワイバーン)と名付けられたこのプロラミング言語は、アプリケーションやウェブサイト作りにおいて複数の言語が入り乱れている状況を改善するべく、開発が進められているんだとか。 開発者は以下のように語っています。 今日のウェブ・アプリケーションは全く統一性のない複数の言語で書かれており、ごちゃまぜ状態です。例えば、1つのウェブ・アプリケー
きっかけは、prototype と constructor と __proto__ の関係を再確認していたときでした。JavaScriptはこうだけど、これって、AltJSな言語の継承はどうなってるんだろうと思って試したくなりました。 ちょっと気持ち的に、なんだか宗教に入ったみたいに俺は JavaScript がわかったって声高に言う人、だいたいみんな、プロトタイプチェーンによる移譲がクラスベースの継承に束縛されていた思考のブレイクスルーなんだぜ、みたいに言うんだけど、いったいそれがどれほど素晴らしいものなんだろうと考えてしまい... もしプロトタイプチェーンがそんなに素晴らしいんなら、npm にあるほとんどのライブラリがチェーンを活かして作られてない理由が説明できない。もしかしたら、仕組みがいくら面白くても、実際のメンタルモデルにフィットせず、実は使い物にならないんじゃないか ----
ソフトウェアを正しく理解する唯一の方法はコードを読むことです。 ドキュメントを読めばそのソフトウェアが何を実装しているか分かりますが、どのように実装されているかまでは分かりません。 開発中に何らかのトラブルに悩まされたときや、効率的なコーディングをしたいと思ったとき、下位レイヤのソフトウェアを理解しておけば素早く対処できるシーンが多くあります。 ただ、コードを読むことは簡単なタスクではありません。 現代的なソフトウェアはそれなりの規模のコードを含んでいることがほとんどです。アーキテクチャ間の差異を吸収するためのコードなど、本質的な機能を理解する上ではあまり重要ではないコードも含まれています。 何らかの問題が発生してからコードを読もうと思っても、準備なしでは関連する箇所を探すだけでかなりの労力が必要な作業となります。 従って、普段からコードを読んでおくことが重要です。 また、コードを読むにあ
2014年08月15日19:14 カテゴリネタprogramming あなたにおすすめするたった一つの最高のキーボード みなさまこんにちは! VOYAGE MARKETINGにてエンジニアをしている@gomachan46です。社内の非公式サークルとして音ゲー部なるものを立ち上げて日々熱心に活動しております。 さて、みなさまキーボードはどのようなものをお使いでしょうか? エンジニアな読者のみなさまは、キーボードには特段の思い入れがあるのではないでしょうか。 そこで、VOYAGE GROUPのエンジニア達がどんなキーボードを使っているか見てきました。 高級キーボードの代名詞的なREALFORCEや、 矢印キーのない非常にコンパクトなHHKB、 エルゴノミクスデザインが斬新なKinesis エルゴノミクスキーボードスレで定番と噂のTruly Ergonomic 打鍵音が良い、打鍵時の感触が良い、
Class、Interface、Module-TypeScriptが提供する目玉機能を一挙紹介! 谷口慈行(Microsoft Student Pa...) クラス・インターフェース・モジュールは大規模な開発を行う際の強力な味方であり、TypeScriptの重要な機能の一つです。連載第3回目となる今回は、オブジェクト指向に欠かせないクラスについて紹介します。 クラスJavaScriptはプロトタイプベースの言語であり、静的なクラスではありません。しかし、多くのライブラリにて静的なクラスを再現する機能が実装され、利用されています。TypeScriptでは、静的なクラスが使用でき、多くのクラスベースの言語と同様のノウハウや実装方法を利用できます。 クラスを定義するには、 classキーワードを使用します。 class Person { private name: string; constru
JavaScript チュートリアル 初級編 JavaScript の基礎 JavaScript の第一歩 JavaScript の構成要素 JavaScript オブジェクト入門 JavaScript ガイド 入門編 文法とデータ型 制御フローとエラー処理 ループとイテレーター 関数 式と演算子 数と日付 テキスト処理 正規表現 インデックス付きコレクション キー付きコレクション オブジェクトを利用する Using classes プロミスの使用 JavaScript 型付き配列 イテレーターとジェネレーター メタプログラミング JavaScript モジュール 中級編 クライアントサイド JavaScript フレームワーク クライアントサイド Web API Language overview JavaScript のデータ構造 等値比較と同一性 プロパティの列挙可能性と所有権 クロ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く