並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 66件

新着順 人気順

グローバル変数の検索結果1 - 40 件 / 66件

  • 「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
    • 技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL

      技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL はじめに 新たに書きました。 MySQLを使っても会社は潰れない 久々に記事を書いたのでどうぞお手柔らかに... 私が過去2年間で行った技術選定の成功と失敗を振り返り、その学びを共有したいと思います。 文才無いので淡々と箇条書きでいきます Twitterエンジニア垢作りました。エンジニアのお友達がいません。 @uncode_jp 注意 意見を押し付けるものではありません。ただ建設的な議論は大事だと思う。 自分の意見は明確に、歯切れのよい表現を意識している。人それぞれだよねみたいな感じに逃げたくない。技術選定に結論はある(過激)。 ただし技術選定にはコンテキストがあり、例えばプロダクトのフェーズや組織の事情によって当然結論は変わる可能性がある。 OSSの開発者さん達は偉大ですごい。あ

        技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL
      • ブラウザ上でデバッグするときに使えるテクニック

        ウェブ上でJavaScriptを実行してバグが発生した場合、ブラウザに内蔵されている開発者ツールを使ってデバッグすることがよくあります。そうしたブラウザでのデバッグにおいて役立つテクニックをNetflixでフロントエンドの開発に携わっているアラン・ノルバウアーさんがまとめています。 67 Weird Debugging Tricks Your Browser Doesn't Want You to Know | Alan Norbauer https://alan.norbauer.com/articles/browser-debugging-tricks ◆高度な条件付きブレークポイント 開発者ツールの「ソース」タブにはデバッガーが用意されており、JavaScriptの任意の行にブレークポイントを設定することで実行を一時停止して変数やコールスタックの中身を確認できます。ブレークポイントを

          ブラウザ上でデバッグするときに使えるテクニック
        • レベルアップしたい人必見 Qiita記事43選 - Qiita

          はじめに 本記事ではレベルアップしたいエンジニアが読んでおくべきQiita記事を紹介します。厳選に厳選を重ねた43記事です。全ての記事を読んでおく必要はありませんが、ちょっとでも「分からないな」「興味あるな」など思ったタイトルがあれば読んでみてください。 次の4種類に分類して紹介しています。参考にしてください。 フロントエンド バックエンド インフラ・Linux周りの知識 その他 それでは、早速紹介していきます! 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 フロントエンド まず最初はフロントエンドエンジニアに読んでおくべきとおすすめできるQiita記事を11個選びました!フロントエンドエンジニアとしての基礎が身に付く

            レベルアップしたい人必見 Qiita記事43選 - Qiita
          • スレッドとプロセスの違いを完全に理解する

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

              スレッドとプロセスの違いを完全に理解する
            • 時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena

              この文章みてください。 オレはもう20年以上システム業界にいるけどな、その長い経験から言うと、オブジェクト指向なんてものは、理論としては面白いけど、およそ実用的とは言い難いものだな。まぁ、例えばGUIのコンポーネントとかはオブジェクト指向に基づいて作られているようだから、そういうツールとかを作る人には必要なものなのかもしれない。しかし君たちがいずれ作ることになる業務アルゴリズムにはまったく無縁のものだと思ってもらって間違いない。どうもこの業界、オブジェクト指向でなければダメ、というような風潮がまかりとおっているけどな、オブジェクト指向なんか本当に使っている人はほとんどいないよ。オレも少し勉強してみたけど、カプセル化とかポリ何とかとか、どうにも利点が理解できなかったね。実際、実業務で使ったことなどないしな…… 「またお前、オブジェクト指向の話をしてるのか」と思ったかもしれませんが、2010年

                時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena
              • 技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL

                技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL 技術選定に失敗はない 技術選定に失敗はありません。 仮説を立て、検証し、結果の分析からNext Actionを考える。検証の結果がどうであれ、それは過程に過ぎません。 机上の空論だけで全てを理解できるほど、我々人間は賢くないのです。(注意: これは人類全体を誹謗中傷する意味ではありません。) この記事では、この2年間で行った技術選定の成功例をその理由と共に紹介していこうと思います。 申し訳遅れましたが、私、YadaYadaKonnanYadaといいます。私は今回初めて記事を書いたので、どうぞお手柔らかに。 Twitterエンジニア垢作りました。エンジニアのお友達がいません。 @uncode_jp 前提 技術選定に結論はありません。組織毎に前提が違うのだから当然のことです。みんな違っ

                  技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL
                • Efficient Linuxコマンドライン

                  Linuxスキルをレベルアップする実用的な実践書。本書では、コマンドを組み合わせて複雑なコマンドを作成することで、手動で行われているタスクを自動化するための方法を学びます。具体的には、パスワードの管理、大量のテストファイルの生成、テキストファイルを変換してデータベースのように扱う方法など、現実的なビジネスの問題を解決する方法を明らかにします。単なるテクニックではなく、背後で何が行われているかについても学べるので、Linuxのシェルに対する理解が深まります。それと同時に、Linuxコマンドに関するさらに上級レベルの知識とテクニックが身につきます。 賞賛の声 監訳者まえがき まえがき 第I部 主要な概念 1章 コマンドの組み合わせ 1.1 入力、出力、パイプ 1.2 コマンドラインに取り掛かるための6個のコマンド 1.2.1 コマンド① wc 1.2.2 コマンド② head 1.2.3 コマ

                    Efficient Linuxコマンドライン
                  • はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog

                    この記事は、はてなエンジニア Advent Calendar 2023の2024年1月17日の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog id:hagihala です。先日、はてなブログの DB を RDS for MySQL 5.7 から 8.0 へアップグレードしたので、工夫した点などを共有します。 Aurora MySQL 3.x にしなかった理由 MySQL 5.7 -> 8.0 で対応した変更点 character set や collation のデフォルトが変更される explicit_defaults_for_timestamp がデフォルトで有効になる SQL mode の変更 デフォルトの認証プラグインが caching_sha2_password になり、 mysql_native_passw

                      はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog
                    • TypeScriptでどこまで「関数型プログラミング」するか ─ 「手続き Haskell」から考察する - 一休.com Developers Blog

                      この記事は 一休.comのカレンダー | Advent Calendar 2023 - Qiita 10日目の記事です。 昨今は Web アプリケーション開発の世界でも、関数型プログラミングのエッセンスを取り入れるような機会が増えてきました。 とはいえ、一つのアプリケーションを 1 から 10 までがっちり関数型プログラミングで構成するというわけではなく、そのように書くこともあればそうでない従来からの手続き的スタイルで書くところもあるというのが現状で、どこまで関数型プログラミング的な手法を取り入れるかその塩梅もまちまちだと思います。まだ今はその過渡期という印象も受けます。 本稿ではこの辺りを少々考察してみたいと思います。 先日、Qiita Conference 2023 Autumn で以下のテーマで発表を行いました。 この発表では「関数型プログラミング最強!」という話をしたわけではなく、

                        TypeScriptでどこまで「関数型プログラミング」するか ─ 「手続き Haskell」から考察する - 一休.com Developers Blog
                      • WebAssembly所感

                        WebAssemblyをちょっといじってみて思ったところをまとめてみます。 設計思想 WebAssembly/designに設計文書がまとまっています。特にHighLevelGoals.mdから読み取れるポイントは以下の4点です。 サンドボックス化された環境であること。 移植性があること。つまり、特定の実CPUアーキテクチャ等に依存しないこと。 少なくともC/C++の(十分に高速な)コンパイルターゲットとして機能すること。 安定した仕様を持つこと。 サンドボックスという観点からは、先行技術として以下のようなものが特筆に値します。 Webサンドボックス JavaScript および asm.js Javaアプレット Flash (ActionScript) NaCl, PNaCl Web以外のサンドボックス OSのユーザーランド、特にLinux userland これらのサンドボックスとの比

                          WebAssembly所感
                        • export {}; が使われるTypeScript特有の事情

                          TypeScriptのコードでは、export {}; という記述を見かけることがあります。これはECMAScriptの構文ではあるものの、これが使われる背景にはTypeScript特有の事情があります。この記事では、export {}; がなぜ使われるのか、どのような効果があるのかを解説します。 export {}; とは この構文は、exportというキーワードから分かるように、モジュールに関連する構文です。 一般に、export { ... };という構文は、既存の変数をモジュールからエクスポートするために使われます。例えば、次のようなコードが考えられます。 const foo = 42; const bar = "hello"; const banana = "banana"; export { foo, bar as hello, banana as "🍌", }; 変数をエク

                            export {}; が使われるTypeScript特有の事情
                          • 大規模サービスのインフラを全面的にリプレイスした話 - Qiita

                            はじめに こんにちは。雑食系エンジニアの勝又です。 今回は、私が2年ほど参画させていただいた大規模サービスのインフラやDevOps周りを全面的にリプレイスしたお話について簡単にご紹介させていただきます。(内容に関しては事前に参画先企業様に確認していただいております) サービス概要 詳細な内容は伏せますが、メインとなるテーブルのレコード数が数十億件、スパイク時には数万〜数十万のユーザーが一斉にアクセスする大規模サービスです。 技術的負債 長く運用されてきたサービスのあるあるですが、新機能の追加が最優先されてきたことにより、こちらのサービスにも下記のような技術的負債が大量に積み上がっていました。 RubyやRailsやMySQLのバージョンがかなり古い インフラの構成がコードではなくドキュメントで管理されている アプリケーションの構成管理がおこなわれていない CI/CDパイプラインが構築されて

                              大規模サービスのインフラを全面的にリプレイスした話 - Qiita
                            • LambdaでWEBアプリケーションをホストしたい - NRIネットコムBlog

                              本記事は AWSアワード記念!夏のアドベントカレンダー 18日目の記事です。 🎆🏆 17日目 ▶▶ 本記事 ▶▶ 19日目 🏆🎆 はじめに クラウド事業推進部の望月です。NRIネットコムでクラウドエンジニアをしています。 主にネットワーク領域を得意としています。 この度、2024 Japan AWS Top Engineersと、昨年に続き2024 Japan AWS All Certifications Engineersに選出いただきました。 Top Engineersについては、何が評価されて選ばれたのか全く分かりませんが、応募はしてみるものです。 Network領域で応募したもののService領域での選出だったので、狭き門なのですね。。 再流行しているコロナに見事に罹患しつつも、「AWSアワード記念!夏のアドベントカレンダー」の18日目を担当します。 先に結論 Lambd

                                LambdaでWEBアプリケーションをホストしたい - NRIネットコムBlog
                              • プログラム、下から作るか?上から作るか?

                                TL;DR プログラムは「下から組む方法」と「上から組む方法」がある プログラムを組む時は少しずつテストしながら組む はじめに なにかゼロからプログラムを組むとします。そのプログラムのアルゴリズムや、何をやるべきかはなんとなくわかっているけれど、どこから手をつけてよいかがわからず、ChatGPTに全部書かせて、その後修正できずに困る、という事例を何度か観測しています。 プログラムをゼロから書くのは慣れが必要です。プログラムをゼロから書く場合、小さな部品を一つ一つ作っていって、最後にそれらを組み上げる「下から書く」方法と、「こういう関数が必要であるはず」と外枠から書いていって最後に中身を埋める「上から書く」方法があります。その一般論を論じるのは私の能力を超えるため、以下では「下から」と「上から」の例を挙げて、その「気持ち」を説明してみようと思います。言語はなんでも良いですが、ここではPyth

                                  プログラム、下から作るか?上から作るか?
                                • 引っ越し先の部屋にあった謎のIoT機器の正体をエンジニアが明らかにする過程

                                  低レイヤのRustエンジニアであるニキータ・ラプコフ氏が、引っ越し先の部屋に設置してあった謎のIoT機器が一体何であるのかを突き止める過程をブログに投稿しました。 What's that touchscreen in my room? | Nikita Lapkov https://laplab.me/posts/whats-that-touchscreen-in-my-room/ ラプコフ氏は2015年築のアパートに引っ越した際に壁に下図のデバイスを発見したとのこと。何らかのタッチスクリーンであることは間違いありませんでしたが、家主はこの機器について全く知りませんでした。本体にはボタンやラベルが存在せず、電源のオンオフを知らせるライトが付いているのみだったとのこと。 アパートのさまざまな家電製品のマニュアルが入ったバインダーを調べると下図のパンフレットが出てきました。このパンフレットを見

                                    引っ越し先の部屋にあった謎のIoT機器の正体をエンジニアが明らかにする過程
                                  • メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita

                                    はじめに プログラミング学習を始めて1年経過しました。しかし、今までオブジェクト指向の概念から目を背けてきた結果、現在エンジニアとして苦労しているので、書籍「オブジェクト指向でなぜつくるのか」にて学習中です。 その中で、以下のような章がありました。 「メモリの仕組みの理解はプログラマのたしなみ」 これを見て、自分は今までそんなこと意識していなかったのと強く感じたので、今回はこの書籍で書かれていた、一般的なプログラムの動作環境としての最低限の知識を整理しました。 プログラムが動く仕組みを理解する上で重要な概念 コンパイラ方式とインタプリタ方式 プログラムの基本的な実行方式は大きく分けて2つあります。 コンパイラ方式 コンパイラって何? コンパイラは、プログラム全体を読み込んで、それをコンピュータが理解できる形(機械語)に一度に変換するプログラムです。 どういう時に使うの? コンパイラは、プロ

                                      メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita
                                    • とほほのPowerShell入門 - とほほのWWW入門

                                      ブレークポイントを設定してスクリプトをデバッグすることもできます。デバッガを使用するにはスクリプトをファイルとして保存し、下記の様にポリシー変更する必要があります。 Set-ExecutionPolicy -Scope CurrentUser ExecutionPolicy: RemoteSigned キーワード 言語としては下記のキーワードが定義されています。 変数 変数($xxx) 変数は $変数名 で表します。 $Name = "Yamada" Write-Output "My name is $Name." 変数の値を削除するには Clear-Variable を使用するか、値 $null を設定します。変数を削除するには Remove-Variable または Remove-Item を使用します。 Clear-Variable -Name a # 値をクリア $a = $nul

                                      • ESLint を使い倒す(おすすめルール紹介)

                                        前書き ESLint は JavaScript, TypeScript のための静的検証ツールです。 ESLint を活用することで、コーディング規約やベストプラクティスを機械的に強制することによりコードレビューの手間を省き、本番環境でのエラーやパフォーマンスの悪化を抑制することができます。 TypeScript を使っているプロジェクトでは、パーサーを適切に設定すれば型情報を用いたより精密な静的検証を行うこともできます。 eslint を使う際、 eslint:recommended, plugin:@typescript-eslint/eslint-recommended などの各 eslint plugin の推奨 config のみを使って済ませたり、 eslint-config-airbnb などの config のみに頼ることも多い印象ですが、 recommended conf

                                          ESLint を使い倒す(おすすめルール紹介)
                                        • WasmLinux: LinuxカーネルをWebAssemblyにする

                                          LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

                                            WasmLinux: LinuxカーネルをWebAssemblyにする
                                          • C言語を学びたての人のための電卓自作

                                            電卓を通じて、再帰下降構文解析を使った構文解析を行います。インタプリタ自作やコンパイラ自作の前段階として挑むとちょうど良いのではと思います。 ステップ1からステップ15まであり、最終的に括弧を使った式を解析できる電卓が出来上がります。各ステップは少しの書き換えだけで済むようになっています。 「大学に入ってからプログラミングを始めて、1年生でC言語を学んでいる」という人に向けて書きました。 「このステップは難しすぎる」「説明が分からない」「ここの説明は間違っている」等があれば、sou7まで連絡を頂けるとありがたいです。また、実装してみて「みてみて!電卓が実装できたよ!」というときにも連絡を頂けると嬉しいです。 参考実装はこちらにありますCommits · soukouki/c-calc · GitHub。ステップごとにコミットを分けてあるので、難しくて進められない場合は参考にしてください。

                                              C言語を学びたての人のための電卓自作
                                            • Unityを通じて3D空間、グラフィックを理解する

                                              はじめに ゲーム開発の旅を始める上で、開発者が最低限理解すべきコンピュータの基本的な仕組み、グラフィックスの原理、そしてスクリプティングの技術について、本記事では詳しく掘り下げていきます。 コンピュータの心臓部であるCPUとGPUの役割と相互作用から始め、これらがどのようにして3D空間のレンダリングやアプリケーションの実行に影響を与えるかを解説します。 Unityエンジンを用いたゲーム開発では、これらのハードウェアコンポーネントの理解が不可欠です。 続いて、ゲーム開発におけるグラフィックスの基礎を学びます。 ここでは、ビルトインレンダーパイプラインから、より高度なUniversal Render Pipeline (URP) やHigh Definition Render Pipeline (HDRP) まで、Unityで利用可能なレンダリングパイプラインの違いとその選択がプロジェクトに及

                                                Unityを通じて3D空間、グラフィックを理解する
                                              • 【JS体操】第2問「画像の横長具合を比較しよう」〜正攻法&ハック部門の解説〜 - KAYAC Engineers' Blog

                                                こんにちは! カヤック面白プロデュース事業部のおばらです。 普段は受託案件のデザイン・フロントエンド開発などを担当しています。 さて、『JS体操』第2問 いかがでしたか? 今回初めての方々 第1問に引き続きの方々 複数のアプローチで何通りも回答してくださった方々 普段業務で JavaScript をバリバリ書いているであろう方々 JavaScript を学んでいる学生の方々 などたくさんの方々が挑戦してくださいました。 とても嬉しいです。ありがとうございます! 『JS体操』とは? 『JS体操』とはカヤックが主催する JavaScript のコードゴルフ大会です。 もともとは社内の勉強会として始めた施策です。 その詳細は以下のブログ記事を御覧ください! techblog.kayac.com 第2問の詳細はこちら https://hubspot.kayac.com/js-taiso-002 も

                                                  【JS体操】第2問「画像の横長具合を比較しよう」〜正攻法&ハック部門の解説〜 - KAYAC Engineers' Blog
                                                • スーパーファミコンで mruby/c を動かす

                                                  はじめに mruby/c という軽量な Ruby 処理系をスーパーファミコンに移植し、標準出力に文字列を出力する簡単な Ruby コードをエミュレータ上で動かしたので、その移植作業を記事にまとめました。 この記事で動かしたコードは次のリポジトリにあります。 この移植作業を行うという発想は、2年前の RubyKaigi 2022 で行われた mruby/c を Mega Drive 上で動かすという Yuji Yokoo さんによる発表(https://rubykaigi.org/2022/presentations/yujiyokoo.html)がベースとなっています。 元々スーパーファミコン上で動くコードを趣味で書いたことはあったのですが、最近スーパーファミコンで使われている 65C816 という CPU 向けの(まともに動く) C コンパイラが存在することを知ったので、今回移植作業に取

                                                    スーパーファミコンで mruby/c を動かす
                                                  • OPcache オペコードキャッシュの仕組み - Shin x Blog

                                                    本エントリでは、PHP の内部実装(php-src)から OPcache のオペコードキャッシュの仕組みを見ていきます。 OPcache にはいくつかの機能がありますが、ここでは共有メモリへのオペコードキャッシュと preload が対象です。ファイルベースのキャッシュと JIT については触れません。 サマリ オペコードキャッシュ preload オペコードキャッシュと preload の比較 オペコードキャッシュ キャッシュデータレイアウト グローバル変数、マクロ キャッシュデータ構造体 オペコードキャッシュ: ZCSG(hash) キャッシュエントリ: zend_accel_hash_entry キャッシュデータ初期化 OPcache 処理の有効化 PHP ファイルコンパイル処理でのキャッシュ制御 persistent_compile_file() の主な処理 zend_accel_

                                                      OPcache オペコードキャッシュの仕組み - Shin x Blog
                                                    • 「詳解 AWS Lambdaコールドスタート」というテーマでClassmethod ODYSSEYに登壇しました #cm_odyssey #devio2024 | DevelopersIO

                                                      「詳解 AWS Lambdaコールドスタート」というテーマでClassmethod ODYSSEYに登壇しました #cm_odyssey #devio2024 Classmethod ODYSSEY OnlineとDevelopersIO 2024 OSAKAで「詳解 AWS Lambdaコールドスタート」というテーマで登壇させて頂きました。このブログでは登壇内容を抜粋しながら紹介していきます。 内容 コールドスタート時のLambdaのライフサイクル Lambdaのコールドスタートはざっくり以下のような流れです コールドスタートの過程で以下4つのフェーズが実行されています Create execution environment... Lambda実行環境が構築される Download code... 我々ユーザーがデプロイしたコードがLambda実行環境にダウンロードされる Start

                                                        「詳解 AWS Lambdaコールドスタート」というテーマでClassmethod ODYSSEYに登壇しました #cm_odyssey #devio2024 | DevelopersIO
                                                      • 2023年のプロダクトセキュリティを振り返る【各業界の開発・セキュリティエンジニア13人に聞く(前編)】 - #FlattSecurityMagazine

                                                        プロダクト開発・運用の現場では2023年のセキュリティ関連のトピックをどう受け止めているのか、また、今後のセキュア開発に関する潮流をどう予測しているのか。様々な業界で活躍する開発エンジニア・セキュリティエンジニアの方々13人に見解を伺いました。 今回は、「2023年のプロダクトセキュリティを振り返る」というテーマでお届けします! <13人の方々による「2024年セキュリティトレンド予想」> flatt.tech 今回コメントをいただいた方々 CADDi CTO 小橋昭文さん サイボウズ Cy-PSIRT Finatextホールディングス 取締役CTO/CISO 田島悟史さん Google 小勝純さん グラファー 森田浩平さん IssueHunt 取締役 CTO Junyoung Choiさん カンム 金澤康道さん メルカリ IDP team kokukumaさん メルカリ Product

                                                          2023年のプロダクトセキュリティを振り返る【各業界の開発・セキュリティエンジニア13人に聞く(前編)】 - #FlattSecurityMagazine
                                                        • AstroとTailwind CSSを使ってDeveloper Siteをリデザインした話 | 株式会社ヌーラボ(Nulab inc.)

                                                          はじめに 今回のDeveloper Siteリデザインの目的は英語のコーポレートサイト(https://nulab.com/ )とのUIを合わせることでした。旧Developer Siteのヘッダーやフッターなどの共通パーツは古いデザインのままだったため刷新する必要がありました。 旧Developer Siteのトップページ Developer Siteのトップページ 使用した技術 今回使用した技術は、静的サイトジェネレータであるAstroとユーティリティファーストのCSSフレームワークであるTailwind CSSです。 旧サイトはHugoとSCSSを用いて構成されており、今回はコンテンツはそのままで見た目のみを変更する制作だったため仕様の変更は不要でした。しかし、パフォーマンスの向上を目指し、かつ新しい技術に挑戦するためAstroとTailwind CSSを採用することにしました。 A

                                                            AstroとTailwind CSSを使ってDeveloper Siteをリデザインした話 | 株式会社ヌーラボ(Nulab inc.)
                                                          • use 文は PHP ファイルを読み込まない - Shin x Blog

                                                            PHP の use 文では、クラス名や関数名、定数、名前空間などのエイリアスを設定できます。 <?php use App\Foo; use App\Bar as ABar; $foo = new Foo(); $bar = new ABar(); https://www.php.net/manual/ja/language.namespaces.importing.php この use 文は指定したシンボルにエイリアスを設定する、言い方を変えると名前空間をインポートするもので、オートロードでクラス定義 PHP ファイルを読み込むものではありません。*1 例えば、上記コードの場合、use 文の時点で App\Foo や App\Bar に対するオートロードは動作しません。 この動きを確認してみます。 use 文のみを実行 use 文でオートロードが動作するかは下記のようなコードで簡単に確かめ

                                                              use 文は PHP ファイルを読み込まない - Shin x Blog
                                                            • RubyKaigi 2024 参加レポート - ZOZO TECH BLOG

                                                              こんにちは、DevRelブロックのikkouです。2024年5月15日から17日の3日間にわたり沖縄県は那覇市で「RubyKaigi 2024」が開催されました。ZOZOは例年同様プラチナスポンサーとして協賛し、スポンサーブースを出展しました。 technote.zozo.com ZOZOとWEARとRubyKaigi エンジニアによるセッション紹介 Generating a custom SDK for your web service or Rails API Namespace, What and Why YJIT Makes Rails 1.7x Faster Using Ruby in the browser is wonderful. An adventure of Happy Eyeballs Embedding it into Ruby code Unlocking Pot

                                                                RubyKaigi 2024 参加レポート - ZOZO TECH BLOG
                                                              • PHPクックブック

                                                                PHPを使う上で、約140の遭遇しがちな問題とその解決策をまとめたレシピ集です。PHPの基本的な文法から、暗号化、エラー処理、デバッグ、パフォーマンスチューニングといった重要な概念、型システム、非同期処理まで、効率的でモダンなWebアプリケーションを構築するためのレシピを網羅しています。パフォーマンスの改善、安全性の強化など、機能が大幅に向上したPHP 8を使いこなす上で、信頼できるリファレンスとして、常に手元に置いておきたい一冊です。 はじめに 1章 変数 レシピ1.1 定数の定義 レシピ1.2 可変変数の作成 レシピ1.3 変数の交換 2章 演算子 論理演算子 ビット演算子 比較演算子 型キャスト レシピ2.1 if/elseブロックの代わりに三項演算子を使用する レシピ2.2 null値を合体する レシピ2.3 値が等しいか評価する レシピ2.4 宇宙船演算子により値をソートする レ

                                                                  PHPクックブック
                                                                • php-fpm リクエストサイクル - Shin x Blog

                                                                  php-fpm がリクエストを処理しているサイクルをざっくりとまとめました。 php-fpm ワーカープロセスの生成 リクエストループ 1) リクエスト接続待ち listen_socket の生成 FastCGI リクエスト 2) リクエスト開始処理 実行PHPファイルパスの決定 スーパーグローバルへの格納 3) PHPファイル実行 4) リクエスト終了処理 PHP コード実行リソースの解放 max_requests チェック FastCGI クライアントとの通信 接続開始 リクエスト読み取り レスポンス書き込み 接続終了 さいごに php-fpm ワーカープロセスの生成 php-fpm は FastCGI リクエストを処理する SAPI 実装の一つです。いわば、PHP コードを実行する FastCGI サーバです。prefork 型となっており、nginx 等からの FastCGI リク

                                                                    php-fpm リクエストサイクル - Shin x Blog
                                                                  • tanukirpcというWebフレームワークを作っています - ぱいぱいにっき

                                                                    最近の盆栽ですけれど、tanukirpcというGoのWebフレームワークを書いています。ある程度やりたいことができはじめてきたので、どんなフレームワークかを紹介します。 github.com TL;DR Webアプリケーションでよくやるようなことを、最短手順で自然に書けるように設計したフレームワーク リクエストをパースして構造体にマッピングする リクエストの内容をバリデーションする レスポンスの構造体をエンコードしてレスポンスとして書き込む グローバルスコープもしくはリクエストスコープでの構造体のコントローラーへの依存性注入 DBコネクションやAPIクライアントの保持などに使う 現在の責務範囲はWebアプリケーションのコントローラーだが、Webアプリを作る時によくやるようなことはできるだけやれるようにしてく tanukiup 開発サーバー起動用コマンド。ファイル更新を監視してビルドおよびサ

                                                                      tanukirpcというWebフレームワークを作っています - ぱいぱいにっき
                                                                    • サーバーサイド Java / Kotlin エコシステムに潜む ThreadLocal ~ Kotlin Coroutine と ThreadLocal を安全につなぎこむ - 株式会社ヘンリー エンジニアブログ

                                                                      こんにちは!ヘンリーでソフトウェアエンジニアをしている @agatan です。 今日は小ネタで、サーバーサイド Java / Kotlin エコシステムで意外と使われている ThreadLocal と、それを Coroutine と安全に組み合わせる方法について紹介します! TL; DR ThreadContextElementを使おう! ThreadLocal とは java.lang.ThreadLocal<T> は、その名の通り、スレッドローカルな(= スレッドごとに独立した値を持つ)変数を定義するための機構です。 ある Thread で値を書き換えたとしても、他の Thread から見た ThreadLocal 変数の中身は書き換わらない、という性質があります。 import kotlin.concurrent.thread val tls: ThreadLocal<Int> =

                                                                        サーバーサイド Java / Kotlin エコシステムに潜む ThreadLocal ~ Kotlin Coroutine と ThreadLocal を安全につなぎこむ - 株式会社ヘンリー エンジニアブログ
                                                                      • 『ふつうのLinuxプログラミング』読書メモ

                                                                        システムコールの問題点 シンプルに遅い 特定のバイト単位でしか入出力できない stdio システムコールの問題点を解決してくれるのがコイツ。 では、どのように解決してるのか?という話。 バッファ システムコールで読み書きするデータを一時的に保存しておく場所のこと。 stdioはバッファに対して読み書きの指示を出すことで、汎用性を上げている。 読み 読みの場合は、ディスクからバッファに塊で書き出したデータを、「1バイトとか10バイトとかの単位でちょーだい」と命令することで読み込める。 システムコールも別に1バイト単位で読めるけど、遅いという問題があるので現実的じゃない。 書き 書き込みの場合、バッファに書き込んでから一定の単位でシステムコールのwrite()を呼ぶ。 一定の単位というのがミソで、これはストリームの向こうにターミナル(端末)がある場合は改行単位になるだろうし、ファイルがある場合

                                                                          『ふつうのLinuxプログラミング』読書メモ
                                                                        • php-fpm(php) をビルドして gdb でデバッグ実行できる Docker Compose 環境を作った - Shin x Blog

                                                                          php-fpm と php コマンドを php-src からビルドして、gdb コマンドでデバッグ実行できる Docker Compose 環境を作りました。 github.com 利用方法 gdb コマンド php-src の .gdbinit PHP関数によるダンプ さいごに 利用方法 リポジトリを git コマンドでチェックアウトして、make コマンドを実行します。make コマンドを実行すると、php-src からソースをチェックアウトして、Debian の Docker コンテナで php-fpm と php コマンドをビルドします。 $ make # ビルド完了後 $ docker compose run --rm php-fpm /php-src/php/bin/php -v PHP 8.3.8-dev (cli) (built: Jun 1 2024 04:00:02)

                                                                            php-fpm(php) をビルドして gdb でデバッグ実行できる Docker Compose 環境を作った - Shin x Blog
                                                                          • 入門 eBPF

                                                                            eBPFは、ネットワーク、セキュリティ、オブザーバビリティなど、さまざまなインフラ関連の分野のプラットフォームとして利用が広がりつつある、近年最も注目されている技術の1つです。本書ではカーネルの機能を拡張する方法として注目度の高いeBPFについて、どんな技術であるか、何ができるかを概観することができます。基本的なeBPFプログラムの書き方を紹介するとともに、仕組みも理解できるようになっています。 訳者まえがき まえがき 1章 eBPFとは何か? なぜ、重要なのか? 1.1 eBPFのルーツ:Berkeley Packet Filter 1.2 BPFからeBPFへ 1.3 本番環境に向けてのeBPFの進化 1.4 名前付けは難しい 1.5 Linuxカーネル 1.6 カーネルへの新機能の追加 1.7 カーネルモジュール 1.8 eBPFプログラムの動的ロード 1.9 高性能なeBPFプログ

                                                                              入門 eBPF
                                                                            • Ruby "enbugging" quiz の解説 - STORES Product Blog

                                                                              STORESでフルタイムRubyコミッタをやっている遠藤(@mametter)です。 STORESは今回RubyKaigi 2024で、託児所を運営する「ナーサリースポンサー」として参加していました。この様子は後日詳報しますが、それ以外にも参加者に楽しんでもらえる企画をいろいろな形でしていました(予告記事を参照)。 この記事ではその中でも、ブースでやった「Ruby "enbugging" quiz」について、解答や出題意図などを紹介します。 Day 1 終了時のスコアボードです! 3点の方もたくさんいらっしゃいました! Day 2のクイズも楽しんでください😊#rubykaigi https://t.co/RJIBEqsFSf pic.twitter.com/ewp22Cs7jr— STORES Tech (@storesinc_tech) 2024年5月16日 概要 動作しているプログラ

                                                                                Ruby "enbugging" quiz の解説 - STORES Product Blog
                                                                              • 待望のLazyCell/LazyLock安定化間近! - paild tech blog

                                                                                こんにちは、ペイルドの森です。ペイルドでは創業以来バックエンドの開発言語にRustを採用してきたため、Rustという言語そのものが持つ課題とその解消、クレートの流行り廃りなどの歴史を共に歩んできました。その中でも最も苦しんだものの一つに遅延初期化があります。 その遅延初期化のための機能が、2024年7月リリース予定のRust 1.80.0で安定化されるということで、本機能について、その歴史とともに見ていきます。 目次 遅延初期化とは何か、何のためにするのか パフォーマンス向上のため リソースの効率的な管理のため 循環依存の回避のため Rustと遅延初期化の歴史 lazy_static クレートの登場と、抱えていた課題 マクロ依存性 スレッドセーフでない初期化のリスク 型の制約 初期化のタイミング制御 once_cell クレートの登場によって何が解決されたのか? マクロを使わないシンプルな

                                                                                  待望のLazyCell/LazyLock安定化間近! - paild tech blog
                                                                                • Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は?

                                                                                  Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は? Introducing our new e-book: Unity’s Data-Oriented Technology Stack (DOTS) for advanced developers / 新しい電子書籍のご紹介: 上級開発者向けの Unity のデータ指向テクノロジー スタック (DOTS) Unity のデータ指向テクノロジースタック (DOTS) を使用すると、 ターゲットハードウェアを最大限に活用できるパフォーマンス強化ツールスイートが提供され、大規模で複雑なゲームを作成できます。 50 ページを超える電子書籍「上級 Unity 開発者向けのデータ指向テクノロジー スタック入門」が、無料でダウンロードできるようになりました。データ指向プロ

                                                                                    Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は?