BlueTowelのブックマーク (50)

  • TypeScriptのジェネリクス型を使って型に柔軟性を持たせる - iimon TECH BLOG

    ■はじめに ■ジェネリクス型とは? ■ジェネリクス関数を作る ■extendsで制約を付与したジェネリクス型 ■keyofで制約を付与したジェネリクス型 ■ジェネリクスクラスを作る ■ユーティリティのジェネリクス型 ◆Required < Type > ◆Readonly< Type > ◆Pick< Type, Keys > ■最後に ■参考記事 ■はじめに こんにちは、株式会社iimonでエンジニアをしている「白水」です。 業務では、主にフロントエンドを担当させていただいています。 記事はiimonアドベントカレンダー13日目の記事となります。 今回はTypeScriptの「ジェネリクス型」について書いていきたいと思います。 ■ジェネリクス型とは? ここにnamesという変数があり、文字列を要素として持っている配列があります。 この配列の型は、画像の通りstring[]です。 これは

    TypeScriptのジェネリクス型を使って型に柔軟性を持たせる - iimon TECH BLOG
    BlueTowel
    BlueTowel 2023/12/13
  • ロバストPython 型チェックを効果的に導入するための考え方 - iimon TECH BLOG

    こんにちは、株式会社iimonでエンジニアをしている遠藤です。 記事はアドベントカレンダー8日目の記事となります。 昨日に引き続きアドベントカレンダーを担当させていただきます。 はじめに 今回は既存のプロジェクトに型チェックを効果的に導入するための考え方について書いていこうと思います。 というのも、既存のPythonプロジェクトに型チェッカツール(mypy)が導入された際に、どのコードにどこまで明示的に型アノテーションをつけるのが良いのか考えたことがありました。既存のすべてのコードに型をつけきるには大きなコストがかかります。また、型アノテーションを詳細にすると、コードが明確化する分、コードへの型アノテーションの追加や型チェッカツールのエラー解消などにより多くのコストがかかるようになります。 そこで、最近読んだ「ロバストPython」で参考になった記載を自分なりにまとめてみました。 3つの

    ロバストPython 型チェックを効果的に導入するための考え方 - iimon TECH BLOG
    BlueTowel
    BlueTowel 2023/12/12
  • TypeScriptプロジェクトでディレクトリ単位のカプセル化をする - iimon TECH BLOG

    こんにちは、株式会社iimonでエンジニアをしている遠藤です。 記事はアドベントカレンダー7日目の記事となります。 TypeScriptでは、ファイルがプロジェクト内でカプセル化できる最大の単位になります。 そのため、ファイルでexportされていない変数や関数等は同じファイル内でしか読み込めず、また、exportされている変数や関数等に関してはプロジェクト全体で参照できるようになります。 ただ、プロジェクト全体から参照したくない場合もあるかと思います。 例えば、Reactで以下のように、同じディレクトリのコンポーネントを参照するコンポーネントがあるとします。 Drink/Drink.tsx import DrinkItem from './DrinkItem' export const Drink = () => { return ( <div> <p>飲み物一覧</p> <div>

    TypeScriptプロジェクトでディレクトリ単位のカプセル化をする - iimon TECH BLOG
    BlueTowel
    BlueTowel 2023/12/07
  • MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon TECH BLOG

    こんにちは、CTOの森です。iimonは今回が初のアドベントカレンダー参加です! 記事はiimonアドベントカレンダー1日目の記事となります。 はじめに 検証した環境 MySQL/mecabのインストール 大量のデータを入れる 1レコードのINSERTにかかった時間 検索してみる 検索文字列が「出来事」の場合 インデックスなし N-gram(bi-gram) IN NATURAL LANGUAGE MODE IN BOOLEAN MODE MeCab IN NATURAL LANGUAGE MODE IN BOOLEAN MODE 検索文字列が「チューリングはロンドンのリッチモンドに住み」の場合 まとめ 参照したサイト 最後に はじめに 今回はMySQLで全文検索機能を使う際のパフォーマンスについて書こうと思います! 全文検索をちゃんと使うのであればElasticsearchやSolrな

    MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon TECH BLOG
    BlueTowel
    BlueTowel 2023/12/01
  • 太陽と地球を作って眺めて宇宙規模で思ったこと - Qiita

    皆さん、メリークリスマス!が終わりそうですが、 アドベントカレンダー最終日です。 締めにふさわしい内容では決してありません。 正直色々考えすぎて考えがまとまっていません&納期が近いのでてんやわんやですが、 クリスマス=ほぼ年の終わり ということで、今年の締め括りは宇宙規模でいきたいのです。 #今年は大変でしたね 今年はなんだかとても大変でしたね。。(まだ続きそうですが) あっという間に生活は一変し戸惑うことも多かったです。 ニュースなど、目先にある情報を見ているととてもビクビクしますし、落ち着かないですよね。。 もちろん、大切なことですが、やはり少し疲れてしまうもの。 なので少し視点を変えて、自分と世界を見つめ直してみたいのです。 #太陽 太陽ってすごいですよね。 太陽系の中心にあり、とてもとても大きい恒星です。 我々が日中、外の優しい光を浴びれるのは太陽のおかげですね。 太陽をもっと近く

    太陽と地球を作って眺めて宇宙規模で思ったこと - Qiita
    BlueTowel
    BlueTowel 2020/12/25
  • 3年前の自分がつくったバナーをリメイクしてみる - Qiita

    記事はプラコレAdvent Calendar 2020の記事です。 こんにちは。デザイナーのやぶづかです。 プラコレへ新卒入社してから、今年で5年目にさしかかり、 仲間・環境・考え方、そして技術的な面―… 色々なことが変わったなと振り返る場面も多くなりました。 変わったなというよりは、 幅が広がったと表現するべきかもしれません。 今回は私が入社前、インターンの時に制作したデザインを振り返りつつ、 「現在の私ならどうするか」リメイクするところまでを行ってみたいと思います。 2017年(3年前)の制作をふりかえる ほんの一部ですが、当時の制作物です。 バナー制作を主に行い、イラスト自体も自分で描いていることが多かったです。 よくOKが出たな…と思うものもたくさんありますが、 結局は世の中に出してみないとわからないもの。 不格好でも実践で戦う環境を与えていただけたことは、 あらためて感謝のきも

    3年前の自分がつくったバナーをリメイクしてみる - Qiita
    BlueTowel
    BlueTowel 2020/12/24
  • よく使用するcURLコマンド - Qiita

    12/23って思い出深いですよね。 さて今週はみんな大好き、 curl(主にコマンド)について記事を書こうと思います。 読み方については「シーユーアールエル」と「カール」があるのですが 「カール」が正しいようです。 curl自体の説明は色んな方がされているので 使用頻度が高いであろうコマンドをメインに、備忘録も兼ねてまとめてみました。 curlとは 様々な通信プロトコルをサポートし、リクエストを送信することが可能です。 有名どころでいうとこんな感じ FTP, HTTP, HTTPS, IMAP, LDAP, POP3, SCP, SFTP, SMB, SMTP, Telnet 公式HP:https://curl.se メールの送受信できるのは知らなったです! ただ現状、使うことは無さそうなので、ここまでに。 使い方 基的なコマンドはこちらになります。 curl [option(long

    よく使用するcURLコマンド - Qiita
    BlueTowel
    BlueTowel 2020/12/23
  • 基本的なSQL構文集 - Qiita

    記事はプラコレAdvent Calendar 2020の記事です! 覚えておきたいSQLをまとめました! (学んだことは随時追加更新していこうと思います!) 基操作 テーブルを作成 テーブルを作成するにはCREATE TABLE文を使う。

    基本的なSQL構文集 - Qiita
    BlueTowel
    BlueTowel 2020/12/22
  • 来年の検索周り最重要要素「コアウェブバイタル」についてまとめてみた – 冒険島MAGAZINE

    こんにちは、高木です! 今年もやってまいりましたアドベントカレンダー! 参加させていただきますよ今年も! 今年はこの素晴らしい冒険島マガジンができたので、こちらで執筆させて いただきます! 今年もSEO界隈では多くの指標やアルゴリズムが 日々改善されましたね。 Googleさんのこのアルゴリズムは「ランキング要素にはしません!」と いうのは基信じてはいけません! 基後からなると考えておいて問題ないでしょう。 それはGoogleさん自信も検索の仕方をとても快適にするために 行っているわけですから、見過ごすわけにはいかないのですよね! そんな中でも今年の中頃からささやき始められて 来年にはランキングの指標にもすると公式にアナウンスもありました 「コアウェブバイタル」についてまとめて行こうと思います。 聞き慣れない言葉や、横文字が多いので、半分私の備忘録として Googleさんの参考などもあ

    BlueTowel
    BlueTowel 2020/12/20
  • 【開発ブログ】今年のデザイン制作「ストーリー」と「ゲーム」 – 冒険島MAGAZINE

    記事はプラコレ Advent Calendar 2020の記事です。 プラコレでデザイナーをしているあずです。 普段は開発ブログで、社内の開発インタビューや社内制度について記事を書いているのですが、今回は年の終わりということで今年一年の制作について振り返ってみました。 1年を振り返って 世の中的に振り返ると、どうしてもネガティブな単語が出てきてしまいますが、「コロナ」や「自粛」「リモートワーク」など今まで当たり前だったことがガラッと変わった1年だったと思います。 そんな中で、社内では多くのリリースがあり、新たな挑戦や価値観のアップデートもたくさん起こりました。 その中で自分の中で特に意識していたことはなんだろうと振り返ると、「ストーリー」と「ゲーム」だったかもしれないなと思い至りました。 ざっくりと自分の中で印象的だった開発を振り返りつつ、その2点についてまとめていきます。 1.リブラン

    BlueTowel
    BlueTowel 2020/12/19
  • プラコレ Advent Calendar 2020のカレンダー | Advent Calendar 2020 - Qiita

    The Qiita Advent Calendar 2020 is supported by the following companies, organizations, and services.

    プラコレ Advent Calendar 2020のカレンダー | Advent Calendar 2020 - Qiita
    BlueTowel
    BlueTowel 2020/12/19
  • 結局フロントエンドエンジニアってなんなんでしょうかっ! - Qiita

    はじめに こんにちは。 プラコレでフロントエンド(&たまぁにサーバーとか)を担当しているエンジニアのタクシです。 今回のテーマはそもそも、雪が見たい!と思いThree.jsで雪を降らせてみようとか思っていたのですが、ちょうど一昨日パラパラとですが鎌倉でも雪が降ったので私の雪欲は満たされました。 豪雪で困っている方も多いということでもう雪なんて見たくない!と言われても仕方がないので、テーマを変えることに。。 ということで、来年には駆け出し新卒エンジニア三年目を迎えるタクシ的 「フロントエンドエンジニア」ってなんなんだ? ということについて考えたいと思います。 フロントエンドとは フロントエンド(Front-end)とはフロント(Front)が英語で「表」という意味であるように、 ユーザー(今読んでいるあなた)の目にふれ、実際に触れられる表側、つまりは顔の部分のことを一般的には指します。 フロ

    結局フロントエンドエンジニアってなんなんでしょうかっ! - Qiita
    BlueTowel
    BlueTowel 2020/12/18
  • 一年間書き続けてきた技術ブログを振り返ってみる - note what I read

    こんにちはKOです。 今回は今まで続けてきたこの技術ブログを経て気づいたことを赤裸々に綴っていこうと思います。 2020年の1月からスタートして現在で約130記事、 3日に一回のペースで書き殴っているという風になります。 PV数は年間で4500PV、一記事あたり35PV、、まだまだ伸び代がありますね〜! 今から技術ブログを書きはじめようかなって方がいらしたら、そういった人たちの参考に慣れば嬉しいです。 もうやっている人はブログあるあるだと思って優しい気持ちで読んでいただけると幸いです。 ブログを始めたきっかけ 私はブログを始めたのは、当時インターンさせてもらっていた会社の 先輩エンジニアの方におすすめいただいたことがキッカケです。 ですが、私自身長い文章を書くのが嫌いだったので、 稚拙でも気にしない〜といったテンションで書き殴っていきました。 当時読んでいたにも「とにかくアウトプットの量

    一年間書き続けてきた技術ブログを振り返ってみる - note what I read
    BlueTowel
    BlueTowel 2020/12/17
  • rails のアプリケーションサーバについて - Qiita

    お久しぶりです。井出です。 前回の記事から1年経ちましたね。 今年もやってきましたアドベントカレンダー! 昨日は若手のホープ、ダニエル・バレンボイムが大好きなダニーさんが記事を書いてくれました。 記事はこちら 中途で入ったイケイケ系の彼ですが、 サーバばりばり触れるようになってきていて将来有望です! 入社してからの振り返り記事とのことで プラコレが気になる方は、ぜひ雰囲気を感じてもらえたらと思います! ダニーさんの流れで、自分も今年の振り返りをしてみようと思います。 去年まで自分のメイン言語はPHPでしたが、今年からRubyをメインにシステム開発していました。 記載方法が独特で最初は苦しめられましたが、振り返ってみると凄い楽しい言語です。 まだまだ理解できていない部分もあるので、来年はより深く理解できるよう進めていきます! そんなこんなで、rubyのFWであるRailsで有名なサーバアプリ

    rails のアプリケーションサーバについて - Qiita
    BlueTowel
    BlueTowel 2020/12/16
  • エンジニアとして入社してからの4ヶ月を振り返る – 冒険島MAGAZINE

    記事はプラコレ Advent Calendar 2020の記事です。 こんにちは!中村です! プラコレにジョインして4ヶ月が経ちました。 自分はPLISMというクリエイターチームに所属しており、サーバーサイドエンジニアとしてWebサービスの開発を行っています。 もうすぐ1年が終わる節目ということで、せっかくなので入社してからの4ヶ月を振り返りたいと思います。 【1ヶ月目】 ・ 怒涛の環境構築◯ プラコレweddingの開発環境を整えるために、環境構築からスタートしました。先輩エンジニアの方とzoomを繋いで環境構築を進めさせてもらったため、ジョインしてすぐでも安心して環境構築を進めることができました。 ・エンジニアとしてのコマンドが増える◯ プラコレのシステムは、かなり複雑でソース解析で結構苦労しました。 デバッグのやり方、デベロッパーツールの活用法、関数ジャンプなどのエディタ機能などを

    BlueTowel
    BlueTowel 2020/12/15
  • クリスマスカードを作って祝いたい、three.js使いたい。 - Qiita

    みなさまいかがお過ごしでしょうか。 あっという間に今日は12月25日、つまりクリスマス つまりアドベントカレンダー最終日です。 早かったような、遅かったような、そんな1年がもうすぐ終わろうとしています。 僕にとって入社して初めてのクリスマス&年越しです。 そんな1年の最後は友達と呑んだくれて寝正月ならぬ飲正月を過ごそうと着々と計画をしております。 もちろんコードもたくさん書く予定です。 さて、僕がこのアドベントカレンダー最終日を選んだ理由、それは 「クリスマスが1年で一番好きな日だから」 です。 誕生日とかよりも全然好きです。 なのでしっかり祝いたいのです。 #どうやって祝うか さてどうやって祝いましょう。 クリスマス感も欲しいけど、なんかJSが書きたいな、なんとなく。 ##そうだ、クリスマスカードを書こう ということで個人的に、クリスマスといえばクリスマスカードなのでクリスマスカードを書

    クリスマスカードを作って祝いたい、three.js使いたい。 - Qiita
    BlueTowel
    BlueTowel 2019/12/26
  • JavaScriptで全文検索(N-gram)を実装してみる! | Simple is Beautiful.

    プラコレアドベントカレンダーもラストスパート!こんにちは、森です! 仕組みをちゃんと理解するには実装してみることが一番!ということで、N-gramの中でも一番実装が簡単なuni-gramをjsで実装してみました! 目次 全文検索とは uni-gram インデックスの作成 文章にdocument IDを振る 文字列の分割 文字位置付与 トークンごとに位置情報をまとめる トークンをキーに引けるように保存 インデックスから検索 検索文字列をトークンに分割 インデックスからトークンのデータを取得 取得したデータをつなぎ合わせる 実装 動かし方 インデックスの作成 インデックスから文字列を検索 コード 参考文献 最後に 全文検索とは まず最初に全文検索とはなにかってことですが、Wikipediaで調べてみました「コンピュータにおいて、複数の文書(ファイル)から特定の文字列を検索すること。「ファイル名

    JavaScriptで全文検索(N-gram)を実装してみる! | Simple is Beautiful.
    BlueTowel
    BlueTowel 2019/12/24
  • 脳内をフリーズさせた依頼まとめとデザイナーについて考えてみた【デザイナーあるある】 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは! アドベントカレンダー23日目(プラコレでは12日目)となりました! 沖縄でデザインとフロントコーディングをやっています、しげまです。 しげまは漢字で書くと「志慶真」と書きます! 文字だけ見ると角刈りのおじさんを想像するひともいるかもしれませんが ロン毛の女子ですー! 趣味は飲酒です! よろしくお願いします! 自作PCを作る仕事→カートリッジに黒い粉を詰める仕事→事務→アパレル→キャバクラ→動画制作 と様々な職業を経由して、デザイナーになることができたあの日から早7年。 たくさんのクライアントさまに出会い、苦しくも楽しくおも

    脳内をフリーズさせた依頼まとめとデザイナーについて考えてみた【デザイナーあるある】 - Qiita
    BlueTowel
    BlueTowel 2019/12/23
  • 結果が出せるSNS広告クリエイティブを作るために考えてみる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? みなさまこんにちは! アドベントカレンダー22日目(プラコレでは11日目)ですね! 冒険法人プラコレの新卒デザイナーのたなべです! アドベントカレンダーというとエンジニアさんのお祭りというイメージが強く、前々から存在は存じてはいたのですがまさか自分がそのアドベントカレンダーに参加することになるとは思わずビビリちらしております。 お手柔らかにお願いします! 今回はSNS広告クリエイティブについてお話しようと思います。 私はプラコレに入社前からインターンとしてジョインしていたのですが、 当時からクライアント様の広告クリエイティブ作成を任せて

    結果が出せるSNS広告クリエイティブを作るために考えてみる - Qiita
    BlueTowel
    BlueTowel 2019/12/22
  • CSSの継承〜親から子へ受け継がれる意志〜 - Qiita

    アドベントカレンダー初挑戦!21日目(プラコレ的には10日目) こんにちは!横田です。 不適切なところがありましたらご指摘いただけると幸いです。 よろしくお願いします! 今一度見直したい「継承」 フロントをやっていて、そこまで日は浅くないのですが、これまであまりcssプロパティの「継承」について深く考えたことがありませんでした。 親要素からプロパティを指定していって、子要素で効いていなかったらまた指定しよう、ぐらいでした。 しかしたびたび思うのです。「またcolor: #555;って書くのか...」と。 そこで、継承についておさらいしてみました。 Sassなどでスマートに書ける今、変数や関数をつかってかっこよく書けるようになりましょう! 継承とは 親要素のプロパティの値が、子要素に引き継がれることです。 プロパティによって継承されるものとされないものに分かれます。 継承されるプロパティ 使

    CSSの継承〜親から子へ受け継がれる意志〜 - Qiita
    BlueTowel
    BlueTowel 2019/12/21