タグ

programmingに関するshidhoのブックマーク (46)

  • タイムスタンプの精度を落とすときは切り捨てろ - methaneのブログ

    とあるプロジェクトでナノ秒からミリ秒への変換で四捨五入してきた人がいて、時刻を扱うときは保存精度未満は切り捨てるべきというのが常識になっていないなーと思ったので。 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 そして、そう決めたからには一貫して同じように、指定精度未満は切り捨てというルールを維持しなければならない。秒以下は四捨五入で、とかやってはいけないのだ。 一貫しないと何が問題

    タイムスタンプの精度を落とすときは切り捨てろ - methaneのブログ
  • 1行で発狂するコード - Qiita

    人は1行の記述で死ぬこともある 公開からコンスタントに閲覧をいただいている以下の記事。需要がありそうなので、もう1つ記事を書いてみようと思う。 題材は前回同様のJavaScriptのクソコードではあるが、前回は冗長を極めたクソコードであるのに対し、今回はたった1行である。 1行なのに、なんと示唆深いに富む(決してほめていない)コードだろうか。 不可思議なコード では、実際に見てみよう。 return a = a >= 10 ? 10 : a >= 5 ? 5 : a >= 3 ? 3 : a >= 2 ? 2 : 1, z * a; これを見て、何が return で返されるかわかります? 代入演算子 最初見たとき、代入文 a = ××× の評価値って何になるのかな? a が return されるのかなと思いました。 割り当て操作は、割り当てられた値として評価されます。 JavaScrip

    1行で発狂するコード - Qiita
    shidho
    shidho 2024/03/08
    ギリ読めた。個人的には発狂するコードといえば、(1x$number) =~ m/^(?:1?|(11+?)(?>\1+))$/; のほうがおすすめ。何をするコードかは知っているが、どうしてそう動くのか全く理解できていない。
  • 電車の広告にプログラミングコードあるわぁって思って読もうとしたら、やられた笑笑→「プログラミング経験ないけど読めた。うまい広告だなぁ」

    オットー@脱毛パパブロガー @arafour_otto @akitonton5 これは天才 興味のない人は何か分からない ちょっと学のある人は「あープログラミングのなんかね」でスルー でも、知識がある人は「どんなコードかな?」って読んじゃう。 広告自体がある意味「一次選考」になってる、とてもよく考えられた広告。 たまに電車で見るこういう広告、面白いですよね! 2024-01-14 23:53:44

    電車の広告にプログラミングコードあるわぁって思って読もうとしたら、やられた笑笑→「プログラミング経験ないけど読めた。うまい広告だなぁ」
    shidho
    shidho 2024/01/15
    しかし誰もURLの微妙な不可解さには触れていないのだった。たぶん何かのモジリだと思うんだけどなあ。
  • 絶対に画像をダウンロード&スクレイピングさせないWebページを本気で作ってみた - blog.potproject.net

    巷で話題になっているこの話題、画像をスクレイピングやダウンロードされたくないということで騒がれています。その話に関しては色々な意見があると思ってますがここでは置いておくとして・・・ 技術的にやるとしたら実際どれくらい対策できるの?ということが気になったので、自分の知識で出来る限り対策したものを作ってみることにしました。 最初に 賢い方はわかると思いますが、タイトルは釣りです。 絶対に画像をダウンロード&スクレイピングさせないページは存在しません。ソフトウェアにおいて絶対と言う言葉はまず存在しないのです。ブラウザで表示している以上、仕組みさえわかれば技術的には可能です。 そのため、 「元画像のダウンロードとスクレイピングを非常に困難にしたWebページを気で作ってみた」 が実際のタイトルかなとなります。 とはいえ、この仕組みであれば大多数の人は機械的にスクレイピングすることを諦めるレベルの作

    絶対に画像をダウンロード&スクレイピングさせないWebページを本気で作ってみた - blog.potproject.net
    shidho
    shidho 2023/05/30
    開発者ツールで回避するのを防ぐのは"本気"にはやっぱり必要だよね。
  • ChatGPTの精度を上げる、あらゆる質問の最後に置く「命令」 優秀な壁打ち相手を作る、「チャットAI力」の高め方

    クリエイターに出会ったり、もっとファンになったり、noteで創作をつづけたくなるようなイベントを開催する「noteイベント」。今回は「チャットAI使いこなし最前線」をテーマに、黎明期からチャットAIを活用しているnote CXOの深津貴之氏が登壇しました。こちらの記事では、ChatGPTユーザーの悩みを解決するプロンプトなどが語られました。 ChatGPTユーザーの悩みを解決するプロンプト 徳力基彦氏(以下、徳力):まず今日はChatGPTの使い方をしっかり覚えていただきたいと思います。ここで「深津式汎用プロンプト」。 深津貴之氏(以下、深津):僕は1個1個、個別の例を出すのはあんまり好きではないです。さっき言ったように原理原則を1個理解すれば、全部その原理原則から引っ張れる方向が好きですね。 なので今日も、細かいプロンプトを出すよりは、だいたいあなたの悩みのすべてを解決するプロンプトを1

    ChatGPTの精度を上げる、あらゆる質問の最後に置く「命令」 優秀な壁打ち相手を作る、「チャットAI力」の高め方
    shidho
    shidho 2023/03/16
    最終的に作られるものが日本語BASICだかなでしこみたいになってる件について。
  • ファイルをバイナリ化して動画にすることでYouTubeを容量無制限のストレージとして活用する試み

    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

    ファイルをバイナリ化して動画にすることでYouTubeを容量無制限のストレージとして活用する試み
    shidho
    shidho 2023/02/24
    Googleは動画もどんどんロスあり圧縮するから、その圧縮に負けないエンコードで冗長化しまくってファイル作るって話なんだろうね。サイズが数倍ってことは。
  • ChatGPTでプログラマはお払い箱になるのか

    ChatGPTが今後ますます精度がよくなると世の中で働くホワイトカラーの大半がAIに置き換えられるという論調を最近しばしば目にする.なかでもプログラマは失業まったなし,なんだそうだ. しかし,当にそうなのだろうか?まずはChatGPTの実力を知らねば話にならない.簡単なCのプログラムを書かせてみた.以下,「[私] 〜」とあるのは私がChatGPTに対して入力した文字列であり,「[ChatGPT] 〜」およびそれに続くコード例は,ChatGPTの回答である. 1回目の対話それでは,ChatGPTの底力をみてみることにしよう. (対話ここから) [私] コマンドライン引数で2つの数字を受け取って足し算をした結果を表示するCのプログラムを書いてください. [ChatGPT] 以下が、2つの数字を受け取って足し算をするCのプログラムです。 #include <stdio.h> #include

    ChatGPTでプログラマはお払い箱になるのか
    shidho
    shidho 2023/02/06
    ChatGPTは、自分が嘘をついていることに全く気が付かないらしいので、その点が一番難しいところだと思う。
  • X68000の開発環境について - Qiita

    X68000 Z がにわかに注目を集めています。 これをきっかけに何か作ってみたくなった方のために、X68000(以下、X68k)の開発環境についてまとめてみました。 ネイティブ開発環境 X68kの実機、またはエミュレータのHuman68k上で動作する開発環境です。 X68k現役当時はこの環境しかありませんでしたが、今となっては、特に実機でCコンパイラを動かすのは速度的な意味で結構厳しそうです。エミュレータ上でCPUクロックを上げて使うのが良いと思います。 シャープ純正Cコンパイラ (XC) 概要 シャープから発売されていた純正の開発環境です。(商品名 C Compiler PRO-68K) Cコンパイラ、アセンブラ、リンカ、デバッガにライブラリ群など、ソフトウェア開発に必要なツール類一通りと、分厚い大量のマニュアルのセットでした。 開発者 シャープ株式会社 入手先 現在はソフトウェア

    X68000の開発環境について - Qiita
    shidho
    shidho 2023/01/26
    クロス開発が当たり前になってる。そりゃそうか。
  • ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena

    ChatGPTのヤバいところは、論理処理が必要だと思っていたことが、じつは多数のデータを学習させた確率処理で解決可能だと示したことだと思います。 たとえば、このように正規表現にマッチする文字列を生成するには、特別に専用の論理処理が必要だと思っていました。 前のブログのときには特殊処理が必要だと考えてましたね。 ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena けど、123_45678world.mdはマッチするのにマッチしないと言っているので、そのような誤りが入ることを考えると、どうも確率処理だけでやっているようです。 考えてみると、3層以上のニューラルネットであれば論理素子を再現できるので、ディープラーニングで論理処理を模倣することは可能なんですよね。 バックプロパゲーションでニューラルネットの学習 - きしだのHatena そもそも論理は、多数の

    ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena
    shidho
    shidho 2023/01/11
    ChatGPT、うまく翻訳してないでしょ、って指摘すると認めるけど、それを認めた誤訳箇所はランダムで回答してくるから人工無能に近いかもしれない。
  • 文化祭で滞在状況記録システムを運用しました

    文化祭からはや 3 ヶ月。ずっと書きたいとは思っていたんですが、すぐ定期試験がやってきたり修学旅行に行ったりしてるうちにズルズル来てしまいました。このまま年を越すわけには行かないので、重い腰を上げて書き上げてしまおうと思います。 文章力が皆無なので読みづらい箇所があったらごめんなさい。質問等ございましたらお気軽にどうぞ! 1. システム概要 感染症対策の一環として、主に各展示の同時滞在者数の抑制を目的として導入したシステムです。 文化祭への来場者全員にリストバンドを配布します。各リストバンドには個別の QR コードがプリントされており、各展示の入室時及び退室時に、展示のスタッフが Web アプリ上でスキャンを行い、来場者の入退室時間を記録します。 主な機能として以下が挙げられます。 同じ時間に同じ教室にいたのがどのリストバンドをつけていた来場者であるかが分かるため、万が一新型コロナウイルス

    文化祭で滞在状況記録システムを運用しました
    shidho
    shidho 2023/01/07
    今自分が高校生だったらやっぱりやるだろうなと思うことしてるけど、システムを組むよりもシステムを現場に入れる作業の方が大変だし、それが出来ているのはすごい。
  • Stable Diffusionでmorphing - すぎゃーんメモ

    #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

    Stable Diffusionでmorphing - すぎゃーんメモ
  • JavaScriptの反意図性(クソ挙動)を指摘するバズツイ周辺解説 - Qiita

    先日このようなツイートが話題になりましたね 無論この件は例のコインハイブ事件で言われるような反意図性とはずれる話題ですが、直感的ではないという点でうなずくものがあります 今回はなぜこれらがこのような結果になるのか、回避方法等順に説明しようと思います というのも、この中のいくつかはJavaScript固有のものではないので、他人事と思わないようにしていただきたく…… その上でJavaScript当の意味でヤバイ箇所も説明できたらいいなと思います。 ①typeof NaN NaNとはNot a Numberの略、なのになんでnumberなんだ!! この値は他のオブジェクトを数値に変換する関数parseInt(x)が失敗した場合、0*Infinity等の不確定な計算をした時に出力される値で、エラーを表現する値の一つです。 内部表現的にはただの浮動小数(IEEE754)なので、typeofがn

    JavaScriptの反意図性(クソ挙動)を指摘するバズツイ周辺解説 - Qiita
    shidho
    shidho 2022/02/03
    8進数ワロタ。
  • この個人サイトは自作OSで動いています

    追記 (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)

    この個人サイトは自作OSで動いています
    shidho
    shidho 2022/01/14
    そうか、VM上で動かすことを考えるなら、気の遠くなるような数のデバイスドライバを書く苦労ががっつり減るのか。
  • プログラマの抱いている名前についての誤謬

    パトリック・ミッケンジー(Patrick McKenzie)さんのブログ・エントリ、 “Falsehoods Programmers Believe About Names” の日語訳です。翻訳の公開を快諾してくださったミッケンジーさんに感謝します。 公開: 2012-02-22 Posted on June 17, 2010 by Patrick きょう、ジョン・グレアム゠カミング(John Graham-Cumming)が、正しくない文字が含まれているといって彼のラスト・ネームを受け付けないコンピュータ・システムへの不満の記事を書いていた。もちろん彼の名前に「正しくない」ところなどない。当人の申し出たものが当人を識別するものとしては相応しいのであって、定義からして名前とはそういうものである。このことにジョンは当然ながらいらだったし、そうなるのもきわめて正当なことだ。定義からすれば事実

  • Big Sky :: Windows ユーザは cmd.exe で生きるべき 2020年版

    はじめに 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年 記事の反響は結構大きく、いろいろなコメントも

    Big Sky :: Windows ユーザは cmd.exe で生きるべき 2020年版
  • namae — name new project

    Check availability of your new app name for major registries at once.

    namae — name new project
  • スーパーマリオのジャンプのアルゴリズム - Qiita

    先日、気持ちのいいジャンプを目指してというQiitaの記事を見かけました。記事中では、マリオのジャンプについても触れられています。マリオというと、マリオブラザースやスーパーマリオブラザース等々、色々あるのですが、これはおそらくスーパーマリオブラザースの事だと思われます。ジャンプアクションゲームといったらスーマリですね。 そのマリオのジャンプの仕組みは「マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて~」と書かれていて、別サイトのブログへのリンクが張られています。 マリオのジャンプ実装法とVerlet積分 ただ、この記述については不正確であるという別のブログもあったりします。 マリオの完コピvol.28 ジャンプの解析と修正 ホントのところはどうなんでしょうか?世界で最も有名なゲームジャンプがどのように処理されているのか気になったので調べてみることにしました。 原典にあたる

    スーパーマリオのジャンプのアルゴリズム - Qiita
  • テスト駆動開発:実はそれは設計技術です

    テスト駆動開発(TDD)は、より優れたソフトウェアを持続的に早く提供するための確立された手法です。TDDは単純な考えに基づいている。製品コードを書く前に失敗するテストを書くことです。新しい行動が必要ですか?失敗するテストを書いてください。しかし、この一見単純な考えをうまく実行するには、スキルと判断が必要です。 TDDは当に設計のためのテクニックです。TDDの基礎は、小規模なテストを使用してボトムアップを早急に設計することであり、システムへの信頼を構築しながら迅速に何らかの価値を得ることです。よりよい名前はテスト駆動設計かもしれません。 設計方法としては、集中と単純さです。目標は、開発者が価値を提供する上で不要な余分なコードを書くことを防ぐことです。問題を解決するのに必要最小限のコードを書くことです。 多くの記事がTDDを行うことのすべての利点を誇りにしています。そして多くの技術会議の講演

    テスト駆動開発:実はそれは設計技術です
    shidho
    shidho 2019/07/04
    エロサイトへのブクマと同じくらいにコメントなしのブクマばかりだな。
  • 洞窟の自動生成(ローグライク穴掘り法)💀 - Qiita

    💀洞窟を創造する💀 今回は洞窟をつくります。 💀ローグライクのおさらい💀 >> [DTL]ローグライク(穴掘り法)💀 以前作ったローグライク穴掘り法のアルゴリズムを使用します。 詳しくは前回の記事をご参照ください。 💀手順💀 1. ローグライク穴掘り法でローグライクダンジョンの生成 2. 1以上の数値と0の数値で2値化する 3. ノイズを加えて洞窟っぽくする こんな感じでいきます。 1.ローグライク穴掘り法でローグライクダンジョンの生成 前回の解説記事の時に作った"RogueLike関数"を使用します。 int main() { std::array<std::array<std::uint8_t, 64>, 32> matrix{ {} }; dtl::RogueLike<std::uint8_t> d(matrix, 20); }

    洞窟の自動生成(ローグライク穴掘り法)💀 - Qiita
    shidho
    shidho 2019/02/12
    出来上がった洞窟がまったくローグライクに見えないのはなぜだろう。
  • 【新元号】改元のシステム改修で慌てるシステム屋は「無能」とのこと - Qiita

    という記事を見ての職業プログラマ歴3年程度の若造の過剰反応です。 まとまっていないポエムのようなものなので、 こんなことあるんだなっていう程度に思っていただいたら幸いです。 作ったプログラムを保守しているとは限らない まずはこれが大前提。 「作ったやつが無能」だとか「あらかじめ予想していなかった人が問題」だとか、 いろいろ思うことは当然私にもないとはいいませんが、 そういうことは後続の人が云ってはいけないと思っています。 なぜそうなったかの原因究明は必要ですが、悪口を言うための究明なら時間の無駄でしかない。 考慮ができていない「おかしなプログラム」を直すのが我々保守の一端、おざなりにしてはいけない。 1か月でリリースは難しい そもそもプログラムに直接書き込まれていて、 なおかつオフラインで運用されているシステムが、全国各地にある場合にある場合、 たった1か月で「調査→修正→テスト→納品」で

    【新元号】改元のシステム改修で慌てるシステム屋は「無能」とのこと - Qiita