タグ

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

  • Googleフォントを使うと犯罪になる - Qiita

    <link href="https://fonts.googleapis.com">って書くと罰金取られます。 以下はGerman Court Rules Websites Embedding Google Fonts Violates GDPRというニュースの紹介です。 German Court Rules Websites Embedding Google Fonts Violates GDPR ドイツのミュンヘン地方裁判所は、あるWebサイトの運営者が、ユーザの個人情報を人の同意なしにフォントライブラリを経由してGoogleに提供したとして、100ユーロの賠償を命じました。 Webサイトが原告のIPアドレスGoogleに無断で提供したことは、ユーザのプライバシー権の侵害に当たると判断しました。 さらに、Webサイトの運営者は収集した情報をその他のデータと突き合わせることで『IPア

    Googleフォントを使うと犯罪になる - Qiita
  • サクっと作った英語学習サービスがバズって1週間以内にやったこと - Qiita

    要約 Qiita記事がトレンドインすると、瞬間的にWebサービスへのアクセス数が急増するが、数日でアクセス数は元に戻ってしまう。 そこで以下の施策を速攻で打ってバズっているうちに有益な学びを得るべきと考え、記事はそれを実践した結果を実データと合わせて説明している。 事前登録フォームを作って興味を持ってくれた人と繋がる Twitterやはてぶのコメントからどうして興味を持ってくれたのか考察する 有料機能を作って単なるバズなのか、当にニーズがあるのか判断できるようにする バズる1週間前にやっていたこと 3日でツールをサクッと作った 英語面接や仕事海外の人とやりとりをするときに「ちょっと難しい質問」をされると、途端に5歳児になってしまう自分が恥ずかしくなり、DeepL英語の勉強をするツールを作った。 自分が使うだけのつもりだったので、アカウント機能などはなく、コアな機能1つを実装しただけ

    サクっと作った英語学習サービスがバズって1週間以内にやったこと - Qiita
  • 急なTypeScript案件🔥最初の30日間に使い倒したい「コードリーディング支援ツール」 - Qiita

    この投稿では、「TypeScriptの文法や用語がよく分からない」という問題を解消してくれそうなツールを紹介します。 勉強しながらの見切り発車 最近はTypeScript未経験でも、TypeScript案件にアサインされることが増えてきているように思います。 運がいいと着手前にTypeScriptをじっくり学習する時間を与えられることがあります。しかし、多くのケースでは、見切り発車で開発に参加するのではないでしょうか。 コードリーディングから始まる TypeScript案件は、理解すべき既存のTypeScript/JavaScriptコードがあるケースが多いです。 そのため、 読んで理解すべき既存のTypeScriptコードがある しかし、TypeScriptの知識が乏しい状態でスタート といった事態がよく起きます。 新規プロジェクトでは既存コードがありませんが、ググって出てきたサンプルコ

    急なTypeScript案件🔥最初の30日間に使い倒したい「コードリーディング支援ツール」 - Qiita
  • 【Ruby on Rails】Set#include?がなぜ速いのかを理解する - Qiita

    はじめに この記事はべログ Advent Calendar 2020 18日目の記事です。 こんにちは、べログWebエンジニアの@an_sonyです。 普段は予約サービスのシステム開発をしています。 最近、GoToEatオンライン事業により予約サービスの利用者が増加し(ご利用ありがとうございます!)パフォーマンスチューニングをすることが増えました。 そのチューニング方法の一つで、リストの要素検索処理をArray#include?ではなくSet#include? を使って高速化する をよく使ったのですが、ある時「あれ、ArrayとSetって見た目は似てるのに、なんでこの処理って速いんだろう?」という疑問が浮かびました。 この理由、みなさん答えられますか? 解明するにはSetクラスの中身(実装)を見れば良さそうなのですが、そういえば自分、RubyRailsの中身を一度も見たことありません

    【Ruby on Rails】Set#include?がなぜ速いのかを理解する - Qiita
  • API gateway + lambda + S3でDDoS攻撃を受けて1日あたりで$3000溶かした話 - Qiita

    qiita夏祭りに乗り遅れてしまったので一人後夜祭 ~2019年某日~ パイセン「それじゃあ、ワイ君は明日からフロントのログデータを飛ばすのにAPI gatewaylambdaでS3に保存するようにしてな。木曜までな。その間に自分はサービンのドメイン取ったりRoute53周りの構築するから」 ワイ「これもcloud formationに書くんです?」 パイセン「serverless frameworkっていう基的な設定はデフォルトで構築してくれる便利なものがあるんやで。これ使い」 ワイ「めっちゃ素敵やん。わかったやで」 パイセン「週初めのMTGは終わりや飯いに行こう。上野に新しい醤油ラーメン屋ができたんや」 ワイ「いいですね〜」 パイセン「それじゃ自分は新しいロードバイク持ってきたからワイ君も付いてきてな!」 ワイ「ワイ無手なんやが?え、気で漕初めやがった!こなくそおおおぉぉぉ!」

    API gateway + lambda + S3でDDoS攻撃を受けて1日あたりで$3000溶かした話 - Qiita
  • エンジニアの"有害な振る舞い"への対処法 - Qiita

    記事の続編として、自分が有害な振る舞いをしないようにする改善の取り組みを扱った記事も書いてます。 エンジニア上司が"有害な振る舞い"を改善する方法 ※「難しい人」は概念として用い説明するのに便利な言葉でしたが、誤解を生じたり、記事のポリシーに沿わない使用(難しい人というラベリングを特定個人に適用する使い方)が容易にされてしまいそうだと分かりました。そのような誤用を防ぐことを最優先とするため、代わりに「有害な振る舞い」という表現を使用し、人ではなく振る舞いに着目するタイトル及び文章に変更致しました。 はじめに 以下の記事を読んだ際に「難しい人」という表現が何となく面白い響きで印象に残ったので、これを機に自分の考えを今までの経験をもとに書きたいと思います。 “難しい人”が1人入ると、チームの生産性は30〜40%低下する 対抗せずに、場の「安心感」を作るための3つの条件 - ログミーBiz

    エンジニアの"有害な振る舞い"への対処法 - Qiita
  • StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita

    Original article:https://dev.to/dotnetsafer/rip-copy-and-paste-from-stackoverflow-trojan-source-solution-4p8f その昔コピペできない文章というものがありました。 実際は単にフォントを変えているだけというものですが、人間の目に見える文字と実際の文字が異なることを利用した攻撃の一種と見ることもできます。 さて、最近になって似たような攻撃に関する論文が公開されました。 人間には見えない文字を織り交ぜることによって、一見問題ないコードが実は脆弱になってしまうというものです。 ただ論文は堅苦しいうえに長くて読むのがつらいので、具体的に何がどうなのかよくわかりません。 平易に解説している記事があったので紹介してみます。 以下はDotnetsafer( Twitter / GitHub / Web

    StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita
  • RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2021.2.11追記:DateTimeクラスは非推奨なクラスになりました DateTimeクラスは非推奨なクラスとなり、DateTimeクラスではなくTimeクラスを使うよう、公式にアナウンスされました。 参考1 But we consider use of DateTime should be discouraged. - matz (Yukihiro Matsumoto) https://bugs.ruby-lang.org/issues/15712#note-4 参考2 DateTime は deprecated とされているた

    RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita
  • VSCode + Markdownでスライドや書籍も書いちゃおう! - Qiita

    はじめに Markdownって便利ですよね? README.md、PR や Issue の文やコメント、Qiita や Zenn はもちろん、Google Docs や Trello や Notion や Jupyter Notebook でも使えるみたいです。もっといろいろな文書を Markdown で書ければいいのになあ、あらゆる文書のソースコードを Markdown にできればいいのになあ。 さあ、Markdown の可能性を広げましょう! 記事では「スライド」と「(電子)書籍」をMarkdownで書く方法をご紹介したいと思います。もちろん、VSCodeMarkdownを効率よく便利に書いていくためのチップスもご紹介していきますよ。 ご参考スライド VS Code Conference Japan 2021 で発表した際の以下スライドもご参照ください。 もちろんこのスライドもV

    VSCode + Markdownでスライドや書籍も書いちゃおう! - Qiita
  • 「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由 - Qiita

    「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由チーム開発プロジェクト管理マネジメント はじめに 前回、なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのかの記事において、プロジェクト型の人員規模を柔軟に変化させる開発スタイルに関して、理論的なスケジュール削減の限界について考察しました。その際に、チーム型開発や組織とソフトウェアの紐付けについても示唆しました。 今回は、チームでソフトウェアを開発することに関して、「フロー効率」と「リソース効率」という観点から考察し、なぜ私たちはチームで開発するのか、あるいはなぜプロジェクト型を採用するのかについての考え方を深めていきたいと思います。 そして、組織における効率性の価値観が異なると、新しい効率性に関して理解をする前に「もったいない」と感じてしまい、新しい文化を取り入れづらくして

    「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由 - Qiita
  • 【Ruby】class << selfでなぜクラスメソッドが定義できるのか - Qiita

    はじめに いきなりですが、Rubyでクラスメソッドを定義する際に、class << selfと記述したことはありますか? おそらく、Rubyを使ったことのある人であれば、一度は記述したことがあると思います。 このclass << selfについて、僕の中では クラスメソッドを定義するときの構文である この中に書けばいちいちselfを書く必要がない というぐらいの浅い知識でしかなかったのですが、詳しく調べてみるとclass << selfでなぜクラスメソッドが定義できるのか知見が得られたため、この記事にまとめようと思います。 この記事の構成 この記事では以下の2点をまとめることで、表題について理解していこうと思います。 Rubyのクラスメソッドがどのように定義されるのか class << selfとは何なのか この記事の対象者 この記事の対象者は以下の通りです。 Rubyのクラスメソッドがど

    【Ruby】class << selfでなぜクラスメソッドが定義できるのか - Qiita
  • Railsのセッション管理には何が最適か - Qiita

    前提 webアプリを複数立ち上げ、それらのユーザーログインのセッション管理をどう実装するかで議論になった。 Railsで使用できるセッション管理方法にはたくさんの方法があり、それぞれのメリット・デメリットをまとめることで最適解を導く。 今回比較対象にするセッション管理方法は以下の種類。 CookieStore(クッキー方式) Redis(インメモリ方式) ActiveRecord(DB方式) CookieStore(クッキー方式) 仕組み Session情報を全てsecret_key_baseで暗号化し、クライアントのCookieに保存する。 Cookieに保存したSession情報をリクエストの際に全て送信し、サーバではsecret_key_baseで復号し、Session情報を取得する。 メリット Railsのデフォルトで用意されているセッション管理方式なので、手軽に使え、何かを意識す

    Railsのセッション管理には何が最適か - Qiita
  • 設計を歪める認知バイアス - Qiita

    こんにちは、リファクタリングが大好きなミノ駆動です。 この記事は READYFORアドベントカレンダー2021 、5日目の記事です。 これはなに? ソフトウェア開発において、設計をないがしろにすると、低凝集密結合な構造に陥り、変更容易性が低下してしまいます。 設計スキルを高め、あるべき構造を設計する……これで解決できるに越したことはありません。 しかし、認知バイアスと呼ばれる心理効果により判断を誤り、良くない設計をしてしまうことが往々にしてあります。 記事は、設計を歪めてしまう認知バイアスを理解し、設計判断の精度向上を促すことを目的とします。 この記事のゴール 人間の判断を歪めてしまう心理効果「認知バイアス」の存在を知ること。 ソフトウェア設計も、認知バイアスの悪影響を受けてしまうこと。 認知バイアスに振り回されない設計アプローチを身につけること。 認知バイアスとは 先入観や思い込み、偏

    設計を歪める認知バイアス - Qiita
  • Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Railsアプリケーションを格的に作り込んでいくと、「エラー」とは無縁ではいられません。 しょうもないバグでエラーが発生することもありますし、ほとんど不可抗力ともいえるような大規模なネットワーク障害でエラーが発生することもあります。 エラーの種類がなんであれ、エラーが起きた場合は「原因を素早く特定し、速やかに復旧させること」と「あるエラーが引き金になって、さらに大きなエラーに引き起こさないようにすること」が重要です。 エラー処理を適切に実装していれば、原因の特定や復旧もすばやくできますし、さらに大きなエラーを引き起こす可能性

    Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita
  • 本当のメタバースについて知ってほしい。 - Qiita

    メタバース有識者」の話があまりにもくだらない。 偉そうに話しているが、あれもこれも全部実現している。 良くてもVRChat止まりで、それ以外の実情を分かっていない。 当のメタバースについて、書き殴ってみようと思う お前は誰? ただの一般人だ。ただし現実よりVRに生きているかもしれない。 プレイ時間はVRChat:500時間、NeosVR:1900時間である。 他にclusterでもイベントを主催したりワールドアップしている。 VRの中で飲み、踊り、寝る ゴーグルを被ったまま酒を飲んで、DJをして、音に合わせて楽しく踊る。 疲れたらそのまま寝る、もちろんゴーグルを被ったまま。 メイド喫茶やホストクラブ、ラジオ体操にゲーム。 悩み相談をしたり、恋愛をしたり、旅行にも行ける。 これはVRSNSの日常風景だ。 ここまではおそらく、多くの方が想像しているメタバースだろう。 知ってほしいのはここか

    本当のメタバースについて知ってほしい。 - Qiita
  • nil? empty? blank? present? の使い分け - Qiita

    まず、nil?とempty?はrubyのメソッドで、blank?とpresent?はrailsで拡張されたメソッド(つまりrubyでは使えない)ってことを覚えておく。 - nilは存在しないという意味。 対して ""は「何も無い」が存在している。空白の存在。

    nil? empty? blank? present? の使い分け - Qiita
  • iOS 11 から追加された SFAuthenticationSession でシングルサインオン - Qiita

    ※iOS 12 で SFAuthenticationSession は Deprecated になりました。今後は ASWebAuthenticationSession を使いましょう! https://developer.apple.com/documentation/authenticationservices/aswebauthenticationsession 以下の記事にある SFAuthenticationSession は ASWebAuthenticationSession に適宜読み替えてください。 下記の @glayash さんによる記事でも書かれていますが、iOS 10 までは Safari と SFSafariViewController の認証情報が共有されていました。 iOS 11 / Android O 時代のアプリ認証 - Qiita しかし、iOS 11

    iOS 11 から追加された SFAuthenticationSession でシングルサインオン - Qiita
  • 二段階認証を実装するまでに調べたこと - Qiita

    二段階認証を実装するにあたり、自分が調べたことをまとめました。 何か間違ったことがあれば、コメントいただけると幸いです! 二段階認証?二要素認証 英語では、二段階認証を「Two-Factor-Auth」と訳しますが、日語では「二段階認証」と「二要素認証」は明確に異なります。 二段階認証の説明をする前に、認証の3要素について説明する必要があります。 認証の三要素 私たちが普段Webサービスを利用する際に、アカウントが自分のものか、認証を行います。その代表的な手段として「メールアドレス」と「パスワード」が一般的です。ですが、一個人を特定する方法として、他にも種類があります。それらを3つに分類したものを「認証の3要素」と呼んだりします。以下のように分けられます。 ユーザが知っていること(知識情報) ID・パスワード 秘密の質問 ユーザが持っているもの(所持情報) 電話番号 キャッシュカード ワ

    二段階認証を実装するまでに調べたこと - Qiita
  • できないエンジニアの特徴 - Qiita

    エンジニア単価表の記事はこちら! はじめに 社会人になってから数年。数々の失敗を目撃 & 体験をしてきました。 その教訓で、改善すればより仕事も人間関係も円滑に進み、エンジニアとしても成長できるだろうなというネガティブな点をまとめてみました。 僕も過去できていなかったり、今もできていないところはありますが、反面教師として伝えられたらと思います。 特徴 1.納期に間に合わない時、自分から報告してこない 明確に期日が共有できているのにも関わらず、直前もしくは遅れる旨を報告してこないパターンです。 責任感がない人に多い気がします。実力不足であったり、実装していくうちにタスクの見積もりがずれることもあるので勇気を持って報告しましょう! 2.タスク分解しないで、仕事し始める 機能実装のような中規模以上のタスクは、DB変更など下のレイヤーが間違っているとその上位の実装も全て修正しなくてはいけなくなりま

    できないエンジニアの特徴 - Qiita
  • 使えるRSpec入門・その2「使用頻度の高いマッチャを使いこなす」 - Qiita

    はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第2回です。 今回はRSpecのマッチャについて説明していきます。 第1回と同様、今回も「最低限これだけは」という内容に絞り込んで説明します。 使用頻度の少ないマイナーなマッチャ(注:僕基準)については説明しません。 具体的な項目は以下の通りです。 マッチャとは何か to / not_to / to_not eq be be_xxx be_truthy / be_falsey change + from / to / by 配列 + include raise_error be_within + of これからRSpecを始める人はもちろん、何度かRSpecに触れて「うーん、RSpecってわけわからん」となっている人もこの記事で再入門してみると

    使えるRSpec入門・その2「使用頻度の高いマッチャを使いこなす」 - Qiita