サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
techblog.raccoon.ne.jp
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashパフォーマンスMySQLInnoDBDB設計インデックス こんにちは、羽山です。 今回は MySQL のプライマリキーに UUID を採用する場合に起きるパフォーマンスの問題を仕組みから解説します。 MySQL(InnoDB) & UUID のパフォーマンスについては各所でさんざん議論・検証されていますが、論理的に解説した記事が少なかったり一部には誤解を招くようなものもあるため、しっかりと理由から理解するための情報として役立つことができればと思っています。 UUID と比較される古き良き昇順/降順のプライマリキーはというと、 MySQL の InnoDB において良いパフォーマンスを出すために縁の下の力持ちのような働きをしてくれているケースが実は少な
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 パフォーマンス勉強会OracleデータベースMySQLInnoDB こんにちは、羽山です。今回はOracleデータベースのチューニングで少し踏み込んだ内容です。途中で比較対象としてMySQLも登場します。 日頃からSQLチューニングの機会があってそれなりに得意としているのに、それでもなぜかパフォーマンスがでないSQLに悩んだ経験はありませんか? 謎の遅い現象は特に大規模データベースになってくると発生しがちなのですが、速い場合も遅い場合も必ず理由があります。そこで本記事ではデータベースのチューニングにおいて意外と見落とされがちなローレベルな部分に着目して、さらに一歩上のパフォーマンスチューニングに必要な知識を解説します。 この記事を書くきっかけとなったのは私た
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 マネジメント要求定義教訓ごんおま現象依存関係ツリー思考法カオスエンジニアリングフェイルファスト技術的負債 こんにちは、羽山です。 昔話には生きる上での数多くの教訓が込められています。今回は ごんぎつね からシステム設計・開発について考えてみましょう。 ごんぎつねの話はみなさんもご存じの通り、いたずらを悔いたごんぎつねが人知れず兵十という青年に贈り物を届けるも最後まで気づかれないまま火縄銃で撃たれてしまい、最後に「ごん、お前だったのか」となる話です。 さて、 達人プログラマー という書籍には 契約による設計(Design by Contract) という考え方が解説されています。 メソッドを契約として、 要求された以上のことも以下のことも行わない という考え方
HTMLフロントエンドcssdomcssomパフォーマンスJavaScript こんにちは、羽山です。 今回はウェブシステムにおけるフロントエンドのパフォーマンスの話です。 皆様はウェブのパフォーマンスを気にしていますか? おそらく大抵の方はSQLのチューニングやロジックの改良などをした経験があるのではないでしょうか? しかしプログラムをチューニングしても、期待ほどはページ表示速度が改善しなかったことはありませんか? 昨今のウェブサイトは大量のCSS/Javascriptファイルで構成されているページが大半です。例えばHTMLを100~300msほどで生成してブラウザに転送できたとしても、ページ表示が完全に完了するのに4~5秒かかるということも珍しくありません。 「なんか遅いけど沢山いろいろ読み込んでるから仕方ないな・・・」と諦めないでください。ブラウザがどのようにHTMLを解釈して、CS
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashインフラLinuxプロセス置換ファイルディスクリプタシェルスクリプト こんにちは、羽山です。 今回は意外と知らないかもしれないbashの「プロセス置換」という機能を紹介します。 UNIXでは「1つのプログラムは1つの機能にとどめ、フィルタとして動作できるようにせよ」という設計思想があります。 その言葉の通り、大抵のコマンドはパイプでつないでフィルタのように動作可能ですが、必ずしも理想的に設計されていない、もしくは仕様上できないコマンドもあります。 例えば、よく使う diff コマンドがこれにあたります。 指定するファイル名を - とすれば片方は標準入力から読み込めますが、もう片方はどうしても引数で指定しなければいけません。 コマンドの実行結果を直接比
こんにちは。早く業務に慣れたい開発チーム入社1年目の髙垣です。 急ですが皆さん。ふと、音をフーリエ変換したい時ってありませんか? ありますよね。 でも、「フーリエ変換って学校で計算式で習ったけど、結局は何をしているんだ?」となることありませんか? そこで今回は計算式なんてほっといて、Pythonを使ってフーリエ変換が何をやっているのか体験してみましょう! 環境構築 下記リポジトリをクローンしてください https://github.com/takaT6/fft-tutorial クローンができたら下記のライブラリをインストールしてください↓ pip install numpy matplotlib japanize_matplotlib japanize_matplotlib はmatplotlibに日本語を書き込めるようにするライブラリです。 日本語化をするにはフォントを入れたり、設定フ
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 Rubyfluentdtd-agentlog はじめまして。開発チームの yuzuki です。 7/1に弊社の 決済サービスPaid(ペイド) のサーバー群へ ログ集約の改善を目的として導入した fluentd(td-agent) の導入手順などをまとめてみました。 ログ集約を改善する動機 弊社ではこれまで(今も大部分は) cron + rsync を使い、週次バッチでWebサーバー上のログファイルをファイルサーバーへ転送することで一応の集約をさせてきました。 (集約というよりはバックアップといった意味合いの方が強いかもしれません) サーバー台数が少なかった頃はこの仕組みでも特に大きな問題はなかったと思いますが、 サービスの成長にあわせて、サーバー台数が増え
こんにちは羽山です。 現代の Webシステム界隈は昔よりもはるかに洗練され、初心者からでも簡単に開発方法を学び作れる時代になっています。その反面で例えば Python なら WSGI や gunicorn、Waitress、uWSGI などが何のために存在しているのかが分かりにくいと思ったことはありませんか?Ruby の Rack、unicorn、puma だったり FastCGI など、いずれも Webシステムの構成要素として重要な一方で役割を理解しにくいのは事実です。 そこで今回は Webシステムが現代の形にたどり着くまでの先人達の葛藤の歴史を解説します。歴史を知ればこれらの仕様やプロダクトが何の役になっているかが分かるはずです。 前提 動的な Webサイト(=Webシステム)を作りたいニーズはインターネット黎明期からありますが、ブラウザからのアクセスを適切に処理するには HTTPサー
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 開発チームの下田です。 こないだ第3世代のecho dotが発売されました。が、第3世代のecho dotは独自仕様の電源で、ちょっと不便だと思いました。 そこでなくならないうちにUSB給電の5V 2Aで動作する第二世代のecho dotを購入しました。 足りない機能は自分で開発できて楽しいです。Alexaに自然に語りかけるようにIFTTTを操作できるスキルを作ってみたので、手順を説明します。 IFTTTとは IF This Then Thatの頭文字から名前をつけられたサービスで、直訳すると「これならば何かする」という意味です。 例えば、「3時になった」ならば「おやつの催促をメール」するといったことができるサービスです。 時間だけでなく、特定のURLにリク
目標設定KPIKGIMBOOKRアジャイルSMARTの法則 こんにちは、たむらです。今回は、目標設定に関するお話です。 皆さんの会社では「目標設定」がありますか?また、それにどの様に取り組んでいますか?評価に係わるから頑張ろうと思う人もいれば、毎年目標設定を憂鬱に感じる人もいるのではないでしょうか。 今回は、会社の目標そのものを分解しつつ、会社の目標や自身の目標にどの様に取り組んでいけば良いのかを考えてみたいと思います。 会社でよくある目標設定 デファクトスタンダードなMBO さて、企業の目標設定というと、MBO(Management by Objectives)がまず真っ先に出てくるかと思います。P・ドラッガーが提唱した手法で、「マネジメント層からの指示ではなく、自己管理によるマネジメント」により業務の効率化・利益の向上といった会社のニーズ達成と、従業員の能力・モチベーションの向上の両取
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 アジャイル開発スクラムアジャイルコーチスクラムマスター開発体制 こんにちは、たむらです。 突然ですが、皆さんの組織ではアジャイル開発を行っていますか? 恐らく程度の差はあれど、かなり多くの会社でアジャイル開発を少なからず取り入れた開発を行っているのではないかと思います。 でも・・・・、それ本当にアジャイル開発になっていますか? こんな?感想が出てくる「なんちゃってアジャイル」になってしまっていませんか? 「アジャイル開発は 納期を定めないから or 最初に要件を全て決めなくて済むから 楽だと思っている」 「アジャイル開発ではPM(プロジェクトマネージャ)をPO(プロダクトオーナー)という別称で呼ぶものだと思ってる」 「スクラムの5つのイベントをやったりやらな
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 JavaScriptNode.jsVisualStudioCode拡張機能 こんにちは。開発チームの阿部です。 プログラムを開発する際に必要となるテキストエディターはSublime Text、Atom、VS Code など、 高性能・高機能を持つものが増えてきました。 今回はその内の1つVS Codeの拡張機能(extension)を使用してRssを取得する機能を作成してみたいと思います。 ※記事中盤あたりにRssの取得の具体的な方法を載せています。 またVS Codeの公式ページ・概要をリンクして置きました。 良かったら一度見てみてください。 Visual Studio Code 日本語 Visual Studio Code doc 英語 Visual S
3DインフォグラフィックデザインHowtoIllustrator こんにちは。デザイン戦略部のコバヤシです。 Webデザイナーですが、たまにイラストを描いたりします。 少し前にラクーンが運営する越境ECサイト「SD export」3周年を記念するインフォグラフィックを作成しました。 このイラストは「Isometric(アイソメトリック)」と言われる技法で、Illustratorを使って作成しています。 アイソメトリックとは交差した三軸が同じ角度で交わる立体的な俯瞰図のことです。 この中で使われている立体的なアイテムのほどんどは平面のイラストから生成されました。 今回はその作成方法をご紹介します。 作り方まとめ 1.平面のイラストに3D効果を適用 2.アウトライン化して面ごとに着色 2ステップだけです。パスを使って色々描写する必要はありません。 以下、詳細を説明します。 まずは立体化の基礎と
こんにちは。たむら@認定スクラムマスター です。 今回は、先日社内で開発に関わる事業部側メンバー(ノンエンジニア)に向けてスクラムガイドの紹介を行ったので、そのことについて書こうと思います。 イントロ さて、弊社では前TechBlogにも書いた通りアジャイル開発(スクラム)に取り組んでいます。 世間を見回しても最早全く珍しいものではなくなりましたよね! がっ、しかし! そのバイブルとも言える『スクラムガイド』をいったいどれ位の人が読んでおり、且つ内容を理解しているのだろうか?とふと気になりスクラムで開発している社内チームメンバーに確認したところ、エンジニアでは半分くらい、ノンエンジニアでは9割近くは読んだことがないという結果となってしまいました。こ、これはヒドイ・・・。 とはいえ、スクラムはやっていても読んだことがあるって人は実は他社でも結構少ないのではないか?と思えます。また、読んでいた
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 パフォーマンスOracleデータベースDB設計インデックス こんにちは羽山です。 今回はOracleデータベースの標準機能だけでテーブルのパーティション化とそれに伴うパフォーマンス改善を実現する方法を紹介します。 本来Oracleでテーブルのパーティション化をするためには対応するエディションと追加オプションが必要なので活用できる環境にいる方は多くはなさそうですが、パーティション化自体のメリットは大規模DBだけでなく、中・小規模のDBでもパフォーマンスチューニングの手段として有用です。 今回のテクニックはそのパーティションテーブルのおいしい部分を再現できるので、今までパーティションテーブルに関心を持ったことがない方にこそ、是非参考にしていただけたらと思っていま
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。
こんにちは、羽山です。本日の記事はCodeZineに寄稿させていただいたものを許可を得て掲載します。 CodeZineでも同じ内容を掲載しておりますので、そちらでも閲覧できます。 http://codezine.jp/article/detail/8333 Androidアプリのチューニングについての情報を詰め込んでいます、是非ご一読いただけたらと思います。ソースコードはGitHub(Android/Java)で公開してます。 本稿で取り扱う内容 Dalvik/ARTのヒープ領域管理とGC Dalvik/ARTが遅い原因 Dalvik/ARTでの2種類のチューニング方法 NDK(C/C++によるNative実装)での高速化 ARM 32bit(v7a)におけるCPU命令を考えたパフォーマンス設計 (以下、本文) アプリを開発していると、パフォーマンスが問題になることがよくあります。ボトルネ
例えば ga4_event_param1.name は以下のように作ります。 トリガー作成 トリガーのタイプをカスタムイベント、イベント名を ga4_event としてトリガーを作成します。 GA4イベントタグの作成 最後にイベントの記録に使うGA4イベントタグを作成します。 タグ名を GA4汎用イベント とする 設定タグにすでにある「GA4設定タグ」を指定 イベント名は {{ga4_event_name}} 変数を設定 イベントパラメータの1行目はパラメータ名に {{ga4_event_param1.name}} 、値に {{ga4_event_param1.value}} を設定 イベントパラメータの2行目はパラメータ名に {{ga4_event_param2.name}} 、値に {{ga4_event_param2.value}} を設定 イベントパラメータの3行目はパラメータ名に
したがってSameSite=Lax化の影響を調べるには、「アンカータグとGETのfrom以外で、異なるRegistrable Domainから生成されたリクエストでCookieを使用していないか」ということを確認する必要があります。 しかしこれを漏れなく確認していくことは、なかなか骨の折れる作業ではないでしょうか。 アクセスログのRefererヘッダを見れば、異なるRegistrable Domainから送られてきたリクエストかどうか、ある程度わかりそうな気もしますが、Refererヘッダは送られないケースが多々あったり、そもそもリクエスト生成元のタグ名を判別できなかったりと完璧ではありません。 Fetch Metadataリクエストヘッダとは Fetch Metadataリクエストヘッダとは、一言で言うと「リクエストが生成されたコンテキストをサーバ側に通知するためのヘッダ」です。 ざっく
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 パフォーマンスUnboundDNS こんにちは!はんだです。 今日はDNSサーバの可用性向上についてのエントリです。 DNSサーバの障害時の影響を防ぐ方法として、 単純にDNSサーバを複数設置して/etc/resolv.confに記入するという方法がありますが、 その方法には、タイムアウトの待ち時間という落とし穴があります。 /etc/resolv.conf nameserver 192.168.0.11 //DNS1のIPアドレス nameserver 192.168.0.12 //DNS2のIPアドレス のように設定したとして、 1行目のDNS1が落ちた状態の場合、2行目のDNS2に移行するまでに、設定次第ですが問い合わせの度に毎回1~数秒のタイムア
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 インフラLinux勉強会SQLiteNFS こんにちは、羽山です。 今回は社内で実施した勉強会をほぼそのままブログ記事にしています。 ITエンジニアたるものドキュメントを残したり勉強会を実施したり分かりやすい設計にリファクタリングしたりなど、日々 知見の伝達 を意識していると思います。主要な知見はたいていそれらの方法で満たせるのですが、しかし残念ながら中には画一的な方法では伝えにくいものもあったりします。 ところで伝統芸能や工芸の世界では技術の継承において 背中を見て学ぶ という方法が用いられることがあるようです。 これと似た手法はITエンジニアの世界にもあって、先輩エンジニアとペアプログラミングをすることで文書では伝わりにくい技術や考え方・テクニックを学ぶ
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 勉強会アルゴリズム こんにちは。ほそかわです。 社内勉強会用に、埋めていくだけでzipファイルの解凍ができるプリントを作りました。 普段、zipファイルの解凍はコンピュータにやってもらっていますが、 この記事を読みながらご自身の手を使って紙とペンでやってみましょう。 アルゴリズムとデータ構造を生で感じるチャンスです。 準備 これから使うプリントをダウンロードして印刷しましょう。 ZIPローカルファイルヘッダ (Download) ZIPセントラルディレクトリファイルヘッダ (Download) ZIPセントラルディレクトリ終端レコード (Download) ZIPファイルデータ (Download) 16進数表 (Download) 「ZIPローカルファイル
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 WebGoogleGooglebotE-A-TYMYLSearch Consolerobots.txtクロールバジェットsitemap.xmlJavaScriptSEO こんにちは、羽山です。 ふと過去に執筆した記事を振り返ったのですが、フロントエンドのパフォーマンスの話・bashのプロセス置換・Androidアプリのパフォーマンス・DoS攻撃対策などなど、記事の方向性が毎回バラバラすぎて自分は何の専門なんだろう?と疑問に思えてきました。 まあそれは気にしないとして、今回もご多分に漏れず今までの記事とは全く異なる領域の話です。 話のベースはSEOについてですが、 心得 とか 考え方 のような話題が中心です。前半は歴史の振り返りから将来の動きなどを考えて、後半
Safari, Chrome はデスクトップ版とスマホ版で確認しましたが共に動作の違いはありませんでした。 Firefox のバージョンが2つあるのは本稿執筆中にバージョンアップがあったので試してみたところ、タイムリーに @import の Preload Scanner に機能改善が見られたため参考までに両方載せました。 項目数で最も多くの種類のリソースを Preload Scanner が読み込めたのは Safari で、次いで IE11, Chrome, Firefox71, Opera が並ぶ結果となりました。IE11は意外な健闘を見せていますが、Preload Scanner にあたる機能を最初に導入したブラウザがIE8である事を考えると妥当な結果とも言えます。 どのブラウザも共通して対応しているのは <script> <script async> <link rel="styl
WebWebAuthnFIDOFIDO2認証YubiKeyCTAP紹介 こんにちは!内定者アルバイトとして技術戦略部で働いている平尾です! オンライン上のサービスを利用する時、皆さんはどの様に自分のアカウントにログインしていますか? 恐らく多くの場合、IDとパスワードでログインしていることが多いのではないかと思います。 パスワードの流出による個人情報の漏洩などの被害は後を絶ちません。 今回紹介するWebAuthn(Web Authentication API) は、Web上でのより安全な認証可能にしてくれます。 この記事では、WebAuthnの概要を解説していきます。 WebAuthnとは WebAuthnを知るためにはまずFIDO(Fast IDentity Online) について知っておく必要があります。 FIDOというのは、パスワードの認証よりも安全で高速な認証を可能にする仕様のこ
AWS 開発の松尾です。 とある事情よりサーバサイドで任意のWebページのキャプチャ画像を保存したいという要件が湧いてきたので、比較的楽に実現できる方法について考えてみました。 CutyCapt CutyCaptはAppleのSafariやGoogleのChromブラウザーなどのレンダリングエンジンのベースとなっているWebkitというライブラリを利用してWebページを画像やその他のフォーマットに変換してくれる非常に便利なツールです。 わたしが開発環境として利用しているUbuntu 14.04であれば下記のように簡単に導入できます。 $ sudo apt-get install cutycapt 使い方も簡単。 $ cutycapt --url=http://www.superdelivery.com/ --out=top.png オプションの「--url」でキャプチャしたいページのURL
入社半年の新人 ですが、このような場をいただきましたので、入社してすぐに取り組んだInternetExplorer(以下、IE) 8のjQueryのパフォーマンス対策について書いてみたいと思います。
株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 開発Ruby RubyのPDFライブラリ “Prawn” のご紹介 RubyPrawn こんにちは。開発チームのハッタです。 前職が業務系SIerだったこともあり、主にバックオフィス系のシステムを担当しています。 好きな言語はVB.NETとPL/SQLです。 業務系システムといえば必ず出てくるのが帳票類です。 .NETならGUIでサクサク作れるのですが、Webサービスメインの会社では雰囲気的にそうもいかないことが多いです。 (自分ひとりで保守を続けることになったり、、) そこで、郷に入っては郷に従えの精神でWeb系言語による帳票開発をやってみました。 今回は、言語はRuby、ライブラリはPrawnを使ってPDFを作成します。 Prawnはググった限りでは数年
次のページ
このページを最初にブックマークしてみませんか?
『Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く