---【追記:2025-02-01】--- 雑誌「数学セミナー」でおなじみ日本評論社さんからのお声がけで「基礎線形代数講座」が書籍化されました。全体的に細かなブラッシュアップ、少しですが加筆もしています。やっぱちゃんとした紙の本でじっくり読みたい!って方など、こちらもどうぞ。 www.nippyo.co.jp ---【追記:2022-04-01】--- 「基礎線形代数講座」のPDFファイルをこの記事から直接閲覧、ダウンロードできるようにしました。記事内後半の「公開先」に追記してあります。 --- 【追記ここまで】--- みなさん、はじめまして。技術本部 開発技術部のYです。 ひさびさの技術ブログ記事ですが、タイトルからお察しの通り、今回は数学のお話です。 #数学かよ って思った方、ごめんなさい(苦笑)数学の勉強会 弊社では昨年、有志による隔週での数学の勉強会を行いました。ご多分に漏れず、

mはげ @Tw_Mhage 30年前の名著「数値計算の常識」を読んでたらBASICで0.01を10000回足したら100.003になるとか書いてあった。まあ昔のPCなんてそんなものかなと思いながら、Visual Studio 2017で試してみたら同じ結果だったw pic.twitter.com/HBwJhlhZjc 2018-11-17 23:20:07 S (ツイートはツリー全体をご確認ください) @esumii @Tw_Mhage @masanork ご参考まで、添付画像のような例もあります。JavaScriptではなくほとんどの言語でも同様です。浮動小数点演算はもう長らく変わっていないか、むしろGPU等では倍精度ではなく単精度に落ちているケースも多いと思います。唐突に失礼しました。 pic.twitter.com/JWHW1p616V 2018-11-17 23:37:36

(あらすじ)レビュー依頼がきたので少しレビューしたあと改造し倒す記事です。中国のロボットおもちゃ CADY WIGI中国の通販サイトとか見てると、ロボットのおもちゃが結構あるんですよね。それもただ眼が光るとか音が出るじゃなくて、ちゃんと自走したりプログラムとかできるような機能がついてるやつ。いっこ欲しいなと思ってたんですけど、いかんせん見た目がこんな感じなんです。 日本で売ってるロボホンとかと全然方向性違うじゃないですか。かわいいのが唯一の正義とは言いませんけど、もうちょっと何とかなったのではないか。 という感じで微妙に食指が動かずにいたところ、タイミングよく通販サイトのGEARBESTから「レビュー書いてくれたら商品あげるよ」というメールが来たので、それならというので送ってもらうことにしました。 (商品ページ)JJRC R6 Intelligent Programmable RC R

こんにちは、京大生ブロガーのゲーテ(@goethe_kyodai)です。プログラマーなのに「プログラミングに数学は必要ない」なんて思っちゃったりしてませんか? プログラミングの背景には、コンピュータ・サイエンスという学問があります。そのコンピュータ・サイエンスの理解には数学が必須です。 「数学が必要ない」と本気で思ってる人は、コンピュータ・サイエンスが分かってなくてもできるレベルの仕事を任されているだけです。仕事のレベルが限定されるので一流プログラマーにはなれません。 プログラミングをやっていると、数学が大切だと思うことがたくさんあります。 プログラミングと数学の関係を踏まえて、プログラミングに数学が必要な理由 を説明します。プログラマーは必見です。 スクールの無料体験記事 CodeCampの体験記事 侍エンジニアの体験記事TECH ACADEMYの体験記事TECH BOOSTの体験

りみたる @coo_kun @erukiti いいですね!わかりやすそう、早速注文しました。 これですよね! スラスラ読めるPythonふりがなプログラミング amzn.to/2t5FC4Y スラスラ読めるJavaScript ふりがなプログラミング amzn.to/2LRJFKc pic.twitter.com/X4MDF9AXGZ 2018-06-15 10:51:59

コンピュータに最初に触れたのは、中学1年のときに家にパソコンが来たことでした。父親がコンピュータソフトウエア開発の会社を立ち上げて、家に開発用のDOS/Vパソコンがやって来たのです。 悔しいことに、その時点ではプログラミングにはあまり興味を持ちませんでした。単なるゲーム機の一種としてDOS/VやWindows 3.1のパソコンに触れていたというのが実情です。高校まではプログラミングは全くやっていませんでした。 世の有名なプログラマーは、たいてい小さい頃から街頭でパソコンを触っていたりマイコン雑誌を読んだりしています。それに比べると、コンピュータにあまり興味を持たなかったことにコンプレックスや一種の後ろめたさを感じています。 留学でコンピュータの重要性に気づく 1996年に国際基督教大学(ICU)に入りました。ICUには教養学部(リベラルアーツ)という一つの学部しかありません。「最初の2年間

