タグ

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

  • (.NET)Parse,TryParseの罠 - Qiita

    はじめに 上級プログラマーの知識としては常識(忘れている場合も多々ある )ですが、初心プログラマにはよく陥る罠です。 この罠の知識があれば、この罠が原因で例外が発生しているのかなと想像つきます。 正直なところ、自分自身への戒めの意味もあります たまに発生する例外 一般向けアプリを作成し、500名位に1名位の割合で、プログラム起動時、設定ファイル読み込み時に例外が発生します。開発環境で実証テストを行っても発生せず。「環境依存じゃないの?」とか「Windows Updateが当たってないんじゃないのか?」等とユーザーの環境に原因があるような事で済まされる可能性があります。 地域設定を確認せよ その時、ユーザーのPCの地域設定パネルの形式を確認して下さい。「日語(日)」になってますか? あるユーザさんは何故か「アイスランド語(アイスランド)」になってました。 形式がこの設定になっていると、小

    (.NET)Parse,TryParseの罠 - Qiita
    reboot_in
    reboot_in 2024/10/23
    “その時、ユーザーのPCの地域設定パネルの形式を確認して下さい。「日本語(日本)」になってますか?”
  • [NestJS] POSTリクエスト時にPayloadTooLargeError: request entity too large と表示された場合の対処法 - Qiita

    [NestJS] POSTリクエスト時にPayloadTooLargeError: request entity too large と表示された場合の対処法ExpressTypeScriptNestJS はじめに NestJSを利用しているプロジェクトでちょっと大きめのサイズ(100kb以上)の画像ファイルをアップロードした際にPayloadTooLargeError: request entity too largeというエラーが発生し、画像をうまく保存できないという問題が発生しました。 知っていればすぐ解決できる問題ですが、知らないと解決までに時間がかかりそうな問題だったので、備忘のために対応内容をまとめます。 解決したい問題 NestJSを利用しているプロジェクトで100kb以上のファイルをPOSTリクエストでアップロードするとPayloadTooLargeError: reque

    [NestJS] POSTリクエスト時にPayloadTooLargeError: request entity too large と表示された場合の対処法 - Qiita
    reboot_in
    reboot_in 2024/10/15
    “ app.use(bodyParser.json({limit: '50mb'})); // jsonをパースする際のlimitを設定 app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));// urlencodeされたボディをパースする際のlimitを設定”
  • APIサーバを立てるためのCORS設定決定版 - Qiita

    タイトルは釣り、かつ、自分のための備忘録です。 マイクロサービスアーキテクチャでサービスを構築すると、APIサーバをサービスごとに立てるわけですが、 ブラウザ上のJSエンジンからAPIサーバを叩く時に避けて通れないのが、Same-Origin Policy(同一生成元ポリシー)によるCORS (Cross-Origin Resource Sharing)制限です。 これを回避するには、APIサーバ側でAccess-Control-*ヘッダを適切に返す必要がありますが、どう設定するべきかの情報が意外と少ないので(自分的)これが決定版! という設定を考えてみました。 結論 nginxの場合の設定例です。 server { listen 80; server_name site.localhost; charset utf-8; root /var/www/app/public; locatio

    APIサーバを立てるためのCORS設定決定版 - Qiita
    reboot_in
    reboot_in 2024/10/14
    “nginxの場合デフォルトでは(200系、300系の)特定レスポンスコード以外の場合はヘッダの追加をスキップしてしまうので(参考)、400系のエラーを返す場合に対応できるようにalways指定が必要になります。”
  • CORSまとめ - Qiita

    今更ですが、CORS (Cross-Origin Resource Sharing)を色々試していたら、思っていた以上に色々パターンがあることに気づいたので、改めてその扱い方についてまとめてみました。 そもそも 現在のWebブラウザでは、あるWebサイトが持つ情報が別の悪意あるWebサイトに悪用されるのを防ぐために、Same-Origin Policy(日語では同一生成元ポリシー)が適用されます。 例えば、あるWebサイト https://guiltysite.com をブラウザで表示している時に、このWebページからXMLHttpRequest(以下、XHR)やFetch APIで別のWebサイト https://innocentsite.net からHTTP(S)でデータを読み込もうとすると、エラーになる、というわけです。 しかし、アクセス元が悪意あるWebサイトならともかく、データ

    CORSまとめ - Qiita
    reboot_in
    reboot_in 2024/10/14
    “データのアクセスを許可できるWebサイトに対してはOriginを越えたアクセスを可能にするための仕組みとして、CORSがあります。”
  • 【PostgreSQL】先行書き込みログ(WAL)について理解を深める - Qiita

    初めに 僕が初めて実務の中でPostgreSQLに触れたときに、WAL(Write-Ahead Logging)という単語を知りました。 調べてドキュメントを読むもいまいち理解ができません。 同じような人に理解ができるようにまとめていきます。 この記事で得られること この記事を読み終えることで以下のメリットがあります。 WALについて理解が深まる PostgreSQLを触ってみたくなる 課題 WALとは何か? データベースシステムにおける重要な概念で、データの整合性と回復性を保つためのメカニズム。と言われてもよくわかりません。でも重要ということなので理解をしておいた方がいいのは間違い無いです。 WALとは? ドキュメントには下記のように書かれています。 ログ先行書き込み(WAL)はデータの一貫性を確実にするための標準的な手法です。 何を言っているのかよくわかりませんね WALとはどういう概

    【PostgreSQL】先行書き込みログ(WAL)について理解を深める - Qiita
    reboot_in
    reboot_in 2024/10/02
    “トランザクションの開始・終了とデータの変更情報のログを先にディスクへ記録、ディスクへの書き込み時間を減らして高速化。Tranの開始・終了とデータの変更情報のログを先にディスクへ記録すること これがWAL”
  • VPC Service Controlその1 - Qiita

    はじめに VPC Service Controlは、VPC外のGCPサービスに対してアクセス制限を提供出来る機能です。 AWSでいうところの「特定の VPC エンドポイントへのアクセスの制限」です。具体的に言うとConditionで"aws:sourceVpceに任意のVPC IDを指定するイメージです。 https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/example-bucket-policies-vpc-endpoint.html ちなみにAWSVPCエンドポイントにあたるGCPの機能としては、VPC Private Accessがあります。 VPC Service Controlは、設定めっちゃ簡単なので直感的ななので個人的にお気に入りのサービスです。 前提 前提として組織の使用が必要です。VPC Service Cont

    VPC Service Controlその1 - Qiita
    reboot_in
    reboot_in 2024/09/28
    “VPC Service Controlは、VPC外のGCPサービスに対してアクセス制限を提供出来る機能です。 AWSでいうところの「特定の VPC エンドポイントへのアクセスの制限」です。”
  • AWS WAFについて調べる - Qiita

    WAFとは Web Application Firewall(WAF)の略。 Webアプリケーションの脆弱性に対しての攻撃(例えばSQLインジェクション攻撃とか)から、アプリケーションを保護するセキュリティ対策として利用される技術・製品のことで、 攻撃や脆弱性を感知した場合には、リクエストをブロックする AWS WAFドキュメント Fierwallとの違いは IPアドレスやポート番号で通信を許可/拒否するものではないという点。 AWSでいうとセキュリティグループがFirewallにあたる。 Firewallでは悪意のあるアクセスなのかまでは判断することができない。 導入箇所 ALB・CloudFront・API Gatewayに割り当てて利用する AWS WAFの攻撃範囲 ※Aws BlackBelt Onlineセミナーから引用 AWS WAFの用語 WebACL 1つのWAFの設定の塊

    AWS WAFについて調べる - Qiita
    reboot_in
    reboot_in 2024/05/27
    “Bot Controlルールグループ(有償) ボットと判断されるリクエストを検知し、それに基づいたアクションを行う botに特化したマネージドルールを提供”
  • 2重登録制御 - Qiita

    トーク制御 トークン制御は登録、更新、検索処理をボタンなどに対して、ボタンの二重クリックを防止する。 代表的な制御方法 1.javaScript 更新処理を行うボタンを押下した際に、JavaScriptによるボタン制御を行うことで、2度押しされた際にリクエストが送信されないようにします。 ボタンやリンクを非活性化することで、ボタンやリンクを押下できないように制御します。 処理状態をフラグとして保持しm処理中にボタンやリンクが押された場合に処理中であることを通知するメッセージを表示します。 などがあげられます。 2. PRG(Post-Redirect-Get)パターン 更新処理を行うリクエスト(POSTメソッドによるリクエスト)に対する応答としてリダイレクトを返却し、その後ブラウザから自動的にリクエストされるGETメソッドの応答として遷移先の画面を返却するようにします。 PRGパターンを適

    2重登録制御 - Qiita
    reboot_in
    reboot_in 2024/05/27
    “画面遷移毎にトークン値を払い出し、ブラウザから送信されたトークン値とサーバ上で保持しているトークン値を比較することで、トランザクション内で不正な画面操作が行われないようにします。”
  • ユーザーが『アイドル』を歌うとサーバーが停止する - Qiita

    起きたこと 僕が運営している『オンライン絵しりとり』というサイトで起きた話となります。 これは訪れたユーザー同士で絵しりとりを楽しめるサービスです。 ある日、このサービスをホスティングしているConoHaVPSより、規約に違反しているため利用を制限した旨のメールが届きました。 お客様のVPSにおきまして、弊社会員規約に反するコンテンツが 検出されましたので、ご利用サービスの制限をさせていただき ましたこと、ご連絡申しあげます。 そして、メールが届いたほぼ同時刻にサーバーが停止され、サービスへアクセスできない状態になりました。 メールによると、JASRACより著作権侵害に対する防止措置の申し出があったとのことです。 指摘対象のコンテンツを確認したところ、ユーザーがサイト内のチャットでYOASOBIの楽曲である『アイドル』の歌詞の一部を投稿しておりました。 ご覧の通り、話の流れで流行りの曲をみ

    ユーザーが『アイドル』を歌うとサーバーが停止する - Qiita
    reboot_in
    reboot_in 2024/05/27
    “僕のサイトは「誰かが著作権侵害コンテンツを投稿することでサービス停止できてしまう状態」ということになります。”
  • LambdaをVPCに配置する・インターネット通信を可能にする・RDSと接続する - Qiita

    はじめに LambdaVPCに配置することが出来る、いわゆる「VPC Lambda」である。Lambdaはせっかくサーバーレスなので、VPCのことはなるべく考えたくないが、RDSなどセキュアな接続が求められるVPC内リソースのことを考慮すると、VPCに配置したくなることがあるだろう(セキュリティグループによるアクセス制御の恩恵を受けられるため)。 ところでLambdaについては、①Lambda単体でHTTPSリクエストを受けられるようになったこと②HTTPを話す任意のコンテナがLambdaで動くことを、それぞれ試してきたところ。 特に①は**VPC Lambdaであっても有効である。LambdaVPCに配置しても非VPCと遜色なく動けばすごく嬉しいので、試してみる。 VPC Lambda VPC Lambdaは当初、コールドスタートがやたら遅いという問題があったらしいが、2019年に解

    LambdaをVPCに配置する・インターネット通信を可能にする・RDSと接続する - Qiita
    reboot_in
    reboot_in 2024/05/08
    “RDSなどセキュアな接続が求められるVPC内リソースのことを考慮すると、VPCに配置したくなることがあるだろう(セキュリティグループによるアクセス制御の恩恵を受けられるため)。”
  • 【Git】最低限これだけ押さえる!現場で使えるgit rebaseの流れ - Qiita

    最低限押さえておきたいgit rebaseの流れです。 実際に現場向けに作成した手順を汎用的な内容に整理しなおしました。 環境 OS:Windows10 Git:2.23.0 使用ツール:Git Bash 使用シーン 先に親ブランチに取り込まれた変更を作業ブランチにも取り込んで使う プルリクエスト(マージリクエスト)時のコンフリクト発生→修正からのビルドエラーの回避 ブランチの分岐を減らし、綺麗な状態にする etc・・・ イメージ図 イメージ図は以下の通り。 親ブランチをベースにgit rebaseすることにより、 ①作業ブランチのコミットが親ブランチの最後尾のうしろに移動し、 ②コミットハッシュ値が変わります。 手順 名称と手順中の具体値の対応を以下の通りとし、作業ブランチは親ブランチをもとに作成されたものとします。 名称 手順中の具体値

    【Git】最低限これだけ押さえる!現場で使えるgit rebaseの流れ - Qiita
    reboot_in
    reboot_in 2024/04/13
    “親ブランチをベースにgit rebaseすることにより、 ①作業ブランチのコミットが親ブランチの最後尾のうしろに移動し、 ②コミットハッシュ値が変わります。”
  • Git for Windows アップデート - Qiita

    はじめに 業務や個別の作業のため、Windows環境でGitを使っていますが、Gitをインストールはしたけど、アップデートした記憶がなかったので、今回、「Git for Windows」をアップデートしました。 Git for Windows アップデート手順 Git Bash、コマンドプロンプト、PowerShellのいずれかを実行します。 以下のコマンドを入力して実行して、アップデートを開始します。 最新版のGit for Windowsをインストールするか聞かれる場合は「y」を入れます。 Enterを押すと、自動にダウンロードが開始されます。 3. ダウンロードが完了すると、自動的に最新版のインストールも進みます。 4. アップデートが終わったら、Gitのバージョンを確認します。 その他 「git update-git-for-windows」コマンドを実行すると、 curl: (6

    Git for Windows アップデート - Qiita
    reboot_in
    reboot_in 2024/04/07
    “これは、アンチウィルスソフトウェアのため、アップデートがブロックされたことが原因でした。 アンチウィルスソフトの保護を一時停止し、「git update-git-for-windows」コマンドを実行すると、正常にアップデートできまし
  • リニアRGBのうんちく - Qiita

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

    リニアRGBのうんちく - Qiita
    reboot_in
    reboot_in 2024/04/07
    “sRGB 規格の場合だとガンマ補正がかかっています。 対して、このガンマ補正が「かかっていない」ものを「リニアRGB」、sRGBを元にする場合は特に「リニアsRGB」と呼ぶ事もあります。”
  • GLSLについてのメモ - Qiita

    min(max(x, a), b)を返す。なお、HLSLなどで実装されている saturate 関数は、clamp(a, 0.0, 1.0) によって実現できる

    GLSLについてのメモ - Qiita
    reboot_in
    reboot_in 2024/04/06
    “mix(x, y, a) x(1-a)+y*aを返す(つまり線形補間)”
  • React hooksを基礎から理解する (useCallback編+ React.memo) - Qiita

    React hooksとは React 16.8 で追加された新機能です。 クラスを書かなくても、 stateなどのReactの機能を、関数コンポーネントでシンプルに扱えるようになりました。 React hooksを基礎から理解する (useState編) React hooksを基礎から理解する (useEffect編) React hooksを基礎から理解する (useContext編) React hooksを基礎から理解する (useReducer編) React hooksを基礎から理解する (useCallback編)  今ここ React hooksを基礎から理解する (useMemo編) React hooksを基礎から理解する (useRef編) ↓React.memo, useCallBack, useMemoに関する記事なので、よろしければ参考にしてみてください↓ 【

    React hooksを基礎から理解する (useCallback編+ React.memo) - Qiita
    reboot_in
    reboot_in 2024/04/03
    “useCallbackはパフォーマンス向上のためのフックで、メモ化したコールバック関数を返します。”
  • React hooksを基礎から理解する (useEffect編) - Qiita

    React hooksとは React 16.8 で追加された新機能です。 クラスを書かなくても、stateなどのReactの機能を、関数コンポーネントでシンプルに扱えるようになりました。 React hooksを基礎から理解する (useState編) React hooksを基礎から理解する (useEffect編)  今ここ React hooksを基礎から理解する (useContext編) React hooksを基礎から理解する (useReducer編) React hooksを基礎から理解する (useCallback編) React hooksを基礎から理解する (useMemo編) React hooksを基礎から理解する (useRef編) useEffectとは useEffectを使うと、useEffectに渡された関数はレンダーの結果が画面に反映された後に動作し

    React hooksを基礎から理解する (useEffect編) - Qiita
    reboot_in
    reboot_in 2024/04/03
    “クラスコンポーネントでのライフサイクルメソッドに当たります。 componentDidMount componentDidUpdate componentWillUnmount”
  • 【Swift】WebViewについて - Qiita

    WebViewとは iOSアプリ内でWebページを表示するためのコンポーネントです。WebページのURLを指定することで、アプリ内にWebページを表示することができます。 WebViewの導入方法 StoryboardにてWebViewを配置する Storyboardの右側にあるObject LibraryからWebViewをViewControllerにドラッグ&ドロップ WebViewを配置したい場所に配置し、大きさを調整します WebViewにAuto Layoutの制約を設定します コードでWebViewを制御する 次に、コードでWebViewを制御します。まず、ViewControllerのクラスファイルにて、以下のようにOutletを定義します。

    【Swift】WebViewについて - Qiita
    reboot_in
    reboot_in 2024/03/19
    “iOSアプリ内でWebページを表示するためのコンポーネントです。WebページのURLを指定することで、アプリ内にWebページを表示することができます。”
  • いつか起業したいエンジニアへ - Qiita

    はじめに 34 歳のとき、勤めていた会社の経営が傾き早期退職を促されたのを契機に独立しました。その後、41 歳で Authleteオースリート 社を設立しました。諸般の事情で現在も Authlete 社の代表取締役という肩書きを持っていますが、経営者的な仕事は他の人に任せ (参照: シリコンバレーのプロフェッショナル CEO を迎えて米国市場に挑戦する日のスタートアップの話)、50 歳目前の現在もプログラマとしてコードを書き続けています。 Authlete 社設立 (2015 年 9 月) から 8 年半弱経過したものの、まだまだ小さな会社で道半ばであるため、起業家として何か語るのは時期尚早ではあるものの、軽い体調不良が長引く中、『自分のエンジニアとしてキャリアを振り返ろう!』という記事投稿キャンペーンを見かけ、生きているうちに子供世代のエンジニアの方々に何か書き残しておこうと思い、文章

    いつか起業したいエンジニアへ - Qiita
    reboot_in
    reboot_in 2024/03/04
    “一度インストールしてしまえば用が済んでしまう (初回購入時しか売上の立たない) ソフトウェアライブラリは事業として成立しません。20 年前ならいざしらず、サブスクリプション型 (定期購入型) のビジネスモデルが隆
  • Javascript でバイナリデータを扱うまとめ - Qiita

    ブラウザのjavascriptでバイナリデータを扱う方法まとめ。 以下ES6以上前提です。IEなどというブラウザはもう無い。 バイナリデータを扱うObject ArrayBuffer バイト列を扱う配列。メモリの連続領域に確保される。 そのままでは要素にアクセスできない。 const buf = new ArrayBuffer(length) buf.byteLength //バイト長 buf.slice(ofs,len) //ofsからlenバイトの別ArrayBufferを返す

    Javascript でバイナリデータを扱うまとめ - Qiita
    reboot_in
    reboot_in 2024/02/25
    “TypedArray 全ての要素が同じ型の、ArrayBufferに対するビュー。 以下の種類がある。 Int8Array Uint8Array Uint8ClampedArray”
  • PromiseベースでImage().onloadする - Qiita

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

    PromiseベースでImage().onloadする - Qiita
    reboot_in
    reboot_in 2024/02/25
    “new Promise((resolve, reject) => { const img = new Image(); img.onload = () => resolve(img); img.onerror = (e) => reject(e); img.src = '画像のパス'; })”