タグ

プログラミングに関するsajeのブックマーク (22)

  • 「サイゼリヤで1000円あれば最大何kcal摂れるのか」を自作CPU上で解いてみた

    サイゼリヤに1000円を持って事に言ったとき、どの料理を頼めば最大何kcalの事をすることができるかを、FPGAに構築した自作CPU上で計算しました。 自作CPU学校の演習課題としてFPGA上でCPU(プロセッサ)を作成しました。具体的には、PowerMedusaボードを利用し、このボード上にあるFPGAVerilogを用いてプロセッサとして動作させました。 5段パイプラインや簡易的な分岐予測(不成立)などが実装されています。 この演習では「SIMPLE」と呼ばれるアーキテクチャが予め与えられます。 SIMPLEアーキテクチャは16bit=1wordのワードマシンで、RISC的なISAを持っています1。基的にはこの仕様を満たすプロセッサを作成するのですが、必要に応じて自由に仕様を変更しても良いことになっています。私の班ではADDIやCMPIなどの即値演算命令を追加したほか、無条件分

    「サイゼリヤで1000円あれば最大何kcal摂れるのか」を自作CPU上で解いてみた
  • プログラマだったら当然知ってるよね?という知識一覧

    2019年11月11日追記 ただのタイトルで煽ってるだけの記事に半年経っても未だに大量のアクセスがあるので追記しておきます。 ここで言いたいことは、「プログラマならコンピュータサイエンスを勉強してると役に立つよね」、ということ だけ です。 この一文以上に有用な言葉は以降の文章では出てきません。みなさんの時間を無駄にしないために注意書きをしました。 それでも良いという人は読んでみてください。 Twitterで「〇〇ができるという人が面接に来たけど、『じゃあXXXやYYYって知ってます?』というと知らないという人が多いんだよねぇ」とかいうツイートを見かけて、私はXXXやYYYってのを知らなかったので調べた見たところ、常識とまでは言えない概念だったり、名前は知らなくても誰もが知ってる概念だったり、むしろもっと良いアプローチがあるのではという思想だったりでなんだかなぁと思っていたところ、半日くら

    プログラマだったら当然知ってるよね?という知識一覧
  • 「Processingでゼロから学ぶプログラミング・ビジュアルアート」の連載をはじめます - ここぽんのーと

    長いので3行まとめ多摩美の非常勤講師、1年間やりきりました&今年度もがんばります今年度から教材を公開していきます「Processingでゼロから学ぶプログラミング・ビジュアルアート」昨年度の講師業を無事やりきりました👏昨年度の多摩美の非常勤講師就任のお知らせから1年。ひとまず無事にやりきることができました。全力を尽くしたので悔いはありませんが、振り返ってみるとさまざまな反省点がありました。 反省1: 資料が散在しがち・検索性が悪かった初年度は再利用できる資産も少なく、教材をほぼゼロから準備しながら、毎週のフィードバックを高速で反映し続ける必要があります。教材の作成手段は、編集コストを最優先に考えDropbox Paperを選択しました。 授業中はプレゼンモードで説明しながら、配布資料は印刷用のPDFでカバーする作戦です。これにより資料作成自体は間に合いましたが、PDFになった資料は検索性

    「Processingでゼロから学ぶプログラミング・ビジュアルアート」の連載をはじめます - ここぽんのーと
  • プログラマの採用面接で聞かれる、データ構造とアルゴリズムに関する50以上の質問 | POSTD

    情報科学科の卒業生やプログラマの中には、UberやNetflixのような新興企業や、 AmazonMicrosoftGoogle のような大企業や、InfosysやLuxsoftのようなサービスを基とする企業で、プログラミング、コーディング、ソフトウェア開発の仕事に就きたいと考える人が大勢います。しかし、実際にそういった企業で面接を受ける場合、大半の人が プログラミングに関してどのような質問をされるか 見当もつきません。 この記事では、 新卒生からプログラマになって1〜2年までの 経験値が異なる人たち向けに、それぞれの プログラミングの面接でよく聞かれる質問 をいくつか紹介していきます。 コーディングの面接では、主に データ構造とアルゴリズムに基づいた質問 がされますが、 一時変数を使わずにどのように2つの整数をスワップするのか 、というような論理的な質問もされるでしょう。

    プログラマの採用面接で聞かれる、データ構造とアルゴリズムに関する50以上の質問 | POSTD
  • COBOLってこんな言語

    日経xTECHの元記事を読んでもCOBOLの特徴があんまり伝わってこない感じだし、かといってそれをディスってもしょうがないので、書いてみた。 https://anond.hatelabo.jp/20190205192741 COBOL質的にはDSLなんだけど、一見汎用プログラミング言語に見えてしまってRubyPythonなんかと比較するのが誤解のもとではあると思う。今の人でも知ってそうなCOBOLに似ている言語はたぶんSQLで、データを処理するための専用言語。ただ、SQLは頑張ればすごく複雑なこともできるパワフルな言語で、だからこそ現代でも生き延びているわけだけど、COBOLはわりとシンプルなデータ処理を想定している感じ。 SQLだけでアプリケーションを作れないのは触ったことある人なら誰でもわかると思う。普通はJavaRubyで全体の流れを記述してデータベース入出力をSQLで書く。

    COBOLってこんな言語
  • 30年前のBASICで「0.01を10000回足したら100.003」になると書いてあったので、今の環境で試してみたら同じ結果だった話 - Togetter

    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

    30年前のBASICで「0.01を10000回足したら100.003」になると書いてあったので、今の環境で試してみたら同じ結果だった話 - Togetter
  • 低レイヤを知りたい人のための Cコンパイラ作成入門

    はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム このには一冊のに盛り込むにはやや欲張りな内容を詰め込みました。書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 このでは、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう

  • 増田式プログラマー養成講座 コンテンツ一覧

    コンテンツが増えてきたので、一覧ページを用意します。 第1章 準備anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意 anond:20181016164341 増田プログラマー養成講座 その2 プログラム=データ+処理、プログラム言語の種類 第2章 手続型言語 2-1 構造化プログラミングanond:20181016180059 増田プログラマー養成講座 その3 構造化プログラミングの基(順次、反復、分岐) anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造化プログラミングの練習 2-2 オブジェクト指向プログラミングanond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か? anond:20181017191404 増田プログラマー

    増田式プログラマー養成講座 コンテンツ一覧
  • プログラミング初心者のための簡単アルゴリズム入門【素数を数えて落ち着くんだ】 - paiza開発日誌

    Photo by formulanone 青木です。paizaラーニング担当のエンジニアです。 人間、どうしても素数を数えて落ち着きたいときってあると思います。 順に数えてくと、2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31……自分で数えるのは限界がありますよね。 そんなときはプログラムに数えてもらいましょう。 今回は、素数を数えるためのいろいろなアルゴリズムや高速化について書きます。(言語はJavaを使います) プログラミング初心者の方、アルゴリズムについて勉強したい方、素数が大好きな皆さんの参考になればと思います。 素数とは孤独な数字 素数とは、1と自分自身の数以外の自然数では割り切れない孤独な数字です。(ってプッチ神父が言ってました) たとえば、7は1と7以外の自然数では割り切れないので素数です。8は2や4で割り切れるので素数ではありません。 ※1は諸説

    プログラミング初心者のための簡単アルゴリズム入門【素数を数えて落ち着くんだ】 - paiza開発日誌
  • うっかりチューリング完全になっちゃったもの

    Accidentally Turing-Complete ― Andreas Zwinkau 来なら、チューリング完全となるべきではなかったものがある。これは、そのようなうっかりチューリング完全になってしまったものの例である。 C++テンプレート 当初はチューリング完全を目指していなかったが、C++テンプレートはチューリング完全になってしまった。その証明は、この論文にある(PDF) x86 MMU x86のpage fault handlingは、単純なマシンの実装に使える。原理としては、page faultが1 wordをスタックに積み、それによりアンダーフローを起こして別のトラップを生成する。この仕組みは、「減算して0以下ならば分岐」処理を実現する。チューリングマシンを実装するには十分である。デモ動画、講演動画 マジック・ザ・ギャザリング マジック・ザ・ギャザリングはカードゲームであ

  • モテる JavaScript

    5. 変数/関数の命名規則 • 基 var fistName; (キャメルケース) • コンストラクタ var calendar = new CalenderCtrl(); (先頭が大文字) • this (現在の名前空間) var that = this; • 定数 var GENERAL_API_KEY = "4fh5cv$sp"; • プライベート var _userName = "user01";

    モテる JavaScript
  • RDBMSに関する典型的な誤解が絶えないという現実

    新入社員必読、データベースの基を理解しよう - データベースはなぜ必要なの?:ITproという記事に対するブクマで次のようなIDコールが来た。(現在はコメント返しへのお礼が入っているので、文字数制限のためオリジナルのコメントは少し切り詰められている。) "リレーショナルデータベースはすべてのデータを2次元の表形式で表現"こういうのもリレーションが2次元構造という誤解の一種なんだろうか。id:nippondanjiさんが書いてたような。 さて、この疑問に対する正解は如何なるものだろうか? つい先日「7つのデータベース 7つの世界」の書評で書いたばかりだが・・・ 言うまでもなくその通りである。 リレーションが2次元的な構造を持っているというのは典型的な誤解だ。(ちなみにリレーションの次元は属性の数に等しい。n個の属性があるリレーションはn次元。)リレーショナルモデルについてちゃんと学習してい

    RDBMSに関する典型的な誤解が絶えないという現実
  • 三項演算子である条件演算子が右結合であることの利点・妥当性と可読性について - Guinea Pig

    条件演算子とは? 条件演算子とは、よく見るアレのことである。 bool b = true; string s = b ? "真" : "偽" ; // ここで出てくる ? と : が条件演算子 // ? の左が真であれば : の左を返し、 // ? の左が偽であれば : の右を返す。 // この場合 b が true なので (b ? "真" : "偽") は "真" を返す 右結合と左結合 んで、右結合、左結合というのは、同じ優先度の演算子が並んだ場合、それを右からまとめていくか左からまとめていくかと言うルールの話である。 // 左結合の例 int sub = 10 - a - b - c; // 左結合なので、以下の順番で解釈される // int sub = (((10 - a) - b) - c); // 右結合の例 x = y = z = 10; // 右結合なので、以下の順番で解

    三項演算子である条件演算子が右結合であることの利点・妥当性と可読性について - Guinea Pig
  • 「コメント」 ~マンガでプログラミング用語解説

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「コメント」 ~マンガでプログラミング用語解説
  • "Hello world!"

    このお話はたぶんフィクションです。実在の個人や企業とはあんまり関係ありません。そういうことにしろください。 10年前、20代になったばかりの頃の僕は、今思えば当に最低な生活を送っていた。高校を中退し、実家とは疎遠で、友達もなく、金もなく、夢も希望もなく、ただバイト先と自宅を行き来するだけの毎日。いつも視界には霞がかかったようで、底の見えない空虚さだけが僕の心を支配していた。 それでも趣味らしいものはあった。オンボロマシンにRedHatを入れ、ダイヤルアップの細い回線で自宅サーバを立て、Perlでガラクタのようなプログラムを動かす。そんな子供じみた遊びだけど、プログラムを組んでいるときだけは空虚さを忘れ、画面の中に没頭できた。 ただ、そのときの僕はもうすでにいろんなものに打ちのめされていて、若者にありがちな全能感などというものは霧散していた。自分がプログラミングで何かを成すだとか、それを仕

    "Hello world!"
    saje
    saje 2012/09/05
    平成カニコウセンで青春デンデケな文章。今の日本で、こういう経験をして生きてる人って多いんじゃないだろうか。
  • ウンコード・マニア

    「なんだこの糞コードは!(怒)」「書いた奴出てこい!(怒)」 こんな声を聞いたり、叫んだりしたことはありませんか? ウンコードについて学ぶことによってウンコードを撲滅しましょう! とりあえず、趣のあるウンコード鑑賞から始めて下さい お知らせ 2013-06-27 profile image をTwitter API1.1に対応しました。Thanks for Profile Image API For Twitter 2013-06-16 Twitter API1.1に対応しました。 2012-12-05 職人ランキングを追加しました。 2012-11-21 レコメンド機能を追加しました。 Twitterアカウント @unkode_mania で更新情報をつぶやいてます 障害情報 2012-08-14 障害情報: 19:20 - 21:59 くらいの間、internal server err

  • JavaScriptの勉強を始めます - FutureInsight.info

    1年に1つ、新しいプログラム言語を勉強しようと思っているのですが、今年はJavaScriptを勉強しようと考えています。最近はサーバーサイドでも使えますし、何よりなんかJavaScript書けるとブラウザ拡張とかでおもしろいことできそうなので。僕のJavaScriptの知識は昔サイを眺めた程度なので、ほとんど素人です。という訳で、ネット上で評判良かった以下のを買いました。新しいと古いかったのは、スタイルの変化もあわせて勉強したいからです。JavaScriptパターン ―優れたアプリケーションのための作法Stoyan Stefanov オライリージャパン 2011-02-16売り上げランキング : 10802Amazon楽天市場価格.comby カエレバJavaScript: The Good Parts ―「良いパーツ」によるベストプラクティスDouglas Crockford オ

    JavaScriptの勉強を始めます - FutureInsight.info
  • http://www.enoie.net/test/html5testFM001.htm

    saje
    saje 2012/02/19
    6ビット(64個)で円を分割し、定規とコンパスを使ってFM音源を方眼紙に描く
  • codepad

    codepad is an online compiler/interpreter, and a simple collaboration tool. Paste your code below, and codepad will run it and give you a short URL you can use to share it in chat or email. Language: C C++ D Haskell Lua OCaml PHP Perl Plain Text Python Ruby Scheme Tcl

  • 本田雅一の「週刊モバイル通信」

    こちらはさまざまなタイプの計算尺。異なるピッチのメモリを合わせていくことで、簡単に計算結果を得られる。僕らの年代までは計算尺に触れることもあったのだが、今はもうコンピュータの時代。初めて見るという人もいるかも? 第2次世界大戦中に開発された真空管を用いたコンピュータ「ENIAC」。爆撃時の着弾計算にも使おうとしたそうだが、'46年になっても完成することが出来なかったとか。18,000の真空管と1,500個のリレー、7万個の抵抗と1万個のコンデンサで作られている。ENIACは現在のようなプログラミング可能なノイマン型コンピュータではなく、問題解決のアルゴリズムを変更するためには、配線をやり直す必要があった。毎秒35,000回の加算を行なう性能がある。開発コストは48万7千ドル 同じく第2次世界大戦でドイツが使った暗号装置「ENIGMA」。その原型はオランダで'19年に生まれたそうだが、それ