タグ

関連タグで絞り込む (561)

タグの絞り込みを解除

Qiitaに関するmohnoのブックマーク (216)

  • 再帰関数を学ぶと、どんな世界が広がるか - Qiita

    0. はじめに 再帰関数は初めて学ぶときに壁になりがちで なんとなくわかった...けれど どんな場面で使えるのだろう...いい感じの例を探したい! という気持ちになりがちです。再帰関数は、なかなかその動きを直感的に想像することが難しいため、掴み所が無いと感じてしまいそうです。 そこで記事では 再帰関数の動きを追いまくることで、再帰関数自体に慣れる 再帰的なアルゴリズムの実例に多数触れることで、世界を大きく広げる! ことを目標とします。特に「再帰関数がどういうものかはわかったけど、使いどころがわからない」という方のモヤモヤ感を少しでも晴らすことができたら嬉しいです。なお記事では、ソースコード例に用いるプログラミング言語として C++ を用いておりますが、基的にはプログラミング言語に依存しない部分についての解説を行っています。 追記 1. 再帰関数とは 再帰の意味はとても広いです。自分自

    再帰関数を学ぶと、どんな世界が広がるか - Qiita
    mohno
    mohno 2019/04/06
    再帰は“楽”ができるけど“(実行)効率がいい”わけじゃないからなあ。“富豪的プログラミング”ならばどんどん使えってことになるんだろうけれど。
  • Gitはどうやってテキストファイルとバイナリファイルを自動識別しているのか? - Qiita

    tl;dr 先頭 8000 バイト以内に NUL が有ったらバイナリファイル。 Gitの実装 Gitの内蔵diffは FIRST_FEW_BYTES だけ検索するようになっている。 https://github.com/git/git/blob/6e0cc6776106079ed4efa0cc9abace4107657abf/xdiff-interface.c#L187 #define FIRST_FEW_BYTES 8000 int buffer_is_binary(const char *ptr, unsigned long size) { if (FIRST_FEW_BYTES < size) size = FIRST_FEW_BYTES; return !!memchr(ptr, 0, size); }

    Gitはどうやってテキストファイルとバイナリファイルを自動識別しているのか? - Qiita
    mohno
    mohno 2019/03/31
    バイナリ/テキストの判定、あったなあ。「先頭 8000 バイト以内に NUL が有ったらバイナリファイル」←バイト数は忘れたが、実際、この程度で判定できてて驚いたものだ。
  • iPadでプログラミングしてる人、今まで馬鹿にしててすみませんでしたァァァァ!!!! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こちらの記事内容は3年以上前のものなので、記事内にあるアプリケーションなどの動作やUIは実際と異なる可能性があるのでご注意ください。 (2023/01/04追記) iPadでプログラミングwwwアホちゃうかwww ワイ「え?お前全部iPadでプログラミングしてんの?そんなん効率悪いに決まっとるやんw」 ワイ「せいぜいでっかい画面でGithubのコード眺めるくらいしかできないやろwてかハイライトすらないんじゃn」 ?!(Monokaiで表示されとるやんけ...) ワイ「おっ、おう。シンタックスハイライトくらいはできるんやな。」 ワイ「まあ

    iPadでプログラミングしてる人、今まで馬鹿にしててすみませんでしたァァァァ!!!! - Qiita
    mohno
    mohno 2019/03/05
    外部キーボードが使えるからだよね。というか、Photoshopも披露されているくらいなんだからスペック的な問題はないのでは?コスパ的には(Windowsかどうかはともかく)デスクトップ環境にかなう気がしないけど:-p
  • Delphi で最少のソースコードを書いてみる - Qiita

    はじめに Delphi で最少のソースコードってどれだけ短くなるのかを調べてみました。 ここで言う最少のソースコードとはバイト数が最も少なくなるソースコードファイルの事です。 実行ファイルを作れる最小限のソースコードであり、生成される実行ファイルサイズの事ではありません。 やってみよう では始めます。検証に使う環境は Delphi 10.3.1 Rio です。 コンソールアプリケーション フォームのあるアプリケーションはそれだけでコード量がありますので、コンソールアプリケーションを選択します。 [ファイル | 新規作成 | その他...] から コンソールアプリケーション を選択します。 この時点のソースコードは以下の通りです。 program Project1; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; begin try {

    Delphi で最少のソースコードを書いてみる - Qiita
    mohno
    mohno 2019/03/04
    「Delphi で最少のソースコード」←「begin end.」だろ、と思ったら「Delphi だと begin も削れます」←いつからそうなったんだ?:-O
  • 回収できなかった案件の恐怖 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 回収できなかった案件についてお話しよう はじめに 今からx年前の事。某技術者が多く集まるSlackにて C++でWebクローリング出来る人はいないか? とのことで、以前より Boost.Asioの記事をかいてる私に話がきた まず案件をくれた人について、はじめての取引なので周辺の人に話をきいたが 少し甘いという意見はあるが、誠実で良い人という意見だったので請けた プロジェクト開始 案件を紹介してくれた人の友だちよりメッセージがきてChatworkに入った 具体的な案件に関しては担当の技術者と話をしてほしいとのことで 金額は時給1万円で月末

    回収できなかった案件の恐怖 - Qiita
    mohno
    mohno 2019/02/28
    「はじめての取引なので周辺の人に話をきいたが少し甘いという意見はあるが、誠実で良い人という意見だったので請けた」←知らない人の仕事は怖いよね。今のところ手を出さずに済んでるけど、何がどう転ぶか。
  • なんでもかんでも「バグ」ってひとくくりにしないで - Qiita

    はじめに プログラマがソフトウェアを作るとユーザがつきます。ユーザがそのソフトウェアを使っていて何らかの問題が発生すると「このソフトはバグってる、直して!」と言われることがままあります。それに対して「いや、仕様だから」と突っぱねられることがあります。その後お互いの意見が「バグだ!」「いいや仕様だ!」と平行線になってお互いモヤモヤのまま終わるというのはよくある話です。 なぜこういうことが起きるかというと、原因の一つは「問題」イコール「バグ」という短絡的な考え方です。とくにソフトウェアを作ったり使ったりした経験が浅い人がこうなる傾向があると推測しています。このようない違いは「要件」「仕様」と「実装」という言葉の意味を理解していればある程度解決できます。書はこれらの用語について実例を挙げて簡単に紹介します。 注意点 記事では要件や仕様を定義することが前提となっていますが、とくにユーザと開発

    なんでもかんでも「バグ」ってひとくくりにしないで - Qiita
    mohno
    mohno 2019/02/25
    「int sort(struct *person[] a, int len)」←これって言語は何?
  • 📃 Webページをそのままの状態でローカルに保存するツールを作った話 - Qiita

    はじめまして。yamaimo (@yarnaimodev) です。Qiita 初投稿...というかネット上にちゃんとした記事を上げるの自体初めてな気がします。 1998 年生まれで、プログラミングとか Web デザインは独学で 3 年ぐらいやってます。TypeScript / Firebase / Node.js / React あたりが特に好きです。 この前 coliss で紹介された Can't Unsee を試してみたら 1 回目が 7,630 点、2 回目が 7,930 点でした。1 小規模ですが Mastodon インスタンスを管理してます。あと Helix キーボード をこの前組み立てた2んですがキー配列を変えたのがなかなか覚えられなくて死んでます。 開発環境は基的に WSL + Hyper + fish shell と VSCode です。 今回 Puppeteer を使っ

    📃 Webページをそのままの状態でローカルに保存するツールを作った話 - Qiita
    mohno
    mohno 2019/02/17
    そういえば、昔は“巡回ツール”なんてのがあったね。(ブラウザの保存機能であんまり困ったことはないけど)Windows用のツールがあったら使いたいかも。
  • アセンブリに触れてみよう - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    アセンブリに触れてみよう - Qiita
    mohno
    mohno 2019/02/16
    「Compiler Explorer」←今はこんなものもあるのか。アセンブリ言語を覚えてからだとC言語のポインタも分かりやすいんだけど、今は、アセンブリ言語を使うこと自体のハードルが高いしなあ。
  • JavaScriptの‍ES2019で追加された新機能まとめ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    JavaScriptの‍ES2019で追加された新機能まとめ - Qiita
    mohno
    mohno 2019/01/31
    「関数をtoString()で文字列に変換したときの挙動」←これ、破壊的変更にならないの?(関数のtoStringなんて使ったことはないけど)「ES2019の仕様は、Chrome 73ですべて対応済み」
  • 【新元号】改元のシステム改修で慌てるシステム屋は「無能」とのこと - Qiita

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

    【新元号】改元のシステム改修で慌てるシステム屋は「無能」とのこと - Qiita
    mohno
    mohno 2019/01/15
    んー、「そういうことを一カ所で対応できるようになってないシステムを無能って言ってるんだよ」って言われそうな予感。
  • HTMLのinputタグ[type=file]のブラウザごとの挙動について調べてみた - Qiita

    はじめに みなさんHTMLタグの一つであるinputタグはご存知だと思います。 その中でもtype="file"についてぼくはこんな疑問を持ちました。 選択したファイルはどこのファイル?コピーとかされているの? これみなさん知っていますか? ちょこっと調べたんですがなかなか情報がなかったので いろいろ自分で調査してみました。 (音は調査が面白そうだったのでそんなに気で調べてないだけです 仮説を立てる まずは仮説をいくつか立ててそれぞれを検証していきます A. ブラウザはファイル参照だけ持っている B. ファイル選択時にTemp領域へコピーしている C. メモリ上に抱えている たぶんこれらのどれかじゃないかなと思っており、 個人的にはBが濃厚だと勝手に考えています。 調査開始 ファイルアップロード機能が必要なので 簡単にファイルをアップロードするだけのアプリを自前で作りました。 http

    HTMLのinputタグ[type=file]のブラウザごとの挙動について調べてみた - Qiita
    mohno
    mohno 2019/01/09
    なんでA.以外を考えたのか分からない。A.でなければファイルの選択をやり直すたびにファイルをどこかにコピーすることになるわけで、非効率すぎるよ。
  • 三角関数は何に使えるのか 〜 サイン・コサイン・タンジェントの活躍 〜 - Qiita

    「他にこんなのがある」というのがあったら是非いっぱい教えてください! 歴史的に最も古くからある用途は「測量」でしょう。三角関数誕生のキッカケはまさに測量の必要性にありました。比較的日常生活でも見る機会がありそうな用途でしょうか。 ログハウス ケーキカット 震災時の家の傾き推定 現代では「波」としての用途が多いでしょうか。Twitter での様々な人のコメントを見ていても、 おっぱい関数 jpeg 画像 音声処理 といった具合に、波に関する話がかなり多いイメージです。これらの三角関数の使われ方を特集してみます。様々な分野に共通する三角関数の使い方のエッセンスを抽出したつもりですが、これでもかなり分量が多くなりました。摘みいするような感覚で読んでいただけたら幸いです。 2. 三角関数の 3 つの顔 最初に三角関数には大きく 3 つの定義があったことを振り返っておきます。以下の記事にとてもよく

    三角関数は何に使えるのか 〜 サイン・コサイン・タンジェントの活躍 〜 - Qiita
    mohno
    mohno 2019/01/07
    もちろん、社会に出て“どれひとつ使わない人たち”はいるけど、子どもの頃は将来何になるか分からないから「古文・漢文」やら音楽やら美術やら色々やるわけで、誰かの“役に立たなかった”はただの結果論。
  • コードに頻出する語形変化が難しい英単語: register, success, fail, data, statusなど - Qiita

    コードによく使われる英単語だが、母語話者でないと語形変化がやや難しいかもしれず、注意して単語を選ばないと変な英語になるかもしれない単語について紹介する。 登録 登録する register 【動詞】 「商品を登録する」 registerItem() 登録した registered 【形容詞】 【動詞過去分詞】 登録された商品 registeredItems 「商品が登録された」 new ItemRegstered() 「登録済みか?」 if (item.isRegistered()) ... 登録 registering 【名詞】 「商品登録状況は承認済みか」 item.registeringState.isApproved 登録 registration 【名詞】 商品登録サービス class ItemRegisterationService 登録係(記録する側) registrar 【名

    コードに頻出する語形変化が難しい英単語: register, success, fail, data, statusなど - Qiita
    mohno
    mohno 2018/12/31
    こういうの、“分かればいい”派の人もいるけど(ローマ字使う場合も)、英語圏の人が開発に参加する可能性があると困るかもしれない、と思う。(というか、そういう事例を聞いた記憶)
  • C++Builder とトライグラフ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    C++Builder とトライグラフ - Qiita
    mohno
    mohno 2018/12/24
    トライグラフはどうでもいいけど:-p 「「せめて BCC64 を C++17 対応版にしてくれ! (C++17 対応は Win32/Win64 同時にやれ)」という声もあちこちで聞かれた C++Builder 10.3 Rio」←うわぁw
  • C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目: C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。 UTF-8エンコーディングされた文字の型としてchar8_tを追加 - c

    C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita
    mohno
    mohno 2018/12/23
    そこまでしてC/C++を使う人がどれだけいるかなあ。「C標準では文字を受け取る引数はint型」←そこは引数がcharでも内部はintだったり、オーバーロードがない時代という歴史的経緯があるので。負債というならShift_JIS。
  • C#リフレクションTIPS 55連発 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    C#リフレクションTIPS 55連発 - Qiita
    mohno
    mohno 2018/12/19
    リフレクションは何でもできるからなあ。プライベートなメソッド呼び出しとかもできる。
  • C#クイズとその解説 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    C#クイズとその解説 - Qiita
    mohno
    mohno 2018/12/02
    C++ も文法が複雑と言われるけど、使われる時点で定義が明確な C++ に比べても、C# のコンパイル(&ランタイム)って実装が大変そう。
  • Delphi のご先祖を辿る - Qiita

    はじめに これは Delphi Advent Calendar 2018 の 2 日目の記事です。 Delphi のご先祖 早速ですが、Delphi のご先祖を辿ってみましょう。 現在の Delphi のご先祖? 現在の Delphi は 1996 年の Delphi 2 (32bit 版) がベースになっていると考えていいと思います。 Delphi 2 の時点で基的な構成は固まっており、Delphi 1 のコードを Delphi 2 向けに変更するよりも、Delphi 2 のコードを最新版 Delphi 向けに変更する方が簡単なんじゃないかと個人的には思います。 See also: Delphi (Embarcadero) Delphi Community Edition (Embarcadero) Delphi 1 (1995 年) Delphi は 1995/02/11 に最初のバ

    Delphi のご先祖を辿る - Qiita
    mohno
    mohno 2018/12/02
    「BLS Pascal」←知らんかったわー。(Anders が Borland 創立メンバーでないのは知っていた)英語版の wikipedia に書いてあるんだ。あと Turbo Pascal 1.0 のパッケージ写真はそれじゃない(黄色い表紙は5.0以降)/写真変わった:-)
  • 引数の型を何でも List にしちゃう奴にそろそろ一言いっておくか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    引数の型を何でも List にしちゃう奴にそろそろ一言いっておくか - Qiita
    mohno
    mohno 2018/12/01
    「(500行ぐらいある)」はドッキリポイントではなかったか。「.NET 4.5 で IReadOnly 系が導入されたことを知らない」^_^;;;
  • iMac/MacBook購入後に必ず設定したい設定項目 - Qiita

    背景 iMacmacbookの買い替えなんかで購入直後に設定する項目のメモ ターミナルから設定できます。dotfileとして置いておいて端末購入時に実行するやり方が基のようです。 一度書いてしまえば端末購入のたびに実行するだけで同じ設定のマシンが瞬時に出来あがるのは素晴らしいですね。 vimrc同様に育てていく感覚が大事なのかも知れませんね()。 基的には以下のリポジトリとサイトを参考に記載しています。 https://www.defaults-write.com/ https://github.com/divio/osx-bootstrap/tree/master/core https://github.com/mathiasbynens/dotfiles/blob/master/.macos defaultsコマンドとは 「plist」と呼ばれるアプリやシステムの設定ファイルに、

    iMac/MacBook購入後に必ず設定したい設定項目 - Qiita
    mohno
    mohno 2018/11/22
    iMac って、まだあるんだw