パラメータを決める 次に関数に渡すパラメータを決めます。 関数の名前で表現されている処理を実現するには、どれだけのパラメータがあればよいか? と考えてみましょう。 今回の例でいえば「お客さんの年齢」と「日付」があれば、すべてのチケット価格が計算できます。 ということで、age と date の2つのパラメータを渡すことにします。 function calculateTicketPrice (age, date) { } パラメータの名前も、なにを表しているかわかるようにしてくださいね。 くれぐれも「hensu」とか適当な名前をつけたり、同じ変数にぜんぜん違う値を繰り返し代入したりすることのないようにしましょう。 テストを書く 次にユニットテストを書きましょう。 テストは常に更新される仕様書です。 業務ロジックをテストに説明させておけば、関数の仕様をコメントにいちいち書く必要などありません。

こんにちは、本業の稼働が 100%フロントエンドになっちゃっていてそろそろデータをいじりたいヌノカワです。 先日、qiita で日本一マクドナルドから遠い場所という記事を見つけて読んでみたんですが、探索する過程が意外とアナログなところも含めて面白かったです。 ただ、800 を超えるいいねをもらってるのを見て、謎のジェラシーと対抗心が生まれ、地理空間演算で「本当に」日本一マクドナルドから遠い場所を突き止めてみようというのが主旨です。 qiita の当記事では、マクドナルドの地点からバッファー (地点を中心とした円) を生成して徐々に半径を広げ、かすかに残っている陸地を (目視で!) 絞って行くというハートウォーミングな内容です。そこをもう少し論理的に探索してみましょう。 私が考えたアプローチはこんな感じでございます。 1.マクドナルドの地点を母点としたボロノイ図を生成する 2. ボロノイ

プログラム問題としてあまりにも有名になってしまったので、今ではあらゆる言語のFizzBuzzがそろっています。面白いですね。 深層学習 で FizzBuzz この記事の読まれている大半の方は、FizzBuzzを書くのにあまり苦労しないでしょう。 しかし、あなたが何かの拍子でプログラムの書き方を忘れてしまったらどうでしょう? 心配する必要はありません。そういうときこそAIの出番です。 最近は空前の人工知能ブームで、猫も杓子もDeep Learningです。 実際、Deep LearningによるFizzBuzzは、いくつも先例があります。 Fizz Buzz in Tensorflow TensorFlowコトハジメ Fizz-Buzz問題 Kerasでfizzbuzz問題を解いてみる 実装方法にはバリエーションがありますが、基本的には 入力は直前の数値 or 文字列 出力は「数値」「Fiz

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 追記 【2020年版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメのAI勉強方法 また、Pythonや機械学習がオンライン上で学べるAI Academyをnoteでも書きましたが、3/17日からほとんどのコンテンツを永続的に無料で利用できるよう致しましたので、是非使って頂けますと幸いです。AI Academy Bootcamp 我々が提供している個人向けオンラインAIブートキャンプのご紹介です。AI Academy BootcampAI

はじめに こんにちは、プログラマーの鶴岡です。 今日は普段あまり表に出ることのない、ゲーム開発に使われている開発環境についての紹介をします。 今回紹介するのは、社内製プログラミング言語の「Mint」です。 なんとハル研では、ゲーム開発のために独自のプログラミング言語を仕様策定からコンパイラやVMの実装も含め、自社で開発しているのです。変わってるでしょ? Mintは以下のような特徴を持っています。 ・エラーに気づきやすい静的型付け言語 ・C++経験者が理解しやすい言語仕様 ・OSに依存しない高速なC#製コンパイラ ・実行環境に依存しないC++の仮想マシン ・C/C++の関数・クラスが簡単にバインド可能 今はオープンな実装の素晴らしいプログラミング言語がたくさんあり、それらを使うメリットも数多くあります。 それでも社内独自の言語を使うのはさまざまな利点があるからです。 一番大きなものは「ハル研

最近golangでCLIツールを作っていたのだけど、Linuxのお作法とかいまいち分かっていなかった。そこでそのあたりのことが学べそうな「ふつうのLinuxプログラミング」を読んだ。 ふつうのLinuxプログラミング 第2版Linuxの仕組みから学べるgccプログラミングの王道 作者:青木 峰郎SBクリエイティブAmazon この本はLinuxにおいてC言語でプログラミングする方法を、Linuxでの重要な概念も含めて教えてくれる本。この本を読めばとりあえずC言語を使ってLinux用のプログラムを書き始めることが出来るようになりそうだった。 それでC言語を使わない場合でも役に立つの?ということだけど、非常に役立ちそうで面白かった。なぜなら、単なるプログラミングの方法を教えてくれるだけではなくて、Linuxの重要な考え方をファイルシステム・プロセス・ストリームという概念にまとめて教えてくれ

