タグ

Programmingに関するendo_5501のブックマーク (537)

  • 革命的にプログラマーに向いている人の5つの特徴 - ITプロマガジン

    こんにちは。 ITエンジニア・webディレクター・webデザイナーなどのIT人材の自立・キャリアを支援するITプロパートナーズ編集部です。 弊社では、独立精神旺盛な優秀なエンジニアの方々の独立・起業サポートや、フリーランス支援を行っています。こちらでは、日々の現場でサポートさせていただいている中での、プロの目線で、エンジニアに役立つお話をしてまいります。 最近プログラマーとしてのキャリアが脚光を浴びています。 今ある仕事の50%が人工知能に置き換わり、仕事がなくなってしまうというセンセーショナルなニュースもよく飛び交っていますね。 そんな中で具体的な課題をコードで解決することのできるプログラマーは、日に日に存在感を増していると言えるでしょう。 ビジネスの世界ではよく「儲ける仕組みを作る側に回れ」ということが言われますが、プログラマーはコードを書くことでルーチンワークをシステムに置き換えるこ

    革命的にプログラマーに向いている人の5つの特徴 - ITプロマガジン
  • 『DARK SOULS』のデータ解析から生まれた対人戦AI「Project King」、10か月の開発を経て不死の世界に降臨 - AUTOMATON

    ホーム ニュース 『DARK SOULS』のデータ解析から生まれた対人戦AI「Project King」、10か月の開発を経て不死の世界に降臨 高難易度アクションRPGの金字塔『DARK SOULS』シリーズ。最新作『DARK SOULS III』の発売を数か月後に控える中、初代『DARK SOULS』のデータ解析から生まれたファン作成の対人戦AIが、海外フォーラムを中心に脚光を浴びている。10か月におよぶ開発の裏側と改良を重ねる現状を、業界メディアKotakuがいち早く報じている。 ドMゲーマーの聖地に降り立った王 『DARK SOULS』は、2011年にフロム・ソフトウェアから発売された同社開発のアクションRPG。2009年にソニー・コンピュータエンタテインメントからリリースされた『Demon’s Souls』のスタッフが手がけた後継作で、チャレンジ・発見・達成感に重きを置いた高難易度

    『DARK SOULS』のデータ解析から生まれた対人戦AI「Project King」、10か月の開発を経て不死の世界に降臨 - AUTOMATON
    endo_5501
    endo_5501 2016/01/19
    “このゲームの最後の門番として。決闘でいかなる人間にも負けない存在を”
  • 秋元@サイボウズラボ・プログラマー・ブログ: regist という英語は無い

    さて、サイボウズラボの立ち上げプレスリリースが出たこの瞬間、とりあえずこのブログを見に来る人も多いと思われる。そんなチャンスに、このブログを読んだ人、特に日のソフトウェア技術者に一番訴えたいことってなんだろう? と考え […] さて、サイボウズラボの立ち上げプレスリリースが出たこの瞬間、とりあえずこのブログを見に来る人も多いと思われる。そんなチャンスに、このブログを読んだ人、特に日のソフトウェア技術者に一番訴えたいことってなんだろう? と考えた。 それは、日プログラマーだけが使う謎の動詞 registについてである。そんな単語は存在しないから、ちゃんと “register” を使おう。 Google.com で regist.cgi を検索 Google.com で regist.php を検索 出てくるのは日語のサイトばっかりである。拡張子を”.jsp” や “.asp” にし

    秋元@サイボウズラボ・プログラマー・ブログ: regist という英語は無い
    endo_5501
    endo_5501 2015/11/28
    “天下の○○○が、間違った英語を API に含めて出してるのはまずい”気をつけねば
  • 大規模ソフトウェアを手探る

    括弧内は投稿日. 新しいものを上に書き足します. (過去ログ), (過去レポ) (投稿日 2024/10/06) 2024年度版ホームページ開設 テキスト テキスト GDBを使えるようになろう. 動画版 vscodeの場合 Globalを使おう. 動画版 Windowsで開発するのはおすすめしない. 仮想マシンにLinuxを入れるのを推奨します 補足資料: uftraceについての紹介ブログ uftrace 紹介編 gnumericへ適用編 教科書執筆後, 補足資料として執筆 (自分も教科書の代わりにブログを書いてみた). 参考: uftraceが上手く行かないときの代わりになるかもしれないツール libitrace 説明スライド イントロ (説明予定: 第1回) Gitについて (説明予定: 第2〜3回), イントロスライド 提出物について (説明予定: 後半) レポートその他の提出手続

    endo_5501
    endo_5501 2015/10/20
    "テーマは,「全容を把握できるわけがない程大きなソフトウェアをいかに扱い,必要な動作を理解し,変更するか」ということである" へー!こんな演習あるんだ
  • 今夜わかる「スタック・オーバーフロー」の世界 - give IT a try

    はじめに プログラミングをやっている人であれば、スタック・オーバーフロー(Stack Overflow)を知らない人はいないと思います。 エラーメッセージをコピペしてググるとトップによく出てくる、このページのことです↓ Stack Overflow - Where Developers Learn, Share, & Build Careers また、ご存知の方も多いかもしれませんが、去年の12月からは日語版サイトも登場していて、現在は日語で質問と回答が投稿できるようになっています。 スタック・オーバーフロー とはいえ、ネットで見つけて回答を読むことはあっても、自分から質問したり回答したりする人はまだまだ少数派のような気がしています。 そこで、今回のエントリでは日語版サイトをメインターゲットにして、スタック・オーバーフローの使い方をまとめてみようと思います。 注:このエントリでは関数

    今夜わかる「スタック・オーバーフロー」の世界 - give IT a try
  • もうGitは怖くない: 自信を持って使いたいあなたへ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    2014初頭に書いた「WindowsにおけるGit利用環境は整った: Git for Windows と SourceTree for Windows」の最後の文: ブランチは、Gitのなかで最も重要でありながら最も分かりにくい概念でしょう。表面的な言葉に騙されず、先入観を持たず、SourceTreeの視覚的表示(樹形図)の力を借りながら学習するのが、理解への一番の近道です。 そんへんの詳しいことはまたの機会に述べるかも知れません。 1年半以上たってしまいましたが、「またの機会」がやって来ましたよ。ええ、Gitの説明をします、ブランチを中心に詳しく。 「基礎編」と「ブランチ編」で2回に分けようかと思ったけど、長大な記事として一挙公開。これからGitを使う人が対象ではありません。Gitが何をやっているのか、自分が何をやっているのかイマイチ自信が持てない方向けです。 ブランチやマージって、なん

    もうGitは怖くない: 自信を持って使いたいあなたへ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 20億行のコードを保存し、毎日4万5000回のコミットを発行しているGoogleが、単一のリポジトリで全社のソースコードを管理している理由

    20億行のコードを保存し、毎日4万5000回のコミットを発行しているGoogleが、単一のリポジトリで全社のソースコードを管理している理由 Googleは検索サービスやGoogle Apps、Google Cloud Platformなど巨大なサービスを多数運営しています。その同社は、20億行にもおよぶソースコードの管理をサービスやプロジェクトごとに分けず、すべて単一のリポジトリで管理しているそうです。 先週9月14日にサンノゼで開催されたイベント「@Scale」で、Googleによるセッション「The Motivation for a Monolithic Codebase: Why Google Stores Billions of Lines of Code in a Single Repsitory」(単一コードベースへの取り組み:なぜGoogleは単一リポジトリに数十億行ものコー

    20億行のコードを保存し、毎日4万5000回のコミットを発行しているGoogleが、単一のリポジトリで全社のソースコードを管理している理由
    endo_5501
    endo_5501 2015/09/24
    まじかよ。どうやってるんだ
  • ローディング時のズルい進捗表示

    今開発中のPlayer!のログイン・登録画面で、こんな進捗表示をしていますが、これ実はフェイクだったりします( ´・‿・`) (Qiitaの画像サイズ制限が厳しくて粗いです。キレイなものは実際にアプリダウンロードしてご覧下さい。) 経緯 元々、この画面はこういう進捗表示では無く、単にインジケーターがクルクルするだけで、進捗状態が分からないものでした。 特にネットワークが悪いところだと、バグって固まってしまったのでは?とユーザーを不安にさせるようで、たまにそういう声を聞くことがありました。 登録フローは大事なところなので、そういうところでこれが原因で離脱してしまうと残念なので、改善が必要でした。 そこで、ネットワーク処理にもたつきつつもちゃんと正常に処理をしているということを示すために、進捗を表示することにしました。 ただ、例えば大きな画像などメディアファイルダウンロードなどならともかく、こ

    ローディング時のズルい進捗表示
  • ノウハウの共有文化がない場所にコードレビューをねじ込んでみた結果とか - タオルケット体操

    コードレビューをキメると品質も上がるし自分のレベルも上がるので最高」みたいな論が巷を賑わせていて、以前はそういうイケてる制度を指をくわえてみるのみだったのだけれど、最近職場と、それと個人的に関わったプロジェクトコードレビュー制を無理矢理交渉して導入してみた結果、世間のイケてる書籍やエントリから得られる情報とはまた少し違う知見が得られたので書いてみる。 割と泥臭かったり、あまり希望に溢れてたりはしない感じのエントリなのでそういうのは期待しないほうがいいです。 準備 些末なコードレビューを極力避けるために、コードの規約やスタイルについてはlintとフォーマッターを用意した。 他は無策。 結論 結論から言うと、理想的な運用は出来なかったものの、コードレビューについて世間で言われるような成果(作業を共有する意識、レベルの向上)は得られた。良かった。 ぶっちゃけ僕なんかが浅はかな考えで導入しても

    ノウハウの共有文化がない場所にコードレビューをねじ込んでみた結果とか - タオルケット体操
  • SonarQubeでプログラムの品質管理をはじめる(概要) - Qiita

    はじめに SonarQubeは日語のドキュメントが少なく導入に苦労したので、同じように導入を試みようとする方の手助けになればと思い、使い方などまとめておこうと思います。 (2週に1度程度の頻度です) 記載する予定のもの 概要(今回) インストール方法(CentOS 7にSonarQubeを立ち上げる) Maven、Jenkinsを使用してCIに組み込む SonarQubeで行った品質レポートの見方 SonarQubeのバージョンアップ方法 SonarQubeとは スイスのSonarSource社が主に開発を行っている統合的なプログラム品質管理を行える統合品質管理ツールです。 SonarQubeのHP 何ができるのか 様々な言語で書かれたソースコードに対して、静的解析チェックを実行して、その結果をWebで閲覧できる。 JUnitなどでユニットテストを実行して、テスト成功数、失敗数、カバレッ

    SonarQubeでプログラムの品質管理をはじめる(概要) - Qiita
  • 書籍『あなたの知らない超絶技巧プログラミングの世界』が 9 月 25 日に発売されます - まめめも

    以前告知していた書籍が、無事発売されることになりました!(技術評論社の公式ページ) アフィリエイト あなたの知らない超絶技巧プログラミングの世界posted with amazlet at 15.09.01遠藤 侑介 技術評論社 売り上げランキング: 3,000 Amazon.co.jpで詳細を見る どんな? テーマは「役に立たないプログラミングを楽しもう」です。言葉で説明するよりプログラム例を見た方が分かりやすいと思うので、代表的な過去作品にリンクしておきます。 Qlobe: アスキーアートの地球が回るプログラム Quine リレー: 100 のプログラミング言語を経由して自分自身を出力するプログラム ASCII Fluid: 80x25 の画面に収まる流体シミュレータ (動画) Merry Quine-mas 2010: 音楽再生しながら雪のアニメーションを行う自己出力プログラム (

    書籍『あなたの知らない超絶技巧プログラミングの世界』が 9 月 25 日に発売されます - まめめも
  • よく使う 9 つの便利なシェル芸 - Qiita

    Help us understand the problem. What are the problem?

    よく使う 9 つの便利なシェル芸 - Qiita
  • プログラミングは《やったことだけ》できるようになる - ジーズアカデミー戦記

    2015-07-30 プログラミングは《やったことだけ》できるようになる Tweet 現在通っているG's ACADEMY TOKYOでは、講師として山崎大助さんがフロントやPHPなんかの技術解説を担当されている。山崎さんはMicrosoft MVPだとか、アパレル業界出身だとか目を引く肩書を強調されることも多いが、彼を最も正確に形容づける言葉は、"熱血"だといっておおよそ間違いない。落ち着いた口吻や佇まいが時にその熱を覆いかくしてしまうのだが、講義はさながらジーズアカデミー白熱教室の様相を呈することが常なのだ。 | 最高にシビレた言葉 もう卒業制作に入り、そんな講義ともお別れもなるのは寂しい限りなのだが、このタイミングでこれまでの講義の中で最もしびれたセリフをひとつ紹介しておきたい。それがタイトルに掲げたこの言葉だ。 「プログラミングは《やったことだけ》ができるようになるんです」 何気な

    プログラミングは《やったことだけ》できるようになる - ジーズアカデミー戦記
  • GPUとセルオートマトンで経路探索問題を解いてみる | POSTD

    前回は、グラフィックカード上だけで コンウェイのライフゲームを実行するアイデアを説明しました 。このアイデアは、3つ以上の状態を有するオートマトンを含め、 どのような セルオートマトンにも当てはめることができます。今回の投稿では、二次元グリッドの 最短経路問題 をGPUだけで解決するのに、このアイデアを活用してみたいと思います。CPUによる従来の検索と比べても、その速さは遜色ありません。 JavaScript側の状態は基的に以前と同様なので(2つのテクスチャと、それらを繋いでオートマトンを次のステップに進めるフラグメントシェーダ)、ここでは説明は割愛します。変更したのは次の2点、(オートマトンの全ての状態を表現する)セルの状態のエンコーディングと(新しいルールをプログラムする)フラグメントシェーダです。 オンラインデモ ( ソース ) デバッグや実験のために使ったセルオートマトンの純粋な

    GPUとセルオートマトンで経路探索問題を解いてみる | POSTD
    endo_5501
    endo_5501 2015/07/24
    すげえ!
  • 小学生の習い事に「プログラミング」は当たり前 専門塾に加え、進学塾も子どもの囲い込みに動く

    水泳、ピアノ、進学塾など小学生が通う習い事の定番に「プログラミング」がい込みつつある。 幼い頃からスマートフォンやパソコンに触れる通信環境が広がり、「子供のクリエイティビティを育ててほしい」という親のニーズも年々高まっているようだ。プログラミングの専門塾だけでなく、従来の進学塾も新たなカリキュラムを用意し、子どもの囲い込みを始めている。 学習塾「プログラミングは教育的意義が高い」 試しにインターネットで「プログラミング教室(塾)」と検索すれば、子どもにプログラミングを教える塾のホームページが多くヒットする。教える内容も、C言語などの定番言語だけでなく、簡単なアプリやシステムを開発する段階まで教えるところもあり、格的だ。 子どもたちはどういったきっかけで入塾し、どのレベルまで到達するのか。関東各地で小学生向けのプログラミング教室を開くTENTOは、「スマホやゲームで遊ぶ子どもの様子を見た

    小学生の習い事に「プログラミング」は当たり前 専門塾に加え、進学塾も子どもの囲い込みに動く
    endo_5501
    endo_5501 2015/07/12
    “エンジニアとしての資質を持ちながらも難しいものを分かりやすく教えられる、子どもとのコミュニケーションを円滑に取れる人は少ない”
  • グーグル元社員がエンジニアに「酔っぱらいテスト」を薦める理由

    おたくの社員が失敗作を生む たいていのテクノロジー企業は、発売前の商品のベータ版を社員に使わせて反応を見る。「ドッグフード」と呼ばれるこのプロセスは、バグや、使い勝手が悪いところを見つけて、商品の完成度を高める貴重なチャンスだ。 もちろんグーグルもドッグフードをやっている。 ただ、「ちょっと問題があるんだよね」と複数の元社員は明かす。グーグルは社員におたくっぽい人間が多いから、商品の評価におかしな偏りが出るというのだ。「商品を世に出すには、グーグル社員の支持を集めないといけない。グーグルの社員が使いたいと思うものでないといけないんだ」と元幹部は語る。 とはいえ、社内トライアルで確実に支持を得る方法があると、この人物は言う。データ機能とチャートを加えることだ。必ずしも一般ユーザーには重宝されない機能かもしれないけれど……。 「社内トライアルでいい結果が出るように、グーグル社員の好みを意識しす

    グーグル元社員がエンジニアに「酔っぱらいテスト」を薦める理由
    endo_5501
    endo_5501 2015/07/12
    “社内トライアルに参加するエンジニアに「酔っ払いテスト」を勧める。商品を評価する前に、何杯かビールを飲めというのだ”
  • x86のmov命令はチューリング完全

    世の中には様々なチューリング完全なシステムがある。 の虫: うっかりチューリング完全になっちゃったもの x86のMMUはチューリング完全である。 BGP(Border Gateway Protocol)はチューリング完全である。 http://vanbever.eu/pdfs/vanbever_turing_icnp_2013.pdf さて、x86の命令セットは極めて複雑で冗長であることが知られている。なんと、mov命令はチューリング完全であるそうだ。 http://www.cl.cam.ac.uk/~sd601/papers/mov.pdf もちろん、mov命令でメモリ上に任意のコードを書いて実行させればチューリング完全になるが、論文ではそのようなコード生成や自己書き換えによるイカサマは行っていない。また、アドレスモードもたいていのRISCにあるようなものしか使っていないという。 x8

    endo_5501
    endo_5501 2015/06/21
    “この論文を元にした、MOV命令のみを使うコードを生成するコンパイラー、xoreaxeaxeax/movfuscatorがGitHubで公開されている”
  • コードレビューのベストプラクティス | POSTD

    Wiredrive では、私たちはかなりの数のコードレビューを行います。しかし、ここで働き始める前には私はコードレビューなどしたことがありませんでした。今回は、私がコードレビューをする時に何に注目するようにしているかや、私の考え出したベストなコードレビューのやり方をお話したいと思います。 コードレビューとは、簡単に言うと2人以上の開発者で問題を引き起こしそうなコードの修正について話し合うことです。コードレビューをすることのメリットについては多くの記事で語られており、知識を共有できること、コードのクオリティが上がること、開発者が成長できることなどが挙げられています。しかし、レビューを行う上で、どのように進めていくかという具体的なことについてはあまり多く語られてないように私は思いました。 レビューで何に注目するか アーキテクチャ/デザイン 単一責任原則 : 1つのクラスは変更する理由が2つ以上

    コードレビューのベストプラクティス | POSTD
  • 分散システム処理モデルに関する動向について(MapReduceからBorgまで)

    詳細については後述しますが、MapReduceの処理モデルは、上記の通り各区分ごとにそれぞれ単純化(限定)されたモデルであったと言えます。 また、MapReduceの関数プログラミングおよびグラフ的な特徴も合わせて以下に整理してみます。 関数プログラミング的な特徴 MapおよびReduceフェーズは、それぞれ関数型プログラミングのMapおよびReduce処理をモデル化したものです。MapReduceは、参照透過性がある純粋な関数処理と言えます。参照透過性とは入力により出力が一意に決まる性質のことです。言い換えればMapReduceの処理は、大域などの処理に影響する外部の環境は持たず、内部的にも静的な一時変数などの状態も持たないことを意味します。 純粋な関数処理は複数の処理が同時に実行されても他の並列に動作している処理の状態には左右されないため、この参照透過性は並列化に向いている性質がありま

    分散システム処理モデルに関する動向について(MapReduceからBorgまで)
  • 【え、通じない?】教授「hogehoge...」学生「何いってんのこの人?」

    とんかつ @xxxkatsudonxxx @Oto_to_ishin お願いです、先生。教えてください、気になるんです! この間はHOGEMETHODとか言ってたじゃないですか。何ですか、ホゲメソッドって。私、気で気になります! 2015-06-08 14:36:52

    【え、通じない?】教授「hogehoge...」学生「何いってんのこの人?」