タグ

programmingに関するardarimのブックマーク (910)

  • タイムスタンプの精度を落とすときは切り捨てろ - 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のブログ
    ardarim
    ardarim 2024/04/20
    Excel君に言ってやって
  • 5年生の時にパソコン購入を反対され、それでもプログラミングがしたくてBASIC言語の入門書を見ながらノートにコードを書いてた話

    Kazuyuki @kazuyuki Genies, Inc.|マイクロSaaSの開発・運営|PMO - 上場企業含む3社|生成AI導入支援|PHP, Svelte, Python|J.S.A. Wine Expert (2022) Kazuyuki @kazuyuki 5年生の時にパソコン購入を反対され、それでもプログラミングがしたくてこっそり買ったBASIC言語の入門書を見ながらノートにコードを書いてました。奇跡的にそれが残っていたので写真に撮りClaude3でJavascriptにして実行。35年の時を経て生成AIによって動きが知れたことに感動しています。 pic.twitter.com/3EHBs5388P 2024-04-04 21:52:31

    5年生の時にパソコン購入を反対され、それでもプログラミングがしたくてBASIC言語の入門書を見ながらノートにコードを書いてた話
    ardarim
    ardarim 2024/04/07
    方眼ノートでハンドアセンブルとかしてたわ
  • C# Win32API完全入門 - Qiita

    はじめに 対象とする読者について 記事の対象者としては以下のような人を想定しています。 C#でこれからWin32APIを使ってみたい。 C言語のことがあまりよく分かっていない。 今までは適当に使っていたので一度きちんと理解したい。 自分が同じような状況であったため、一から調べて整理してみました。自分が理解した順番や内容で記載することで、また、具体的な使用例によってできることの広さや動作を感じ取ってもらうことで、理解の助けになればと思っています。 但し、分かっている人からすると冗長な説明になっている部分や好ましくない内容、正確性に欠ける内容などもあると思います。実際に使用する場合はその点にご留意願います。 Win32APIについて Windows API - Wikipedia Microsoft Windowsのシステムコール用APIのこと。特に32ビットプロセッサで動作するWindow

    C# Win32API完全入門 - Qiita
  • 超簡単にChromeの拡張機能を作ってみる【誰でもできるよ】 - Qiita

    はじめに みなさんはChrome拡張機能を使っていますか? 僕も使っていますが、案外Chrome拡張機能を作るのは簡単です。 今回は、普段の業務の効率を上げるのも兼ねて自作してみました! 最低限準備するもの manifestファイル Javascriptファイル ぶっちゃけ、これだけで動きます。 実際に作ってみよう それでは実際に作成していきましょう。 今回はDとVを押すだけで、Markdownのリンクを作成する拡張機能を作成していきます。 まずは、manifestファイルから設定していきます! manifestファイル を参考にして、備忘録も兼ねて説明していきます。 今回は、最低限の設定を行います。 { "manifest_version": 3, "name": "Create markdown link", "version": "1.0.0", "icons": { "16":

    超簡単にChromeの拡張機能を作ってみる【誰でもできるよ】 - Qiita
  • オブジェクト指向宗教史

    OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。

    オブジェクト指向宗教史
  • うるう日にしか発生しないバグ

    昨日うるう日にしか発生しないバグに遭遇した。Javascriptを書く人には有名な話だとは思うので大して面白くはないかもしれないが一応メモ。 詳しくは書けないがバグが発生した関数の仕様としてはざっくりと下記のような感じ。 対象の年月日が基準日の1年前から1年後の間に含まれる場合はtrueを返しそうでない場合はfalseを返す 引数として2020-12-24というフォーマットの文字列が渡される(判定対象の日) 引数として2021-01-01というフォーマットの文字列が渡される(+-1年の基準日) Javascriptで書く (例) 対象の日: 2024/10/10 基準日: 2024/01/28 この時、trueになる範囲は2023/01/28 ~ 2025/01/28。なので2024/10/10はtrue。2023/01/28も2025/01/28もtrueになる。閉区間。 とあるコードの

    うるう日にしか発生しないバグ
  • プログラマーの教養としての原則

    参考 プリンシプル オブ プログラミング - 3年目までに身につけたい一生役立つ101の原理原則 発行: 2016/3/23 著者: 上田 勲 まえがき プログラマーの世界で語り継がれる原則や格言を知ることは、その共通の言語や道徳を理解する手助けとなります。 『プリンシプル オブ プログラミング』(以下、プリプロ)は、統一された語句と形式により、先人のプログラマーたちが重要視していた思考法やアプローチを、微妙な概念の違いに気を使うことなく理解できるよう構築されています。この記事では、このを読む上で役立つ101の原則マップと原則から抽出した価値観をまとめます。プリプロを読む際のガイドになればと思います。 一方で、プリプロに収録されていないウィットに富んだ原則や格言も多く存在します。この記事では、主に私の現場で重要視しているプリプロの101の原則以外の原則・格言も追加で紹介します。 プログラ

    プログラマーの教養としての原則
  • プログラミングの終焉と生存戦略|k1ito

    この文章は何: 近年の生成AIブームにより、革命的なまでにプログラミングという仕事の形は変わることが予想され、実際、今までにない速度で世界が効率化され様々なサービスがローンチされていく中「使う側」としても「作る側」としても「IT業界(特にSaaS業界など)での生存」は難しくなっているように感じます。正解を知っていたらとっくに僕は大儲けをしているわけですが、当然わかるはずもなく生存戦略に苦しむだけの中での寝言です。 まとめと結論めいたもの:AI技術の発展により「プログラミング」と呼ばれる「人間の仕事を機械に引き継ぐ行為」のほとんどはゼロコストで行えるようになり、少なくとも今ほどの価値や競争優位の源泉とはならないだろう。今やるべきは、AIを自社の競争優位の源泉とするべく、まるで人材投資のようにAIへの引き継ぎ書を書くことと、AIの研修制度を作ることかもしれない。 プログラミングという仕事の終焉

    プログラミングの終焉と生存戦略|k1ito
    ardarim
    ardarim 2024/02/04
    プログラマ不要論は定期的に上がっては消えるの繰り返しだけど学習しないよね。プログラマの実態を知らない外野が騒いでるだけだから仕方ないのか。
  • 「プログラマーのための CPU 入門 ― CPUは如何にしてソフトウェアを高速に実行するか」を読んだ - おしぼりの日常

    年明けの暇な時間を利用して読んでみました。 書籍のリンク 技術書としての感想 良かった点 悪かった点 注意点 総評 技術書としての感想 良かった点 とにかく文章が分かりやすい 色々な用語の使い方に違和感がない 言葉にすると簡単ですが、当に分かりやすかったです. 具体例が豊富 図が豊富 コード例が豊富 実験例が豊富 まず、「〇〇 な場合に命令の処理が詰まって遅くなります」といった説明の後に、「では、具体的にこういったケースを考えてみましょう」という具体例を持ってくる展開が多く、とても親切だと感じました.また、このような具体例の説明のときにほぼ必ず図が用いられています.特に全体を通して頻繁に出てくる命令流の図は非常に分かりやすかったです.また、コード例とそれを用いた実験も豊富でした.具体的には、キャシュの章では実際にキャッシュミスを意図的に起こすコード・キャッシュヒットを意図的に起こすコード

    「プログラマーのための CPU 入門 ― CPUは如何にしてソフトウェアを高速に実行するか」を読んだ - おしぼりの日常
  • プログラミング用語の中国語の漢字表記がカッコ良すぎるし初心者に優しいからもっとみんなに知ってほしい - Qiita

    経緯 筆者は外国語大学で中国語を専攻しているのですが、偶然にも中国語のプログラミング関係の記事を読む機会がありました。その中で日語だと直接カタカナで使用している用語も、中国語では意味のある漢字に置き換えられており、興味をそそられたので基礎的な用語を調べてみました。私自身は漢字文化圏で育った者として、こうした用語の漢字表記には元素記号の漢字表記のような魅力を感じます。また同時に、漢字は表意文字であるため初学者にもやさしく見えるので、日でも(自然言語好きな変人たちの間で)もっと広まっていってほしいな、と思います。 個人的6選 Guard:守衛 かっこえぇ!錯誤(error)が発生しても、コードの安全性をしっかりと担保してくれそうな強さを感じますよね? ええ、感じます。 Delegate: 代理 初心者には取っ付きづらいDelegateも代理とされたら、仕事の一部を任せるんだな、ということが

    プログラミング用語の中国語の漢字表記がカッコ良すぎるし初心者に優しいからもっとみんなに知ってほしい - Qiita
  • 【日本人エンジニア必携】英語命名規則の決定版 - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに 英語での適切な命名は、コードの可読性や保守性を向上させるために重要です。適切な命名規則を守ることがコードの理解や共有において不可欠です。 英語での命名規則を学び、適切な命名を行うことで、コードの読みやすさや保守性を向上させ、チーム全体でのコードの理解を促進する手助けとなります。 この記事では、日エンジニア英語での命名規則を理解し、適切な命名を行うための指針を提供します。 命名フローチャート 変数 関数 クラス 1. 変数 1-1. boolean 1-1-1. 存在するかどうかのフラグ 名詞 + exists

    【日本人エンジニア必携】英語命名規則の決定版 - Qiita
    ardarim
    ardarim 2023/12/25
    決定版というか、まあ、普通に英語なんだよな。原則英文法に沿って。
  • else ifが複数回出てきたら考えること

    こんにちは!アルダグラムでエンジニアをしている@sohichiroです。 記事は株式会社アルダグラム Advent calendar 2023 13日目の記事です。 前日は、@kageyama さんによる、SQLインジェクションの話でした。 セキュリティはいつも万全にしておく必要があるので、大変ためになる記事でした。 さて、隠れ関西民として関東地方に生息している私にとっては、翔んで埼玉〜琵琶湖より愛をこめて〜は、いろいろ込み上げてくるものがありました。確かに兵庫県は神戸と芦屋だけが飛び抜けて都会指数が高いですよ😂(私、兵庫県の田舎の方出身)。関西弁を勉強したいなら、格好の教材だと思いました。 else ifが複数回出てくることのつらみ さて、else ifです。 else if。プログラマーであれば、一度は書いたことあると思います。 言語によっては、elsif(Ruby)、elif(P

    else ifが複数回出てきたら考えること
    ardarim
    ardarim 2023/12/17
    else if系は、アセンブリまで落としてみるといかに非効率な処理かがよく分かる(特に最後のelseに入るまでのコストがあほらしい)。switchも同じ。map的な機構が使えるならそうすべきだし、まだ多段ネストの方がマシ
  • あなたが見た中で最も有用なコードコメントは何ですか?

    回答 (25件中の1件目) 有用なコメントはどれも有用で、どれが一番、としづらいです。 無いと困るという視点でみると、特定のデータ構造を処理するコードのコメントです。例えば、パーサーがどういう構文を処理しているのか?といったコードはどんな構文なのか説明がないと、何を処理しているのか構文を知らない人には解りません。 postgres/postgres 手続き型言語の場合、構造体への値設定にどのような意味があるのか?は代入からでは解りません。(OOの場合はエンカプスレーションしているので、メソッド名で概ね解るようにできる) postgres/postgres コードから処理が判って...

    あなたが見た中で最も有用なコードコメントは何ですか?
    ardarim
    ardarim 2023/12/04
    ログいれると動くみたいなのはだいたいメモリ破壊かタイミングか排他制御漏れか。いずれにしても原因特定は難しいのよね
  • 9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか - エムスリーテックブログ

    私は日付時刻の処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日付時刻型クラスにはそれぞれ思うところがあり、今日はちょっとその品評会をしてみたいと思います。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の2日目です。 至高の日付時刻型を持つ言語、BigQuery SQL 不足はないが蛇足、Java 8 日付時刻で画竜点睛を欠いたC# C#よりややまし、Python 型は良い構成、なのに命名と処理関数で損しているPostgreSQL まとめ We ar

    9時間足すんだっけ引くんだっけ問題~あるいは、諸プログラミング言語はいかにタイムゾーンと向き合っているか - エムスリーテックブログ
  • リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog

    どうも、レコメンド商品のシステム開発をしている野川と申します。 私は、2021年にモノタロウに新卒入社し、2022年5月からレコメンド商品の開発に関わり始めました。 モノタロウのレコメンド商品は、下の図の①~④の流れでクライアントサイドで表示しています。大部分の処理はJavaScriptで構成しており、UIもそのHTML部分をjQuery(JavaScript)で作成しています。 図:レコメンド商品表の流れ 入社当時私は、ソフトウェアエンジニアとして、「可読性の低いコードは駆逐するべきだ」「読みやすいコードだけが正義である」「理解しやすいシステムだけが皆を幸せにする」と心の底から考えていました。加えて、「なぜ先輩たちは可読性の低いコードを放置して平気なのか?」と疑問を持つこともしばしばありました。 レコメンド商品周りのコードはまさに可読性の低いコードベースとなっていたため、当事者となった私

    リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog
    ardarim
    ardarim 2023/11/28
    リファクタリングってもっと局所的なイメージ。再設計まで行くとそれは再設計開発であってリファクタリングではない、気がする
  • きれいなコードは互いに似通っているが、クソコードはどこもその趣が異なっている - きしだのHatena

    先日のJJUG CCC 2023 Fallの懇親会でクソコードを研究しているという学生がいたのだけど、クソコードの研究は難しいという話をした。 人工的にクソコードを再現しても、あの野生のクソコードのクソさには全く足りないわけで。 トルストイが言うように「すべてきれいなコードは互いに似通っているが、クソコードはそれぞれにクソの趣を異にしているものである」なので、なかなか「これがクソコード」のように類型化するのも難しい。 典型的なクソコードを書いてみても、なんだかきれいなクソコードができてしまう。 クソコードはネットに出回らないので、資料の収集もまた難しい。ネットにないということは、ネットの情報に基づいている「AI」もホンモノのクソコードには触れていないことになる。 クソコード収集サイトをつくっても、実際のクソコードは業務固有処理も含まれるので、掲載できる形に整理していくと来のクソさが薄れて

    きれいなコードは互いに似通っているが、クソコードはどこもその趣が異なっている - きしだのHatena
    ardarim
    ardarim 2023/11/17
    野生のクソコードは野生でしか観察できないのだな。狙って意識的に作れるものではない。
  • 特に個人開発者向け!CodeRabbit(自動レビューツール)を使えばコードの健康まで得られることに気づいた話

    ↑by Image Creator from Microsoft Bing CodeRabbitのレビュー もう初回コードレビューAIに任せる時代になった - CodeRabbit -を読んだ。レビューはとても負担が多く、時間もかかる。これをAIがやってくれたら、こんな有難いことはない。というわけですぐに使ってみた。 CodeRabbitを使った結論 結論から書くと、レスポンスも速く、技術レベルも高く、気を使う必要もない上に、コミュニケーションも出来る。若干問題に対して答えを言いすぎるキライはあるが、これも使い方に依る。さらにレビューを意識することでコードの健康まで得られてしまう。良いことしかない。 CodeRabbitの価格体系 気になっていたのはやっぱり価格だが、調べてみたらオープンソースであれば無料!だった。また有料も以前はOpenAPIのトークン使用量が別途かかっていたようだが、

    特に個人開発者向け!CodeRabbit(自動レビューツール)を使えばコードの健康まで得られることに気づいた話
  • もう初回コードレビューはずんだもんに任せる時代になった

    はじめに Gitのステージングエリアにあるファイルを対象に、レビュー結果をSlackに通知するアプリケーションを作成しました。 開発環境のターミナルで指定したコマンドを実行するだけで、Slackにレビュー結果が送信されます。 ソースコードは以下です。 こんな人におすすめ コードレビューを受ける前に自分で事前チェックをしたい方 一人でコードを書くことが多く、レビュワーがいない方 どうせなら楽しくレビューしてもらいたい、好きなキャラクターにレビューしてもらいたい方 アプリケーションの構成 レビュー依頼の手順と流れ 以下のような手順と流れでレビュー結果を得ることができます。 レビュー対象のファイルをステージングエリアに登録する(複数ファイルの登録が可能です) ローカルのターミナルでaireviewコマンドを実行 Slackに必要な情報が送信される レビュー結果を確認する スレッドにレビュー結果が

    もう初回コードレビューはずんだもんに任せる時代になった
  • ChatGPT AIとペアプログラミング

    OpenCVを使用して画像から複数のオブジェクトを認識し、切り出すための一般的な手順は以下のようになります: 前処理: 画像を読み込みます。必要に応じて画像をリサイズします。グレースケールに変換するか、あるいは必要に応じて色空間を変更します。オブジェクトの検出: エッジ検出、閾値処理、または色に基づくフィルタリングなどを使用してオブジェクトを検出します。輪郭検出を行い、オブジェクトの境界を見つけます。輪郭の処理: 検出された輪郭をフィルタリングして、ノイズや小さなオブジェクトを除去します。必要に応じて輪郭を近似します。オブジェクトの切り出し: 各オブジェクトの境界ボックスを使用して画像からオブジェクトを切り出します。オブジェクトごとに個別の画像として保存するか、表示します。後処理 (オプション): 切り出されたオブジェクトをさらに処理するためのステップを行います。例えば、オブジェクトのサイ

    ChatGPT AIとペアプログラミング
    ardarim
    ardarim 2023/11/04
    適切な要件を与えればプログラムも書いてくれる、すごい時代になってきたな。ただまあ、「適切な要件を与える」が難しい訳だが… / プログラムでなくて単に画像処理だけやってもらうでも便利そう。
  • 初めてのパフォーマンス改善

    2023.10.27 Kaigi on Rails 2023 Day1

    初めてのパフォーマンス改善
    ardarim
    ardarim 2023/10/28
    分野が違うと参考にならないな。組込み寄りだと、遅い再現パターンの特定→プロファイラで遅い箇所の特定