ビジュアルアートの教本、「Generative Design」が、ついに再販されました!長らく欠品でプレミアムがついていた一品です。 以下はGenerative Designの序文への寄稿を、一部加筆修正したもの。表現者、技術者それぞれが、アートとプログラミングを学ぶための方法です。ビジュアルコーディングに興味のある人はどうぞ。(あと僕の落書きはこちらから見れます) Generative Design 序文Generative Designの日本語版が、いよいよ出版されました。本書は、プログラミングによる視覚表現の「最高の教本」です。この素晴らしい本の序文として、何を書くべきか非常に悩みました。結果として、歴史やカルチャーの話をするよりは、この本の読者に最も役に立つであろうことを、書くことにしました。表現者と技術者がビジュアル・コーディングをどう学習すべきか、についてです。 表現者が技術を

プログラミング言語だけではなく、アルゴリズムとデータ構造や開発ツールの使い方、デバッグ方法など、さまざまな知識が必要となる開発作業。 効率良く作業を行うためには、必要な情報を書き留めておくための「ノート」が重要となってきます。この場合、従来通り紙とペンを使うアナログな方法も考えられますが、プログラミングの場合はやはり、コピペや検索のしやすさからデジタルノートアプリを無視することはできないかもしれません。 今回テックサイトMakeUseOfが、「7 BestNote-Taking Tools for Programmers」と題したブログ記事を公開し、プログラマー向けの7つのノートアプリを公開しています。 一般のノートアプリと異なり、ソースコードを見やすく表示できるシンタックスハイライト機能や、効率良く構造を記述できるMarkdown記法をサポートしてものが多く取り上げられています。 以下

自分の中のプログラミングの常識というものは、ときどき現実のハードウェアに合わせて調節しないといけない。ハードウェアが進歩し続けているので、コンピュータで簡単にできることと相対的に難しいことのバランスが変化し続けているからだ。ここでは特にストレージにフォーカスして書こうと思う。 昔はメモリが相対的にとても貴重な資源だったので多くのプログラマがメモリを節約することに血道を上げていた。例えばWindowsの初期の頃に設計されたデータ構造には、メモリをバイト単位ででもいいから節約したいという意図の痕跡がいまでも多く見受けられる。DRAMの次に速い記憶装置はHDDだったので、メモリが足りなくなればHDDにデータを保存せざるを得ないのだが、DRAMとHDDのランダムアクセスの速度差は、机の上の本の開いているページを見るのと、その本をAmazonで注文して到着するのを待つのと同じくらいのスケールで違うの

はじめに どうも初めまして、グレブナー基底大好きbot (Twitter:@groebner_basis) です。 最近、プログラマ向けの数学のセミナーや勉強会*1が開催されるなど、コンピュータを専門にする人が純粋数学に興味を持つ機会が増えてきました。 そこで、この記事では、計算科学とも関わりの深い「可換環論」について、プログラミングの側面から解説していきたいと思います。 可換環論とは 可換環論は、代数学に含まれる分野で、140年以上の歴史があります。名前の通り、「可換環」と呼ばれる数学的対象を研究する分野です。この可換環については、後々詳しく説明したいと思います。 かつての数学者は、計算といえば紙に書く「手計算」が主な手法でした。しかし、近年では、コンピュータの発達に伴い、可換環論の色々な計算が数式処理システム(Computer Algebra System) で実現できるようになりまし
はじめに本書は2017年に規格制定されたプログラミング言語C++の国際規格、ISO/IEC 14882:2017の新機能をほぼすべて解説している。 新しいC++17は不具合を修正し、プログラマーの日々のコーディングを楽にする新機能がいくつも追加された。その結果、C++の特徴であるパフォーマンスや静的型付けは損なうことなく、近年の動的な型の弱い言語に匹敵するほどの柔軟な記述を可能にしている。 人によっては、新機能を学ぶのは労多くして益少なしと考えるかもしれぬが、C++の新機能は現実の問題を解決するための便利な道具として追加されるもので、仮に機能を使わないとしても問題はなくならないため、便利な道具なく問題に対処しなければならぬ。また、C++の機能は一般的なプログラマーにとって自然だと感じるように設計されているため、利用は難しくない。もしC++が難しいと感じるのであれば、それはC++が解決すべ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く