クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
![クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜](https://cdn-ak-scissors.b.st-hatena.com/image/square/b13227ee7bbc753ba74958e737c902d28ea61f10/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fcodeiq2015-151223035956-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
一般的によく知られている SHA-256 や MD5 などのハッシュ関数は非常に単純な設計となっており、非力なパソコンや組み込み機器、スマフォなどでも高速に計算できます。 しかしながらその一方で、ハッシュ関数を手当たり次第に計算し、もとの入力値を復元するいわゆる「ブルートフォース攻撃」が容易であるというデメリットがあります。 特にこのような SHA-256 や MD5 といったハッシュ関数は、GPU を用いるか、もしくは専用のハードウェア (FPGA もしくは ASIC) を製作することで非常に高い効率で計算(攻撃)ができてしまうことが知られています。 そのため、GPU ないし専用ハードウェアを用いたとしても、攻撃効率の改善が難しくなるような新たなハッシュ関数がいくつか提案されています。 その中で比較的古く (2012年ごろ) に開発され、他のハッシュ関数にも影響を与えている「scrypt
Photo by Matt Ryall こんにちは。谷口です。 ITエンジニアの皆さんや、プログラミングを学習中の皆さんは、プログラミング問題を解くのはお好きでしょうか?(お好きな方が多い……と信じております……) プログラミングが好きな方の中には、「業務とは直接関係ないけどプログラミング問題をもっと解きたい!」また、「プログラミング初心者で勉強中だから、問題をたくさん解きたい!」という方もいらっしゃるかと思います。 また、競技プログラミングがお好きで既にばりばり挑戦されている方や、競プロに挑戦してみたいけど「まだ初心者だしいきなり挑戦するのはハードル高いな……まずは自分の実力アップのために練習したい!」という方も、ちょうどいいレベルのプログラミング問題が必要になってくるかと思います。 (※競技プログラミングとは、一般に、出題されたプログラミング問題を制限時間内に解いて競い合う競技大会のこ
コードを書くことコードを読むことコマンドラインをほぼ常に使うこと(「使わないわけないだろう」と思う人が多いと思うが、それができない人はそれよりも多い)ライブラリも可能な限り読むこともっとコードを読むことコピペしてもいいけど、コピペするコードの意味は絶対に把握すること自分の勤め先がクソなら、会社は辞めること(ある程度技術力があればどこでもやっていける)英語が読めること数学的・論理的思考をみにつけることオープンソースのコードを読むことなるべく根本的な概念を知ることひとつの言語に拘らず、何個も触ること(ひとつのパラダイムに固執する可能性がある)UNIX/Linuxをメインでつかうこと流行を追いかけ過ぎないこと(結局ソフトの上で踊らされているだけ)自分の知らない分野はいくらでもあると心得ること井の中の蛙にならないように心がけることマネジメント視点も取り入れること「他人のため」を考えること(独りよが
Photo by Nic McPhee こんにちは。谷口です。 ITエンジニアの皆さんは、競技プログラミングに参加されたことはありますでしょうか? 競技プログラミングとは、一般に、出題されたプログラミング問題を制限時間内に解いて競い合う競技大会のことです。出題者側はテストデータを使い、回答が正しいかどうか判定されるといった流れで行われるものが多くなっています。 今回は、競技プログラミングを実施しているサイトを10件ご紹介します。 ■競技プログラミングサイト ◆1.TopCoder http://www.topcoder.com TopCoderはTopCoder社が主催する、世界中で約60万人の人々が参加する世界最大規模の競技プログラミングコンテストです。 TopCoderの各種目に参加すると、プログラミングスキルを表すレーティングと呼ばれる数値が付けられます。一定以上の高いレーティングを
Nick Hardiman (Special to TechRepublic) 翻訳校正: 川村インターナショナル 2015-03-20 06:00 コンピュータ言語を1つ挙げろと言われたら、多くの人は広く知られた汎用手続き型言語を選ぶだろう。学校で教わる「C」「Java」「Python」などのはずだ。しかし、いつも名前が挙がるこれらの言語は、コンピュータ言語という氷山の一角でしかない。キーワードと構造を使って情報を伝達するものは言語と言える。ここでは、検討すべき10のクラウド言語を紹介する。 1. SQLデータ言語 誰もが認めるところだが、SQLは何十年にもわたってデータ言語の王者として君臨してきた。非リレーショナルデータベースサーバでさえも、何らかのSQLに対応する。クラウドでも、他のすべてのIT分野と同様、至るところでSQLが使われている。 SQLにまつわるジョークを1つ紹介しよう。
私は、プログラマとして30年以上仕事をしてきた中で、学んだことがあります。そのいくつかを以下にご紹介します。もっと挙げることもできますよ。 実物を見せないと、顧客の希望は分からない。 このことは最初の仕事で学びました。顧客は、実物を見るまでは、何が本当に必要なのかがよく分かりません。言葉で長々と説明するよりも、機能検証のためのプロトタイプを提示する方が確実に役立ちます。 十分な時間があれば、あらゆるセキュリティは破られる。 現代社会において、セキュリティを保つことは信じられないほどの難題となっています。プログラマは常に完璧を求められますが、ハッカーは1回でもハッキングができれば成功なのです。 セキュリティが破られた場合、事前にその状況に備えた対策を講じているかどうかで結果が変わってくる。 最終的にセキュリティが破られることを想定する場合、その時に起こることに備えて対策を立てておく必要があり
Level up your coding with games, puzzles, and challenges.
2016/07/15の「Growth Hack Night 〜エンジニアが語るプロダクトの立ち上げとグロース〜」の発表資料です。 http://d-cube.connpass.com/event/35259/
あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし
HackHack is an object-oriented programming language for building reliable websites at epic scale Hack reconciles the fast development cycle of a dynamically typed language with the discipline provided by static typing, while adding many features commonly found in other modern programming languages. Hack provides instantaneous type checking by incrementally checking your files as you edit them. It
私は色んなプログラミング言語を触るのが病的*1に好きで、どの言語をどういう場面で使うのが良いのか凄く興味があります。 そこで、今の私の知識範囲でのそれぞれのプログラミング言語の使いどころを(自分用の整理もかねて)書いてみます。 C/C++ - C=OSやミドルウェア、C++=効率化のための再実装 安直に「メモリとスピードが第一優先のとき」と思いたいところですが、同等程度のスピードでもっといい言語はいっぱいあります。計算集約的ならJuliaとか、オブジェクト指向で組むようなソフトならD言語とか。なのでまずC言語は、Swigみたいのを使って他の言語の拡張ライブラリを書いたり、システムコールを使ってOSやミドルウェアを書くときじゃないかと思います。C++はテンプレートを駆使したりして効率を維持しながら抽象度の高いコーディングをするような場面がしっくり来ると思います。既に他の言語で実装したソフトウ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く