タグ

関連タグで絞り込む (315)

タグの絞り込みを解除

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

  • MSX-BASIC の1画面プログラミング技術 - nagix

    この記事は MSX Advent Calendar 2015 の6日目の記事です。 1980年代に MSX・FAN という雑誌にファンダムという MSX-BASIC プログラム投稿コーナーがあり、私も投稿して腕を磨いていたものです。で、ファンダムでは1画面プログラム部門、N画面プログラム部門、10画面プログラム部門、というようにプログラムの長さに応じてカテゴリ分けがありました。 ここで1画面というのは、MSX のスクリーンモード0、つまり幅40文字、高さ24文字のテキスト表示で1画面に収まる分量のコードのことです。当然ながら短いコードで多くの機能や面白さを実現できれば評価が高まるわけで、自然と1画面プログラム部門などは極限までのコード削減テクニックが競われておりました。それは、スパゲティプログラムの奨励事例 - スパゲティプログラム - Wikipedia に載ってしまうくらいに。 当時私

    MSX-BASIC の1画面プログラミング技術 - nagix
  • Linux Insides : カーネル起動プロセス part1 | POSTD

    ブートローダからカーネルまで これまでの私の ブログ投稿 を読まれた方はご存じかと思いますが、しばらく前から低水準言語を使うようになりました。Linux用x8664アセンブリ言語プログラミングについても書いています。また、同時にLinuxのソースコードにも触れるようになりました。下層がどのように機能しているのか、コンピュータでプログラムがどのように実行されるのか、どのようにメモリに配置されるのか、カーネルがどのように処理や記憶をするのか、下層でネットワークスタックがどのように動くのかなどなど、多くのことを理解しようと意欲が湧いています。これをきっかけに、 **x8664** 版Linuxカーネルについてシリーズを書いてみようと思いました。 私はプロのカーネルプログラマではないことと、仕事でもカーネルのコードを書いていないことをご了承ください。個人的な趣味です。私は下層で何が起きているのかと

    Linux Insides : カーネル起動プロセス part1 | POSTD
  • Z80 vs 6502

    Z80 vs 6502 日記として書いた「6502は遅かったのか?」に、予想外の反響をいただきました。ありがとうございます。 コメントで多数のご意見が寄せられ、非常に面白いものでした、 しかし、このサイトで使用しているシステムでは、コメントはスパム避けもかねて最小限のことしか書けないようになっています。 知識がない人が後から見ても、面白さがさっぱりわからないでしょう。 そこで、こちらのページに、説明と共に記録を残したいと思います。 目次 概要 比較ルール 1~100を足すプログラム 6502基 繰り上がり高速化 カウンタレジスタ化 条件省略 Z80 基 ループ展開 条件省略 さらに展開 速度判定 1~100 の加算は、9% の速度差で MSX の勝ち。 そのほかの勝負(別ページ) 掛け算 0.7%の速度差でファミコンの勝ち ブロック転送 4%の速度差で MSX の勝ち ランダムアクセス

  • マイナンバーのチェックデジットを計算する - Qiita

    そもそもマイナンバーってどういう数字なのでしょうか? これは法律を読みます。調べると「行政手続における特定の個人を識別するための番号の利用等に関する法律施行令」の第八条に書いてあります。 十一桁の番号及びその後に付された一桁の検査用数字により構成されるものとする。 つまり11桁+検査用数字1桁で12桁なんですね。さらに条件があって、 住民票コードを変換して得られる マイナンバーから住民票コードを復元できない 変更されて過去に使っていたものも含めてかぶらない ということになっています。 検査用数字とは? いわゆるチェックデジットですが、計算方法が「総務省令第八十五号」(PDF)の第5条に定義があります。まとめると 検査用数字 : $11 - \Bigl( \displaystyle\sum_{n=1}^{11} P_n \times Q_n \Bigr) % 11$ ただし $\Bigl(

    マイナンバーのチェックデジットを計算する - Qiita
  • gitとプルリクエストに関して思うことまとめ - Qiita

    ※この記事は元々「Gitのこれやめて!リスト」として2015年11月に投稿したものを改訂したものです。 この記事について 私が個人的にgitとプルリクエストについて、「こうして欲しい」とか「これはやらないで!!」とか思っていることをまとめたものです。 元々は2015年に私がコードレビューをしてる時に気になったことを、あまり推敲もせず思うがままに書いた記事でした。今改めて読み返すと稚拙な文章なのと、他に思うところとがあったりしたので、改めて書き直しました。いいね貰ってるのに書き直すのに若干後ろめたさがあるのですが、よりいい内容にできればと思います。 コミットログがきれいだとレビューしやすい 一人で開発するときはgit使っててもブランチ切らないし、プルリクもださないしで、コミットログも"First Commit"の次が"Second Commit"とかでも支障はないです。しかし、チームで開発す

    gitとプルリクエストに関して思うことまとめ - Qiita
  • 夏の技術職インターンシップ講義資料公開 - クックパッド開発者ブログ

    こんにちは!クックパッド編集室メディア開発グループ長の @yoshiori です。 このまえ夏の技術職インターンシップの前半の開発講義・課題部分が終わったのでさっそく公開しちゃいます! ちなみにこのインターンの対象者はプログラミングはわかるし自分で(授業とかではなく)コード書いている人なので超初心者向けでは無く、少なくともひとつ以上の言語でプログラミングが出来る人向けです。 一日目 TDD + git 編(@yoshiori) 講義初日なのでまずは簡単に肩慣らし & 開発の基礎の部分として TDD と git で始めました。 git については軽く説明し TDD は基のテストファーストで進めて行きました。 ちゃんと何かをするたびにテストを実行し、メッセージを見れば次にすることが分かるというのを体験してもらい、GREEN が良くて RED が悪いのではなく、GREEN を想定しているのに

    夏の技術職インターンシップ講義資料公開 - クックパッド開発者ブログ
  • 【論理演算】マリオメーカーに「3+3=6」を計算させてみた

    マイリス : mylist/35374850(追記17/6/5)80万再生ありがとうございます!最適化したものを投稿しました!→ sm27270694入力はスタート位置、結果は10進数、追いかけなくて良い、小型化などで最適化しましたこんにちは、out of surviceと申します。マリオメーカーで論理演算や足し算がしたくなったのでしました。今回は二桁(二進数)同士の足し算までできるようにしたので十進数でいうところの「3+3=6」まで計算できます。最後に出てくる全加算器をさらに後ろに繋げていくだけで計算出来る桁数を増やせます。http://out-of-service.jp/声:ONE(オネ)

    【論理演算】マリオメーカーに「3+3=6」を計算させてみた
    nezuku
    nezuku 2015/09/27
    同時に駆動する甲羅の数を増やしたり、土管、キラー砲台等の敵が湧く機構を用い集積度高くなってゆくのかも。
  • 関数や変数のネーミングに悩んだら「codic」に日本語名を入力するとある程度解決するかも

    codicとは codicは、日頃、変数名や関数名に頭を悩ませるプログラマのためのネーミング辞書です。 以前は、プログラマ向けの単語辞書といった感じだったのですが、Ver.3からは、「日語を入力すると、ふさわしい名前を勝手に生成してくれる」という仕様になりました。 例えば関数名を作るのに、「従業員数を取得する」と入力するだけで「get_employee_count」という名前を勝手に生成してくれます。 これだけでも、かなり便利なんですが、codicにはその他にも、プログラミングのための便利な機能が満載だったので、その使い方などを紹介したいと思います。 codicの使い方 codicの主な機能は、日語を入力すると、勝手にネーミングを生成してくれると言うことです。 ただ、ちょっとした使い方次第で、より便利に利用できるので、その使い方などの紹介です。 基機能 まずは、基的な機能、「日

    関数や変数のネーミングに悩んだら「codic」に日本語名を入力するとある程度解決するかも
  • Gitのつくりかた | メルカリエンジニアリング

    はじめまして。サーバサイドエンジニアの @DQNEO です。 今日はGitのつくりかたをご紹介します。 C言語学習教材としてのGit Gitと同じものをゼロから作って何の意味があるのか?と思いますよね。 私がこの再発明をやり始めた動機は「C言語を書けるようになりたい」でした。 実際に途中までやってみたところ、 C言語がチョットデキるようになった Gitの内部構造に詳しくなった というメリットが得られました。 C言語を勉強する題材は、テトリスとかWebサーバとか他にいくらでもあるのですが、Gitを実装してみるのはかなりおすすめです。理由は下記の通りです。 内部構造が意外と単純 (ローカルで動かす分には)ネットワークの知識が不要 普段使っているツールで外部仕様がわかっているので、やるべきことが明確 余談ですが、家Gitのソースコードを参考にしようと思って読んでいたら、Linus Tovals

    Gitのつくりかた | メルカリエンジニアリング
  • 画像処理と音声処理プログラミング

    Windowsのフレームバッファ「デバイス独立ビットマップ(DIB)」による画像処理とWave音源による音声信号処理の実験室です。 グラフィック処理 Windowsのフレームバッファ(DIB)機能を利用して、画像処理で遊んでみましょう。単純な計算で色成分を変えてやることで、画像が文字通り「見違える」のは、なかなか楽しいものです。 画像処理プログラムは、大きめの画面で実行した方が「画像処理の効果」を確認しやすくなります。 サンプルソースは、C言語とWin32APIの組み合わせで記述していますが、HTML5(JavaScriptとCanvas要素)などでも同様の考え方で画像処理を行うことができます。 モノクロ(単一色)階調表現への変換(1999/10/ 6) モザイクをかけてみる(1999/10/ 6) カラーテーブルで色を変える(1999/10/ 6) 抜き色による透過イメージ(スプライト)

  • DirectXの話 第143回 - もんしょの巣穴

    今年はじめての更新はついに登場した DirectX12 の事始めです。 すでに多くの人が実装、及び解説を行っているので今更感はだいぶ強いのですが、私がなんとなくこうだろうと考えた DirectX11 の実装も交えて解説していこうと思います。 あくまでも自分が考えたものなので間違っている部分はあるかと思います。 その場合はメールなりTwitterなりで教えていただけるとありがたいです。 今回は頂点カラーのみの三角形を描画し、定数バッファで毎フレーム移動させるという極めて簡単なサンプルを元に解説を行います。 コードを読みながらの方がわかりやすいのではないかと思いますので、最初にサンプルを公開しておきます。 なお、記事自体は数回に分ける予定です。

    DirectXの話 第143回 - もんしょの巣穴
  • クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ

    こんにちは。会員事業部ビジネス開発グループの高田です。 クックパッドは今年、株主優待制度として、プレミアムサービス一年間無料クーポンを贈呈しました。エントリではクーポンコードを打ち間違えて、意図せず他の人のクーポンコードを使用するのを防ぐために工夫した話をご紹介します。 はじめに クーポンコードは入力のしやすさを優先して数字だけの文字列にしました。はじめは rand 関数を使って生成しようとしていたのですが、数字の打ち間違えや順序間違いで、意図せず誤使用してしまうのを防ぐためにチェックサムを加えるのがいい、と同僚から助言をもらいました。 いくつか調べて見たところ、Luhn アルゴリズムが上記を満たしていたので利用することにしました。 Luhn アルゴリズムの利用 Luhn アルゴリズムとは、誤り検出のためのチェックサム符号で、1 桁の間違いや隣接する数字の順序間違いを検出できるという特徴

    クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ
    nezuku
    nezuku 2015/06/25
    払い出す値について、一意であるほかに、払い出した結果と照合する手前、入力値を自己チェック可能な設計にしておくといいと
  • ピクシブ社内広告サーバーでのGoの開発・運用 #gocon /p_ads_server_gocon2015

    ピクシブ社内広告サーバーでのGoの開発・運用

    ピクシブ社内広告サーバーでのGoの開発・運用 #gocon /p_ads_server_gocon2015
  • 「テクスチャの異方向フィルタリング」ってなに? - 4gamer.net

  • 日経電子版アプリ内製開発の舞台裏 // Speaker Deck

    「アプリ開発プロジェクト成功への道〜iOS/Androidアプリ開発者勉強会Vol.1」 で発表したスライドです。 http://connpass.com/event/14952/

    日経電子版アプリ内製開発の舞台裏 // Speaker Deck
  • アセンブリ言語のみで言語処理系を作った話 // Speaker Deck

    第11回 カーネル/VM 探検隊

    アセンブリ言語のみで言語処理系を作った話 // Speaker Deck
  • GitHubコミットメッセージの英語の書き方の文例が検索できるサービス作った - 城陽人の本棚

    経緯 個人的にgit commit -m " うっ、英語でなんて書けばよいんだろう。。。。ってなることが多くて、GitHubの公式の検索ってソースコードは検索できても、コミットメッセージをリポジトリ横断的に検索したいなんてことはできないんですよねぇ。まぁネイティブな人にはそんなこと思いもしないのかも知んないですが。調べてみたらGitHub APIでコミットメッセージ取れるようなので、現場のリアルな生の文例を集めて検索できるようにすればよくね?ということで勉強がてら作ってみたので、需要あるか分からないけど同じこと思ってた人のために晒す。 作ったもの http://commit-m.minamijoyo.com/ 使い方 テキストボックスにキーワード「fix bug」などを入力してSearchボタン押すと検索結果が表示される。以上。 機能の補足説明 キーワードはスペース区切りでAND検索になる

    GitHubコミットメッセージの英語の書き方の文例が検索できるサービス作った - 城陽人の本棚
  • Naming -名前付け- - Qiita

    プログラミングで最も重要な技術の一つが、名前付けです。 且つ、センスが問われるものなので、上達は難しいものでもあります。 この記事では、様々な文献から抽出した名前付けに関する情報を雑多にまとめました。 -名前重要- ソフトウェアの設計のアプローチとして、『まず名前から入る』というのは、あまり語られていない秘訣としてもっと広く知られても良いように思います。 - まつもとゆきひろ 『プログラマが知るべき97のこと』 コミュニケーションの基礎 名前は、コミュニケーションの基礎となるものです。 私にもあなたにも名前が無ければ、疎通することは困難になります。 名前をコミュニケーションの基礎と見た場合に重要なルールは以下の通りです。 発音可能であること 検索可能であること ※現実世界のみであれば検索可能じゃなくても良いかも知れません。 プログラミングは、チームや複数人で行うことのほうが多いと思います。

    Naming -名前付け- - Qiita
    nezuku
    nezuku 2015/05/01
    基本はその言語の仕様を尊重しつつ。サンプルやSDKリファレンス等はその出自として重要ですね。
  • ビジュアルプログラミング言語「vvvv」をはじめよう! - Qiita

    「VVVV Advent Calendar」 を作るためにアカウントを取ったので、自分のブログ記事を転載してみます。 アドベントカレンダーのルール: 「この投稿はVVVV Advent Calendar 2014の"n"日目の記事です。」 みたいに記事の先頭に書いて、http://qiita.com/advent-calendar/2014/vvvv にリンクを張ってください。 Qiita に書いた場合、アドベントカレンダーのページからリンクを張るとこの記事の上部のように自動挿入されます。 あとは自由です。ほんの少しでも vvvv に関係する事なら何でもOK! 掲載場所も自分のブログ、Youtube、SlideShare、なんでもOKです。 まだ4枠くらい空いているので、どなたでも気軽に参加してください。 vvvv ってなに vvvv とはビジュアルプログラミング言語です。 公式サイト:h

    ビジュアルプログラミング言語「vvvv」をはじめよう! - Qiita
    nezuku
    nezuku 2015/04/29
    古くはBASICのダイレクトモードから、Light-weight言語のインタラクティブモードやSwiftのPlaygroundのようなプロトタイピング環境な具合と、Unreal EngineのブループリントやLabVIEW等のノードベース、処理を繋ぐ系を融合した感じ?
  • 【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)

    2015/04/25(Sat)に開催された DroidKaigi(http://droidkaigi.github.io)での発表資料です。

    【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)