あけましておめでとうございます!今年も本ブログをよろしくお願い致しやす🙏 さて、私はプログラミングに関する情報を調べる際、基本的に英語でググるようにしています。理由は単純で、英語のほうが圧倒的に情報量が多いからです。このエントリではいつも私が英語でググる際に使っているキーワードなどをメモしておきます。 実装した機能がうまく動かない場合 〜が表示されない メソッドなどが呼ばれない/実行されない プログラムで〜したい 2つの違いを知りたい 〜かどうかをチェックしたい 〜を検知したい 〜の実装方法を知りたい 〜についての最良の方法を知りたい あわせて読みたい 実装した機能がうまく動かない場合 〜 not work でググります。「動く」だからといって move で検索しても期待した検索結果にはなりません。 さらにOSバージョン等を指定する際は 〜 not work in iOS 12 のように
はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム この本には一冊の本に盛り込むにはやや欲張りな内容を詰め込みました。本書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 この本では、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを本書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう
はじめに 学校で習わないが(習う学校もある)、現実に必要になるプログラミング技術に、低レイヤプログラミングなどと呼ばれるものがある 厳密な定義は聞いたことがないし、おそらく存在しないとは思うが、大体のみんなの共通認識として、 「高級プログラミング言語を使わないプログラムを書き、OSで抽象化されないデバイスの機能を使う」といったような認識があると思う。 筆者の経験から言わせてもらうならば、低レイヤプログラミングに関する知識は、プログラミングにおいてあらゆる場面で、常に、少しずつ役立てられる知識だと言えると思う。 普段はRubyやPHPなどを書いてる人であったとしても、メモリが足りなくなった場合や、デバッガを使っている場合、性能が足りなくなった場合など、 厳しい環境におかれた時に低レイヤプログラミングに関する知識が必ず役に立つ場面が来ると信じている。 また、役に立つかどうかは置いておいても、「
給与明細で紙飛行機を作って一番遠くに飛ばせた人が優勝する大会を開こう — ばんくし (@vaaaaanquish) 2017年10月21日 kazoo04とかならフォロワーが1万人も居るので「イケてるエンジニアは皆給与明細を公開している」みたいなムーブメントを起こせるはず — ばんくし (@vaaaaanquish) 2018年6月1日 4月に正社員として雇われてからおよそ4ヶ月が経過したので給与明細を公開したいと思います. 給与明細を公開すると私にとっても皆にとっても良いことが産まれる可能性があると思うからです. 以前2017年10月にTwitterで給与明細を公開した所時給が上がったり良いことが実際にありました. また私は情報を共有することは基本的に良いことだと思っています. あと就職エントリ買いてという要望もありました. 一応スペック 専修大学ネットワーク情報学部卒業 18卒 22歳
Twitterのダイレクトメッセージで「将棋プログラムをどう作ればいいですか?」という質問をいただいた。色々考えさせられる質問だったのでnoteにも共有してみたいと思う。 Alpha Zeroのお話はこちらから読めます。私個人の予想としてはDeep Learningを駆使したプログラムが今後どんどん強くなると思っています。 職業柄、若い人達にしばしば、どうやって将棋プログラムを勉強すればいいですかと聞かれます。私の20代はすべて将棋プログラムに費やしてきたし、その過程はとてつもなく知的好奇心に満ちた素晴らしい旅路でした。ただ、すでに将棋プログラムは十分成熟した段階を迎えています。 時代の変化は確実にあります。以前、熱かった分野が今後も熱い分野になるとは限りません。将棋プログラミングも題材としては相変わらずとても面白いものですが、2018年現在では、多くの人にお勧めできる研究テーマとはなりに
ブロックチェ-ンの仕組みを知るには構築するのが最短の方法 この記事を読んでいるということは、仮想通貨の拡大に興奮しているということですね。ブロックチェ-ンの仕組み、背後にある基本的なテクノロジーについて知りたいのでしょう。 しかしブロックチェ-ンを理解するのは簡単ではありません。少なくとも私にはそうでした。大量の動画の中をさまよい、抜けだらけのチュートリアルに従い、結局、実例が少なすぎてフラストレーションが大きくなりました。 私は手を動かして学ぶのが好きです。コードのレベルで内容を扱わざるを得なくなり、そうすることで身に付くからです。同じようにやってもらえば、この解説が終わる頃には、機能するブロックチェーンが出来上がり、どのように動くかがしっかりと把握できるようになるでしょう。 準備 ブロックチェ-ンとはブロックという名の 不変でシーケンシャルな 一連のレコードだということを覚えてください
まじな話をすると、N予備校のプログラミング入門コースやるのがオススメ。 https://www.nnn.ed.nico 一日8時間勉強時間があるなら、だいたい一ヶ月で終わる内容。 月額1000円だけどしっかり勉強すれば一ヶ月の無料期間中に終わると思う。 もともとN高等学校のノンプログラマーの生徒をWebエンジニアとして就職させるために作られたカリキュラムで講師曰く去年はこれで二人エンジニア就職を決めたらしい。 内容も相当親切に説明していて、プログラミングで何か作るだけじゃなくて、就職に必要な環境構築やセキュリティまでみっちりやる。 http://qiita.com/sifue/items/7e7c7867b64ce9742aee#%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%E3%82%92%E3%82%82%E3%81%A8%E3%81%AB
今日、大学に入って最初のプログラミングの授業があった。それについて少しばかり思うことがあったのでここに記す。以下の文章は、工学部情報系学科一回生の、最初のプログラミング授業について述べたものである。タイトルにもある通り、この文章は「初心者に対する」講義について言ったものであり、機械制御を専攻する学生に対する講義などを言うわけではない。 最初の言語がC 結論から述べよう。最初のプログラミング言語にC言語は向いていない。できないとは言わないが(私が最初に触れた言語もCだが)、より有力な候補がいくらでもある。私の所属する学科には機械分野に進む人も多いので、それに使われるCを、という思惑もあるのだろう。しかし、初心者が「プログラミングを」学ぶ言語としてはお世辞にも良いとは言えない。私が思うプログラミング初心者に向いた言語とは、次の条件を満たすものである。 現在普及している 環境構築が容易(私の大学
Netflixのパフォーマンスエンジニアである筆者からの、topコマンドなどで表示されるCPU使用率(%CPU)は、いまや本当の使用率を表しておらず、チューニングなどのための指標として使えないという指摘。なぜそうなってしまったのか、何を見れば本当のCPU使用率がわかるのかをわかりやすく解説した記事。 私たちみんながCPU使用率として使っている指標は非常に誤解を招くもので、この状況は毎年悪化しています。CPU使用率とは何でしょうか?プロセッサーがどのくらい忙しいか?違います。CPU使用率が表しているのはそれではありません。私が話しているのは、あちこちで、あらゆる人たちに、あらゆる監視製品で、あるいはtop(1)でも使われている、"%CPU"という指標のことです。 あなたの考えているであろうCPU使用率90% : 実際 : "stalled"(訳注 : 以下ストールと言う)とは、プロセッサーが
fossBytesに3月28日(米国時間)に掲載された記事「Which Are The Most Loved and Most Hated Programming Languages|2017」が、Stack Overflow Developer Survey 2017の調査結果を引き合いに出し、開発者に愛されているプログラミング言語と嫌われているプログラミング言語のトップ25を伝えた。愛されているプログラミング言語1位はRustで、これにSmalltalkとTypescript、Swift、Goが続いている。 嫌われているプログラミング言語トップ25は次のとおり。 Visual Basic 6 VBA CoffeeScript VB.NET Matlab Objective-C Assembly Perl Lua Hack Groovy Common Lisp Dart Erland P
秋山です。 私は主にPythonを使って開発をしているので、以前Pythonの便利なライブラリやフレームワークを紹介する記事を書いたのですが(後でリンク貼りますね)、今回はその記事でも紹介したNumPy(なむぱいと読みます)という数値計算用ライブラリの使い方チュートリアルを書きたいと思います。 NumPyは機械学習やディープラーニングなどを学ぶ上でも前提知識とされることが多いため、これからその辺の分野の勉強をしてみたい人の参考になればと思います。 チュートリアルの実行環境は、ブラウザだけでPythonもNumPyも使えるオンラインのプログラミング実行環境「paiza.IO (パイザ・アイオー)」を使っていきます。 ■NumPyにおける配列 NumPyにおける配列は"ndarray"という形式になっていて、このndarrayはいろいろな機能を持っています。 まず、普通のリストをndarray
前の記事でも述べたとおり、探索部の最適化を阻む最大の壁は最適な探索パラメータ(アルゴリズム)が持ち時間に依存することです。本番の長い持ち時間(WCSCでは1試合1時間程度、電王トーナメントでは4時間)で探索パラメタを最適化するのは尋常じゃない計算リソースが必要となるため、探索部の最適化は十分な計算リソースを持った強豪ソフトがほぼ独占的な強さを持っているのが現状です。この差を埋めるには、短い持ち時間でも探索部を最適化できる方法を探す必要があるのですが、其のためには、探索部の持ち時間依存性の出処を探る必要があります。 というのも、第四回電王トーナメントでの技巧は、風のうわさに0.1秒から1秒程度の対局で探索部を最適化してたと聞いていますが、これが本当なら、技巧がトーナメント本番で頓死を重ねたのは、技巧の不運だけではなく、最適化の手法にも問題があったのではないかと思っているからです。 そこで、本
「これ知らなきゃ分からないだろ!」 「エラーの原因はわかったけど、なんか腑に落ちない」 いま悩んだ2時間返せ! bashというか、UNIXのコマンドに慣れてない 僕みたいな新人エンジニアが 気をつけた方がいいポイントまとめました。 あいことばをわすれない 微妙にエラーが出ないため、気づかないまま進んでしまい、 のちのち絶妙に致命的なことになってしまうので注意。 一行目忘れて2時間悩みました 二行目のオプションつけなかったため2時間悩みました setのオプションはお好みで あいことばの解説: http://qiita.com/magicant/items/f3554274ee500bddaca8 半角スペースをつけるな!半角スペースをつけろ! shellさんはスペースに非常に神経質です。 よくある変数代入では=の前後にスペースいれてはダメです。
オープンソースプロジェクトに参加したいな、と思った時、まず最初に問題だと感じるのは英語だと思う。構成員が日本人だけで、日本人に向けてのみ出しているそソフトウェアでない限り、プロジェクトの共通語はふつう英語だ。植山さんの記事には英語で物事を進めることの利点が体験談とともに書かれている。他の記事にも、オープンソースプロジェクトで上手いことやっていくためのひとつとして英語の話が出てくる。一方、英語のせいで参加したくても二の足を踏んでしまう、というのもよく聞く話だ。結論から言ってしまうと、やっぱり読み書きだけでも習得しないと話に入っていくのは難しい。ソフトウェア開発者の多くは多様性に対して寛容なので、英語が不得意という理由で拒絶されることはないだろう。ただ、特別な配慮もしてくれない。 しかし英語の前に、プロジェクトとの距離のとりかたを学ぶべきだと思う。いままでわたしが見てきたり、自分自身がやって良
最近はゲームもAIがプレイしてくれる時代だ。 ゲーム攻略で人間を超えた人工知能、その名は「DQN」 有名なDQN。フルネームはdeep Q-networkと呼ばれる強化学習の一種だ。こういう機械学習系の仕組みはマシンパワーでもって学習をぶん回して動かさないといけないので、それなりの準備が必要なのが普通だ。だけど最近はこの手の物をブラウザ上で簡単に試せるようになっている。 REINFORCEjs 例えばREINFORCEjs。これはDQNをJavaScriptで実装したもの。使い方もえらく簡単。 // DQNエージェントにゲームの状態を与えると var action = agent.act(state); // アクションとしてどう行動すればよいかが帰ってくるので // それに従って行動して // その行動が正しかったどうかを示す報酬をDQNエージェントに教える agent.learn(re
コードを書いて美少女を集める!? 萌えとプログラミング学習を融合させたブラウザゲーム「コードガールこれくしょん」が本日無料公開 編集部:Gueed IT/Webエンジニア向け転職サイトなどを手がけるギノは,“コードを書いて美少女を集める”というブラウザゲーム「コードガールこれくしょん」を,本日(2016年4月20日)公開した。本作は,メールアドレス,ニックネーム,パスワードで会員登録を行えば遊べる無料のゲームとなっている。 本作は,プログラミング初心者を対象とした“プログラミング学習ゲーム”。仮想世界に取り込まれ記憶を失ってしまったプレイヤーが同じように記憶をなくしたキャラクター「リリア」と出会い,記憶を取り戻すべくプレイヤー自身のプログラミングスキルを高めながらストーリーを進めていく。プレイヤーに要求されるのは“リアル”なプログラミング力だ。 ゲームは,プログラミング力が鍛えられるクエス
私はFXやら株やらの投資に多少手を染めているのですが、一時期その自動取引をするツールを自作したことがあります。先日やはり自動取引に興味のある方とその話をしていたのですが、自動取引のやり方というのはどうもあまり知られていないようです。Web製作サイドでは割と一般的な技術を使っているだけ(だと思う)で、そんな大したことをやってるわけではないのですが、その業界以外ではたしかにあまり知られていない技術かもしれないので、参考にされる方もいるかもしれないと思い、ご紹介しておきます。 世の中にはFXや株の自動取引ツールというものがいくつか出回っています。FXだとMetaTraderというのが有名です。ただ、どのツールも大体、為替なり株価なりの時系列情報だけを用いた単純なテクニカル分析を対象としており、いろんな情報源を利用してある程度複雑なロジックを実現することは(私の知る限り)できないはずです。そのよう
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く