タグ

yaakaitoのブックマーク (3,063)

  • BASEがもっと好きになる。鶴岡さん観察日記 - BASEプロダクトチームブログ

    この記事は、「BASE Advent Calendar 2018」の12日目の記事です。 devblog.thebase.in こんにちは、BASE BANKインターンの かわごえ(@heart_breakers2)です。 今回は少し趣向を変えて、「鶴岡さん観察日記」と題して、BASE 代表取締役CEOおよびBASE BANK 代表取締役CEOである鶴岡の普段の様子をイラストを交えてカジュアルに伝えていきたいと思います。 (みなさんにもカジュアルな雰囲気で読んでいただきたいので、記事内ではあえて「鶴岡さん」と表記しています。) 私がインターンとしてBASE BANKにジョインし、鶴岡さんのななめ前の席に配属されてから半年が経ちました。 みなさんがきっと知らない鶴岡さんの素顔や、BASEの好きなところをまとめてみました。 この記事を読んでいただき鶴岡さんやBASEに興味を持っていただけると嬉

    BASEがもっと好きになる。鶴岡さん観察日記 - BASEプロダクトチームブログ
    yaakaito
    yaakaito 2018/12/13
  • Font AwesomeとJavaScriptでシューティングゲーム(その1) - Qiita

    これは scouty Advent Calendar 2018 の11日目の記事です。 2018/12/18追記: 続きができました。 Font AwesomeとJavaScriptでシューティングゲーム(その2) はじめに Font Awesomeのサイトを眺めてたらゲームで使えそうなキャラクターがいっぱいあるなあと思ったので作ることにしました。 今回は、シューティングゲームを作ります。まずベタ書きで作ってみて、それをクラス化するところまでやります。 面倒だったので最初は慣れているjQueryを使っていますが、後ほどバニラなJavaScriptに書き換えます。 GitHubリポジトリ: https://github.com/naga3/font-awesome-shooting アジェンダ ベタ書きでとりあえず作る クラスを使って整理する jQueryの使用をやめる ベタ書きで作ってみる

    Font AwesomeとJavaScriptでシューティングゲーム(その1) - Qiita
    yaakaito
    yaakaito 2018/12/11
  • BASE株式会社を6年間経営して感じた学び - BASE開発チームブログ

    先日の締め会の様子 これは「BASE Advent Calendar」11日目の記事です。 devblog.thebase.in こんにちは。BASEで代表をしている鶴岡(@0Q7)です。 11日目の記事を担当しています。 ある日、Slackでアドベントカレンダーを書く人を募集していたので、調子に乗りそれとなく書く予定にしていたら、書く内容が全く思い付かず悩みすぎたので今はすごく後悔しています。 日12/11はBASEの設立記念日で、6年が経ちました。早いような遅いような。 ついこの前までは「今日のGMVは100万円は行きたい、そしていつかは500万くらいはいけるようなサービスにしたい。」なんて思いながら毎日帰宅していた気がしますが、その目標から桁が2つくらいは増えたので少しは成長できてるのかなと思います。 ただ何かを成し遂げたわけではないので昔話をしたいわけでもなく、とはいえエモくビジ

    BASE株式会社を6年間経営して感じた学び - BASE開発チームブログ
    yaakaito
    yaakaito 2018/12/11
  • SQLアンチパターンとBtreeインデックスの関連性 - BASE開発チームブログ

    この記事は、「BASE Advent Calendar 2018」の9日目の記事です。 devblog.thebase.in 前日は id:match_1 でした。こんにちは、10日ほど前にデータベース移行についての記事を書かせていただいた植木です。 今回はインデックスとBtreeのパフォーマンスチューニング系のお話をしたいと思います。 概要 Btreeの構造などを説明している資料は他にもあるし、SQLのアンチパターンもある程度あるけど、何故アンチパターンになるのかなど構造を理解しながらの説明が無いように思っていました。今回はBtreeの構造を説明しながら、どのように動いてパフォーマンスに影響しているのかを説明しようかと思います。SQLのパフォーマンスチューニングはBtreeの構造を理解しているかどうかで全く違うものになります。構造を意識しつつ、誤解しやすいところや何故この処理でインデック

    SQLアンチパターンとBtreeインデックスの関連性 - BASE開発チームブログ
    yaakaito
    yaakaito 2018/12/09
  • 「BASE」の管理画面リニューアルプロジェクトのこれまでとこれから - BASEプロダクトチームブログ

    この記事は、「BASE Advent Calendar 2018」の8日目の記事です。 devblog.thebase.in こんにちは、BASE Design Groupマネージャーの早川(@match0129)です。 今日は、ネットショップ作成サービス「BASE」の管理画面のリニューアルプロジェクトである「次世代管理画面」の話を少ししてみたいと思います。 次世代管理画面とは? ネットショップ作成サービス「BASE」は、現在「次世代管理画面プロジェクト」として大規模なリニューアルの真っ最中です。 プロジェクトが最初にはじまったのは今年の1月で、今は最初の大きな区切りのリリースに向けて開発が佳境を迎えているところです。 キックオフから早1年経とうとしているこのプロジェクトについて、やってきたことを少し振り返ってみたいと思います。 プロジェクトの方向性とコンセプトの定義 そもそもなぜ今リニュ

    「BASE」の管理画面リニューアルプロジェクトのこれまでとこれから - BASEプロダクトチームブログ
    yaakaito
    yaakaito 2018/12/08
  • Abstractを用いたデザイン管理システムを導入して1年経ったお話 - BASEプロダクトチームブログ

    この記事は、「BASE Advent Calendar 2018」の7日目の記事です。 devblog.thebase.in こんにちは、BASEのデザインチームに所属している北村(@naomi_kun)です。 BASEのデザイン管理ツールに「Abstract」を導入してちょうど1年が経ったので、導入する前を振り返りながら、良かったところの所感をまとめたいと思います。 はじめに 突然ですが、デザインデータの管理ってみなさんどうしていますか? 共有するのが大変だったり、バージョン管理のルールを厳格にしておかないとメンテがしづらかったりと、デザインデータの管理って非常に面倒ですよね。 BASEもGoogleDriveやDropboxを用いてデータ共有していたものの、ファイルの置き場が煩雑になったり、新しいデータがどれなのか毎回他のデザイナーに確認しなければならないなど、多くの課題を抱えていまし

    Abstractを用いたデザイン管理システムを導入して1年経ったお話 - BASEプロダクトチームブログ
    yaakaito
    yaakaito 2018/12/07
  • BASE で使っているPHPフレームワークにプルリクエストを送ろうとしたら、先を越された話 - BASEプロダクトチームブログ

    この記事は、「BASE Advent Calendar 2018」の5日目の記事です。 devblog.thebase.in Backend Engineer の田中(@tenkoma)です。 「BASE」の裏側で動いているアプリケーションはCakePHP 2を使っています。 そのCakePHP 2にPHP7.3対応のプルリクエストを送ろうとしたけど先を越されてしまった話をします。 CakePHPPHP7.3対応状況 PHPPHP7.0以降、大きな機能追加のあるバージョンが年1回リリース*1されるようになりました。 リリースサイクルは公開されており(PHP: todo:php73)、毎年9月中までにはRC版が公開されているようです。活発なPHP製OSSプロジェクトなら、ビルドスクリプトにPHPの新しいバージョンを追加して、互換性が確認できているか確かめられるようになっているかもしれませ

    BASE で使っているPHPフレームワークにプルリクエストを送ろうとしたら、先を越された話 - BASEプロダクトチームブログ
    yaakaito
    yaakaito 2018/12/05
  • 新任エンジニアリングマネージャ(私自身)を支えてくれた本と言葉 - BASE開発チームブログ

    この記事は、「BASE Advent Calendar 2018」の3日目の記事です。 devblog.thebase.in 前の日は id:yaakaito でした。Suggested change、便利ですよね。プルリクエストのレビューであまり重要ではないけれど気になる些細なコメントをするかどうか迷うというときに、悩まずにコメント代わりにパッチをサクッと送れるので、レビューに関わる人たちみんなが幸せになれるすごく良い機能だと思いました。ガンガン使っていきたいです! 3日目の今日は、エンジニアリングマネージャを担当している加賀谷が、「新任エンジニアリングマネージャ(私自身)を支えてくれたと言葉」と題して、いくつか紹介していきたいと思います。 駆け出しマネジャーの成長論 - 7つの挑戦課題を「科学」する https://www.amazon.co.jp/dp/4121504933/ 駆け

    新任エンジニアリングマネージャ(私自身)を支えてくれた本と言葉 - BASE開発チームブログ
    yaakaito
    yaakaito 2018/12/03
  • 君は GitHub の Suggested change を知っているか? - BASEプロダクトチームブログ

    これは「BASE Advent Calendar 2018」の2日目の記事です。 devblog.thebase.in Native Application Group の右京です。 ネットショップ作成サービス「BASE」では日々機能追加や改善の為、無数の Pull Request が作成され、レビューされています。今日はそんな中で知っているととっても便利な機能を紹介します。 レビューをしていたら typo をみつけてしまった... ありませんか?前後に真面目なレビューがあるとなんとなく指摘するのを躊躇してしまいますね...。シレッと修正するにも編集するなりブランチを切るなりして...はコンフリクトの可能性などもあり、コストが高く面倒ですよね。 そんなときはこれ、「Suggested change」です。 Incorporating feedback in your pull reques

    君は GitHub の Suggested change を知っているか? - BASEプロダクトチームブログ
    yaakaito
    yaakaito 2018/12/02
    書きました!!!!
  • Goを運用アプリケーションに導入する際のレイヤ構造模索の旅路 | Go Conference 2018 Autumn 発表レポート - BASE開発チームブログ

    お久しぶりです、BASEでサーバーサイドエンジニアをやっている、東口(@hgsgtk)です。BASE BANKというBASEの子会社にて金融事業の立ち上げを行っています。今回は、BASE BANKで行っているGo言語でのチーム開発について書こうと思います。 なお、このエントリーの内容について、2018年11月25日に開催されたGo Conference 2018 AutumnにてLT登壇してきました。 発表資料については次のURLで公開しています。 https://go-talks.appspot.com/github.com/higasgt/gocon-lt/architecture.slide#1 今回、LTをCFPで2つ提出して、偶然2つ採択いただいたので、併せてDocker開発環境の整備についても次のスライドで発表させていただきました。 https://go-talks.appsp

    Goを運用アプリケーションに導入する際のレイヤ構造模索の旅路 | Go Conference 2018 Autumn 発表レポート - BASE開発チームブログ
    yaakaito
    yaakaito 2018/11/26
  • 自作フレームワークをつくって学ぶ 仮想DOM実践入門

    昨今の代表的なJavaScriptフレームワーク(ReactVue.jsなど)には「仮想DOM(Virtual DOM)」という概念が採用されているので、フロントエンド界隈の人は一度は耳にしたことがあるだろう。ただ、仮想DOMについて学ぼうと検索してもヒットするのは「フレームワークの使い方」ばかり。踏み込んでいても概念の説明どまりで、仮想DOMがどのように実装されているか解説した記事はすくない。 ということで、当記事では理解を深めるために仮想DOMを使ったフレームワークを自作し、仮想DOMに入門する! そして、ReactVue.jsを単なるブラックボックスのフレームワークではなく、中身を理解して使えるようになることを、当記事の目標とする。 フレームワークが完成すると以下のようなWebアプリケーションがつくれるようになる。 TOC 記事が長くなりそうなのでも目次 そもそもDOMとは? D

    自作フレームワークをつくって学ぶ 仮想DOM実践入門
    yaakaito
    yaakaito 2018/11/20
  • Git(Hub)+CircleCI+Slack で実現する静的コンテンツ配信システム - BASE開発チームブログ

    BASEでエンジニアリングマネージャーを担当している加賀谷です。普段は採用に携わったり、1on1での経験学習の促進などを通じて、個人と組織のアウトプットが大きくなるようにサポートする仕事をしています。また、サービス開発に関わる体験を良くしていくこともしています。その中で今回は、静的コンテンツのCI/CDでしていることを紹介したいと思います。 静的コンテンツのホスティング 静的コンテンツは、サーバサイドでリクエストに応じてレスポンスする内容を作成しないデータです。主に、サイト内で使う画像、CSS、JS、ランディングページなどのHTMLファイルになります。これらのファイルはよく、AWSのS3に置いてホスティングして前段にはCDNを配置し、Webブラウザの同時接続数を考慮してサービスとは別のホストに分散したりしますが、BASEでもそうしています。 静的コンテンツ用のGitリポジトリを用意 CSS

    Git(Hub)+CircleCI+Slack で実現する静的コンテンツ配信システム - BASE開発チームブログ
    yaakaito
    yaakaito 2018/11/01
  • 機械学習にアノテーションを活用して、商品検索の関連キーワード機能を作る - BASE開発チームブログ

    DataStrategyの齋藤(@pigooosuke)です。 ネットショップ作成サービス「BASE」は60万店舗のショップが利用しており、ショッピングアプリ「BASE」のユーザーは、新着商品、キーワード検索、関連商品、商品特集などを介して気になる商品を見つけることができます。今回、新機能として、検索ワードに関連するキーワードを表示することで、ユーザーの興味のありそうな商品にたどり着ける動線を機械学習を活用して実装しました。 DataStrategyチームは発足して間もなく、サービスドメインに適応した単語辞書がなかったので、新規で作成するところから始まりました。機械学習におけるデータセットのアノテーションについての知見が共有される機会が少ない印象もあり、折角なので今回私達が行ったデータ作りから実装までの流れをご紹介します。 概要 今回、どんなキーワードも意味的に近ければ、サジェストしても良

    機械学習にアノテーションを活用して、商品検索の関連キーワード機能を作る - BASE開発チームブログ
    yaakaito
    yaakaito 2018/10/18
  • Yahoo!の近傍探索ツールNGTを使って類似商品APIをつくる - BASEプロダクトチームブログ

    はじめまして、BASEビール部部長の氏原です。BASEのData Strategy Groupで機械学習エンジニアをしています。 今回初登場ということで、暑いときにいいサワーエールのお話でも......といきたいところですが、ここは開発ブログということなので仕方ありません。開発のお話をしましょう。 現在私は商品の画像に基づいて、その商品に似た商品を類似商品として提示するAPIの開発を行なっています。今回はこのAPIYahoo!さんのNGT(Neighborhood Graph and Tree for Indexing)を使って作成したことについて書いてみようと思います。 背景 BASE株式会社はネットショップ作成サービス「BASE」を運営しています。ここで作成されたショップはそれぞれ別のWEBサイトとして公開されていますが、ショッピングアプリ「BASE」では作成されたショップを横断して

    Yahoo!の近傍探索ツールNGTを使って類似商品APIをつくる - BASEプロダクトチームブログ
    yaakaito
    yaakaito 2018/08/15
  • 「お母さんも使える」サービスはどう生まれているのか? BASEのデザイン思想 - BASEプロダクトチームブログ

    こんにちは、BASEのDesign Groupに所属している北村です。 現在は主にプラットフォームとアプリのデザインを担当しています。 BASEのデザインチームはここ数年で一気に人が増え、社内でも大所帯の部署へと成長しました。今回は、BASEのデザイナーが日々の開発でどんなことを行い、どんなことを考えているのかについてご紹介したいと思います。 1. BASEのデザイナーの役割 プロジェクトの共通認識を作る仕事 BASEでは仕様検討の段階からデザイナーが入り、プロジェクトの担当者と一緒に開発要件を詰めていきます。ときには箇条書きの要件書からワイヤーを起こし、UIアウトプットしていきます。画面デザインが先にあると、メンバー同士のコミュニケーションがスムーズになり、かつ他部署との認識合わせも円滑になるため、BASEの開発フローでは まずデザインありき という文化が浸透しています。また単純に、先

    「お母さんも使える」サービスはどう生まれているのか? BASEのデザイン思想 - BASEプロダクトチームブログ
    yaakaito
    yaakaito 2018/07/11
  • stylelintとBackstopJSで安全にcssを書ける環境を作った - BASEプロダクトチームブログ

    こんにちは。BASE で Design Group に所属している三佐和です。主に ネットショップ作成サービス「BASE」 のフロントエンドを担当しています。 背景 BASE のデザインチームはここ最近で人数が急激に増え、活動が活発になってきており、その中のプロジェクトの一つとして、現在スタイルガイドの刷新に取り組んでいます。 しかし、人数が増えていく一方で、コーディングのルールの統一をコードレビューや個人の裁量に任せていたり、マークアップからリリースするまでに時間がかかってしまうことが問題になってきていました。 そこで、新しいスタイルガイドでは、デザイナーやエンジニアの作業工数を短縮し、より効率よく開発を進めるために、コーディングルールの整備とリグレッションテストを導入することにしました! やったこと stylelint を使ってコーディングルールを管理 BackstopJS でテストを

    stylelintとBackstopJSで安全にcssを書ける環境を作った - BASEプロダクトチームブログ
    yaakaito
    yaakaito 2018/06/06
  • Embedded Frameworkを導入して、iOS アプリのビルドを爆速にした話 - BASEプロダクトチームブログ

    iOSエンジニアの大木です。 日々の開発で、ちょっとした微修正でメソッドを追加・削除すると、差分コンパイルが効かずビルド10分待ちとなり、開発効率の低下が問題となっていました。それを解決するためEmbedded Frameworkを導入したところ、差分ビルドが成功し1-2分になったというお話です。 私が入社したのは、2017年の2月でした。そして、アプリはもともとObjective-Cで書かれていて、Swiftコードの占める割合は10%以下だったようです。それから1年近くで、90%以上Swiftコードに置き換えました。 その時点で、ビルドにかかる時間の長さが目立つようになり、ちょっとした不具合の調査や微調整しているだけなのに10分近く待たなければいけないケースが目立つようになってきました。 問題としては以下の2つがありました。 1つのメソッドを追加しただけなのに、何故か10分近くかかるため

    Embedded Frameworkを導入して、iOS アプリのビルドを爆速にした話 - BASEプロダクトチームブログ
    yaakaito
    yaakaito 2018/05/09
    ウルトラ速くなりました
  • Redashを0から布教して社員全員に効果検証の文化を根付かせた話 - BASE開発チームブログ

    (BASEオフィス内の光景) 初めに こんにちは!BASEでBack-end Engineer Groupに所属している菊地陽介です! 今年度からBASEでは世のエンジニアに興味を持ってもらおうと、積極的に技術ブログを発信していこうという運びとなりました。記事を読んで少しでも興味を持って頂けましたらぜひ私までご連絡ください! さて、私はRedashエヴァンジェリストとしてRedashを社内に普及させましたので、その話について書こうと思います。「Redashって何?」、「Redashサーバってどうやって立てるの?」、「Redashの便利機能は?」などの疑問については先に素晴らしい記事がたくさんありますので、そちらを参考にされてください。 この記事では、Redashをどのように社内に普及させたのかということについて述べたいと思います。 背景 私がBASEに入社したのは、今からちょうど一年前の

    Redashを0から布教して社員全員に効果検証の文化を根付かせた話 - BASE開発チームブログ
    yaakaito
    yaakaito 2018/04/25
  • EarlGreyを使ってiOSのUIテストを自動で行う - BASEプロダクトチームブログ

    こんにちは。ショッピングアプリ「BASE」のiOSアプリを担当している竜口です。 背景:あの改修の効果測定用のログ、送られてる? ショッピングアプリ「BASE」内で、施策の効果測定やKPIの経過観察で様々なログを使用しているのですが、細かい改修などで特定のログが送られない事象があり、効果測定が出来ずに多部署の作業が止まるということがありました。 そこでアプリ(今回はiOSのみ)でログが正しく送られていることを保証するために、ログのテストをするようにしました。 全体の流れ 次のことをしました。 EarlGreyでUITestを実装 テストの中で送られるログをMockに保持 テスト完了後、Mockにあるログの有無を確認 テストをCircleCIで自動化 これで改修によるログの影響を保証出来るようになります!! 1. EarlGreyでUITestを実装 EarlGrey Referenceは、

    EarlGreyを使ってiOSのUIテストを自動で行う - BASEプロダクトチームブログ
    yaakaito
    yaakaito 2018/04/18
  • iOSで画像の任意の場所をぼかし処理する方法 | RE:ENGINES

    はじめに iOSで写真の任意の場所にぼかし処理をしたいケースがありましたので、 iOSでの画像加工処理を調べて実装してみました。 前提条件 Xcode 9.0 iOS 11 Simulator Swift 4.0 準備 まず初めにぼかし処理を行う画像とマスク画像を用意します。 上の写真がぼかし処理を行う画像で、下の画像がマスク画像です。 (マスク画像はぼかし処理を行う画像と同じサイズで、ぼかし処理を行う部分を白にそれ以外の部分を黒にします) 実装 ぼかし処理はCIFilterクラスを利用して行います。 処理の流れは下記の通りです。 元の画像をぼかした画像を作る ぼかした画像の余白部分をトリミングする 元の画像とぼかした画像を合成する ぼかし処理のイメージ画像 実際にぼかし処理を行うと下記のような画像になります。 (上が元々の画像、下がぼかし処理後の画像です) サンプルコード 今回のサンプル

    iOSで画像の任意の場所をぼかし処理する方法 | RE:ENGINES
    yaakaito
    yaakaito 2017/10/30