並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 3348件

新着順 人気順

パースの検索結果361 - 400 件 / 3348件

  • 『週刊少年ジャンプ』の歴史からひも解く、マンガ雑誌の文字とデザイン

    『週刊少年ジャンプ』の歴史からひも解く、マンガ雑誌の文字とデザイン世界中で高い人気を得ている日本のマンガだが、その隆盛を支えてきたのはマンガ雑誌であった。本記事ではマンガを語るうえで頻繁に取り上げられる物語や絵ではなく、とくにマンガ雑誌における「文字」の歴史がいかなるものであったのかを、『週刊少年ジャンプ』を例にひも解いていく。 聞き手・監修=岡本正史(集英社) 文・構成=安原真広(ウェブ版「美術手帖」編集部) 歴代の『週刊少年ジャンプ』 いまやスマートフォンで見ることも多くなったマンガだが、世界中で高い人気を得るようになった日本のマンガ文化をつくりあげてきたのはマンガ雑誌に代表される、紙でつくられた本のマンガだった。月刊や週刊という刊行スピードで数百万部にも上るマンガ雑誌が印刷され、日本全国の書店に届けられる。この世界的に見ても稀有なシステムが、日本の多様なマンガ文化をつくりあげたことに

      『週刊少年ジャンプ』の歴史からひも解く、マンガ雑誌の文字とデザイン
    • Next.js Conf 2022で最も感動したライブラリ、vercel/satoriについて紹介させてください。 - Commune Engineer Blog

      はじめまして。コミューンでサーバーサイドエンジニアとして働いています、あのちっくと申します。 突然ですが皆様は昨年 10 月に開催されたNext.js Conf 2022はご覧になられましたでしょうか。 Next.js Conf は Next.js の開発・メンテナンスを行っている Vercel 社が主催する、Next.js とその周辺技術に関するカンファレンスです。 コミューンでもメインプロダクト commmune の Web フロントフレームワークとして Next.js を採用しており、私個人としてもとても興味深くオンラインから視聴をしていました。 特に話題になったのは、React Server Components をサポートしたルーティング・レイアウトシステム"app directory"などの新機能を新たに追加したNext.js 13と、"Webpack の後継"を謳う Rust

        Next.js Conf 2022で最も感動したライブラリ、vercel/satoriについて紹介させてください。 - Commune Engineer Blog
      • 可用性や安全性を高めつつ、ソフトウェアをシンプルにすることは不可能だ。カオスエンジニアリングから継続的検証へ(中編)。JaSST'23 Tokyo基調講演

        可用性や安全性を高めつつ、ソフトウェアをシンプルにすることは不可能だ。カオスエンジニアリングから継続的検証へ(中編)。JaSST'23 Tokyo基調講演 Netflixが始めた「カオスエンジニアリング」は、現在では大規模なシステムにおける可用性向上の手法のひとつとして確立し、広く知られるようになりました。 そのカオスエンジニアリングという手法を定義したのが、元Netflixカオスエンジニアリングチームのエンジニアリングマネージャーを務めていたCasey Rosenthal(ケイシー ローゼンタール)氏です。 そのローゼンタール氏が、ソフトウェアのテストに関わる国内最大のイベント「ソフトウェアテストシンポジウム 2023 東京」(JaSST'23 Tokyo)の基調講演に登壇し、「Chaos Engineering to Continuous Verification」(カオスエンジニアリ

          可用性や安全性を高めつつ、ソフトウェアをシンプルにすることは不可能だ。カオスエンジニアリングから継続的検証へ(中編)。JaSST'23 Tokyo基調講演
        • Rが好きすぎてRでJVMを実装したnoteエンジニアに話を聞いてみた|note株式会社

          そんなあるときに、めもりーさんという方がPHPでJVMを実装しているツイートを見つけました。「これはおもしろいな」と思うと同時に「PHPでできるならRでもできるだろう」という思いがこみ上げてきて開発することにしました。 ー そんなに簡単にやってみようと思ったんですね(笑) もともとコンパイラやインタプリタは作ったことがあったので、仮想マシンも作れるかなって(笑) 私が作ったjvmrrはFizz BuzzくらいのJavaコードは実行することができるのですが、めもりーさんの資料のおかげで開発するためのハードルが低く済みました。 ー そもそもなぜRで「変なもの」を開発するようになったのでしょうか? Rって言語仕様が変わっていて本当におもしろいんですよ。それをもっとみんなに知ってほしくて言語仕様を活かしたものを作って公開するようになりました。Rってデータサイエンティストや研究者しか使わないイメージ

            Rが好きすぎてRでJVMを実装したnoteエンジニアに話を聞いてみた|note株式会社
          • トム・クルーズのブチ切れ発言でクルー5人が辞職。彼の行動は正しいのか(猿渡由紀) - エキスパート - Yahoo!ニュース

            トム・クルーズのブチ切れ事件が、さらなる展開を見せた。「ミッション:インポッシブル7」のロンドンの撮影現場で、ソーシャル・ディスタンスを守らずにコンピュータのモニターを見ていたクルーに対しクルーズが暴言を浴びせたことは世界中に報道されたが、「The Sun」によるとその直後にもまた似たようなことがあり、5人のクルーが自ら現場を去ったというのだ。その2回目の音声は公開されておらず、具体的な会話がどんなものだったのかはわからない。しかし、これらのクルーに辞めてやると思わせるに十分な内容だったことは、容易に推測される。 「The Sun」が音声をリークした1回目の暴言で、クルーズは、「俺たちはお手本なんだぞ!俺らがやっていることをハリウッドが信じるから、撮影が戻ったんだ!」と、自分たちが率先してコロナ対策をきちんとやってみせたからこそ、それまで撮影再開を躊躇していたほかの作品も動き出したのだと、

              トム・クルーズのブチ切れ発言でクルー5人が辞職。彼の行動は正しいのか(猿渡由紀) - エキスパート - Yahoo!ニュース
            • 誰も話題にしないノーコードの制約 - GMOインターネットグループ グループ研究開発本部

              D.M. です。今回はノーコードでできること・できないことを調査・検証した内容を共有する入門記事です。 TL;DR ・ノーコードは超簡単で結構使える。エンジニアがいない/少ない組織でもたちどころにWebアプリを開発して運用できる。 ・やっぱり凝った画面は作れない。 ーーーーーーーーーーー ▼このブログの続編である解決編を書きました! 「調整さん」もどきをノーコードで開発できた https://recruit.gmo.jp/engineer/jisedai/blog/remove-no-code-restriction/ ーーーーーーーーーーー 目次 イントロダクション 1.TODOアプリを作る 2.調整さんを作る まとめ イントロダクション 存在感を増してきたノーコード ノーコード NoCode とは、すなわち Visual Programming のマネージドなプラットフォームで、その名

                誰も話題にしないノーコードの制約 - GMOインターネットグループ グループ研究開発本部
              • 0歳児の育て方 - metalunk’s blog

                5年ぶりの投稿です 5年の間に結婚(事実婚だけど)して息子が生まれ、あと5日で一歳になろうとしているので、これからの0歳児パパママのためになる文章を書こうと思い立ちました 自分たちが実施してよかったこと、やっておけばよかったこと、買ってよかったもの、いらなかったものなど書いていきます ポリシー 写真とビデオは品質良くたくさん撮ろう カメラについて 保育園大好き 1. パパ友ママ友ができた 2. 社交的になった気がする 3. 親たちも社会とのつながりが持てる 夫婦で飲みに行きたい 赤ちゃんから離れる時間が必要 赤ちゃんと旅行に行くには 病院の心得 授乳 tips 睡眠 tips 離乳食 tips お風呂 tips 洗濯 tips おむつ tips 乗り物系 tips 移動系 tips 赤ちゃんスペース tips 0歳児の育児の大変さ 自分の心境の変化 すでに0歳児が恋しい お下がりがありがた

                  0歳児の育て方 - metalunk’s blog
                • Puppeteer で静的サイトの Font Subsetting | blog.jxck.io

                  Intro Web Font のサブセット化を Font Weight に応じて作り分けるとともに、それを Puppeteer を用いて生成するように変更した。 Web Font の静的サブセット 本サイトで提供している Web Font は当初、文字を事前に選定して生成したものを使っていた。 Noto Sans の Web Font 対応とサブセットによる最適化 当時はコンテンツがなかったが、コンテンツも増えた後は、コンテンツの原稿である markdown ファイルから使用している文字を抽出して生成するように変更していた。 これでおおよそ必要最小限のサイズにすることができていた。 Regular と Bold の最適化 本サイトでは Font Weight として Regular(400) と Bold(700) を提供しているが、これまでは抽出した文字種を Bold/Regular 両

                    Puppeteer で静的サイトの Font Subsetting | blog.jxck.io
                  • SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記

                    はじめに Pure Rubyな形態素解析器Suikaを作成した。開発中でバッリバリにα版だが、思い切ってリリースすることにした。 suika | RubyGems.org | your community gem host 最も有名な形態素解析器であるMeCabもそうだが、形態素解析器は食べ物の名前がつくことが多い。「Rubyなので赤い食べ物が良いかな」と考えて、文字数とかわいらしさからSuika(スイカ)とした。 使い方 SuikaはPure Rubyで作られているため、MeCabをはじめ特別なライブラリを別途インストールする必要はない。 gem install suika バッリバリにα版なので、機能はないに等しく、オプションなしのMeCabコマンドと同様となる。 $ irb irb(main):001:0> require 'suika' => true irb(main):002:

                      SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記
                    • input type=“date” の沼から、ライブラリを導入する意義を考える - Mirrativ Tech Blog

                      はじめまして!2023年7月からミラティブでフロントエンドインターンをしております、かずえもんと申します😺 今回は、インターンでの作業中にハマってしまった Safari のバグについて調査していたら、なんと10年モノの issue だったことが判明し、ライブラリを導入する意義について考える機会となった話を書いてみたいと思います。 Safari の日付入力欄に無効な日付を入れると起こるバグ onChange が正しく呼ばれないのは Safari が原因? Safari 17 以降で再現しないので原因は Safari で間違いなさそう Safari 17 以前での解決方法として DatePicker を使ってみる まとめ: ネイティブを補う存在としてのライブラリ We're Hiring!! Safari の日付入力欄に無効な日付を入れると起こるバグ 2023年8月、私はミラティブの管理シス

                        input type=“date” の沼から、ライブラリを導入する意義を考える - Mirrativ Tech Blog
                      • 交通センサスの解析と可視化 - ponkotuyのブログ

                        概要 今回は交通センサスの解析して市区町村間の交通流動を解析して日本の市区町村をグルーピングし、GISの仕組みを使って可視化するところまでやったので、その話をします。 モチベーション そもそもなんでそんなことを始めたかというと、特に福島県なんですが「県境の設定が雑じゃね?」みたいな素朴な疑問があったからです。 これは歴史的事実として、実際に廃藩置県の政治的なゴタゴタの中で決まった県境が変更されずに今に至っているので当然そうなんですが、 となると「じゃあそこらへん合理的に県境を決めたらどうなるん?」という疑問がわいてくるわけです。 多くの地元民が納得する県境を考えると、 「大きな買い物をするときに行く街や、遠くに行くときにいくときに経由する街が同じ都道府県になると、まあまあうまくいくだろう」 という仮説をまず立てます。 その上で、その地域のグループを作るのであれば、最も交通流動の多い地域を繋

                          交通センサスの解析と可視化 - ponkotuyのブログ
                        • クエリログを使ったAurora MySQLの負荷テスト - クックパッド開発者ブログ

                          最近はZX-25Rが気になっている菅原です。4気筒250ccといえば、以前バリオス2に乗っていたんですが、あれもよく回るよいバイクでした。足つきの良さが懐かしいです。 この記事では、クエリログを使ったAurora MySQLの負荷テストの話を書きます。 MySQLの負荷テスト サービスに使われているデータベースは、Webサーバと比べて自動的なスケールアップ・スケールアウトが簡単ではないためキャパシティプランニングは非常に重要です。サービスへのアクセス増による負荷増大の結果、急激に性能が低下するためなるべく事前にキャパシティを把握しておきたいところです。 クックパッドではサービスのデータベースとして主にAurora MySQLを利用しているのですが、キャパシティを把握するための負荷テストには以前から苦労してきました。 1. シナリオを書くのが大変 サービスで使われているデータベースの負荷テス

                            クエリログを使ったAurora MySQLの負荷テスト - クックパッド開発者ブログ
                          • 一つのCPUで複数のスレッドを実行する技術「SMT」が合理的でなくなってきているとの指摘

                            現代のCPUは、クロック周波数の向上や入力に基づいて論理的に処理を事前に行う「投機的実行」技術など、パフォーマンスを上げるための高度な技術が数多く用いられています。そうしたCPUのパフォーマンス向上に貢献している技術の一つに、単一のCPUコアで複数のスレッドを同時に実行することができる機能「SMT(同時マルチスレッディング)」がありますが、そのSMTが合理的ではなくなってきている可能性があります。 Does SMT still make sense? https://www.codeblueprint.co.uk/2019/11/05/does-smt-make-sense.html 現代のほとんどのCPUにはSMTが使われており、並列してタスクを処理することができます。Intelが実装しているSMTは「hyperthreading」と呼ばれ、パフォーマンスの改善を目指して2002年よりP

                              一つのCPUで複数のスレッドを実行する技術「SMT」が合理的でなくなってきているとの指摘
                            • ChatOpsによる運用作業の自動化 - ZOZO TECH BLOG

                              はじめに こんにちは、技術本部SRE部カート決済SREブロックの遠藤・金田です。 普段はSREとしてZOZOTOWNのカート決済機能のリプレイスや運用を担当しています。本記事では自作のコマンドラインツールをSlack + AWS Chatbot + AWS Lambdaを使用してChatOps化した事例をご紹介します。「日々の運用業務をコマンドラインツールを実装して効率化したものの今ひとつ広まらない」「非エンジニアにも使えるようにしたい」と考えている方の参考になれば幸いです。 目次 はじめに 目次 背景・課題 ChatOpsとは AWS ChatBotとは 構成 AWS ChatBot チャットツール側の設定 Slack Workflow Lambda 実装のポイント ChatBotのアクセス制御 User Roleの運用方法 ガードレールポリシー コマンドラインツールのLambda関数化

                                ChatOpsによる運用作業の自動化 - ZOZO TECH BLOG
                              • mints: 5.7kb の TypeScript コンパイラを作った

                                世の中の TypeScript コンパイラが大きすぎるので作りました。 ここで試せます。 jsx と jsx pragma のサポートもしたので、 preact も動いています。 実装方針 ビルドサイズ第一 とにかく軽量に mints自体が他のコードをビルドするときの速度ではない点に注意 現状、まともなエラーレポートが出ない。エラーメッセージをインライン化するとビルドサイズが増えるため。 空白行と型情報を落とすだけ ES5 への変換や commonjs への変換は実装しない enum と constructor と jsx のみ transform する特殊対応をしている 真面目な構文解析をしてない 例えば 1+1*2 のような binary expression は結合順を解析してない。型を落とすだけなら不要 prettier でフォーマットされたコードはコンパイルできるのが目標(空白行

                                  mints: 5.7kb の TypeScript コンパイラを作った
                                • 朝日新聞社の長文要約生成APIを使ってブログの要約を自動生成する仕組みを構築した - Lambdaカクテル

                                  先日朝日新聞社によって長文要約APIがリリースされました。要約をAPIで取得できるという点が面白いと感じたので、このブログ(blog.3qe.us)の記事を閲覧したときに自動的に要約を見られるような仕組みを作ってみようと思い、1週間ちょっとかかってしまいましたが動くものができたので紹介します。 www.itmedia.co.jp 記事冒頭に要約コーナーを出現させる この仕組みによって、記事の冒頭に要約コーナーが勝手に出現して要約を表示します。 こんな感じで要約が表示されます いくつかの記事では既に生成ができていますが、API自体は1日に20回までの制限があるので、全ての記事にはまだ行き渡っていません。 まだ要約が生成されていない記事にはpreparing abstractという文言が表示されます。 キューに入った状態 句読点の問題かちょっと要約が怪しいところもありますが、おおむね正しい要約

                                    朝日新聞社の長文要約生成APIを使ってブログの要約を自動生成する仕組みを構築した - Lambdaカクテル
                                  • 世界一流エンジニアは自分と考えが真逆だった話|牛尾 剛

                                    今日はちょっと驚いたことがあったので、自分の記録のためにも書き残しておきたい。 ライブサイトの問題 自分のやっているプロジェクトで問題が起こって、その障害の復旧と調査にあたっていた。問題は大きいが、DividedByZero が起こっている。これはスポットしやすい。 自分の見慣れたコードパスをログを頼りに DividedByZero が起こりうるところを特定する。 実際にそれが起こるところは2点と特定する。 フロントエンドが0台になる アプリケーションの必須の設定が0になっている どちらも通常あり得ないが、どう考えても前者である可能性は低い。もし前者だとしたら、問題はここだけに収まらない。最近変更を他のチームが加えた後者が最も有力だろう。何せ今までそれは起こったことが無いから。調査に協力してくれた Cooper も同意見だった。 問題の特定に時間を使う 残念ながらログが出てないので、調査が

                                      世界一流エンジニアは自分と考えが真逆だった話|牛尾 剛
                                    • HomebrewのCaskリポジトリを介した任意コード実行

                                      English version is available here: https://blog.ryotak.net/post/homebrew-security-incident-en/ (公式インシデント報告はこちらから読むことができます: https://brew.sh/2021/04/21/security-incident-disclosure/) はじめにHomebrewプロジェクトはHackerOne上で脆弱性開示制度(Vulnerability Disclosure Program)を設けており、脆弱性の診断行為が許可されています。 本記事は、当該制度に参加し、Homebrewプロジェクトのスタッフから許可を得た上で実施した脆弱性診断行為について解説したものであり、無許可の脆弱性診断行為を推奨することを意図したものではありません。 Homebrewに脆弱性を発見した場合は、

                                        HomebrewのCaskリポジトリを介した任意コード実行
                                      • Goのカバレッジツールを使いこなす | gihyo.jp

                                        はじめに テストでコード品質を担保していくことは、継続的インテグレーションの観点などで必要不可欠です。そして、十分なテストコードが書かれているかどうかの指標として、よく使われるものといえばテストカバレッジがあります。 Goではgo testコマンドと、go tool coverコマンドがカバレッジ計測の機能を担っています。今回は、これらのツールをより深く使い込んでいくために、既存機能の一歩進んだ使い方や最新機能について紹介します。 なお、本記事で紹介しているコマンドなどはmacOSで実行した場合の例となります。 オリジナルのカバレッジ統計データを集計する まずは既存のカバレッジの統計データを取得する方法を振り返り、より詳細な情報を集計するアプローチについて紹介します。 Goのカバレッジツールで出力できる統計データ 既存のgo testコマンドおよびgo tool coverコマンドで出力で

                                          Goのカバレッジツールを使いこなす | gihyo.jp
                                        • WebAssemblyに注目 | POSTD

                                          WebAssemblyは今、転換点にあります。今後数年間で、コンテナ化からプラグインシステムやサーバレス・コンピューティング・プラットフォームに至るまで、IT業界全体でWebAssemblyの導入が増えると筆者は予想しています。この記事では、WebAssemblyとは何か、なぜそれが重要なテクノロジーであるのか、現在はどのような分野で利用されているかを説明します。また、WebAssemblyが大きな影響をもたらす可能性がある用途や、WebAssemblyの将来に関する予測も紹介します。 WebAssemblyとは何か WebAssembly(Wasm)とは、さまざまなプログラミング言語と多様な実行環境の間に位置する中間層です。30以上の異なるプログラミング言語で書かれたコードを.wasmファイルにコンパイルし、そのファイルをブラウザ、サーバ、あるいは自動車でも実行できます。 「WebAss

                                            WebAssemblyに注目 | POSTD
                                          • JavaScriptの「カバー文法」とは何か - Qiita

                                            この表を上から読みつつ多少言葉で説明すると以下のようになります。 const foo = bar + 3;はStatementListItemである。なぜなら、DeclarationはStatementListItemの一種であると定義されているから。 const foo = bar + 3;はDeclarationである。なぜなら、LexicalDeclarationはDeclarationの一種であると定義されているから。 const foo = bar + 3;はLexicalDeclarationである。なぜなら、LetOrConst, BindingList, ;が並んだものはLexicalDeclarationであると定義されているから。 constはLetOrConstであると定義されている。 foo = bar + 3 はBindingListである。LexicalBind

                                              JavaScriptの「カバー文法」とは何か - Qiita
                                            • Goアセンブリ入門 - Qiita

                                              この記事は Chapter I: A Primer on Go Assembly を翻訳、加筆したものです。 この記事では以下のような人を想定しています。 Go言語の文法を理解している サブルーチンコール時の一般的なスタックの挙動を理解している 環境 擬似アセンブリ Goコンパイラが出力するアセンブリは、抽象化されたものであり、実際のハードウェアにマッピングされていません。 Goアセンブラはこの擬似アセンブリを対象のハードウェアに沿った機械語に変換します。 Javaのバイトコードのようなものを想像するとわかりやすいかもしれません。 このような中間層を設けることの最大の利点は新しいアーキテクチャに対応するのが楽になることです。 詳細を知りたい場合は、Rob Pike氏著の The Design of the Go Assemblerを見てください。 Goアセンブリを知るためにもっとも重要なこ

                                                Goアセンブリ入門 - Qiita
                                              • シェルスクリプトの長所と短所のまとめ - Qiita

                                                はじめに シェルスクリプトに関しての長所と短所をまとめてみました。多くの短所を上げていますが、私はシェルスクリプトを嫌っているわけではなく(むしろ逆)、現在のシェルスクリプトが抱える問題点を明らかにし、シェルスクリプトはどう使うべきか? またはどう使うべきではないか? 問題点があるならばそれを解決することはできないか? を考えるためにまとめています。問題を解決するにはまず問題点を明らかにしなければいけません。 またシェルスクリプトを本来の用途に合わないものに使うと逆に開発が難しくなってしまいます。それは使い方が悪いわけでシェルスクリプトの問題ではありません。間違った使い方によってシェルスクリプトの価値が不当に下げられてしまうことを減らすために、あえて多くの短所をあげています。つまり最初からこんな用途に使おうと思うな。ということです。(使うことを禁止はしませんが、わかった上でやりましょう。実

                                                  シェルスクリプトの長所と短所のまとめ - Qiita
                                                • Pythonで検索エンジンをゼロから作って学んだこと Part.2

                                                  2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「入門 自作検索エンジン」に登壇したのは加藤遼氏。講演資料はこちら シンプルな検索エンジンを作る 加藤遼 氏:ここからは実際に事例を踏まえながら、どういうものを作っていくかの実装の話をしていきます。 実際に作っていく検索エンジンは、これです。これは「PyconSearch」という、今年のPyConのセッションを検索できるもので、わりと便利なサイトです。これを実際に作っていきながらどういうことをやっていくかという話を進めていきます。 まずは要件から決めていきましょう。「PyConJPのトークを検索できる」ことが目的ですが、

                                                    Pythonで検索エンジンをゼロから作って学んだこと Part.2
                                                  • Webブラウザのもう一つのパーサ: Preload Scanner | PerfData

                                                    Firefoxでは、Preload Scannerという呼称ではなく、Speculative Parserと呼称されています。 Shallow Parsing Preload Scannerは、Shallow Parsing(浅いパース処理)という手法を使います。 Shallow Parsingシャローパーシングとは、文法解析の一種であり、構文解析の表層的なレベルで行われる解析手法です。 Shallow Parsingは、文法構造を完全に解析する深層解析(Deep Parsing)とは異なり、文書やコードの全体的な構造を理解しようとはせず、特定の情報やパターンを効率的に抽出することに焦点を当てています。 WebブラウザのPreload Scannerにおいては、Shallow ParsingがHTMLドキュメントの表層的な構造を迅速に解析する役割を担っています。 Preload Scann

                                                      Webブラウザのもう一つのパーサ: Preload Scanner | PerfData
                                                    • Goで作ったロジックにWebUIをつけてGitHubページに公開する | フューチャー技術ブログ

                                                      ちょっとしたツールをGoで作ってみたのですが、わざわざインストールしなくてもいいようにWebのUIをつけてブラウザで使えるようにしてみました。作ってみたのは以下のツールで、Markdownのリスト形式でざっと下書きしたテーブルの設計をSQLとか、PlantUMLとかMermaid.js形式のERDの図にします。 https://shibukawa.github.io/md2sql/ ウェブフロントエンド部分はNext.jsの静的サイトで、GoはWASMにしてロードして実行しています。WASMを使うのは初めてなのであえて選んでみました。 GoをWASM化するもともとCLIツールは作っておりました。CLIのメインはcmd/md2sql/main.goで作っていました。この中でやっていることは kingpin.v2のオプションパース 指定されたファイルを読み込み(あるいは標準入力) パース 指定

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

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

                                                          ESLint を使い倒す(おすすめルール紹介)
                                                        • 省ビルドサイズ要求環境でモダンフロントエンドをやる (主に preact の話)

                                                          モダンフロントエンド = 宣言的 UI = 仮想 DOM ターゲット npm ツールチェインが使えない環境で、パフォーマンスを悪化させずにモダンフロントエンドをやりたい人 サードパーティスクリプトを提供する人 方向性 省ビルドサイズを目指す とくに外部から読み込まれる 3rd party script は、サイズ要求が厳しい lighthouse で 100 点の環境の点数を落とさないためには、おそらく 3rd は 20~30kb 未満を目指す必要がある 今後パフォーマンスが SEO に関わってくるので、このへんは重要 Google、ウェブサイトの UX 健全性を示す Web Vitals を導入。3 つの重要指標は LCP/FID/CLS | 海外 SEO 情報ブログ 実行時パフォーマンス要求 よほど複雑なアルゴリズムを実行するので無い限り、省ビルドサイズ制限を満たせば十分 モバイルで重

                                                            省ビルドサイズ要求環境でモダンフロントエンドをやる (主に preact の話)
                                                          • 高度なコマンドインジェクション攻撃とその対策

                                                            はじめに ScutumはフルマネージドなWAFサービスなので、利用しているユーザさんが気づかない間にどんどん変化し、防御能力を強化しています。これらの強化された点について、これまではあまり宣伝や周知を行っていなかったのですが、今後は少しずつ、このブログでお知らせしていこうと思っています。 防御を強化しているポイントはマニアックな細かなものから重要なものまで多岐に渡ります。今回紹介するのは、我々としてはかなりインパクトがあると考えているものです。 2019年の秋に、コマンドインジェクションに対する防御能力を強化しました。コマンドインジェクションといっても普通のものではなく、比較的最近になって知られるようになった、「WAFを回避する」種類のコマンドインジェクションです。 WAFを回避するコマンドインジェクション 攻撃者とWAFの間では互いに「見つからないように」「見逃さないように」というイタチ

                                                              高度なコマンドインジェクション攻撃とその対策
                                                            • JavaScriptのレガシー挙動を定めたAnnex Bをひたすら読む記事

                                                              ECMAScript Annex Bおよび関連する仕様を読みます。 おことわり 言うまでもありませんが、ここで説明されている機能は使わないようにしましょう。 筆者がJavaScriptを書き始めたのは2005年頃で、その後2010年代は実質的な空白期間でした。そのため本記事に含まれる歴史的背景の説明は、2005年頃の筆者が学んだ内容に加えて、当時の資料を遡って調査した結果に基づいて記載されています。できる限り信頼性の高い情報を見つけた上で記述するよう心がけましたが、当時常識だった知識の欠落等により不正確な記述になっている部分があるかもしれません。もし誤り等があったら指摘いただけると嬉しいです。 現在のzennでは <sub></sub> や <ins></ins> は描画されていませんが、心の目で下付き文字や下線装飾に読み替えてください。 ECMAScript Annex B とは ECM

                                                                JavaScriptのレガシー挙動を定めたAnnex Bをひたすら読む記事
                                                              • PowerShell「全員が全員 /bin/bash だと思うなよ」 - ちょっと株式会社 社員ブログ

                                                                はじめまして.ちょっと株式会社で技術顧問をしています,池口といいます.普段は別の会社で働きつつ,副業という形で参画させていただいております.ブログもたまに書こうかと思っておりますので,よろしくお願いします. そもそもシェルとは?さて,みなさんがお使いのシェルは何でしょうか.シェルは, OS の機能を呼び出したり別のアプリケーションを呼び出したりするためのコマンド言語インタプリタです[1] .具体的には bash や fish , zsh などが挙げられます.macOS の場合,既定のシェルは zsh です.これをそのまま使っているという方も多いでしょう.GNU/Linux の場合はほとんどのディストリビューションで bash が採用されています. bash や zsh は POSIX 互換モードを持っている[2] [3] こともあってか幅広く使われています. しかし,これらのシェルはとても

                                                                  PowerShell「全員が全員 /bin/bash だと思うなよ」 - ちょっと株式会社 社員ブログ
                                                                • 【超待望アップデート】ECRに対する脆弱性スキャン機能が提供されました | DevelopersIO

                                                                  待望と言って良いアップデートです。ECRのイメージに対する脆弱性スキャン機能がマネージドで提供されました。まずは、皆さんのコンテナワークロードにおけるイメージの脆弱性スキャン実施してみて足元を振り返ってみてはいかがでしょうか? 「俺はこの日を待ち望んでいた…ほんまやで…」 本日、非常に重大なアップデートがECRに舞い降りてきました。なんと、ECRに対するイメージスキャンが実装されたとのことです! Announcing Image Scanning for Amazon ECR コンテナセキュリティを考えるにあたり、一番最初に気をつけておきたい点がそのコンテナイメージで導入したパッケージに対する脆弱性の混入。今まででも、aquasecurity/trivyや、goodwithtech/dockleなど、フリーで利用できる優秀なツールは存在していましたが、それぞれCI/CDパイプラインへの組み

                                                                    【超待望アップデート】ECRに対する脆弱性スキャン機能が提供されました | DevelopersIO
                                                                  • Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ

                                                                    こんにちは、フルタイムRubyコミッタとして働いてる遠藤(@mametter)です。 Ruby 3 は「静的型解析」を備えることが目標の 1 つになっています。遠藤が開発してる TypeProf は Ruby 3 の静的型解析エコシステムの中の 1 ツールです。しかし Ruby 3 の静的解析というと、RBS、TypeProf、Steep、Sorbet などいろいろなツール名が出てきてよくわからない、という声を何回か聞いたので、かんたんにまとめておきます。 3 行まとめ RBS:Ruby の型情報を扱う言語。Ruby 3 にバンドルされる。 TypeProf:型注釈のない Ruby コードを型解析するツール。Ruby 3 にバンドルされる。 Steep/Sorbet:Ruby で静的型付けのプログラミングができるツール。 詳しくはそれぞれ以下で解説します。 RBS とは RBS は、Rub

                                                                      Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ
                                                                    • JSONパーサにファジングしたら収拾がつかなくなりました

                                                                      ファジング(Fuzzing)が便利 コンピュータにランダムに生成させたデータを入力とし、ソフトウェアの予期せぬ挙動を観測・発見する手法がファジングです。脆弱性発見の文脈で使われることが多いですが、一般的なごく普通のソフトウェア開発でも便利に使うことができます。私もこれまでに何度か、開発中の関数にファジングを行うことで、想定できていなかったバグを見つけたことがあります。 ファジングの大きな魅力の1つは、個人の想像力を超えることができる点です。開発をテスト駆動で進めているとしても、必要となるテストをすべて網羅できていない場合が多々あります。テスト駆動開発はあくまでも個人(あるいはチームメンバー)が見つけることができたテストしか実行できないので、その人の能力や想像力を超えることができません。しかしファジングであれば、人が考えもつかないようなパターンを試してくれます。もちろんファジングもブルートフ

                                                                        JSONパーサにファジングしたら収拾がつかなくなりました
                                                                      • パスワード付きZIPファイルの有効性検証! Go言語を使ったマルチコア対応パスワードチャレンジプログラム

                                                                        強いパスワードを作成するアプリを作りましたが、実際現代のパソコンでパスワードを突破するのにどの程度の時間がかかるか検証してみました。 手頃で高速でマルチコアに強そうという理由でGo言語を使ってみた結果、1秒間に18万パスワードをトライできる性能となりました。数字7桁のパスワードなら1分、8桁でも遅くとも10分で突破できます。 パスワードトライ中、全CPUフルに使い切ってます! goルーチンを使って、1,2,3,4,5・・・と増やしてみたところ、Core i5の2コア4ハイパースレッディングでは、3が最も速いという結果となりました。ただ、最速でも1スレッドの2倍弱にしかなりませんでした。 そもそも、今回のプログラムは無駄が多いので、パスワードトライに特化してメモリの動的確保を0にすれば、更に10倍くらい速くもできるはず。 GPUをうまく使えば、飛躍的な高速化ができるかも? アルファベット小文

                                                                          パスワード付きZIPファイルの有効性検証! Go言語を使ったマルチコア対応パスワードチャレンジプログラム
                                                                        • ChatGPT API を活用したAIまとめ機能リリースの裏側 - ACES エンジニアブログ

                                                                          こんにちは、株式会社 ACES でサーバーサイドエンジニアをしている福澤 (@fuku_tech) です。 ACES は、オンライン会議を録画し、独自 AI による話者ごとの自動文字起こしや重要なシーンの可視化を行うことで、オンライン商談における成約率の向上と現場の工数削減に寄与する商談解析 AI ツール「ACES Meet」を提供しています。 今回は、先日プレスリリースが公開された ACES Meet の新機能である ChatGPT API を活用した AI まとめ機能の裏側についてご紹介します。 prtimes.jp はじめに AI まとめ機能を実現するための課題 2-1. 入力データの精度改善 2-2. 長時間の会議・商談への対応 案1: 社内アルゴリズムと ChatGPT API を併用する 案2: ChatGPT API をフル活用する 2-3. 商談と商談以外の会議の性質の違い

                                                                            ChatGPT API を活用したAIまとめ機能リリースの裏側 - ACES エンジニアブログ
                                                                          • jsエンジンはソースコードをどう実行しているのか〜バイトコード、JITコンパイル〜

                                                                            js実行環境であるnodeはV8を使っている jsエンジンはソースコードをどうやって実行しているのか ここからが本題です。jsエンジンの裏側をのぞいてみましょう👀 全体像 下記が基本的な流れ V8って書いてあるけど、下記の基本的な流れはエンジンによらずほとんど同じはず もちろんそれぞれのフェーズで実装の違いは在る。“Optimize & Compile it”の具体的な実装などはエンジンにより異なる Benedikt Meurer; “An Introduction to Speculative Optimization in V8”; jsの面白いところは、ASTから直接コンパイルして実行されるわけでもなく、単純なインタプリタのようにコンパイルを挟まずに実行しているわけでもないところ。それに、なんだか見慣れない”Get feedback”というフェーズさえある……!ここがJIT com

                                                                              jsエンジンはソースコードをどう実行しているのか〜バイトコード、JITコンパイル〜
                                                                            • Remix vs Next.js - React Japan

                                                                              私たちに最も寄せられる質問は次のようなものです: RemixはNext.jsと一体どう違うの? この記事では私たちはこの質問を答えるべきのようです!私たちはこの議題をストレートに、そして何の感情的な議論なしに言及していきたいと思います。もしあなたがRemixのファンになってくれていて、この記事を見て、今すぐにでもNextよりもRemixの方がすごいぜ 😎、と自慢するようなツイートをしたい気持ちが出てきたとしても、もしできれば、自慢するというような形ではツイートをなるべくしないようにお願いしたいです。私たちは Vercel で働いている方々と Vercel が立ち上がる前から友達です。そして、彼らのやっていることはとても素晴らしく、私たちは彼らを尊敬しています。 ただ、勘違いをしてほしくないのは、私たちはRemixはNext.jsよりも優れている特徴があると思っています。(そうでなければ、

                                                                                Remix vs Next.js - React Japan
                                                                              • 週報 2022/04/17 プログラミングの目標がない人のためのビルドツール実装 - しゅみは人間の分析です

                                                                                近況 あまりに天気が良くて鴨川に行ってみた。 自転車だと意外と近くて15分くらい。道は御池通を選んだ。広いので走りやすい。京都は観光客・自動車がそこらじゅうにいるのでルート選択が大事なのだ。 『うつ病九段』に、「メンタルをやった人は自然に触れることで回復するのだ」と書かれていた。鴨川はまさにそういう場所だと思う。 人はまばらで川は鳥だらけ。人間より鴨が多いことすらあるだろう。 ただぼーっと眺めるだけで癒される場所なので、次は原稿を終えた(はずの)妻氏を連れてくる予定だ。 冷えがつらい季節が終わりつつある。これからは疲れと胃腸の調子が課題である。万能の対策は散歩と睡眠だが、特に胃腸が弱っていたら足三里にお灸をせよ、と鍼の先生に言われた。千利休も使っていたツボである。 鍼の先生は爪楊枝とタオルさえあれば仕事ができるらしい。だから大地震が起きても営業するから、予約どおり来てくれ、と言われた。すご

                                                                                  週報 2022/04/17 プログラミングの目標がない人のためのビルドツール実装 - しゅみは人間の分析です
                                                                                • 2021年に作ったモノや技術をふりかえる - laiso

                                                                                  前回までのあらすじ:2020年に作ったソフトウェアや開発技術をふりかえる - laiso Write Code Every Day プログラマーの人にありがちな趣味だと思うんだけどWrite Code Every Day (John Resig - Write Code Every Day)を2008年ぐらいからやっていて、昼に仕事でコード書いて夜になったら自分の楽しみのために何か作るか〜というのを繰替えして生活してる。 John Resig の記事との違いは今読みながら比較していたんだけどGitHubに上げるっていう部分はやらなくなってしまった。クレデンシャルとかハードコードしてるやつとか半分他人のコードコピペしたやつとかの清書がめんどくさいというのがあるし、クローラーなどは自分だけが使うぶんにはいいけど公開した方が迷惑になる——みたいなジャンルのコードが結構あって段々省くようになってし

                                                                                    2021年に作ったモノや技術をふりかえる - laiso