土田善紀 @tsuchidasama 「このプログラムを修正するより、私が一から書き直した方が早い」っていう、プログラマあるあるエピソードを素人の皆様にも直観でわかって頂ける、すごく良い例画像をFacebookで入手しましたので、共有いたします。 pic.twitter.com/unPeAahsyX 2020-06-09 16:42:58
土田善紀 @tsuchidasama 「このプログラムを修正するより、私が一から書き直した方が早い」っていう、プログラマあるあるエピソードを素人の皆様にも直観でわかって頂ける、すごく良い例画像をFacebookで入手しましたので、共有いたします。 pic.twitter.com/unPeAahsyX 2020-06-09 16:42:58
先日、気持ちのいいジャンプを目指してというQiitaの記事を見かけました。記事中では、マリオのジャンプについても触れられています。マリオというと、マリオブラザースやスーパーマリオブラザース等々、色々あるのですが、これはおそらくスーパーマリオブラザースの事だと思われます。ジャンプアクションゲームといったらスーマリですね。 そのマリオのジャンプの仕組みは「マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて~」と書かれていて、別サイトのブログへのリンクが張られています。 マリオのジャンプ実装法とVerlet積分 ただ、この記述については不正確であるという別のブログもあったりします。 マリオの完コピvol.28 ジャンプの解析と修正 ホントのところはどうなんでしょうか?世界で最も有名なゲームのジャンプがどのように処理されているのか気になったので調べてみることにしました。 原典にあたる
これは仮説というか自分がこうだという話なのだが、自分のアイデンティティを侵食されると怒りが湧く。たとえば、自分が非常に大事にしている価値観に対して、同僚から「君のその価値観は間違っている」と言われたり、あるいは、作品とか、経歴とか、家族とか、そういう自分自身と非常に密になっていて同一視されるようなものをけなされたら、腹が立つということだ。 プログラマーにとって、ソースコードというのは一つの作品だ。仮に経験が浅い開発者であっても、あるいは経験が浅いからこそ、1行1行に時間をかけて考えながら作りあげる。それに対してこれはクソコードだと言われたらどうだろうか。考えてみる。 よく、クソコードというのはコードがクソだと言っているのであって、お前がクソだと言ってるわけではないから切り離して考えるべきだという言説がある。僕はこれには微妙に賛同できない。その人が生み出したコードは、少なくともその人のいくぶ
はじめに 2019/2/10追記 記事を書いてから気づいたのですが、正確には、Rustのアトリビュートをいくつか設定すれば、MISRA-Cのルールを90%満足できるでした。 私はMISRA-Cのコーディング規約でプログラミングしたことがないため、内容に誤りがありかもしれません。間違っている点があれば、ご指摘いただけるとありがたいです。 後、いつも通りですが、C言語を貶める意図は一切ありません。 昨日からtwitterで、Rustが組込みのセキュリティが重要な分野で広まると良いなぁ、という議論がありました。 その中で、車載では、やはりMISRA基準との関係が明確になること、ということが1つの基準になりそうでした。 github.com @hashaskell さんから、MISRAコーディングルールのうち、Rustコンパイラがアトリビュートの設定を含めて、保証するルールのリストを作成しているレ
Pyxelの開発が一区切りしたので、改めて紹介記事を書いてみました。 [2020.4.4追記:最新版の紹介記事はこちらです] Pyxelって何? Pyxel(ピクセル)は、昔ながらのドット絵タイプのゲームを簡単に作れる「レトロゲームエンジン」です。 2018年7月30日にリリースされた、非常に新しいゲームエンジンなのですが、海外を中心に急速にユーザーが増えています。 github.com プロジェクトはGitHubでオープンソースとして公開されており、公開4日でGitHubのデイリーランキングで全1億のプロジェクト中1位を獲得。ついでに作者である私もGoogle、Facebook、Microsoft等の企業アカウントを含む3100万人の開発者ランキングで1位になっています。(1位の座は48時間持ちませんでしたが…) GitHub上ではその後もスター数が増え続けており、現在は4000スターを
このほど、「antirez / kilo|GitHub」において、Salvatore Sanfilippo氏によってC言語を使い1000行以下のソースコードで開発されたエディタ「Kilo」が公開された。2条項BSDライセンスの下でオープンソース・ソフトウェアとして公開されている。ほかのライブラリに依存することなく開発されており、作業を始めてから数時間ほどで開発されたと説明がある。C言語による学習素材やエディタ開発のベースソースコードとして利用できる。 Kiloはclocを使ったカウントでコメントや空行を除いた行数が956行とされており、1000行を下回っている。開発にはcursesライブラリといった基本的なライブラリも使われておらず、VT100の基本的なエスケープシーケンスを使って開発されている。エディタにおける保存や終了といった操作には次のキーが割り当てられている。 Ctrl-S 保存
弊社に5年間在籍していたロシアの天才ハッカーが先日退職しました。 ハッキング世界大会優勝の経歴を持ち、テレビ出演の経験もある彼ですが、正直こんなに長く活躍してくれるとは思っていませんでした。彼のようなタレントが入社した場合、得てして日本の大企業にありがちな官僚主義に辟易してすぐに退職するか、もしくはマスコットキャラとして落ち着くかのどちらかのケースがほとんどなのですが、彼は最後まで現場の第一線で活躍してくれました。 そんな彼が最後に残していった退職メールがなかなか印象的だったので、その拙訳をここに掲載します(転載について本人同意済み。弊社特有の部分は一部省いています。) ああ、なんという長い旅だったろう。この会社で5年間もセキュリティを担当していたよ(諸々の失敗は許してくれ) 俺は他の退職者のように面白いことは書けないが、私のこの退職メールを読んでくれている人、特に新人エンジニアのために、
去年Androidソースコードレビューで指摘する事が多い項目まとめという記事を書いた時はアプリ全体を一度に見るような機会が多かったため、内容も大きめのものばかり書いていましたが、最近はプルリクエスト単位でレビューする機会が増えたので細かい項目についてまとめてみようと思います。 ミリ秒で時間を指定する時に自前で計算している 1000L * 60L * 60L * 24Lのようなコード。 TimeUnitを使いましょう。 24時間の場合は以下のように書けます。 TimeUnit.DAYS.toMillis(1L) ある文字列がhttp/httpsで始まるかチェック URLUtil.isNetworkUrl()を使いましょう。 ただしequalsIgnoreCaseで判定してます。 ベースURLにパラメータを付与していってURLを生成したい StringBuilder#append("&key=
python × 134 javascript × 53 python3 × 43 c++ × 32 linux × 30 html × 27 c × 24 java × 22 c# × 20 android × 18 vscode × 16 google-apps-script × 16 typescript × 16 ruby × 15 windows × 15 ruby-on-rails × 14 pandas × 14 swift × 13 php × 13 mysql × 13 css × 13 postgresql × 12 ios × 11 bash × 11 shell × 11 macos × 10 docker × 10 r × 10 rust × 10 aws × 9 ubuntu × 9 アルゴリズム × 9 laravel × 9 正規表現 × 9 network
理工系、特に電気系、の学生と技術者を対象としたVisual C++の解説を行います。Visual C++を始めたいが、よく分からないという人は、これを参考にしてください。ただし、初めてプログラムを学ぶ全くの初心者向けではありません。 本資料の一部のJava版が(株)翔泳社のウエブサイトCodeZineにありますので、こちらもご利用ください(Java版とある場所をクリックして下さい)。Visual C++ 6.0版(現在は全部削除)が最初に公開され、そのJava版がCodeZineに寄稿され、その後に現在のVisual C++ 2005 Express Edition版が作成されています。 Java版は、すべてアプレットになっていますので、ブラウザから試してみることができます(Javaランタイム必要)。 Visual C++ 2008 Express Editionが無償でダウンロード
Update 01/02/09: A PCB version of this circuit is in the design stages – some preliminary information is here. Update 03/11/09: Kits based on this design are now for sale! Update 12/14/10: The original AVR HV Rescue Shield kit has been replaced by the new and improved HV Rescue Shield 2. Visit the HV Rescue Shield 2 product page for information about the new kit! As I mentioned earlier this week,
Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Java の本だから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、この本を読んで得たものは非常に大きかった。 この本では マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い本。翻訳も最高。 僕はこの本を読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitter で Java すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く