タグ

ブックマーク / qiita.com (266)

  • こどおじがAndroidアプリ作ってたらGoogleに子供部屋を追い出された話 - Qiita

    自己紹介 皆様は個人開発をやっておられますでしょうか。私も億万長者を目指して日々スマホアプリ開発をしております。 代表作は安倍晋三エクスプローラー/聖帝エクスプローラー、最近力を入れているアプリはガチ有能AI助手です。他にもいくつかのアプリを個人で開発し、AppStore/GooglePlayで公開しています。 私はこれらのアプリを実家の自室で開発していました。10年以上実家暮らしをしていた筋金入りの子供部屋おじさんです。 なお、ガチ有能AI助手ではバックエンドで使用しているCloudRun、Firebase、Algolia、Suno、Huggingfaceでそれなりに運営費用が発生しています。そのためIn App Purchaseを使用してアプリ内から寄付ができるようにしています。 IAPを使用した寄付機能(iPhone) IAPを使用した寄付機能(Android) GooglePlay

    こどおじがAndroidアプリ作ってたらGoogleに子供部屋を追い出された話 - Qiita
    mohno
    mohno 2024/09/03
    分かりにくいタイトル。/もともとネット事業者は「特定商取引に基づく表記」として住所や電話番号を公開しないといけないけどね。/ドメイン名の登録では秘匿化が当たり前になってはいる。
  • 「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita

    Webサービスのフォームに住所を入力するとき、丁目や番地などを入れる欄について、数字やハイフンを全角で書かなければいけない「全角縛り」をやっているフォームをよく見ます。半角文字を入力してしまってエラーになったり、咄嗟に変換方法を思い出せなかったり、全角と半角の見分けが付きづらかったり、「全角縛り」であることが明示されていなかったり、「ハイフン」としてどの文字を使うべきかわからなかったり……と、陶しさを感じることが多くあります。 「住所は全角のみ」(数字やハイフンも絶対に半角を受け付けない)という仕様がどういう経緯で生まれて、どう広まっていったのかが気になってる。いま存在しているのは過去の仕様や慣習の踏襲として理解できても、そもそもなぜそれらが生まれたのかが理解できない。 https://t.co/ZLz0Pw9GOK — ymrl (@ymrl) July 29, 2024 これについて

    「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita
    mohno
    mohno 2024/08/03
    なにかしら正規化したいと思ったら「全角に合わせておく」は一つの手段だとは思う。/個人的には半角に合わせたいけど。それこそ印刷ではみ出るとかExcelだってあるわけだし(←オイ)
  • C言語の知られザル・許されザル仕様 - Qiita

    はじめに どうも、y-tetsuです。 かれこれC言語には、10年以上携わっているのですが、最近ふと学びなおしをしています。 「Cクイックリファレンス第2版」これを完走めざして読み始めました。全816ページの超大作! 先は長いので、日頃からかたわらに置いておき、表紙の牛さん(雌牛)と目が合ったら黙って少し読むようにしています。 言語の"歴"だけは長い筆者ですが、このをちらっと読んだだけでもいまだに知らなかったことが結構潜んでいました。意外と己の"目"ってザルでした。 そんなこんなで学びなおしのため、今回は筆者が感じたままの知られザルそして許されザルなC言語の仕様について、備忘録を残します。 知られザル仕様 恥ずかしながら、今まで存じ上げザルだったシリーズ。 ダイグラフ 名前からして???だったんですが、キーボードによっては存在しない記号を別の2文字で表わすためのものだそうです。 !?…っ

    C言語の知られザル・許されザル仕様 - Qiita
    mohno
    mohno 2024/07/29
    はじめにトライグラフがあって、わざわざ3文字にしなくてもいいというのでダイグラフになって、トライグラフが廃止されたわけで。/制御文は「if (式) 文;」って説明するヤツが悪い。/知らなきゃいけないものもあるが。
  • 詳細設計書なんて、書きたくない・・・・Doxygenを使って自動生成してみる - Qiita

    はじめに お客様に提案をしているときの会話です。 お客様:「詳細設計書は作りますか」 私:「昔ながらの詳細設計(ロジックを日語で書くもの)は作りません。クラス図とか、シーケンス図は複雑であれば作りますが、今回のシステムはそこまで必要なものはないものなので、割愛しようと思っています。」 お客様:「保守をお願いするかどうか未定なので、場合によっては引継ぎのために作ってもらうかもしれません」 私:「・・・・」 といった感じで、私がこの業界に入った30年前は、確かにプログラムを作る前に、詳細設計書と呼ばれるプログラムを日語で書いていました。 最近、詳細設計と呼ばれるものを作った記憶がなく、無駄なものは作りたくないなぁという思いから、コードから自動生成できないかなと思って、いろいろ試してみました。 Doxygenって いろいろ調べてみると、Doxygen にたどり着きました。 色々な言語に対応し

    詳細設計書なんて、書きたくない・・・・Doxygenを使って自動生成してみる - Qiita
    mohno
    mohno 2024/07/07
    書きたくはない。詳細設計書からコード書くのすらやりたくない。メソッドのコメントでいいじゃん。/概要設計もテストもないものを「なんとかして」っていうのも困るけどな。
  • Windows11のコンテキストメニューを旧仕様に戻す方法 - Qiita

    概要 Windows11のコンテキストメニューをWindows10までの従来仕様に戻すスクリプトをまとめた話です。 ググれば同じ話はいくつも出てくるのでn番煎じ感が強いですが、PowerShellだけで行ってる例は少なかったので、そこは新規性があるかも? コンテキストメニューって? エクスプローラやデスクトップ上などでファイルとか何もない場所を右クリックしたときに表示されるメニューのことです。 このコンテキストメニュー、Windows10までとWindows11で仕様が大きく異なります。 Windows11では表示をすっきりさせるためなのか、従来のほとんどの操作は非表示になっています。 なので、例えば7zipでの解凍・VSCodeで開く・送るなどの操作をしたい場合は「その他のオプションを確認」をクリックして従来のコンテキストメニューを表示してから対象操作を選択する必要があります。とてもつら

    Windows11のコンテキストメニューを旧仕様に戻す方法 - Qiita
    mohno
    mohno 2024/06/10
    「Windows11でもバージョン22H2以上であればShiftキーを押しながら右クリックすれば旧仕様のコンテキストメニューを表示できます」←ああ、これ、わりと最近の機能だったのか。たまたま見つけただけだったんだが。
  • decimal型(十進小数)に夢を見ている輩が多すぎる - Qiita

    みたいなのが挙げられます。これが話題になった時にSNSで見かける言説が「十進小数 (decimal) 型ならこういう問題はない」です。 ですが、decimal型は十進小数を正確に表現できるという話でしかなく、全ての実数を正確に表現できるわけではありません。例えば、 1.0 / 3.0 * 3.0 の計算を考えてみましょう。数学的には、これはちょうど 1.0 になるはずです。 C#の場合 C#には標準の decimal 型があります。これで 1.0 / 3.0 * 3.0 を計算してみましょう。

    decimal型(十進小数)に夢を見ている輩が多すぎる - Qiita
    mohno
    mohno 2024/06/09
    そこまで夢を見てる人を知らんが、コンピュータ内部では、日常的に使う10進法ではなく、2進法で計算するので「2のべき乗の組み合わせでない数は正確に表現できない」という話。そんなに3で割らなくていいよ(←オイ)
  • Windows 11 では 7z をコマンドラインでも圧縮・解凍できるようになっていた - Qiita

    Windows 11 23H2 以降、エクスプローラーが 7z、tar などの解凍に対応しました。さらに、Build 25992 では圧縮も可能となったようです。7-zip を追加インストールしなくてもこれらのアーカイブを取り扱えるのは嬉しいですよね。 1 一方で、PowerShell の Expand-Archive コマンドレットは拡張されておらず、ZIP 形式の解凍しかできません。 GAC Version Location --- ------- -------- False v4.0.30319 C:\Program Files\WindowsApps\Microsoft.PowerShell_7.… OperationStopped: File 'E:\test\archive.7z' does not appear to be a valid zip archive. せっかく

    Windows 11 では 7z をコマンドラインでも圧縮・解凍できるようになっていた - Qiita
    mohno
    mohno 2024/06/02
    たまたま仕事で7-zipで圧縮されているものがあって気付いたんだが、なんかやたら展開が遅かった。待ってるより、7-zipをダウンロードして展開する方が速いんじゃないか?と思ってやってみたら、ホントに速かった。
  • エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita

    どうもエラーを出すもしくはエラーが出るのが怖いという人がいるみたい。例えば改修を行うときに既存部分でエラーが出ないことを最優先にして増築を行いいびつな構造を生み出すとか、単純に例外を全然使わないとか。エラーが出ると、「うわ、エラーになった。手間かけさせやがって面倒だなぁ…」みたいな感覚があって、とにかく自分がコードを書くときも一切例外を投げないというスタンスをとりがちなのかもしれない。 私はここで、適切にエラーが出てくれるのはむしろ喜ばしいことであり、自分がコードを書くときも積極的にエラーを出すようにすべきだ、という主張をする。 関数定義のドキュメンテーションの一部 ある関数の中身で一番最初に書くべき処理は何か、それは引数のチェックをして条件を満たさなければエラーを出すことである。例えば文字列は特定の形式になってなければならないとか、数値に最大値最小値があるとか、これらは関数の入力の前提条

    エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita
    mohno
    mohno 2024/05/05
    型付けの話かと思ったら、実行時のエラーか。「本当に怖いのはエラーが出ることではない、エラーが出ないまま実はおかしな挙動になっている場合である」/returnの後にelseを書いたり、elseでreturnするのは好きじゃない。
  • 【熱望】javascript の for 文で var i を宣言するのはやめて下さい - Qiita

    この書き方でも for 文は正常に動作します。 しかしながらこの書き方は 以下の書き間違いが生じることがあります。 for(var i = 0; i < array1.length; i++) { //長い処理 for(var i = 0; i < array2.length; i++) { } } 長い処理の中で i を宣言したことを忘れて 再び i を宣言してしまうことで 外側の for 文のカウントにバグが発生し 期待した動作にならない例になります。 私も他の人が作成した web アプリで このバグを見かけたことがあります。 for の変数を宣言する場合 必ず let で宣言して下さい。 var でなければ正常に動作しないのは 構造的欠陥のハズです。 let array1 = [1, 2, 3]; let array2 = [4, 5, 6]; for(let i = 0; i <

    【熱望】javascript の for 文で var i を宣言するのはやめて下さい - Qiita
    mohno
    mohno 2024/04/21
    varじゃなくlet(またはconst)を使え、ってのはforに限らないよね。/あと、for~ofでconstとか。
  • インターホンをスマホに通知する方法をものすごく丁寧に説明する【Raspberry Pi Zero WH 】 - Qiita

    在宅勤務している人、多いですよね。 いつでも配達を受け取れてとても助かります。 しかし...2階で仕事をしていると、 インターホンの音が聞こえにくい! 他のことに集中していると気づかない!!!! せっかく配達に来てくれたのだから、一発で受け取りたいものです。 エンジニアらしく仕組みで解決しましょう! 忙しい人のための超要約 インターホンの室内モニタのA接点を使用します(鳴ると接点が閉じる) RaspberryPi Zero WH を用いて、A接点のオンオフによりGPIOの出力3.3VをGPIO17に印加する回路を組みます GPIO17に印加されたことをPythonスクリプトで検知します 検知したらLINE Messaging APIを使用してpush通知を送信します この説明で理解できる人は、記事全体を読む必要ないと思います。 電子工作初心者でも理解しやすいよう丁寧に書き上げたので、ぜひご

    インターホンをスマホに通知する方法をものすごく丁寧に説明する【Raspberry Pi Zero WH 】 - Qiita
    mohno
    mohno 2024/04/12
    最近、スマホ通知機能のあるドアホンに換えた……と思ったら、その「VL-MWD501」も子機があるし、増設できるじゃないか。「音が聞こえにくい」ならラズパイいじるより、子機を増設する方が楽そう(←やめてあげなさい)
  • C# Win32API完全入門 - Qiita

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

    C# Win32API完全入門 - Qiita
    mohno
    mohno 2024/04/02
    こういうプログラミングから遠ざかって10年くらいになるなあ。当時の仕事のメンテしてくれって言われたら(言われてはいないけど)断りたいレベル。
  • 「ASCIIをUTF-8にして」それが『できない』ことを理解してもらえなかった話 - Qiita

    物語の始まり 事の発端は納品後。 先方からメッセージが届きました。 クライアント様「このファイルの文字コードがShift_JISになっておりますので、UTF-8で再納品をお願いいたします。」 拙者(あれ…UTF-8にしてたと思うんだけどな) 拙者「確認いたします。」 文字コードを確認する 案件はいわゆる更新案件で、今回の納品時に言われていたのは、「文字コードがUTF-8ではないものは変換して納品してくれ」ということ。 そして、ご指摘いただいたのは、今回の更新案件で中身はいじらなかったJavaScriptファイル。 来ならば納品するファイルではないのですが、文字コード変換という要件があったため、納品ファイルとして加えられたものでした。 一括で文字コードを変えたので作業漏れかなぁと思っていました。 ファイルの中身は記事用にかなり適当につくったものですが、まあだいたいこんな感じです。

    「ASCIIをUTF-8にして」それが『できない』ことを理解してもらえなかった話 - Qiita
    mohno
    mohno 2024/04/02
    「できない」ってどういうこと?と思ったら。/追記されてるけど、コメントに日本語を入れれば済んだ気がする。
  • 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
    mohno
    mohno 2024/03/08
    「rm -rf /」じゃなかった。/「何が return で返されるかわかります?」←C言語だったら分かるし、JavaScriptも同じみたいだね。/オススメはされないだろうけど、カッコなしで済むような優先順位/評価順序になってるんだよ。
  • GPT-3.5-TurboとGPT-4-Turbo、Claude2、Claude3(Haiku)、Claude3(Sonnet)、Claude3(Opus)、Gemini Pro、Gemini Ultra、Command R+に同じ質問をして、回答結果を比較してみた - Qiita

    GPT-3.5-TurboとGPT-4-Turbo、Claude2、Claude3(Haiku)、Claude3(Sonnet)、Claude3(Opus)、Gemini Pro、Gemini Ultra、Command R+に同じ質問をして、回答結果を比較してみたPythonAWSAzureOpenAIGoogleCloud はじめに GPT-3.5-TurboとGPT-4-Turbo、Claude2、Claude3(Haiku)、Claude3(Sonnet)、Claude3(Opus)、Gemini Pro、Gemini Ultra(Gemini Advanced)、Command R+に同じ質問をして、回答結果を比較してみました。 Gemini Ultra以外のモデルはPythonコード上から実行し、Gemini UltraはGemini Advancedのチャット上で実行していま

    GPT-3.5-TurboとGPT-4-Turbo、Claude2、Claude3(Haiku)、Claude3(Sonnet)、Claude3(Opus)、Gemini Pro、Gemini Ultra、Command R+に同じ質問をして、回答結果を比較してみた - Qiita
    mohno
    mohno 2024/03/07
    とりあえず、生成AIの言うことを無条件に真に受けちゃダメだってことだよね。
  • 【PHP8.2】PHP8.2でジェネリクスが導入された - Qiita

    4. ジェネリクス PHP 8.2 では、ジェネリクスのサポートが導入されました。 ジェネリクスを使用すると、コードの再利用性が向上し、型安全性も確保されます。 interface Collection<T> { public function add(T $item): void; public function get(int $index): T; } class StringCollection implements Collection<string> { // ... } $stringCollection = new StringCollection(); $stringCollection->add("Hello"); $stringCollection->add(123); // エラー:string 型が期待されています この注釈、詳細ページには一切記述されていないため

    【PHP8.2】PHP8.2でジェネリクスが導入された - Qiita
    mohno
    mohno 2024/03/01
    生成AIを使ったものは「生成AIを使った」印をつけて検索から除外できるようにしてほしい理由。ホント、ゴミが増えて困る(それを狙っているんだろうけれど)
  • 「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita

    はじめに まず↓の記事を見てない方はぜひ見てください! 自分にとってはこの記事には「えっ、ナニコレ!」なテクニックが多く、特に解説もなかったのでいろいろ調べてたら休日が消えてました... なのでその時間の供養もかねて、自分が知らなかった部分を中心に、僭越ながら元記事の解説を書いてみたいと思います。 ちなみに、以下が元記事のコードそのままを実装したものです。たしかに掲載コードだけで要素がグリグリ動きますね。 See the Pen js-drag-move-original by www-tacos (@www-tacos) on CodePen. 初耳1: $img まずコードのここ <img id="$img" src="https://js.cx/clipart/ball.svg" width="40" height="40"> <script> $img.onpointermove

    「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita
    mohno
    mohno 2024/02/28
    若者のjQuery離れ(←オイ)
  • 【2024年】ITエンジニア本大賞まとめ - Qiita

    アジャイルプラクティスガイドブック チームで成果を出すための開発技術の実践知 チーム・組織にプラクティスを導入し、根付かせるために! 116の手法を一冊にまとめた“実践”の手引き チームでのアジャイル開発には、開発技術やツールなどの「技術プラクティス」の活用が重要です。 プラクティスはそれぞれの目的や役割を意識することで効果を発揮します。しかし、目まぐるしく状況が変化する開発では、当初の目的を忘れて、プラクティスに取り組むこと自体が目的化してしまうチームも少なくありません。 書は、チーム・組織でアジャイル開発に取り組んできた著者が、プラクティスの効果的な選択・活用のしかたについて、自らの実践経験に基づいてまとめたガイドブックです。 架空の開発現場を舞台にしたマンガとともに、チーム開発の様々なシーンで役立てられるプラクティスを、幅広くかつわかりやすく解説しています。開発現場に備えておけば、

    【2024年】ITエンジニア本大賞まとめ - Qiita
    mohno
    mohno 2024/02/01
    えっ、JavaScriptの入門書を「全国の書店員がオススメする」の?/JavaScriptとPython本、多いな。
  • もうjsなんていらない!世界で流行っているHTMXについてまとめてみた - Qiita

    HTMXとは https://htmx.org/ HTMXは、JavaScript を記述せずに、Ajax通信や高度なUXを実現できるライブラリ。 軽量 で 高速 で、既存のサーバーサイドのフレームワークとシームレスなやり取りができる。また、AJAX通信の発火、フォームの送信処理、DOMの更新などを既存のHTML要素を拡張するだけで可能とする。WebSocketやSSEにも対応しているので、チャットアプリなどにも適している。 2023 JavaScript Rising Starsでは、 フロントエンド・フレームワーク部門で見事2位に輝いた!(一位はReact、全部門だとshadcn/ui) 似たような機能として、Ruby on RailsHotWireがあるらしい。 2024年はHTMXがくると言われているぐらい世界で騒がれているのだが、あまり日では流行っていない。以下はGoogle

    もうjsなんていらない!世界で流行っているHTMXについてまとめてみた - Qiita
    mohno
    mohno 2024/01/18
    https://unpkg.com/htmx.org@1.9.10/dist/htmx.min.js をコピーして、htmx.min.jsに保存して以下のように読み込む」←それを「jsなんていらない」というのはどうか。
  • 祖母が就寝するとDBインサートができなくなる - Qiita

    世の中には、一見関係なさそうな物理現象がITシステムに不可思議な影響を及ぼすことがあります 例えば,500マイル以上離れた場所にメールが送れないという話だったり 中国人のAさんがお茶を入れると会社のネットが繋がらなくなる という話があります。 私の場合は、祖母が就寝するとDBインサートが失敗する、という状況でした 実家の見守りシステム 問題が起きているのは、離れた実家にいる一人暮らしの祖母の状態を見守るために作成した自作のシステムです。 気温や湿度、CO2濃度、明るさ、部屋のドアの開閉、冷蔵庫の開閉の状況をモニタリングできるようにしています。 Raspberry Piに各種センサが接続され、定期的にInfluxDBに送信し、Grafanaという可視化ツールでいつでも見られるようにしています。 これらの情報を見ることで、祖母の家の部屋の温度が適切か、活動しているか、部屋にいるかなどが分かりま

    祖母が就寝するとDBインサートができなくなる - Qiita
    mohno
    mohno 2024/01/08
    「取得した照度はおそらくstring型で、jsonに入れるとほとんどの場合float型の形式になりますが、値が0になった場合のみ0.0ではなく0としてint型として認識されてしまい、型の不一致が起きたよう」
  • ゲーム作りとかCGとかに関わる数学(初歩)① - Qiita

    ゲーム作りとかCGとかに関わる数学(初歩)① 今回HIKKYさんのアドベントカレンダーに投稿するにあたって、別の温めてたネタはあったんですが諸事情により封印してしまったので、何か別のテーマにしようと考えました。 で、色々考えたのですが、特に思いつかなかったのでCG数学の初歩的な話をしようかなと思います。実際VKetCloudの中でも基的な数学は必ず使われてますし。 あと「ゲームメーカーズ」さんの記事でも取り上げていただいた、僕のCEDEC+KYUSHU2023数学のお話がやたらとウケがよかったため、数学の話で行くことにしました。 で最初に書いておくと、書きたかったことの半分もかけていません。 時間の都合上と、あと数式と頭が多すぎるのか、このドキュメントの編集が何度も落ちるからです。 と言うわけで、今回は概要と三角関数とベクトルの話だけにします。 あとは年末年始休みの間にでも続きを書きま

    ゲーム作りとかCGとかに関わる数学(初歩)① - Qiita
    mohno
    mohno 2023/12/26
    これはよいまとめ。高校数学を忘れてる人、けっこういる。/というか、テーマが“ゲーム”だけにfloatなんだね。(普通はfloatなんて使いません、とか言い放ってる)