タグ

konoha-rのブックマーク (1,122)

  • UNIQUE制約の理解が甘くて二重にインデックスを張りそうになった件 - Techouse Developers Blog

    はじめに こんにちは、株式会社 Techouse のクラウドハウス採用でエンジニアインターンをしている ReLU と申します。 いきなりですが、以下のグラフをご覧ください。 これは PostgreSQL の実行計画を取得した結果です。 あえてグラフタイトルや横軸の説明は隠しているのですが、実行時間の差が非常に大きいことがわかると思います。 実行計画とは、データベースが SQL クエリを実行する際に、どのようにデータを操作するかを決定するための詳細な手順のことです。クエリを実行して期待される結果を得る方法にはいくつかの選択肢があり、その選択によって処理の効率が大きく異なります。PostgreSQL は、これらの選択肢の中から最も効率的だと判断した方法を実行計画として作成し、それに基づいてクエリを実行します。この選択は、これまでに収集された統計情報(テーブルのサイズやデータ分布)、インデックス

    UNIQUE制約の理解が甘くて二重にインデックスを張りそうになった件 - Techouse Developers Blog
    konoha-r
    konoha-r 2024/10/17
    AssignedSeminarsにwebsite_idは必要な理由がわからない。
  • エンジニア主導で爆速開発を実現する - Tabelog Tech Blog

    はじめに こんにちは。べログ開発部 ウェブ開発1部の羽澤です。 マネージャーという立場で働いておりまして、案件をリードしたり、一歩引いてメンバーや案件をサポートしたり、その時々で役割を変えながら日々過ごしております。 その中でいつも頭を悩ませているのが、いかに早く開発を進めるかということです。これはべログだけでなくどんな組織でも常に考えている、永遠の課題だと思います。 今回はべログの開発体制を紹介しながら、自分として爆速で進められたと感じている案件を紹介します。「なぜうまく行ったのか」を掘り下げることで見えてきた重要な視点を、「爆速で進める1つのポイント」としてまとめてみました。 プロジェクト体制の紹介 開発の話の前に、前提となる組織の形を紹介します。 私の所属するウェブ開発1部では、マトリクス型の組織を採用しております。 ウェブ開発1部の事例ではありませんが、以下の記事が参考にな

    エンジニア主導で爆速開発を実現する - Tabelog Tech Blog
    konoha-r
    konoha-r 2024/09/11
    爆速開発した(主観)
  • プログラマーがソースコード内に書いた「アスキーアート」図2000点以上を収集 使われ方を分析しデータベース化【研究紹介】 レバテックラボ(レバテックLAB)

    米カリフォルニア大学サンディエゴ校に所属する研究者らが発表した論文「Taking ASCII Drawings Seriously: How Programmers Diagram Code」は、ソースコード内で使用するアスキーアート(ASCII art)を収集し分析した研究報告である。 ▲ソースコード内で活用されたアスキーアートの一例 keyboard_arrow_down 研究背景 keyboard_arrow_down 研究内容 オープンソースのソフトウェア開発では、プログラマーがコードの中にアスキーアートを使って図を描き、アイデアを視覚的に表現することがよくある。アスキーアートはコードや自然言語では表現しにくい概念を視覚的に明快に説明でき、またコードよりも詳細度は低いものの、コードを理解するうえで「サムネイル」のような役割を果たす。 こうしたアスキーアートは、実際のソフトウェア開発

    プログラマーがソースコード内に書いた「アスキーアート」図2000点以上を収集 使われ方を分析しデータベース化【研究紹介】 レバテックラボ(レバテックLAB)
  • 102. A Philosophy of Software Design (3/3) w/ twada | fukabori.fm

    MP3ファイルをダウンロード 内容紹介 twadaさんをゲストに、A Philosophy of Software DesignをテーマにしたエピソードのPart3です。今回は「認知負荷」についてひたすら語っていただきました。 出演者 話したネタ 書籍:A Philosophy of Software Design, 2nd Edition 認知負荷 (Cognitive Load) とは何か? 書籍:チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 “クソコード” という言葉をなんとかしたい 認知資源の消費量 課題内在性負荷 と 課題外在性負荷 波動拳 課題内在性負荷が高いことは、悪いことではない 循環的複雑度 99. Podcastを編集する技術 w/ tomiyama における課題外在性負荷の下げ方 例外と課題外在性負荷の関連 横断的関心事 アスペクト指向プログラ

    102. A Philosophy of Software Design (3/3) w/ twada | fukabori.fm
    konoha-r
    konoha-r 2023/08/17
    “A Philosophy of Software Design, 2nd Edition”
  • 【CSS】CSSの値と単位が新しくなっていますが、ついていけてますか? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 最近のCSSのアップデートは目覚ましいものがありますが、 みなさんは、CSSの値と単位がここ1年くらいで大きく変わっていることはご存知ですか? Dynamic viewport が追加されたり、math 関数が追加されたりなどの大きな変更は、ご存知かもしれないですが、calc()で ネイピア数 e や 円周率 πなどが使えるようになったり、 フォントに相対的な長さ単位が追加されていたりと細かい変更も多くあります。 そのため、この記事では、CSS Values and Units Module Level 3 から CSS Va

    【CSS】CSSの値と単位が新しくなっていますが、ついていけてますか? - Qiita
  • 多対一リレーションの設計手法によるパフォーマンスの違いを確認した - Mobile Factory Tech Blog

    この記事はモバイルファクトリー Advent Calendar 2020 15日目の記事です。 エンジニアの yokoi0803 です。DB設計をしていて多対一のリレーションを見たり、設計したりする機会が何度かあって、その度にどう設計するかで悩んでます。 多対一のリレーションはいくつかの設計で実現できますが、その選定の際の指標を得るため、今回はパフォーマンスの観点から設計の比較をしてみたいと思います。 多対一のリレーションを表現する3つの設計 あるテーブルが複数のテーブルに対して多対一で紐付くケースについて、ここではくじ引きとその景品を表現するためのDB設計を想定します。 箱の中のくじそれぞれに景品が設定されており、景品には旅行券や果物など、様々な種類のものがあります。 こういった仕様の設計手法にはいくつか種類がありますが、今回は「ポリモーフィック関連」、「交差テーブルを用いた設計」、「親

    多対一リレーションの設計手法によるパフォーマンスの違いを確認した - Mobile Factory Tech Blog
    konoha-r
    konoha-r 2022/07/01
  • 英語の語彙学習では、日本語との「概念」のずれに注意することが大切 〜同志社大学 赤松教授インタビュー(前編)〜 | バイリンガル教育の研究機関【バイリンガルサイエンス研究所】

    バイリンガル サイエンス研究所TOP > 英語教育研究コラム > 英語の語彙学習では、日語との「概念」のずれに注意することが大切 〜同志社大学 赤松教授インタビュー(前編)〜 2021.10.29 英語の語彙学習では、日語との「概念」のずれに注意することが大切 〜同志社大学 赤松教授インタビュー(前編)〜 保護者向け 学生向け 英語学習方法 いかに英語の語彙を学習するか、ということは、英語学習者にとっても、英語教師にとっても、最も関心の高いテーマの一つであると思われます。そこで今回は、同志社大学の赤松教授にお話を伺い、英語の語彙学習における日語の影響や効果的な語彙学習のあり方について紹介します。 【目次】 ▼英語習得における母語の影響 ▼英語と日語では、語彙の概念にずれが生じる場合がある 英語習得における母語の影響 ―赤松先生は、英語習得における母語の影響を中心に研究されているとの

    英語の語彙学習では、日本語との「概念」のずれに注意することが大切 〜同志社大学 赤松教授インタビュー(前編)〜 | バイリンガル教育の研究機関【バイリンガルサイエンス研究所】
    konoha-r
    konoha-r 2022/04/06
  • 言語の意味は個人によって異なる...?英語を学ぶ上で大切なヒントとは

    先生インタビュー 言語の意味は個人によって異なる...?英語を学ぶ上で大切なヒントとは 2019.10.28 普段私たちが何気なく使っている「言語」。生まれてからこれまでどのようにして言語を使えるようになったか、覚えている人は少ないでしょう。実はこの言語を理解する過程には、外国語を学ぶために大切なヒントが隠されているようです。今回はそんな言語に関する疑問について、認知意味論・認知言語学を研究し、高崎商科大学で英語や日語について教えている渡邉美代子教授にお話を聞いてみました! そもそも言語の「意味」って何...? 聞き手

    言語の意味は個人によって異なる...?英語を学ぶ上で大切なヒントとは
    konoha-r
    konoha-r 2022/04/06
  • テーブル設計の考え方とやり方 [入門編]

    「基から学ぶテーブル設計 超入門!」 https://modeling-how-to-learn.connpass.com/event/242944/ の発表資料。 - 2つの設計スタイルの違いを理解する - 何を記録するか(資源・活動・当事者・規程) - どう記録するか(テーブルの役割…

    テーブル設計の考え方とやり方 [入門編]
    konoha-r
    konoha-r 2022/03/31
     わかりみが深い
  • Best practices for writing code comments - Stack Overflow

    [Ed. note: While we take some time to rest up over the holidays and prepare for next year, we are re-publishing our top ten posts for the year. Please enjoy our favorite work this year and we’ll see you in 2022.] Famed MIT professor Hal Abelson said: "Programs must be written for people to read and only incidentally for machines to execute." While he may have purposely understated the importance o

    Best practices for writing code comments - Stack Overflow
    konoha-r
    konoha-r 2022/02/03
  • エラーは出ないけど…何か変??Vue.jsでやりがちな「サイレント・ミス」(ロジック編) - ICS MEDIA

    Vue.jsは初学者にもとても手厚いサポートを提供してくれるフレームワークです。 たとえば、以下のコードで「リセット」ボタンを押すと「propsのcountは子コンポーネントから変更すべきではない」とわかりやすくエラーを表示してくれます。 <template> <div class="CountViewComponent"> カウント={{count}} <button @click="reset">リセット</button> </div> </template> <script> export default { props: { // 表示するカウント値 count: { type: Number, default: 3 } }, methods: { // カウントをリセットします reset() { this.count = 0 } } } </script> それでも時として、

    エラーは出ないけど…何か変??Vue.jsでやりがちな「サイレント・ミス」(ロジック編) - ICS MEDIA
    konoha-r
    konoha-r 2021/07/01
  • 日本人がNASAで働くには|Takuro Daimaru | 大丸拓郎

    このnoteは日の大学を卒業した筆者が、コネクションゼロの状態から、アメリカの大学への留学を挟まずに、NASAへの就職を果たした過程を記録したものです。これからNASAを目指す人、また夢を叶えようと努力している人の考え方のヒントになれば幸いです。 一度きりの人生をかけてこれをやる2012年の夏、NASAの1機の探査機が火星に着陸した。キュリオシティという名のその白いローバーは、胴体からまっすぐに伸びた首の先に大きな目玉がついた頭を持ち、足についた6つの頑丈な車輪で火星の荒れ地を走る。長い腕を伸ばしドリルで岩石を削り、それを体の中に入れその場で調べる。これまでのどんな探査機とも異なるその姿は、僕の目にはまるで生き物かのように写っていた。 当時僕は東北大学に通う大学院修士課程1年生の学生で、休日のエアコンの切れた蒸し暑い研究室で一人、実験の待ち時間にパソコンの画面に釘付けになっていた。キュリ

    日本人がNASAで働くには|Takuro Daimaru | 大丸拓郎
    konoha-r
    konoha-r 2021/04/22
  • 151021 教育評価論(三田)第4講

    konoha-r
    konoha-r 2021/03/24
  • 究極のReact向けルーターライブラリ「Rocon」を作った - uhyo/blog

    こんにちは。先月くらいからReact向けのルーターライブラリ「Rocon」を作っていて、この度alphaリリースという形で公開まで漕ぎ着けたので宣伝します。 現在のところ、以下のURLでチュートリアルを読むことができます。 このチュートリアルサイトはRoconを用いて作られています。 Roconチュートリアル: https://rocon.uhyohyo.net/Roconの特徴は非常に型安全であることです。 何よりも型安全性・型周りの快適性を優先してAPIが設計されています。 当然、TypeScriptと一緒に使うことが前提です。 また、Roconはreact-router-domの代替となることを意図しています。 そのため、Roconを使うべきとき・使うべきでないときをまとめると以下のようになります。 Roconを使うべきとき: 今react-router-dom等を使ってSPAを作っ

    究極のReact向けルーターライブラリ「Rocon」を作った - uhyo/blog
    konoha-r
    konoha-r 2020/08/12
  • 業務用ツールのデザインに向けてUIデザイナーができること(その1) | ツクロア - DESIGN LAB

    こんにちは。思うことシリーズです。 最近、ツクロアでは業務用ツールのデザインを請け負うことも多いです。 わたしは今まで、Webデザイン→アプリデザイン(UIデザイン)を10年ほどやってきました。 いまではWebデザインとはいえ、スマホ対応もあたりまえ。つまり、タッチデバイスで操作するためのデザインをつくることもあたりまえなのです。 タッチデバイスは指で操作するよ Webサイトは、PCで見てもスマホで見ても、その大きさにあわせて情報量が調整されるべき、というのが今の主流な考え方。 なかには、同じソースコードを使って、見ているブラウザの横幅に応じてレイアウトを変えるレスポンシブデザインという手法もよく使います。 同じような液晶ディスプレイで見るので、単純にレイアウトを変えればよいだろうと思ってしまいがちですが、よくよく考えるとそう単純ではありません。 だって、PCでの操作はマウスもしくはキーボ

  • サッカー黄金世代「同窓会」 - スポーツナビ

    1999年4月に開催されたワールドユース。トルシエ監督に率いられた、79年生まれの“黄金世代”を中心とするU-20日本代表は、ナイジェリアの地で快進撃を見せる。決勝ではスペインに敗れたが、ワールドユース準優勝の功績は今なお色褪せることなく、日サッカー史に燦然と輝いている。あれから20年――その功績を讃えて「同窓会」を開催。小野伸二、稲潤一、永井雄一郎、中田浩二、南雄太、酒井友之、播戸竜二の7人が集い、思い出話に花を咲かせた。(2019年4月掲載)

    サッカー黄金世代「同窓会」 - スポーツナビ
    konoha-r
    konoha-r 2019/04/17
  • 逆引き!Composer コマンド・ライン一覧

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    逆引き!Composer コマンド・ライン一覧
  • jq チートシート | 工作HardwareHub

    jq の基的な使い方をまとめます。 公式ドキュメント Tutorial jq Manual コマンド例 (公式チュートリアルより) 人間が読めるように整形および色付けして出力。JSON としての文法ミスがないかどうかの確認。 curl -s 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq . 配列の要素を指定 jq '.[0]' 特定の要素をピックアップして別の構造の JSON に整形 jq '.[0] | {message: .commit.message, name: .commit.committer.name}' xargs や map 関数のように全要素に適用 jq '.[] | {message: .commit.message, name: .commit.committer.name}'

    konoha-r
    konoha-r 2019/02/16
  • データモデリング・テクニック

    3. なぜデータモデリングが必要か データベースはグローバル変数 どのプログラムからでも更新・参照できる 管理しないとぐちゃぐちゃに 整理されてないデータはただのゴミ Garbage in, garbage out 使うのも、更新するのも難しい 適切にデータモデリングすると データの重複がなくなる データの不整合がなくなる データへのアクセス方法が明確になる 3 4. いろいろなデータモデリング手法 標準的なモデリング手法が存在するわけではない Peter Chen記法:ER図の元祖(だが使われない) THモデル:椿正明/穂高良介 IE (Information Engineering) 記法 IDEF1X (Integration Definition) 記法 T字型ER:佐藤正美 三要素分析法:渡辺幸三 UMLクラス図:オブジェクト指向設計 4 記法や

    データモデリング・テクニック
  • MySQLのストレージエンジンを自作してみる - 備忘録の裏のチラシ

    MySQL のストレージエンジン(SE)を自作してみたときのメモ。バージョンは 8.0.13。 アーキテクチャをざっくりと掴むことが目的なので、ストレージエンジンの自作といっても非常に単純な操作しかできないものです。 RDB らしさとも言えるインデックスや行レベルロック、トランザクションなどの高度な処理は実装せず、簡単に入出力の流れを追っていきます。 ゴールは以下の基的な機能を実現して、「あ、こんなもんなんだ〜」感を覚えることです。 CREATE 文でテーブルの作成 INSERT 文で行の挿入 SELECT 文で行の取得 ちなみに MySQL のコードは C/C++ です。(といっても、テンプレート等の C++ らしい拡張的な機能は使われておらず、ほぼ C で書かれています。クラスは頻繁に使われているので、俗に「クラスのあるC」なんて言われている模様。そのため、C をある程度理解していれ

    MySQLのストレージエンジンを自作してみる - 備忘録の裏のチラシ
    konoha-r
    konoha-r 2019/01/09