並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 2890件

新着順 人気順

hogeの検索結果81 - 120 件 / 2890件

  • スマホと連携できる体温計がインターネット老人には懐かしすぎる技術を使ってて感動した

    ほげ氏 @hoge44RR このスマホと連携できる2000円弱の体温計にわい感動🐥 てっきりBTでデータ送ってるのかと思いきや なんと、体温計から変調した音を出してスマホのマイクで受信する音響カプラ方式つかってやがる!すごいぞオムロン!!電波なんていらんかったんや!!! pic.twitter.com/qPe5Vk52Zd 2023-01-12 23:01:16

      スマホと連携できる体温計がインターネット老人には懐かしすぎる技術を使ってて感動した
    • Kaggleで戦いたい人のためのpandas実戦入門 - ML_BearのKaggleな日常

      はじめに 自分は元々pandasが苦手でKaggleコンペ参加時は基本的にBigQuery上のSQLで特徴量を作り、最低限のpandas操作でデータ処理をしていました。 しかし、あるコードコンペティションに参加することになり、pythonで軽快にデータ処理をこなす必要が出てきたので勉強しました。 そこで、当時の勉強メモをもとに「これだけ知っていればKaggleでそこそこ戦えるかな」と思っているpandasの主要機能をまとめました。 注記 実戦入門 のつもりが ほぼ辞書 になってしまいました orz pandasとはなんぞや的な内容は書いていません (import pandasやDataFrameとは何かなど) pandas1.0系でも動くように書いたつもりですが間違ってたらすみません 目次 はじめに 注記 目次 Options DaraFrame 読み書き CSVファイル 読み込み 書き出

        Kaggleで戦いたい人のためのpandas実戦入門 - ML_BearのKaggleな日常
      • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

        はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

          【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
        • フロントエンドの"ちょうどいい"自動テストのはじめかた - Atrae Tech Blog

          Wevoxのフロントエンドエンジニアをしているタガミです。最近はmonorepo構成に移行中のWevoxフロントエンドのテストやデザインシステムなどをいい感じにしようとしています。 この記事では、WevoxというSaaSプロダクトのフロントエンドにおける自動テストの話をします。Wevoxはリリースから5年以上が経過し、チームのメンバーも増え、またソースコードも巨大化しています。そんな中でフロントエンドも"式年遷宮"をして、改善を繰り返しています。中にはソースコードをガラッと変えるようなリファクタもあり、担当するエンジニアにとってはデグレの心配が付き纏います。そんな日々変化するフロントエンドを支えるのが自動テストです。 Wevoxの開発チームは決して大人数ではありません。そんなチームでも品質の改善のために一歩ずつ改善しつつある経験をもとに、フロントエンドの自動テストポイントをいくつかお伝えし

            フロントエンドの"ちょうどいい"自動テストのはじめかた - Atrae Tech Blog
          • Ubuntu 22.04 でメールサーバーを作ったのでメモ - tmtms のメモ

            令和にもなって自分でメールサーバーを作ってみたのでメモ。 OS は Ubuntu 22.04。 パッケージ更新後に自動的に再起動 メールとは関係ないけど apt で再起動が必要な更新があった場合は自動的に再起動するようにした。 /etc/apt/apt.conf.d/50unattended-upgrades: Unattended-Upgrade::Automatic-Reboot "true"; Lets Encrypt TLS 証明書を作るために certbot をインストール。自分はさくらのクラウドのDNSを使ってるのでそれ用のモジュールも追加。 # apt install certbot python3-certbot-dns-sakuracloud https://certbot-dns-sakuracloud.readthedocs.io/en/stable/ に従って /r

              Ubuntu 22.04 でメールサーバーを作ったのでメモ - tmtms のメモ
            • Linux が動作する RISC-V CPU を自作した (2019 年度 CPU 実験 余興)

              私が所属する東京大学理学部情報科学科では三年の冬学期に CPU 実験という実験授業が開講されています。本稿ではその簡単な説明をした後、その実験の一環として約一ヶ月ほど取り組んだ「Linux が動作する RISC-V CPU を自作するプロジェクト」で何をしたか、またどのような成果を得たかについて紹介したいと思います。 本稿を読むその前に 弊学科では「XX 年度に教養学部から理学部情報科学科に進学してきた学生」を「XXer」と呼ぶ文化があります。本稿ではこの表現を断りなく用います1。また私は普段 Web が好きでもっぱら Web セキュリティに関することを追いかけているだけのしがない学部 3 年生なので (私についての情報は ここ に大体まとまっています)、こういう低いレイヤのことは未だによく分かっていません。あくまで素人の記事だとご理解いただけると嬉しいです。誤りの指摘や質問があれば、ここ

                Linux が動作する RISC-V CPU を自作した (2019 年度 CPU 実験 余興)
              • 結局Githubに学習履歴を統一した方が諸々良かった

                改めて説明する必要もないのですが、本や動画サービスによるインプットに関してはマークダウン形式でまとながら行うため、そこまでアウトプットが苦ではありません。 逆に外部サービスを使った資格学習のための問題演習などは少し手間です。 読書や動画サービスのようにマークダウンにまとめながらアウトプットしてもよいのですが、資格系の問題演習は移動時間や隙間時間に利用することも多いので、都度Githubにコミットするのは難しいです。 なんとか作業を自動化したいので以下のような方法を利用するようにしてみました。 学習履歴のデータを取得する 例えばStudyplusではAPIが提供されています。 利用しているサービスによっては、このようにAPIを提供してくれていたりするので、これを利用してデータを取得します。 またサービスの利用規約を確認して、常識的な範囲で自身の学習履歴のデータをスクリプトを組んで取得するのも

                  結局Githubに学習履歴を統一した方が諸々良かった
                • API Gateway 開発者に読んでほしい、意味がわかると便利な実行ログ - Qiita

                  API Gateway (REST API) では、開発やトラシューに役立つ実行ログ (Execution Logs) を出力することができます。 AWS サポートに問い合わせる際にも、この実行ログがあるとスムーズです。 実行ログは、ステージから設定できます。 設定後、API Gateway にリクエストを投げると、CloudWatch Logs に出力されます。 ロググループ名は、API-Gateway-Execution-Logs_<API ID>/<ステージ名> です。 こちらの実行ログの内容を解説していきます。 リクエスト/レスポンス API Gateway に Postman から以下のようにリクエストを投げます。 パスパラメータ groupId=111、クエリパラメータ userId=222、本文に name=hoge を指定しています。 API Gateway はこのリクエス

                    API Gateway 開発者に読んでほしい、意味がわかると便利な実行ログ - Qiita
                  • const Hoge: React.FC<Props>=()=>って書いてたら思考停止系と言われたので調べた

                    VTeacher所属のSatokoです。 QAエンジニアとフロントエンドエンジニアを兼任しています。 2006年、まだホリエモン率いるライブドア(現LINE)のモバイルチーム(現LINE出澤社長がリーダー)に配属も、同年1月にライブドアショックがあって出社0日で失職。その後、サイバーエージェントやGREEなどを転々としてきたITバブルの残党(ナイスミドル系エンジニア)です😅 1.久しぶりにReactのプロジェクトに参加 リズミカルにキーボードを タタンッ! として、

                      const Hoge: React.FC<Props>=()=>って書いてたら思考停止系と言われたので調べた
                    • カロリーメイトの特設サイトがプログラマーに刺さりまくり UNIX風コマンドでコンテンツが開く

                      大塚製薬が、プログラマーに向けた「カロリーメイト リキッド」のプロモーション「CalorieMate to Programmer」を開始しました。特設サイトに、UNIX風のコマンド入力で操作する「CUIモード」まで用意する凝りようです。 二重の意味で「うちこむ人に」と、ドリンクタイプのカロリーメイトをアピール CUIモードで同じメッセージを表示。「ls」でディレクトリやファイルを確認して「cd」で移動し、「cat」でテキストファイルを指定するとようやく開きます。面倒だけど楽しいよ CUIモードに入ると、サイトの画面がコマンドラインに切り替わり、「ls」(ディレクトリの内容を確認)や「cd」(ディレクトリ移動)などのコマンドを受け付けるように。 「cat [テキストファイル名]」や「imgcat [画像ファイル名]」で、カロリーメイトの成分やメッセージといったコンテンツを閲覧できます。正直に

                        カロリーメイトの特設サイトがプログラマーに刺さりまくり UNIX風コマンドでコンテンツが開く
                      • 妄想的DHH理解 - Qiita

                        Caution この記事はDHHファンの妄想によるシナリオが多分に含まれます。 というかほとんどです。 成り立ちが間違ってることも当然あるように思うので話半分で読んでください。 これは一体 最近のRailsフロントエンドやDHHの活動には一連の流れがあるわけですが、一部トレンドに沿ってない部分がある故にそれが汲めないというところがあるのではと思います。 それらの流れを記憶が定かなうちにつないで記録しておこうという記事です。 前提知識 Railsの生みの親、Rubyist Basecamp(社) DHHがCTOやってる会社 Basecamp(サービス) Basecamp(社)が開発してるプロジェクト管理ツール Trixを開発してたある日 Basecamp(サービス)に組み込まれてるリッチテキストエディタのtrixをcustomElements使って開発してたある日、DHHはあることに気づく。

                          妄想的DHH理解 - Qiita
                        • JavaScriptのES2023・ES2022の新機能まとめ - ICS MEDIA

                          JavaScriptの仕様であるECMAScriptはEcma Internationalによって定められています。ECMAScript 2015(ES6)の登場以降は、ECMAScript 2016、ECMAScript 2017・・・と、年次で仕様が更新されています。ECMAScript 2022(ES2022)は2022年6月22日のEcma InternationalのGA 123rd meetingにて、ECMAScript 2023(ES2023)は2023年6月27日のGA 125th meetingで承認されました。 ES2022とES2023はすでに多くのブラウザやNode.js環境で利用可能です。本記事では新仕様と使いどころを紹介します。 ES2023 - 配列の非破壊操作 ES2023では配列を非破壊で操作できるメソッドが追加されています。非破壊とは、元の配列を変更せ

                            JavaScriptのES2023・ES2022の新機能まとめ - ICS MEDIA
                          • 綺麗なコミットログを作りたいときのgitテクニック - Qiita

                            これは何 僕は開発作業をしているとき、PRをあげるまでの開発途中はwipコミットに変更を記録していき、最後にコミットを仕上げていくような作業をよくします。 初めからコミットを綺麗に書きながら開発ができれば良いのですが、 にあるようなコミットログを仕上げていこうと思うとどうしても最後にコミットログを整理したくなります。 この記事はこのようにgitを使うと綺麗なコミットログを作れるよ、というTipsです。 具体的にこういうコミットを作ると良いよ、みたいな話はこの記事ではしません。 僕はこのような工程でPRを出す前にコミットログを作っています。 git rebase -iで作業中のコミットを全て一つのコミットにsquashする git reset HEAD~で一度コミットを取り消す git add -pで作りたいコミットごとに変更をstageにあげていく コミットを作成する git rebase

                              綺麗なコミットログを作りたいときのgitテクニック - Qiita
                            • WEBサーバをコンテナにした際に静的コンテンツはどこへ保存するのか | DevelopersIO

                              WEBアプリ WEBフレームワークはEchoを利用します。views/index.htmlと、assets/images/orora24O.jpgを読み込んでEC2ローカルに保存した画像を表示するだけページを作成しました。このアプリケーションをEC2インスタンスで実行しWEBサーバとして起動します。 手元でビルドしてEC2へ必要なファイルをコピーする計画です。ディレクトリ構成は以下です。 $ tree . ├── assets │   └── images │   └── orora240.jpg ├── go.mod ├── go.sum ├── main.go └── views └── index.html main.go package main import ( "io" "net/http" "text/template" "github.com/labstack/echo/v

                                WEBサーバをコンテナにした際に静的コンテンツはどこへ保存するのか | DevelopersIO
                              • 【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その1:コンテナってなに? 〜 | SIOS Tech. Lab

                                ◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください 【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました 生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!! https://tech-lab.connpass.com/event/315703/ こんにちは、サイオステクノロジー技術部 武井(Twitter:@noriyukitakei)です。タイトルが少々長いのですが、今回はこれからコンテナ、Docker、Kubernetesを始める人のための、入り口的なブ

                                  【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その1:コンテナってなに? 〜 | SIOS Tech. Lab
                                • LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO

                                  こちらの記事はRDS ProxyがGAされる前に執筆した記事です。現在はLambdaからRDSを利用する場合、間にRDS Proxyを挟むという選択肢が増えているので、まずはRDS Proxyを使う/使わないの検討をお願いします。以後で紹介しているトピックの一部はRDS Proxy利用時は考え方が変わってきます。 CX事業本部@大阪の岩田です。私が現在関わっているプロジェクトではLambda × RDSというアーキテクチャを採用して開発を進めています。開発を進める中でLambda × RDS(RDB)という構成についてある程度ノウハウが貯まってきたので、注意したいポイントやオススメの設定をTIPS的に紹介していきます。 環境 以後の説明では以下の環境の一部もしくは組み合わせを利用しています。具体的なコードやSQLの例はプログラミング言語やDBエンジンに依存しますが、根底の考え方はどの言語、

                                    LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO
                                  • JavaScriptのデバッグにはdebugger文を使おう - Qiita

                                    JavaScript初心者のため、デバッグ力がまだまだ拙くどうしたらデバッグ力ってつくのだ…と悩んでいたら 👨‍💻 < スタックトレースするといいよ! 👨‍💻 < スタックトレースするにはdebuggerとかconsole.trace()使うといいよ! と教えていただきdebuggerを使ったらとても便利だったので🙏 スタックトレースとは スタックトレース (stack trace)とは エラーが発生したときに表示される内容で、そのエラーが発生するまでの過程(どんな処理がどの順番で呼び出されたかの流れ)を、ざっくりと表示したものです。 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 スタックトレースを使って問題をどう切り分けるか まずは問題が起きている箇所のスコープを狭くしていきましょう💡 問題の切り分け方として ざっくり入口と出口の関数に適切な値が入って

                                      JavaScriptのデバッグにはdebugger文を使おう - Qiita
                                    • CSS Variablesを使ってWeb LP制作のエンジニア作業時間を0にした話 - Mirrativ Tech Blog

                                      こんにちは。Webフロントエンジニアの駒木です。 Mirrativでは毎週の様に運営主催イベントやゲーム会社様とのコラボ企画イベント等が開催されます。 そのイベント情報をユーザーへお伝えするメディアとして、イベント毎にWebページ いわゆる LP ( Landing Page ) を制作・公開しています。 Mirrativで公開している多種多様なLP ですが毎週の様に新しいイベントが企画・開催されますので、LPをエンジニアが都度制作していてはとても追いつきません。 そこでミラティブではCSS Variablesを活用することで、イベントの魅力が伝わるWeb LPをエンジニアが作業することなく制作・運用できる体制を構築しています。 本記事ではここまでに至った過程も含めお伝えします! 目指すはイベント運用の効率化と専門性の排除 遡ること半年ほど前、イベント企画チームの目標として『より多くのイベ

                                        CSS Variablesを使ってWeb LP制作のエンジニア作業時間を0にした話 - Mirrativ Tech Blog
                                      • 僕が障害復旧対応時に考えていることを言語化してみる - Qiita

                                        これまで数多くのシステム障害を復旧してきました。 障害は無いに越したことは無いですし、起こらないように最善を尽くすのが我々エンジニアの使命です。 しかし、どれだけ最善を尽くしても起こる時には起こります。 今回は、これまで数多くの障害を復旧させてきたエンジニアが、復旧作業時に何を考えているのかを改めて言語化してみたいと思います。 こういう情報ってそれぞれのエンジニアの頭の中にあってあまり共有されないので、意外に参考になるかなと思います。 障害復旧対応の醍醐味 表現が適切かは分かりませんが、僕はシステム障害を復旧させるのが大好きです。目の前に起こっている事象からヒントを集め、地道に原因を切り分けてクリティカルヒットを見つけたときは名探偵になった爽快感があります。 加えて、動いているものを常に動かし続ける日頃の保守運用とは異なり、動いてないマイナスの状況を0まで戻すということで、復旧成功した際に

                                          僕が障害復旧対応時に考えていることを言語化してみる - Qiita
                                        • Jamstackを検討する - ゆーすけべー日記

                                          Jamstackを既存のシステムに導入するかを検討する機会があった。 紆余曲折したものの、未だに暫定的な結論しか出ていない。 とはいえ、わりと頑張った。 今回は Jamstackとはなんぞや? Jamstackの特徴 Jamstackの技術 弱みを解決する策 実際に検討した話 を雑に紹介したい。 個人的なメモなので、間違っているところがあるのを考慮願いたい。 Jamstackとは? JamstackのJamは以下の頭文字をとっている。 JavaScript APIs Markup まず、フロントエンドを持たないAPI群がある。APIはブラウザのJavaScriptから叩かれるかもしれないし、後述するようなSSG =「Static Site Generator」のフレームワークが叩くかも知れない。どちらにせよユーザーに配信されるのはSSGが出力した、Markup。つまりプリレンダリングされた

                                            Jamstackを検討する - ゆーすけべー日記
                                          • Amazon S3の脆弱な利用によるセキュリティリスクと対策 - Flatt Security Blog

                                            はじめに こんにちは、株式会社Flatt Security セキュリティエンジニアの森岡(@scgajge12)です。 本稿では、Amazon S3 の脆弱な使い方によるセキュリティリスクと対策を解説し、実際の設定不備などに関する事例についても紹介します。 Flatt Security は専門家の視点でセキュリティリスクを調査するセキュリティ診断を提供しています。クラウドとアプリケーションの総合的な診断の事例として SmartHR 様の診断事例がございますので、是非インタビュー記事をご覧ください。GCP の事例ですが、もちろん今回取り上げる AWS でも同様の診断が可能です。 はじめに Amazon S3 とは バケット・オブジェクト バケット オブジェクト アクセスポリシー バケットポリシー アクセスコントロールリスト(ACL) IAM ポリシー 署名付き URL Amazon S3 に

                                              Amazon S3の脆弱な利用によるセキュリティリスクと対策 - Flatt Security Blog
                                            • ADR を1年間書いてみた感想 - 一休.com Developers Blog

                                              宿泊開発チームでエンジニアをしている @kosuke1012 です。チームで ADR を書き始めて1年くらい経ったので、その感想を書いてみたいと思います。 この記事は 一休.comのカレンダー | Advent Calendar 2023 - Qiita の13日目の記事です。 ADRとは アーキテクチャ・ディシジョン・レコードの略で、アーキテクチャに関する意思決定を軽量なテキストドキュメントで記録していくものです。 出典はこちらで、 Documenting Architecture Decisions わかりやすい和訳は以下の記事が、 アーキテクチャ決定レコードの概要  |  Cloud アーキテクチャ センター  |  Google Cloud アーキテクチャ・デシジョン・レコードの勧め | 豆蔵デベロッパーサイト アーキテクチャの「なぜ?」を記録する!ADRってなんぞや? #設計 -

                                                ADR を1年間書いてみた感想 - 一休.com Developers Blog
                                              • SPA Componentの推しディレクトリ構成について語る

                                                こんにちは、よしこです。 この記事は 2020年に立ち上げたWebフロントエンド構成の振り返り の「Componentのディレクトリ構成」項の詳細記事です。単体でも読めますが、よければ元記事もあわせてどうぞ! この記事では、今わたしが 株式会社ナレッジワーク というスタートアップで開発・運用しているプロジェクトにおいてうまくいっていると感じているComponentのディレクトリ構成についてご紹介していきます。 ディレクトリ構成 Componentは src/components の中にまとめていて、その下に以下の4種類の分類ディレクトリを切っています。 src/components/page src/components/model src/components/ui src/components/functional 分類ディレクトリを考えるにあたって重視したポイントは以下。 新しくco

                                                  SPA Componentの推しディレクトリ構成について語る
                                                • (C#) async/await を理解する - ネコのために鐘は鳴る

                                                  この記事は Qiita C# Advent Calendar 2021 の5日目の記事です。 はじめに C# で async/await が登場してからずいぶんと時間がたち、モダンな C# においてはほぼ必須となりました。Unity でも UniTask などのライブラリもあり、簡単に非同期処理が書けます。この記事では C# での非同期処理の歴史にも触れつつ async/await の動作原理について書きます。 Unity C# の話を書いた方が需要が高そうなので Unity および UniTask を前提にした説明とコードが多く出てきますが、async/await は C# の言語機能であるため、動作原理自体は .NET でも同じです。非 Unity の文脈では適宜読み替えてください。 また、詳細を完璧に説明するよりもわかりやすさを重視したため、一部正確さを欠いた説明をしています。ご了承

                                                    (C#) async/await を理解する - ネコのために鐘は鳴る
                                                  • Amazon S3 へのファイルアップロードで POST Policy を使うと、かゆいところに手が届くかもしれない - カミナシ エンジニアブログ

                                                    はじめに こんにちは。カミナシでソフトウェアエンジニアをしている佐藤です。 みなさんは、アプリケーションのフロントエンドから、Amazon S3 にファイルをアップロードするときに、どのような方法を用いているでしょうか? 「バックエンドのサーバーにファイルを送信し、バックエンドのサーバー経由で S3 にアップロードしている」「Presigned URL を払い出して、フロントエンドから直接 PUT している」など、いくつかの方法があると思います。 弊社で提供しているサービス「カミナシレポート」でも、用途に応じて上記の方法を使い分けて S3 へのファイルのアップロードを行っています。 特に、Presigned URL は、手軽に利用できる上に、バックエンドのサーバーの負荷やレイテンシーの削減といったメリットも大きく、重宝しています。 一方で、その手軽さの反面、アップロードに際して様々な制約を

                                                      Amazon S3 へのファイルアップロードで POST Policy を使うと、かゆいところに手が届くかもしれない - カミナシ エンジニアブログ
                                                    • Ruby でデバッグする ruby_jard というツールが凄まじくすごい - Secret Garden(Instrumental)

                                                      今日 Ruby Hacking Challenge in Hamada.rb に参加したときに ruby_jard という Ruby のデバッグツールを教えてもらいました。 これがかなり凄まじくすごかったのでちょっとまとめてみます。 ruby_jard とは ruby_jard とは Ruby のコードをデバッグするツールになります。 ruby_jard | Just another ruby debugger. Provide a better experience while debugging Ruby rubyjard.org 立ち位置としては byebug のようなデバッグツールになっており、コード上で jard というメソッドを呼び出すとそのタイミングでプロセスが停止して、コンソール上から Ruby のコードを実行できるような形になっています。 実際にどういう形でデバッグするの

                                                        Ruby でデバッグする ruby_jard というツールが凄まじくすごい - Secret Garden(Instrumental)
                                                      • TypeScript の「型安全」を担保するために知っておきたかったこと - OITA: Oika's Information Technological Activities

                                                        タイムリープTypeScript 〜TypeScript始めたてのあの頃に知っておきたかったこと〜 アドベントカレンダー1日目の記事になります。 よろしくお願いします。 3行で TypeScript で安全に型を扱う勘所は以下2点だと思いました。 最初から最後まで型が壊れていないことを保証する 型が壊れる可能性があるものは壊れている前提で扱う 個人的背景と前提 もともと C# での開発をメインとしていました。 Web開発は、JavaScript歴 ≒ TypeScript歴くらいの型付依存者です。 そのため、型付けのゆるい言語に対する耐性がなく、本内容もそういうポジションからの見解になります。 本記事内のサンプルコードは TypeScript V4.4 で挙動を確認しています。 最近のバージョンで変更のあった点は脚注を入れています。 最初から最後まで型を壊さない C# という静的型付け言語

                                                          TypeScript の「型安全」を担保するために知っておきたかったこと - OITA: Oika's Information Technological Activities
                                                        • IdPとしてSAML認証機能を自前実装した - BASEプロダクトチームブログ

                                                          はじめに みなさんはじめまして。BASEでエンジニアをしております田村 ( taiyou )です。 先日、BASEではショップオーナー向けのコミュニティサイト「BASE Street」にログインするための機能としてSSOログイン機能をリリースしました。 SSOログインを実現するための認証方式はいくつかあるのですが、弊社ではSAML認証方式を用いて実現しました。 そのため、この記事ではSAML認証機構のIdPとしてOSSを使わずにSAML認証機能を実装する方法を紹介します。 前回のテックブログで、このSSOログイン機能のフロント側を開発したPJメンバーの若菜が「サーバーサイドエンジニアがフロントエンドに挑戦して最高の経験になった話」を執筆したのでこちらも見てみてください! SAML認証機能を提供しているOSSには、Keycloakなどがありますが、BASEでは以下の理由により自前実装すること

                                                            IdPとしてSAML認証機能を自前実装した - BASEプロダクトチームブログ
                                                          • Goエラーハンドリング戦略

                                                            Goのエラーハンドリングが採ったスタイル 多値返し 直積(関数の返値とエラーを両方返す) try-finallyをdeferという機構でカバー panicはプロセスを落とすためのもの Goはこの戦略でエラーハンドリングを行うとしましたので、「多値はなぜタプルじゃないんだ?」、「直和(返値orエラー)で十分じゃ?」「panic-recoverでtry-catchできそう?」などいう様な他の処理系の風習を持ち込むことは意味がありません。そしてそれらの提案の多くはすでに検討されリジェクトされてきた経緯があります。 「try組み込み関数」プロポーザルなんかも検討されマージ直前くらいまで進んだこともありますが、「Goのエラーハンドリング」にとって一長一短がありました。その欠点課題は解決できずに最終的にリジェクトされました。 「多値返し」は実にCPUフレンドリーな機構で、C言語の関数呼び出し規約にちょ

                                                              Goエラーハンドリング戦略
                                                            • Python3.7で導入されたdataclass入門 - MyEnigma

                                                              Python実践入門 ── 言語の力を引き出し、開発効率を高める (WEB+DB PRESS plusシリーズ) 目次 目次 はじめに 通常のclassとdataclassの比較 dataclassの良いところ データを格納する箱であることを明確にできる。 クラス定義を短くかける 型情報を書くことでデータ構造が見やすくなる。 Printしたときに、そのままオブジェクトの中身を表示できる。 asdict関数でdictに変換できる。(Dictから簡単にJSONにも変換できる) Dict(JSON)からdataclassを作ることもできる Frozen引数を使うことで、簡単にイミュータブルにもできる。 データが作られたときに、自動後処理機能を追加することができる。 dataclassの残念なところ コレクションの初期化 参考資料 MyEnigma Supporters はじめに C++ユーザやJ

                                                                Python3.7で導入されたdataclass入門 - MyEnigma
                                                              • Intel MacからM1 (Pro・Max) Macへ(出来る限り)滑らかに開発環境を移行する

                                                                Intel MacからM1 Macの移行を想定。実際にはIntel MacからM1 Pro Macへ移行をしたのでその忘備録です。出来る限りというのは手動作業が存在するため。移行セットアップを利用せずにクリーンインストールを行う。 なぜクリーンインストールなのか CPUアーキテクチャがarm64に変わるからです。TimeMachineやThunderboltケーブル経由での移行を行ったとしてもM1に最適化されたアプリケーションやミドルウェアではなく、Intel環境下のファイルとarmアプリケーションが入り混じってグチャグチャになった環境を直すよりもクリーンインストールで綺麗な状態でセットアップをしたほうが利点が大きいと考えている。 逆に言えばアーキテクチャが同じであれば良いので、見ている方がいるかわからないがM1 MacからM1 Pro・Maxへの移行はThunderboltケーブル経由で

                                                                  Intel MacからM1 (Pro・Max) Macへ(出来る限り)滑らかに開発環境を移行する
                                                                • Aurora MySQL のバックアップは本当にそれでいいのだろうか? | CyberAgent Developers Blog

                                                                  技術本部 サービスリライアビリティグループ(SRG)の長谷川 @rarirureluis です。 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 また Amazon Aurora MySQL(以下:Aurora MySQL)の話です。何でこんなに Aurora MySQL に関する記事ばっか書いてるのか僕も分かりません。 前回の Aurora MySQL のアップグレード方法のベストプラクティスはこちらです。 RDS Graviton2 に少ないリスクで切り替える方法を考えてみる【アップグレード編】 | CyberAgent Developers Blog 今回はバックアップについてです。 そのクラスター、間違ったクエリ流したときに

                                                                    Aurora MySQL のバックアップは本当にそれでいいのだろうか? | CyberAgent Developers Blog
                                                                  • GoとRust - 並行プログラミング編

                                                                    はじめに こんにちはnasaちゃんです。 goroutine何も分からん!async/await何も分からん!となったのでそれぞれを比較しつつ理解を深めてみよう。という考えのもとGo, Rustの並行プログラミングの解説記事を書いてみました。 ところどころふわっとしているため、補足や指摘を貰えると大変助かります。 今回話すこと goroutineとは結局何なの Goの並行処理の仕組み goroutine(Go)とasync/await(Rust)の比較 Goのランタイム、Rustのランタイムの話 話さないこと 構文の違いについては特に触れない どちらが優れているとい言う話はしない ベースになっている思想については特に触れない TL;DR Goには標準のランタイムがあるよ、Rustではランタイムライブラリを使う必要があるよ Goはランタイムが中断再開を管理するよ、Rustではプログラマーが管

                                                                      GoとRust - 並行プログラミング編
                                                                    • gihyo.jp編集部におけるMarkdown記法 | gihyo.jp

                                                                      本稿では、gihyo.jp編集部で利用しているMarkdownファイルの記述方法を主に解説します。 注意:gihyo.jp編集部内でのみ採用しているMarkdownの書き方をまとめた文書を、記事の体裁を取って公開したものです。なお、記事公開後に記述方法を追加・変更する可能性もあります。 Markdownとは? はじめに、筆者の把握している範囲でMarkdownについて概説しておきます。 近年は一般向けのウェブサービスやテキストエディタでも利用されてきているMarkdown。端的に言えば、テキストファイル上で文書を書くための構文です。文書の読みやすさに焦点を当てており、Markdown形式のテキストファイル(=Markdownファイル)をそのまま見れば文書とその構造が理解できるように、Markdown特有の編集記号や字下げを用いて表現します。また、MarkdownファイルをHTMLファイルに

                                                                        gihyo.jp編集部におけるMarkdown記法 | gihyo.jp
                                                                      • ロボットエンジニアのためのgRPC入門 - MyEnigma

                                                                        WEB+DB PRESS Vol.110 目次 目次 はじめに gRPCとは? gPRCの特徴 Protocol buffersでRPCを定義することで、様々な言語のサーバ・クライアント実装が自動生成可能 通信プロトコルにHTTP/2を使うことで高速化、双方向通信、streaming等を実現 通信のデータ量が小さく、データ解釈時の計算時間も短い ProtoファイルでのRPCの宣言 Unary RPC Server streaming RPC Client streaming RPC Bidirectional streaming RPC gRPCのサンプルコード Python Unary RPC Server streaming RPC Client streaming RPC Bidirectional streaming RPC gPRCのgの意味 参考資料 MyEnigma Supp

                                                                          ロボットエンジニアのためのgRPC入門 - MyEnigma
                                                                        • サイトの表示高速化につながる18のこと | knowledge / baigie

                                                                          ベイジでエンジニアをやっている酒井です。 ベイジには2017年に、新卒で入社しました。いつもはJavaScriptの開発からWordPressのカスタマイズなど、フロントエンドを中心としながら、一部バックエンドも含めて仕事をしています。『knowledge / baigie』でも、フロントエンド寄りの情報を発信していきたいと思います。 私の今日のテーマは、表示の高速化についてです。 webサイトの表示スピードは、webサイトのユーザー体験に直結すると私は考えています。表層的なUIデザインの改善以上に重要かつ効果的であることも多いため、webのデザイナーやエンジニアは、0.1秒でも速くなることにこだわるべきでしょう。 表示高速化の手法というと、サーバ側の話になることも多いですが、実はフロントエンド側でできることもたくさんあります。それは大きく3つに分けられます。 ブラウザ処理の高速化通信の高

                                                                            サイトの表示高速化につながる18のこと | knowledge / baigie
                                                                          • Let's EncryptのDST Root X3ルート証明書の期限切れとOpenSSLの影響についていろいろ試してみた

                                                                            Let's Encryptでこれまで長く使用されてきたIdentrust社発行のDST Root X3ルート証明書が、日本時間2021年9月30日23時1分15秒に期限切れになりました。十分時間を取って事前に移行計画や影響範囲、救える環境、救えない環境などアナウンスをしてきましたが、やはり、期限切れ以降、様々なサービスや製品で接続できないといった声が上がってきました。 特にOpenSSLに関しては、OpenSSL 1.0.2以前に影響があると9月13日に事前の注意喚起がOpenSSL公式ブログであったにもかかわらず、製品やサービスの奥底で使われていて気づかなかったのか、様々なOSや製品で古いものが組み込みで使われていたために影響が広かったように思います。 OpenSSLからの注意喚起の概要 2021年9月30日にLet's EncryptのDST Root X3ルート証明書の期限が切れるに

                                                                              Let's EncryptのDST Root X3ルート証明書の期限切れとOpenSSLの影響についていろいろ試してみた
                                                                            • Tailwind CSS 社内勉強会【まとめ】 - RAKUS Developers Blog | ラクス エンジニアブログ

                                                                              背景 スコープ Tailwind CSSとは? コンポーネント指向とは? Tailwind CSSのメリット class名を考える必要がない デザインシステムの最低保証 ドキュメント、チートシートの豊富さ Tailwind CSSのデメリット classに多くのコードを書く必要があり、可読性が落ちやすい CSSの理解度がある程度必要 デザインを100%再現したい場合に強味を生かしづらい 他ライブラリやフレームワークとの比較 Bootstrapとの比較 Material UI/Vuetify等のUIライブラリとの比較 インライン記述との比較 まとめ 所感 参考 背景 こんにちは。mtaaaです。 社内のフロントエンド勉強会でTailwind CSSについて発表を行ったまとめとして、ブログに残したいと思います。 スコープ Tailwind CSSとは? なぜTailwind CSSに注目が集ま

                                                                                Tailwind CSS 社内勉強会【まとめ】 - RAKUS Developers Blog | ラクス エンジニアブログ
                                                                              • MySQLの機能でスロークエリ関連の解析を行う方法の紹介 - エキサイト TechBlog.

                                                                                はじめに XTechグループ Advent Calendar 2021の16日目は、iXIT株式会社 エンジニアの蝦名がお送りします。 最近ハマっているものは音楽系Vtuberです。VIRTUAFREAK良かった…。 qiita.com 本題 ツールなどを導入しなくてもSlowQueryを解析できる機能がMySQLには存在するので、今回はその一部を紹介します。 ちなみに私が開発しているサービスのMySQLバージョンは5.6です。 1. mysqldumpslow 一言で言うとスロークエリーログファイルを解析して内容のサマリーを出力してくれる機能です。 前提としてスロークエリーログを出力している必要があります。 使い方 コマンド ※合計実行時間が長い順に10件のSQLを出力する mysqldumpslow -s at -t 10 /opt/fio1/slog/sp-prd-db1-slow.

                                                                                  MySQLの機能でスロークエリ関連の解析を行う方法の紹介 - エキサイト TechBlog.
                                                                                • UTF-8で動くRailsがShift_JISな外部システムと通信する方法 - BOOK☆WALKER inside

                                                                                  こんにちは。 メディアサービス開発部Webアプリケーション開発課のフサギコ(髙﨑)です。部署名が変わりました。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では、UTF-8環境下で動くRailsがShift_JISな外部APIと通信する方法についてお話しします。 前提知識 文字コード UTF-8環境下で動くRailsがShift_JISな外部システムと通信するには Shift_JISな外部APIに対してPOSTリクエストする べた書きとしては Railsにおいては Shift_JISで使用できない文字が混ざっていないかをバリデーションする Shift_JISな外部システムからPOSTリクエストを受ける おまけ: ユーザのブラウザにShift_JISでPOSTさせる

                                                                                    UTF-8で動くRailsがShift_JISな外部システムと通信する方法 - BOOK☆WALKER inside