とあるプロジェクトでナノ秒からミリ秒への変換で四捨五入してきた人がいて、時刻を扱うときは保存精度未満は切り捨てるべきというのが常識になっていないなーと思ったので。 2023-10-01 を、何年か表示する時に、2024年に丸める人はいないだろう。 13:45 が何時か表示する時も、13時と表示するだろう。(口頭で何時?と聞かれたら14時と答えるかもしれないけれど) つまり、ある精度で表した時刻は、実際には次のような半開区間を示しているのである。 2023-01-01 00:00:00 <= 2023年 < 2024-01-01 00:00:00 13:45:00.000 <= 13:45 < 13:46:00.000 そして、そう決めたからには一貫して同じように、指定精度未満は切り捨てというルールを維持しなければならない。秒以下は四捨五入で、とかやってはいけないのだ。 一貫しないと何が問題
人は1行の記述で死ぬこともある 公開からコンスタントに閲覧をいただいている以下の記事。需要がありそうなので、もう1つ記事を書いてみようと思う。 題材は前回同様のJavaScriptのクソコードではあるが、前回は冗長を極めたクソコードであるのに対し、今回はたった1行である。 1行なのに、なんと示唆深いに富む(決してほめていない)コードだろうか。 不可思議なコード では、実際に見てみよう。 これを見て、何が return で返されるかわかります? 代入演算子 最初見たとき、代入文 a = ××× の評価値って何になるのかな? a が return されるのかなと思いました。 割り当て操作は、割り当てられた値として評価されます。 JavaScriptの仕様を確認し、「return a = ××× は、a がローカル変数である限り、 return ××× ということか、冗長だな」と判断しました。
オットー@脱毛パパブロガー @arafour_otto @akitonton5 これは天才 興味のない人は何か分からない ちょっと学のある人は「あープログラミングのなんかね」でスルー でも、知識がある人は「どんなコードかな?」って読んじゃう。 広告自体がある意味「一次選考」になってる、とてもよく考えられた広告。 たまに電車で見るこういう広告、面白いですよね! 2024-01-14 23:53:44
巷で話題になっているこの話題、画像をスクレイピングやダウンロードされたくないということで騒がれています。その話に関しては色々な意見があると思ってますがここでは置いておくとして・・・ 技術的にやるとしたら実際どれくらい対策できるの?ということが気になったので、自分の知識で出来る限り対策したものを作ってみることにしました。 最初に 賢い方はわかると思いますが、タイトルは釣りです。 絶対に画像をダウンロード&スクレイピングさせないページは存在しません。ソフトウェアにおいて絶対と言う言葉はまず存在しないのです。ブラウザで表示している以上、仕組みさえわかれば技術的には可能です。 そのため、 「元画像のダウンロードとスクレイピングを非常に困難にしたWebページを本気で作ってみた」 が実際のタイトルかなとなります。 とはいえ、この仕組みであれば大多数の人は機械的にスクレイピングすることを諦めるレベルの作
ChatGPTユーザーの悩みを解決するプロンプト徳力基彦氏(以下、徳力):まず今日はChatGPTの使い方をしっかり覚えていただきたいと思います。ここで「深津式汎用プロンプト」。 深津貴之氏(以下、深津):僕は1個1個、個別の例を出すのはあんまり好きではないです。さっき言ったように原理原則を1個理解すれば、全部その原理原則から引っ張れる方向が好きですね。 なので今日も、細かいプロンプトを出すよりは、だいたいあなたの悩みのすべてを解決するプロンプトを1個出すので、これだけ覚えて帰りましょう。 徳力:プロンプトですと、一気にプログラミングっぽい感じになってきました(笑)。これ(スライド)がサンプルですね。 深津:僕がいろいろ試した中で、それなりにいい感じになる汎用プロンプトです。 徳力:最初に聞くのを忘れましたけど、深津さんはChatGPTを何回ぐらい使っているんですか? 感覚として。当然数え
YouTubeはアップロードする動画1本当たりのサイズや時間については上限を設けているものの、アカウントごとにアップロードできる動画の総量については制限を設けていません。そこで、ソフトウェア開発者のDvorakDwarf氏が、ファイルをバイナリ化して動画に変換し、YouTubeを「容量無制限のストレージ」として活用するためのツール「Infinite-Storage-Glitch(ISG/無限ストレージグリッチ)」を開発しました。 GitHub - DvorakDwarf/Infinite-Storage-Glitch: ISG lets you use YouTube as cloud storage for ANY files, not just video https://github.com/DvorakDwarf/Infinite-Storage-Glitch YouTube As
ChatGPTが今後ますます精度がよくなると世の中で働くホワイトカラーの大半がAIに置き換えられるという論調を最近しばしば目にする.なかでもプログラマは失業まったなし,なんだそうだ. しかし,本当にそうなのだろうか?まずはChatGPTの実力を知らねば話にならない.簡単なCのプログラムを書かせてみた.以下,「[私] 〜」とあるのは私がChatGPTに対して入力した文字列であり,「[ChatGPT] 〜」およびそれに続くコード例は,ChatGPTの回答である. 1回目の対話それでは,ChatGPTの底力をみてみることにしよう. (対話ここから) [私] コマンドライン引数で2つの数字を受け取って足し算をした結果を表示するCのプログラムを書いてください. [ChatGPT] 以下が、2つの数字を受け取って足し算をするCのプログラムです。 #include <stdio.h> #include
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? X68000 Z がにわかに注目を集めています。 これをきっかけに何か作ってみたくなった方のために、X68000(以下、X68k)の開発環境についてまとめてみました。 ネイティブ開発環境 X68kの実機、またはエミュレータのHuman68k上で動作する開発環境です。 X68k現役当時はこの環境しかありませんでしたが、今となっては、特に実機でCコンパイラを動かすのは速度的な意味で結構厳しそうです。エミュレータ上でCPUクロックを上げて使うのが良いと思います。 シャープ純正Cコンパイラ (XC) 概要 シャープから発売されていた純正の開発環
ChatGPTのヤバいところは、論理処理が必要だと思っていたことが、じつは多数のデータを学習させた確率処理で解決可能だと示したことだと思います。 たとえば、このように正規表現にマッチする文字列を生成するには、特別に専用の論理処理が必要だと思っていました。 前のブログのときには特殊処理が必要だと考えてましたね。 ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena けど、123_45678world.mdはマッチするのにマッチしないと言っているので、そのような誤りが入ることを考えると、どうも確率処理だけでやっているようです。 考えてみると、3層以上のニューラルネットであれば論理素子を再現できるので、ディープラーニングで論理処理を模倣することは可能なんですよね。 バックプロパゲーションでニューラルネットの学習 - きしだのHatena そもそも論理は、多数の
文化祭からはや 3 ヶ月。ずっと書きたいとは思っていたんですが、すぐ定期試験がやってきたり修学旅行に行ったりしてるうちにズルズル来てしまいました。このまま年を越すわけには行かないので、重い腰を上げて書き上げてしまおうと思います。 文章力が皆無なので読みづらい箇所があったらごめんなさい。質問等ございましたらお気軽にどうぞ! 1. システム概要 感染症対策の一環として、主に各展示の同時滞在者数の抑制を目的として導入したシステムです。 文化祭への来場者全員にリストバンドを配布します。各リストバンドには個別の QR コードがプリントされており、各展示の入室時及び退室時に、展示のスタッフが Web アプリ上でスキャンを行い、来場者の入退室時間を記録します。 主な機能として以下が挙げられます。 同じ時間に同じ教室にいたのがどのリストバンドをつけていた来場者であるかが分かるため、万が一新型コロナウイルス
#stablediffusion 完全に理解した pic.twitter.com/IR5yjnL07Y— すぎゃーん💯 (@sugyan) August 31, 2022 ということで少し触って遊んでみたのでメモ。 Stable Diffusion をザックリ理解 先月公開された Stable Diffusion。 stability.ai 高精度で美しい画像を出力できる高性能なモデルながら、Google Colab などでも手軽に動かせるし、 Apple silicon でもそれなりに動かせる、というのが魅力だ。 中身については 以下の記事の "How does Stable Diffusion work?" 以降のところが分かりやすい。 huggingface.co 図をそのまま引用させていただくと という仕組みになっていて、受け取る入力は "User Prompt" と "Late
追記 (2022 5/29): サーバ代をケチるべくVercelに移行しました。動いていたソースコードは ココ に置いてあります。 あなたの予想に反して、このページが見えているでしょうか?このWebサイトは自作OSのKerlaが提供しています。 これは自作OS Advent Calendar 2021の23日目の記事です。 自作OS「Kerla」の紹介 Kerla(かーら)はRustで書かれたLinux ABI互換モノリシックカーネルです。今年の春頃から作り始め、DropbearというSSHサーバが動作する程度には基本的なUNIXの機能が実装されています。具体的には、ファイルの読み書きやUDP/TCPソケット、fork/exec、シグナル、擬似端末といったものです。 カーネル実装の雰囲気を軽く紹介すると、Kerlaでは以下のようにシステムコールが実装されています。 /// write(2)
パトリック・ミッケンジー(Patrick McKenzie)さんのブログ・エントリ、 “Falsehoods Programmers Believe About Names” の日本語訳です。翻訳の公開を快諾してくださったミッケンジーさんに感謝します。 公開: 2012-02-22 Posted on June 17, 2010 by Patrick きょう、ジョン・グレアム゠カミング(John Graham-Cumming)が、正しくない文字が含まれているといって彼のラスト・ネームを受け付けないコンピュータ・システムへの不満の記事を書いていた。もちろん彼の名前に「正しくない」ところなどない。当人の申し出たものが当人を識別するものとしては相応しいのであって、定義からして名前とはそういうものである。このことにジョンは当然ながらいらだったし、そうなるのもきわめて正当なことだ。定義からすれば事実
はじめに 2016年にこんな記事を書きました。 Big Sky :: Windows ユーザは cmd.exe で生きるべき。 [D] Windowsはターミナルがダメだから使えないってのは過去の話? 基本的にはいい感じに見えますが、いくつか問題は発覚してます。 http://blog.drikin.com/2015/01/w... https://mattn.kaoriya.net/software/why-i-use-cmd-on-windows.htm この記事は日常からコマンドプロンプトを使うユーザに Windows で生き抜く為の僕なりの方法を教授したつもりです。最近は PowerShell を使われる方も多いと思いますが、僕はどうしても PowerShell が好きになれず、未だにコマンドプロンプトで生き続けています。 あれから4年 記事の反響は結構大きく、いろいろなコメントも
先日、気持ちのいいジャンプを目指してというQiitaの記事を見かけました。記事中では、マリオのジャンプについても触れられています。マリオというと、マリオブラザースやスーパーマリオブラザース等々、色々あるのですが、これはおそらくスーパーマリオブラザースの事だと思われます。ジャンプアクションゲームといったらスーマリですね。 そのマリオのジャンプの仕組みは「マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて~」と書かれていて、別サイトのブログへのリンクが張られています。 マリオのジャンプ実装法とVerlet積分 ただ、この記述については不正確であるという別のブログもあったりします。 マリオの完コピvol.28 ジャンプの解析と修正 ホントのところはどうなんでしょうか?世界で最も有名なゲームのジャンプがどのように処理されているのか気になったので調べてみることにしました。 原典にあたる
テスト駆動開発(TDD)は、より優れたソフトウェアを持続的に早く提供するための確立された手法です。TDDは単純な考えに基づいている。製品コードを書く前に失敗するテストを書くことです。新しい行動が必要ですか?失敗するテストを書いてください。しかし、この一見単純な考えをうまく実行するには、スキルと判断が必要です。 TDDは本当に設計のためのテクニックです。TDDの基礎は、小規模なテストを使用してボトムアップを早急に設計することであり、システムへの信頼を構築しながら迅速に何らかの価値を得ることです。よりよい名前はテスト駆動設計かもしれません。 設計方法としては、集中と単純さです。目標は、開発者が価値を提供する上で不要な余分なコードを書くことを防ぐことです。問題を解決するのに必要最小限のコードを書くことです。 多くの記事がTDDを行うことのすべての利点を誇りにしています。そして多くの技術会議の講演
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く