タグ

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

タグの絞り込みを解除

プログラミングに関するt-murachiのブックマーク (542)

  • スレッドとプロセスの違いを完全に理解する

    はじめに こんにちは、FarStep です。 プログラミングを学ぶ中で、「プロセス」と「スレッド」という言葉を耳にしたことがある方は多いと思います。 しかし、これらの違いを明確に説明できる自信がない方も多いのではないでしょうか。 記事では、プロセスとスレッドの違いについて、エッセンスを抽出して 解説します。 説明を簡潔にしましたので、記事は 5 分程度で読み終えることができます。 記事の内容を自分の言葉で説明できるようになれば、プロセスとスレッドの違いの理解は十分でしょう。 それでは、始めます 🚀 プログラムとは プロセスとスレッドの違いを理解する前に、まずは「プログラム」について理解しましょう。 プログラムとは、プログラミング言語で書かれた一連の命令 のことです。 プログラミング言語の例としては、以下のようなものがあります。 C 言語 Java Python Ruby JavaS

    スレッドとプロセスの違いを完全に理解する
    t-murachi
    t-murachi 2024/05/04
    プロセスとスレッドの概説をひとしきりした上でgoのゴルーチンの話になっていきなり「OSのスケジューラに〜」とか言い出されても初心者はついていけない悪寒(´・ω・`)
  • 滅びてほしい認証系の実装の話

    こんにちは、富士榮です。 ちょっと前に某所でダメダメな認証系の技術実装ってなんだろうねぇ、、という話をしていたことをXで呟いたところ、色々とご意見を頂けましたのでまとめて書いておきます。 考えていると結局のところ、サービス提供側が意図していることとは全然違うことが起きている気がするので、この辺はしっかり考えて実装したいところですね。(実装ミスは問題外として) カテゴリ滅びてほしいもの実装側がやりたいこと利用者が感じること実際に起きていること代替手法認証CAPTCHAbot避けぐにゃぐにゃ文字が読めない バイクと自転車の違いとは?ユーザの離脱、カゴ落ちパスキーの利用 新しいタイプのCAPTCHA(通常は画面に出ない) リスクベース認証との組み合わせによる抑制認証パスワード誰でも使える認証手段の用意忘れる。複雑なパスワードをそれぞれのサービス毎に管理するのは無理パスワードの使い回し。パスワード

    滅びてほしい認証系の実装の話
    t-murachi
    t-murachi 2024/04/26
    PCIDSS取得必須って、まさか自前でカード番号保存してるわけじゃないよね? (ふつーは決済取引サービスが間に入ってそのサービスが払い出すユーザーIDみたいなので管理すると思うんだけど…)
  • 祖母が就寝するとDBインサートができなくなる - Qiita

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

    祖母が就寝するとDBインサートができなくなる - Qiita
    t-murachi
    t-murachi 2024/01/09
    動的型付けのスクリプト言語あるある(´・ω・`)
  • 新たなプログラミング言語を習得したい人にオススメ! プログラミング言語「Rust」の基礎をしっかり学べる無料の電子書籍

    2015年にバージョン1.0に到達した「Rust」は、比較的新しいプログラミング言語です。2019年には、Microsoftが「Windows」の開発にRustを採用すると発表したり、Googleが「Android 12」の開発から、「C/C++」の代わりにRustを採用したりしたことも記憶に新しいのではないでしょうか。 eBookでは、連載「基からしっかり学ぶRust入門」全18回を収録。Rustとはどのような言語なのかに始まり、なぜMicrosoftGoogleRustに注目したのか、Rustは他のプログラミング言語とどう違うのか、言語の特徴や、開発環境の構築方法、記述方法まで紹介しています。 eBookの前半では、Rustの特徴や基文法を、後半では、Rustを使ったアプリケーションを開発する際のフォルダ構造や、テストの記述方法も紹介しています。各回ともサンプルコードととも

    新たなプログラミング言語を習得したい人にオススメ! プログラミング言語「Rust」の基礎をしっかり学べる無料の電子書籍
  • strlen() の深淵 - Qiita

    あらまし strlen() という関数がある。御存知の通り、文字列の長さを算出する標準 C ライブラリの関数だ。 やってることは単純で、例えば以下のように実装できる。 size_t strlen_simple(const char* str) { const char* p = str; while (*p) ++p; return size_t(p - str); } '\0' が見つかるまでポインタを進め、初期位置との差分を返すだけだ。これで機能的には std::strlen() と同等である。 では、速度的にはどうだろう?適当にベンチマークを書いて MSVC 2022 でコンパイル&実行するとこうなった。

    strlen() の深淵 - Qiita
  • サイバーエージェントが公開した“300ページ級のUnity技術書”がスゴい!しかも誰でも無料で読める|Unity Japan(ユニティ・テクノロジーズ・ジャパン)

    快適に動作するアプリケーションを提供するために、パフォーマンス・チューニングについてもっと深く学びたい。そんなUnityエンジニアのみなさまにぜひ読んでいただきたい電子書籍が登場しました。 その名もずばり『Unity パフォーマンスチューニング バイブル』。 執筆を手がけたのはサイバーエージェントグループ各社の精鋭エンジニアの方々。元々はサイバーエージェントグループ内の共有資料として制作されたそうですが、その内容とボリュームは「社内向け」の範疇に収まらないほどの商業技術書レベルです。そしてこの度、書が誰でも無料で読める電子書籍として、社外にも公開されることが決まりました。 一般公開に先駆けて書を拝読したユニティ・テクノロジーズ・ジャパンのエンジニアからも、絶賛の声が相次いでいます。 書はこれからパフォーマンス・チューニングを学ぶ人にとって、最適な一冊です。すでに実務経験のある人にとっ

    サイバーエージェントが公開した“300ページ級のUnity技術書”がスゴい!しかも誰でも無料で読める|Unity Japan(ユニティ・テクノロジーズ・ジャパン)
    t-murachi
    t-murachi 2022/08/30
    サイバーエージェント見直した。
  • JavaScriptにセミコロンは入れるのか?入れないのか? - Qiita

    結論 どちらでもいい セミコロン付けても付けなくても落とし穴はある ESLintを利用することで落とし穴を検知できる 私はセミコロンつけない派 自動セミコロン挿入とは 自動セミコロン挿入(automatic semicolon insertion) この仕組みのおかげでセミコロンを使わなくてもコードを書くことができ、コンパイラが行末を察してセミコロンを挿入してくれる 自動セミコロン挿入のしくみはECMAScriptで規定されており、自動セミコロン挿入はJavaScriptエンジン間で可搬性がある 自動セミコロン挿入には落とし穴があり、ルールを理解しておく必要がある 第1のルール:セミコロンが挿入されるのは、"}"トークンの前か、改行の後か、プログラムの末尾だけ

    JavaScriptにセミコロンは入れるのか?入れないのか? - Qiita
    t-murachi
    t-murachi 2022/08/15
    「最近のセミコロンを書かない言語」FortranとかCOBOLとかBASICとかのことかな(´・ω・`)
  • なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena

    1990年代にオブジェクト指向分析・設計の方法論がめちゃ流行ったことがあります。 ただ、そのブームが終わって、後続となるような方法論が流行ることはありませんでした。 で、なぜなのか考えていたのですけど、オブジェクト指向方法論のウリは分析段階で出てきたオブジェクト(といいつつクラス)がコードにそのまま引き継がれるというものでした。ようするにオブジェクト指向方法論というのはコードのスケッチを書いて詳細化していくというものだったのです。 しかしながらこれは、スケッチとして書いた分析・設計が間違っていればコードも間違うわけで、強くウォーターフォールの性質をもつものでした。 結局のところスケッチの妥当性というのはコードを書かないと検証ができません。分析・設計段階で見出されたクラスが妥当かというのは、コード書かなければわからなかったのです。逆に、コードを書けば妥当かどうかわかります。であれば、最初から

    なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena
    t-murachi
    t-murachi 2022/08/06
    何でもかんでもオブジェクトって呼んでりゃあそら廃れん罠(´・ω・`) 言うて同じ言葉でも出たてのJavaとKotlinじゃまるで別世界やし、方法論は次第次第で変わり続けてたんでねーの?
  • AWS CDKの学習方法 ドキュメントや学習コンテンツをまとめてみる | DevelopersIO

    AWS CDK?学習コスト高そう。。」 AWS CDKは、プログラミング言語でインフラを定義できる便利なツールです。 反面、プログラミングに慣れていない人には学習コストが高そうに感じるかもしれません。 AWS CDKを使ったことがない方が学習を進めるのに役立つドキュメントや学習コンテンツをまとめてみました。 以下のような方の、参考になると嬉しいです。 AWS CDK何から始めればいいのかわからない 概要は知っているけど触ったことはない プログラミング言語を使うことにハードルを感じる 入門 とりあえず動かす とりあえず、動かしてみましょう。 CDK入門には「CDK Workshop」が有名ですが、以下の方がボリュームは少ないのでファーストステップにおすすめです。(所要時間 25分) AWS Cloud Development Kit (CDK) の開始方法 | はじめに こちらのガイドでは

    AWS CDKの学習方法 ドキュメントや学習コンテンツをまとめてみる | DevelopersIO
    t-murachi
    t-murachi 2022/04/29
    べんきょうせな…(´・ω・`)
  • 「Rustでやると知らないうちに詰む設計」を避けるためのTipsを集めてみる

    とりあえず、よく言われてるやつから埋めていこうと思う。 構造体にライフタイムを持たせない 構造体にライフタイムを持たせるのは「基的に」避けよ、というのが重要なのは間違いないのだけど、これをもう少し実践的な内容にしたい。ちょっと考えてみたけど、こういうのはどうだろうか。 ある関数呼び出しの中でしか絶対に使わない。returnするまでにその構造体のデータは全て破棄される。static変数に退避させることもできない。アロケーションもその関数が面倒を見る。そういう一蓮托生できる関数呼び出しに心当たりはあるか? ある→ 構造体にライフタイムを持たせてもよい。 ない→ ライフタイム禁止。 そう考えてみると、DIとかReduxとかとも通じるところがあるかもしれない。「つべこべ言ってないで全部の責務を一番外側に持っていく」という決断ができるときは構造体ライフタイムが選択肢に入る。

    「Rustでやると知らないうちに詰む設計」を避けるためのTipsを集めてみる
    t-murachi
    t-murachi 2022/02/07
    最後のってどうすりゃいいんだっけ…(´・ω・`)
  • ふつうのプログラマのふつうの設計

    普通のプログラマの普通の設計 2022-01-26 編(雑談)の前振りスライドです。 https://modeling-how-to-learn.connpass.com/event/231669/

    ふつうのプログラマのふつうの設計
    t-murachi
    t-murachi 2022/01/27
    なんかこの投げやり感好き(´・ω・`)
  • Let's Get Started with Unity

    Let's Get Started with Unity
    t-murachi
    t-murachi 2021/12/26
    正月にやろう…って一瞬思ってしまった(´・ω・`) AWSも勉強せなあかんのに(´・ω・`)
  • コードより先にコミットメッセージを書く

    これは、フィヨルドブートキャンプ Advent Calendar 2021(Part 1) 13日目の記事です。 未経験からフィヨルドブートキャンプでプログラミングを勉強し、2021年3月から Tebiki 社でエンジニアとして働いている masuyama13 です。 入社当初、PR(プルリクエスト)を作成する際にコミットの整理に毎回かなり時間がかかるのが悩みでした。試行錯誤の結果、この悩みを解消することができたので紹介します。 それが、コードより先にコミットメッセージを書くという方法です。 コミットメッセージを先に書くやり方まず、タスクを分解して TODO リストを作ります。これから作業する内容がイメージできたら、コミットメッセージを一つ考えます。エディタなどにコミットメッセージを入力します。コミットメッセージが書けたら、それを常に意識しながらコーディングを進めます。作業中にコミットメッ

    コードより先にコミットメッセージを書く
    t-murachi
    t-murachi 2021/12/14
    CMDD? (コミットメッセージドリブン開発)
  • ググり力、それはエンジニアには必須の能力である - Qiita

    ググり力、それはエンジニアにとっては 必須の能力 になりつつあると思います。 さて、皆さんは自分のググり力で欲しい情報にちゃんとたどり着けると言えますか? @Yametaro さんからのお題です。 ある日、コードレビュー中ワイ ワイ「さぁ、今日も同僚のコードをレビューしていくでぇ」 ワイ「まずは新卒のT君のコードを読んでいこか」 ワイ「どれどれ…」 ワイ「ん?なんやこの??っていう書き方は…?」 ワイ「ググってみよか…」 ワイ「JavaScript ??と入力して、検索ボタンをポチッとな」 ワイ「…あれ?それらしい検索結果が出てこんな…」 ワイ「ぐぬぬ、記号関係はググりづらいこともあるんやな…」 ワイ「これじゃあ今日はもう、酒飲んで寝るしかないやないか…」 〜飲酒、そして就寝へ…〜 では JavaScript で ?? の検索方法はどうしたらいいのか? ここに1つの解答を示しておきます!

    ググり力、それはエンジニアには必須の能力である - Qiita
    t-murachi
    t-murachi 2021/12/10
    みんなもっと書籍に投資しようよとも思うけど、Salesforceみたいに書籍があんまり出回ってない技術とかだと結局ググるが大正義になっちゃうのよね…(´・ω・`)=3
  • React with TypeScript Cheatsheet

    Table of Contents:· Table of Contents: · How to type React props ∘ Creating a type alias for the props ∘ Typing optional props ∘ List of types for React component props · How to type React function components · How to type React hooks ∘ Typing useState hook ∘ Typing useEffect and useLayoutEffect hooks ∘ Typing useContext hook ∘ Typing useRef hook ∘ Typing useMemo hook ∘ Typing useCallback hook ∘ T

    React with TypeScript Cheatsheet
    t-murachi
    t-murachi 2021/11/27
    便利っぽそう…
  • フロント開発を炎上させてしまった話

    はじめに お久しぶりです、皆様のサンドバックが帰ってまいりました。 投稿ができていない期間、Nuxtにボコボコにされて裸足で逃げ出し、逃げた先のReactにも強烈な左カウンターをお見舞いされました。 来であれば、このような場所に投稿することすらはばかられる内容ですが、敢えて書きましょう。 私はフロント開発を炎上させた愚か者です。 なぜ今懺悔するのか Twitterでこんな投稿を見ました。 確かに、実務で得られる経験は、とても大きく得難いものです。 当然、ご迷惑をおかけしてしまうことは、だれであろうとあるでしょう。 ただし、その「ご迷惑」の大きさについて、我々は知っておかなくてはなりません。 見えている地雷を踏んでしまうようなモノ好きもいないでしょう。 特に、この手の地雷は強力ですからね。 塵となって吹き飛んだ私の命が、新たな浅瀬の民の糧となることを祈っています。 具体的に何が起こったのか

    フロント開発を炎上させてしまった話
    t-murachi
    t-murachi 2021/11/26
    これは良い情報。
  • ついに、Webアプリでの帳票印刷のベストプラクティスを編み出しました💡

    PHPカンファレンス 2021 1週間前イベント 〜 帰ってきたPHP勉強会@東京 の発表資料です。 https://phpcon.connpass.com/event/224128/

    ついに、Webアプリでの帳票印刷のベストプラクティスを編み出しました💡
    t-murachi
    t-murachi 2021/09/25
    SVGってブラウザ依存が結構でかいイメージがががが
  • 「2年目になって泣きながら勉強してる」プログラミングに興味を持つのはいいが、これらの知識を先に入れておかないと入社したときに結構病む

    きさらぎ @zer0_ykisaragi プログラミングに興味を持つことは良い事だけど、自分自身の後悔を書くと、 コンピュータサイエンス ネットワーク セキュリティ Linux SQL/DB GitHub を先にやっておくべきだった。 入社してからここが分からないと結構病むレベル 2021-09-22 06:39:02

    「2年目になって泣きながら勉強してる」プログラミングに興味を持つのはいいが、これらの知識を先に入れておかないと入社したときに結構病む
    t-murachi
    t-murachi 2021/09/24
    未経験枠でWeb系に飛び込んだ人なのかな… 一通り取り揃えてなくても頼られながらやっていけてる人ってのも一定数いて、そういう人たちって興味の方向が明確で自律的に活動できてる人たちなんだよね…(´・ω・`)
  • Go言語が好きな理由

    はじめに 私はGoが好きなので、disられている場面に遭遇すると心が痛みます。残念ながらプログラミング言語について深く語れるほどの知識や経験は持ち合わせていないため、世界が平和になることを祈るくらいしかできません。 (元ネタ)Go言語を嫌う6個の理由 - さめたコーヒー それはそれとして、Goが好きな理由を語る人はあまり見かけない気がします。この記事ではGoが好きな理由を視覚に障害のあるユーザーの視点から語ります。読み終えたところで得るものは何もありませんし、長いので覚悟して読んでください。 あなたは誰? 4年ほど業務でサーバーサイドのGoを書いています。また、業務で使いはじめる前から趣味Goに触れていました。そのため無意識の内にひいきしているかもしれません。ただし、流行っているからといって理由もなくGoを勧めたりはしません。 視覚障害ならではのコーディング事情 Goが好きな理由と深く関

    Go言語が好きな理由
    t-murachi
    t-murachi 2021/09/23
    興味深い。自分は視覚障害者じゃないのに頷ける部分が多いのは、スクリプト言語らしさが共同開発におけるメンテナンス性に根ざす問題、うまくまとめたその1行をデバッグすることの手間の多さ等に共通するからかも…
  • エンジニア適正が無い奴の生きる道ってなんですか?

    追記---------------------------------- 文の拙さや僕の不甲斐なさについてはたくさんのご指摘をいただきまして,もう十分ぴえんぴえんできたので,これから読まれる方は,タイトル(題.まじでアドバイス欲しい点)について,この若造のエピソードを見てどう思うか(僕へのアドバイスでも,一般論に汎化させたもの嬉しい.語気荒めでもいいので)のコメントをいただきたいです. --------------------------------------- 最初のいくばかを使って,自己紹介とタイトルの理由,この文章を書くに至ったエピソードを話させてください. プログラミングは17歳くらいから始めました.22歳. 数学的な教養はないです. 技術スタックは html, css, javascript(jquery, express, react(next), vue(nuxt)),

    エンジニア適正が無い奴の生きる道ってなんですか?
    t-murachi
    t-murachi 2021/07/09
    プログラミング、楽しめてますか? (´・ω・`)