SmartNews Engineering Blog
フィード
iOSアプリのweeklyリリースを支える技術
SmartNews Engineering Blog
iOSチームの荒巻です。SmartNewsアプリは日米でユーザーが急成長し、チームも急激に拡大しています。そのような状況の中で昨年、Smar
4年前
特定の端末のみで起こる WebView プチフリーズを Tracing を利用して追った話
SmartNews Engineering Blog
こんにちは、スマートニュース株式会社の紀平です。 SmartNews のアプリ内では、最近 WebView を使った機能を多数公開しております。そのうちの一つにショッピングチャ
4年前
「Hadoop / Spark Conference Japan 2019」で登壇しました
SmartNews Engineering Blog
こんにちは、Data Engineer の廣瀬(@satoshihirose)です。 3月14日に、Hadoop / Spark Conference Japan 2019 にて、「Cloud-Nativeなデー
6年前
Akamai Enterprise Threat Protector (ETP) その続き
SmartNews Engineering Blog
こんにちは、Corporate Engineering Teamの和田です。 当社ではマルウェアやランサムウェアなどの対策として、Akamaiさんが提供する Enterprise Threat Protector (E
6年前
JJUG CCC 2018 Fall で弊社エンジニア 2 名が登壇しました
SmartNews Engineering Blog
スマートニュース株式会社の西尾と申します。 12/15(土)、ベルサール新宿グランドにてJJUG CCC 2018 Fallが開催されました。JJUG CCCは
6年前
「hbstudy#86 SRE大全:スマートニュース編」で登壇しました
SmartNews Engineering Blog
Site Reliability Engineering チームの Engineering Manager 尾形(@nobu666)です。12月6日に、株式会社ハートビーツ様主催の「hbstudy#86」にて、スマートニュースのS
6年前
Jamboardを導入しました
SmartNews Engineering Blog
こんにちは、コーポレートエンジニアリングの和田です。 日本でもようやく最近購入することが可能になった、Googleの電子ホワイトボード「Jam
6年前
スマホの画面で記事をよりよく読んでもらうために
SmartNews Engineering Blog
スマートニュース株式会社の小田秀匡(おだひでまさ)・田島将太(たじましょうた)・山口亜祐子(やまぐちあゆこ)です。 小田はサーバーサイドの開発
6年前
「眠れる森の美女」を起こすのは?
SmartNews Engineering Blog
こんにちは! スマートニュースで人事責任者をしている茅根(ちのね)と申します。コードも書けない自分が Engineering Blog に参加するのはとても恐縮してしまうとこ
6年前
Slack チャンネル招待ツールを作りました
SmartNews Engineering Blog
みなさまこんにちは、コーポレートエンジニアリングチームの和田です。 私たちコーポレートエンジニアリングチームは、社内ネットワークの管理やシステ
6年前
イカした福利厚生を紹介するよ!
SmartNews Engineering Blog
こんちは、たむたむです。 毎回本名なんだっけと言われますが、受付のシステムには本名のほかにハンドルネームが登録されているため、お客様が来ても戸
6年前
"ニュースメディアにおける広告技術" LINE Developer Meetupでの発表
SmartNews Engineering Blog
スマートニュース株式会社の西尾と申します。広告開発チームのエンジニアリングマネージャをやっています。もう一月前になってしまいましたが、201
6年前
スマートニュースにおける Incident との向き合い方
SmartNews Engineering Blog
はじめに Site Reliability Engineering チームの Engineering Manager 尾形(@nobu666)です。考えてみたら SRE チームに関してこの Blog でネタにしたことがなかったことに今更気づいてしまい
6年前
スマートニュースでは何故エンジニアがプロダクトマネージャーをやるのか
SmartNews Engineering Blog
自己紹介 はじめましてスマートニュースでプロダクトマネージャーをやっている前田です。元々はソフトウェアエンジニアとして働いてましたが現在は広告
6年前
スマートニュースにおけるプロダクトデザイナーの役割
SmartNews Engineering Blog
SmartNews とデザイン こんにちは。スマートニュース株式会社プロダクトデザイナーの山本興一です。 スマートニュースにデザイナーが存在するというイメージをお
7年前
【退職エントリー】ニュースとテクノロジー
SmartNews Engineering Blog
スマートニュースでプロダクトマネージャーをやっている西岡です。ついに、退職エントリーを書く日が来てしまいました。(※退職の詳細については後述
7年前
JJUG CCC 2018 Spring で弊社エンジニア 3 名が登壇しました
SmartNews Engineering Blog
スマートニュース株式会社の瀬良(@seratch) と申します。 5/26(土)、ベルサール新宿グランドにて JJUG CCC 2018 Spring が開催されました。JJUG CCC
7年前
社内勉強会 @ スマートニュース with 寿司
SmartNews Engineering Blog
こんにちは。スマートニュースの真幡です。 スマートニュースには海外カンファレンスへの参加をサポートする仕組みや、技術コミュニティへの会場提供を
7年前
ビデオ会議を円滑に進めるために試行錯誤しています
SmartNews Engineering Blog
Corporate Engineering Teamの須藤です。 今回はCorporate Engineering Teamの一つの業務である、IT設備についてお話させていただきたいと思います。 スマートニュ
7年前
社内で 2 年使ってきたコードを OSS として Maven Central に公開しました
SmartNews Engineering Blog
スマートニュース株式会社の瀬良(@seratch) と申します。 普段は VP of Engineering として、横断的な取り組みやエンジニアリング組織の課題解決、プロジェ
7年前
特定の話題に対するユーザーの感度について
SmartNews Engineering Blog
スマートニュース株式会社の小田秀匡(おだひでまさ)です。 この会社では 4 年間ほどサーバーサイドの開発とデータの分析に携わっています。 2018年
7年前
Akamai Enterprise Threat Protector (ETP) を導入しました
SmartNews Engineering Blog
みなさまはじめまして、社内ネットワークを管理している Corporate Engineering Team の和田と申します。 マルウェアやランサムウェア、フィッシングサイトなど、インターネッ
7年前
クーポンチャンネルのリリースに寄せて
SmartNews Engineering Blog
スマートニュース株式会社の共同創業者で、代表取締役社長を務めている浜本と申します。創業期には、SmartNewsアプリのサーバーサイド・クラ
7年前
SmartNewsのUSにおけるエンジニアリングについて
SmartNews Engineering Blog
こんにちは、スマートニュースの Naoki です。 スマートニュースの本社は渋谷にあるのですが、現在私はサンフランシスコにある US オフィスで勤務しています。
7年前
「iOS 11 Programming」刊行記念 Nightを開催しました
SmartNews Engineering Blog
スマートニュースでiOSアプリを担当している荒巻です。弊社にて「iOS 11 Programming」の刊行記念イベントを開催しました。
7年前
SmartNews のプッシュ通知配信が倍速になるまで
SmartNews Engineering Blog
みなさまはじめまして、スマートニュースの井口 (いのくち; @kainoque) です。 SmartNews におけるコンテンツ配信システムの開発を全般的に担当しています。 この記事では
7年前
Corporate Engineering Teamが発足しました
SmartNews Engineering Blog
Corporate Engineering Teamの須藤です。 スマートニュースにJoinしてまだ2ヶ月弱となりますが、この10月より発足した あまり耳馴染みのないCorporate
7年前
Bonfire iOS #3に登壇しました
SmartNews Engineering Blog
スマートニュースでiOSアプリを担当している荒巻です。11月20日に行われましたBonfire iOS #3に登壇しました。
7年前
Shibuya.apk #19 に会場提供と登壇をさせていただきました
SmartNews Engineering Blog
スマートニュースで Android アプリを担当している大橋と申します。先日、弊社のイベントスペースで Shibuya.apk #19 が開催され、私も登壇させていただきました。今回はイベントの様子のご報告と、私の発表で時間の都合で省いた部分について補足説明させていただきたいと思います。
7年前
Akamai Edge Conference 2017 in Las Vegas に参加してきました
SmartNews Engineering Blog
Site Reliability Engineering チームの Engineering Manager 尾形(@nobu666)です。10月11日から13日の 3日間、 Las Vegas で開催された Akamai Edge Conference 2017 に弊社の自主渡航奨励制度を利用して参加してきました。自主渡航奨励制度については後ほど説明させていただきます。
7年前
畳み込みニューラルネットを高速化するためのいろいろ
SmartNews Engineering Blog
こんにちは、スマートニュースの徳永です。深層学習業界はGANだとか深層強化学習だとかで盛り上がっていますが、今日は淡々と、畳み込みニューラル
8年前
最近のスパースなニューラルネットワークについて
SmartNews Engineering Blog
こんにちは、スマートニュースの徳永です。深層学習業界はGANだとか深層強化学習だとかで盛り上がっていますが、今日は淡々と、スパースなニューラ
8年前
一貫しない不合理な選択と不確実性との関係
SmartNews Engineering Blog
こんにちは。スマートニュースの高橋力矢です。弊社も含む多くの企業の内側では、短期の利得を重視した施策と、将来に大きな利益を生み出すと考えられ
8年前
たのしい競技プログラミング
SmartNews Engineering Blog
SmartNewsの荒巻です。入社したばかりですが、社内の勉強会「SmaTech」で競技プログラミングの楽しさを紹介しました。 このブログの他
8年前
科学者のあり方を変える帰納プログラミング
SmartNews Engineering Blog
こんにちは。スマートニュースの高橋力矢です。前回のブログでデータ分析+ゲーム理論を題材として、帰納と演繹をまとめる利点をお伝えしました。なん
8年前
高精度人工知能は帰納と演繹をまとめて「サボる」
SmartNews Engineering Blog
スマートニュースの高橋力矢です。去る3月5日(日)に、電気通信大学で開催されたゲーム理論ワークショップに出席しました。そこで機械学習とゲーム
8年前
ニューラルネットワークの量子化についての最近の研究の進展と、その重要性
SmartNews Engineering Blog
こんにちは、スマートニュースの徳永です。深層学習業界はGANだとか深層強化学習だとかで盛り上がっていますが、今日は淡々と、ニューラルネットワ
8年前
yoya-thumberのOSS公開に寄せて
SmartNews Engineering Blog
yoya-thumberとは SmartNewsは本日、yoya-thumberをOSSとして公開しました。yoya-thumberはSmar
8年前
裏側を大公開しちゃいました ~ SmartNews Ads 生誕1年祭 [SmartNews TechNight Vol.5] イベントレポート
SmartNews Engineering Blog
SmartNews Adsでプロダクト&開発責任者を努めております、渡部と申します。2016.01.14にSmartNewsの不定期技術イベントである
9年前
Karma + Coveralls で行う webpack プロジェクトのテスト
SmartNews Engineering Blog
はじめにみなさまはじめまして、SmartNews の井口(いのくち; @kainoque)と申します。主にサーバサイドおよび各種管理コンソールの開発を行っています。弊社における開発案件はネイティブアプリおよびそのバックエンドである各種 API サーバに関するものが大半です。一方で、社内・社外向けの各種管理画面については、Web フロントエンドに関する開発も行っています。今回は、フロントエンド開発の話題として、掲題のとおり、webpackプロジェクトのテストにまつわるあれこれをお話します。
9年前
データサイエンスとニュースパブリッシングの融合を目指して -- SmartNews Tech Night Vol.3
SmartNews Engineering Blog
スマートニュース株式会社でソフトウェアエンジニアをやっております、西尾と申します。自分はニュースアプリSmartNewsの配信記事を編成し、通知すべき記事を決定するアルゴリズムの開発をしています。ニュース記事の時事性・重要性・注目度などを自動的に評価するアルゴリズムを改良し、より良質な記事が配信されるようにすることが自分の役割です。現状のSmartNewsの記事編成は、専門性を持った人間による記事編成と比較してみるとまだまだ改善すべき点があり、これをいかに人間の結果に近づけ、そして越えていくか、ということに挑戦しています。弊社ではSmartNews Tech Nightという勉強会を定期的に開催しております。もう2ヶ月以上前となってしまいましたが、2015年8月11日に行われた第三回目の勉強会は、”Data Science for News”というサブタイトルを持たせてメディアとテクノロジーをテーマにして開催されました。僕はアルゴリズム改良のためのヒントを得るために会場の端で聴講していました。この時のメモを元に本イベントの内容をご紹介いたします。
9年前
幅広いユーザーをサポートするために
SmartNews Engineering Blog
SmartNews, IncでAndroidアプリを書いている森と申します。好きな魔法使いは心先輩とアダラパタです。ところで、僕が普段づかいしている携帯電話はIS03といいます。理由はレディ・ガガが宣伝していてかっこよかったのと、5年弱使っていてまだ壊れないからです。ですが搭載されているAndroid OSのアップデートは2.2.1(Froyo)で打ち止めとなり、使えるアプリも最近ずいぶん少なくなってしまいました。しばらく前にもさるアプリが、起動直後Playストアに強制遷移させて端末が対応していない旨を表示する機能専用になってしまいましたが、おもしろいのでそのまま放置してあります。
9年前
Itamae、Auto Scaling、CodeDeployを用いてdeployフローを刷新した話。そして板前をprovisioningした話。
SmartNews Engineering Blog
はじめにさだまさしといえばみなさんご存知の通り、デビュー40周年を超え、創りだされた楽曲は500曲以上、ソロコンサートの回数はゆうに4100回を超え、還暦を超えた今でも年間100回前後のコンサートを重ねる、現代歌謡界におけるレジェンド的な存在です。とはいえ40年の間さだまさしは常に同じ姿のまま過ごしてきた訳ではありません。たとえば、彼は声帯を痛めるなどの要因もあり今まで大きく分けて3回ほど発声方法を変えています。ここで詳述するといろいろ苦情が来そうなので短くまとめると、声帯を痛める毎に喉に負担がかからず体全体で声を出すような歌唱法に変えたため、今は昔のような高音で華麗な歌声ではないですが、オペラ歌手のような太くて堅牢な声になり、結果以前よりたくましく、還暦とは思えないペースで音楽活動を続けています。この例からも分かるように、コンサートという名の instance を継続的に provisioning し、楽曲というプログラムを deploy し続けるためには、その時々に応じて不断の努力と変化が必要となります。背景だいぶネタ振りに強引さがありましたが、ご了承ください。
9年前
PipelineDBをProductionに導入してみました。 How SmartNews Utilizes PipelineDB
SmartNews Engineering Blog
ENGLISH FOLLOWS BELOWこんにちは、たむたむ(@tamtam180)です。SmartNewsでは主に広告の配信サーバを書いています。最近、PipelineDBというContinuous Queryをサポートする製品を導入したのでそのレポートを書きます。なお、セットアップ方法は本家のサイトを見れば誰でも出来るので、そのあたりは割愛します。競合にあたる製品としては、NorikraやAzureのStream Analyticsがあり、日本のエンジニア界隈ではNorikraを好んで使用していると思います。
9年前
Lambda で Cache Invalidate を自動化する
SmartNews Engineering Blog
スマートニュース株式会社の尾形 (@nobu666) です。インフラ専任エンジニアが一人もいない弊社ですので、自分もインフラエンジニアと名乗らずに、飲酒系エンジニアとか言っておこうと思っております。さて、今回は軽めのネタをご紹介させていただこうと思います。弊社では全面的に AWS を採用しており、2015年6月に Lambda が Asia Pacific (Tokyo) のリージョンで利用可能になりましたので早速使ってみました。AWS Lambda の詳細については、製品ページをご覧ください。やりたいことAmazon CloudFront と Akamai Download Delivery を併用しています。その中でも、ニュース記事のサムネイル画像なんかは Amazon S3 を Origin にして画像の配信を行っています。あまりアグレッシブに Cache してしまうと画像の差し替えがあった時に困るのと、そもそも Cache Invalidate を管理画面から手動でやらなくてはならないため面倒です。Lambda が使えるようになったので、だったら S3 にファイルが上がった時点で勝手に Cache Invalidate するようにできれば、アグレッシブな Cache を行ってもいいし、人間が行う作業も減るし一石二鳥というわけです。やってみる入門ガイドが用意されているので、基本的にそれに従って準備を進めます。IAMロールの設定* は必要に応じて絞るなりなんなりしてください。
9年前
シリコンバレーでMeetupを主催し、SmartNewsのアルゴリズムをアピールしてきた!
SmartNews Engineering Blog
スマートニュースのデータサイエンス・マシンラーニングチームの中路といいます。機械学習や自然言語処理を使いながら、ニュース配信のアルゴリズムを開発しています。私たちは、昨年2014年の10月にSmartNews米国版をリリースし、その後もプロダクトの改善に力を注いできました。その努力の甲斐もあり、翌2015年1月にはアメリカにおけるMonthly Active Userが100万人を超えるなど、日本だけでなくアメリカにおいても、多くの方々にSmartNewsを使って頂けるようになりました。また2015年の2月には、インターナショナル版をリリースし、世界各国の方々にSmartNewsをお使いいただけるようになりました。とはいえ、まだまだこれから、です。もっと質の高いプロダクトを作り、さらに多くの方々に使い続けていただきたい。そのためには、やはり世界中の強力なメンバー、特に強力なエンジニアが必要です。
9年前
AWS Startup Tech MeetupでSparkについて話してきました
SmartNews Engineering Blog
こんにちは。スマートニュース のYuyang Lanです。広告プロダクトのエンジニアをしています。先日、AWSジャパンの篠原さん(@shinodogg)のお誘いでAWS Startup TechというMeetupに参加し、Apache SparkをEMRで運用してきた経験を簡単に紹介させていただきました。資料をSlideshareで公開しておりますので、ご興味のある方は是非お読みいただけると幸いです。
9年前
Developer 'Gotchas' in iOS 9
SmartNews Engineering Blog
WWDC 2015 introduced iOS 9 to the developer community. As is typical for Apple, this precedes a Fall 2015 introduction, likely tied directly to the release of the next iPhone. On their current tick-tock release schedule, that will be the iPhone 6S just as the 3, 4, and 5 before it.While Apple certainly released a large number of new APIs and enhancements, as well as WatchOS and Swift 2 going open source, most current development work is done on the iOS platform and so I’d like to look at some iOS 9 announcements that may have unexpected impact on the development community.iOS 9 Open BetaAs Apple did with OSX, they now follow suit on iOS. Traditionally Apple never released beta versions of software nor OS updates to the general public. In the past, a WWDC announcement of a new OS update would mean about a 5 month lead time to prepare applications for the release.
9年前
SaaSという巨人の肩の上に立つ
SmartNews Engineering Blog
こんにちは。スマートニュース株式会社の坂本 (@takus) です。6月26日に開催された「インフラ系 SaaS カジュアルトーク at IPROS」 という勉強会で、「Why and How SmartNews uses SaaS?」というテーマでお話をしてきました。今回は、その内容についてご紹介いたします。お話したこと
9年前
人間の心を読む機械学習 見かけの不合理性を超えたベイジアンな個人の行動規範とは
SmartNews Engineering Blog
スマートニュース、データサイエンス・マシンラーニングチームの高橋力矢と申します。記事選定や広告ターゲティングといった、高度な機械学習アルゴリズムを必要とする仕事全般に携わっています。記事や広告を選択する際には、 人の好みをアルゴリズムで予測する必要があります。本エントリーでは、機械学習と近年流行った行動経済学とをつなげる試みを通じて、人の好みや選択規範がどれだけ機械的に予測できるものかについて、ご紹介したいと思います。San Diegoの風にふれてMission BaySan Diegoは米国カリフォルニア州南部の、メキシコとの国境付近にあるリゾート地です。米国海軍の基地があることで有名ですが、La Jolla ShoreやMission Bayに代表される、マリンリゾート・マリンスポーツのメッカでもあります。加えて、University of California, San Diego (UCSD) という、認知科学と生物学では全米トップクラスの研究機関を擁しています。
10年前
Engineerのキャリアとしての”Product Manager”とは? 日本のスターエンジニアが語る4つの視点
SmartNews Engineering Blog
SmartNewsで広告プロダクト責任者をやっております、渡部と申します。 昨日(6⁄4)に「世界に羽ばたく!! Product Manager Night」と
10年前
SmartNews がデータサイエンスにおいて大事にしているポイントとは - AWS Summit Tokyo 2015
SmartNews Engineering Blog
はじめにスマートニュース株式会社 の小宮です。広告プロダクトのエンジニアをしています。先日の AWS Summit Tokyo 2015 で、同じく広告プロダクトのエンジニアである蘭とともに「SmartNews のデータサイエンティストの高速イテレーションを支える広告システム」というお話をしてきました。このエントリはそのご報告になります。今回の発表では「広告システム」と「iterative なデータサイエンスによる改善」をトピックとして、AWS の各種サービスを弊社の広告プロダクトでどのように活用しているのかについてお話させていただきました。特に、今回の発表では多く触れなかった「エモーショナル」な思い・考え方については、弊社の広告プロダクト責任者である渡部が 事前に 広げた風呂敷 投稿したエントリ に書いておりますので、こちらも合わせてお読みいただけると幸いです。
10年前
SmartNewsの広告システムにおける、データサイエンスへの取り組み方 ~ 空気を読まない高速Iteration ~
SmartNews Engineering Blog
SmartNewsで広告プロダクト責任者をやっております、渡部と申します。今回はSmartNews Adsのデータサイエンスへの取り組みをご紹介いたします
10年前
「身につけた技術は自分を裏切らない」SmartNews、GREE、CyberAgent、DeNAの重鎮が語ったSmartNews Tech Night Vol.2 レポート
SmartNews Engineering Blog
スマートニュースで広告プロダクト責任者を努めております、渡部と申します。2015.4.15にSmartNews Tech Night Vol.2を「クラウド事業者に就職する以外の インフラエンジニアの生きる道」と銘打ち開催いたしましたのでそのご報告です。
10年前
SmartNews の iOS 7 対応
SmartNews Engineering Blog
こんにちは。スマートニュース株式会社の町野です。9月18日の iOS 7 の登場から 1ヶ月半ほど経ちました。既に多くのアプリが iOS 7 に対応し、ユーザーの方たちも段々と iOS 7 に慣れてきたのではないでしょうか。そこで今回は、SmartNews での iOS 7 にまつわる話をご紹介しようと思います。
11年前
勉強会「第三回 物理と情報と幾何のインフォーマルかもな勉強会@スマートニュース株式会社」
SmartNews Engineering Blog
スマートニュース株式会社の西尾です。10月1日よりメンバーに加わった新入社員です。本記事のテーマは、先日弊社を会場として行われたセミナーです。弊社の新オフィスには40人程度収容可能なセミナー室があり、プロジェクターと壁一面のホワイトボードが備わっています。週末にはセミナー会場として提供し、交流の場として機能させたいと考えています。弊社が会場となった記念すべき第一回目のセミナーは、10月13日に行われた「第三回 物理と情報と幾何のインフォーマルかもな勉強会」でした。この勉強会は建築、物理、数学、情報の各分野の専門家の方々が各テーマを専門外の人にも分かりやすく紹介して下さるというものです。大学研究機関に職を持っておられる方々も参加されており、とても格式高い勉強会でした。また活発な議論があり雰囲気も良いものでした。私も会場スタッフとしてトークを興味深く拝聴させていただきました。以下にてこのセミナーの各トークについてご報告させて頂きます。私の能力不足が原因で、以下の報告は解説と呼べるほどのものにはほど遠く、間違いも含まれてしまっているかもしれません。不備などありましたらご指摘を頂きたいと思います。また主催者の深川さんのブログに資料がまとめられています。
11年前
Fluentd、Amazon RedshiftとTableauを用いたカジュアルなデータ可視化
SmartNews Engineering Blog
ゴクロ改め、スマートニュース株式会社の大平です。巷間では「bigdata」の活用が叫ばれて久しいですが、弊社はまだまだ小さい規模のスタートアップのため少なくともデータサイズとしてhugeなdataの活用が行える環境ではありません。であればデータの活用に対する要求が低いか、というとそうでも無く、サービスサイドでも自然言語処理や機械学習を中心としたデータ解析処理がサービスの生命線となっていますし、サービスの裏側でも戦略を立てる上で効果測定や諸々のデータの分析は非常に重要な位置を占めています。本記事では主にサービスの裏側で求められるデータ解析において、いかにカジュアルにデータを解析するか、の一例として、掲題のような組み合わせによるデータ可視化の事例を簡単にですがご紹介したいと思います。
11年前
FluentdとRedisを使ったランキング機能の実装
SmartNews Engineering Blog
ゴクロの大平です。ごくろうさまです。Redisは高速で、かつデータの永続化や、複数のデータ型によるストア(list,set,sorted set等)も対応しており、機能的が豊富ということから愛用者の多いKVS実装の一つだと思います。特に私のようなアプリケーションエンジニアの人間にとってはデータ型のバリエーションの豊富さが便利さを感じる部分で、たとえばlistを用いてタイムライン的な情報や履歴情報の管理、sorted setを用いてランキング情報の管理、などのようにアプリケーションの需要の多くにRedisが対応することができます。これらの情報を登録する際のフローとしては自作のアプリケーションから直接、というケースが多いと思いますが、せっかくFluentdのような便利なlog collector実装があるので、FluentdとRedisを組み合わせる事でカジュアルに情報の蓄積を行いたい……というのが本記事執筆の背景です。なお、本記事のタイトルは、からあげ方面で大変著名なささたつさん(@sasata299)のスライドにインスパイアされております。Redisを使ったランキング機能の実装
11年前
iOS な人が Android アプリを開発するときに気をつけたいこと
SmartNews Engineering Blog
Android の次期バージョン 4.4 の名称が《KitKat》だと発表されました。Android は歴代のバージョンに「アルファベット順のお菓子の名前」を付けていることで有名ですが、今回まさかの企業コラボ。「K」は「Key Lime Pie」になるだろうと言われていたのに、さすがの斜め上です。。着実に進化を続け、いまやスマートフォンの世界シェアの8割近くを占める[1]ようになった Android ですが、多くのサービスは依然として「iOS ファースト」で開発している[2]ように思います。かくいう SmartNews も、まず iOS版から始まり、Android版が出たのはその数ヶ月後でした。そういった場合、「iOS を出して、それがうまくいったら、Android にそのまま移植すればいい」というよう考え方をしてしまいがちなのですが、それでは多くの場合よいものになりません。どうしても「iOS 的な Android アプリ」になってしまいます。この記事では、SmartNews での経験もふまえて、iOS はよく知ってるけれど Android のことは正直よく知らない人が、Android アプリケーションを設計するときに気をつけるとよいと思われる点をいくつか紹介したいと思います。
11年前
S3とFluentdを用いた効率的なログ管理
SmartNews Engineering Blog
ゴクロの大平です。私にとって一番大事で替えの効かないミュージシャンはさだまさしさんですが、私にとってクラウドコンピューティングのサービスの中で一番大事で替えが効かないサービスはS3です。多種多様なAPIを用いて柔軟にファイルの操作が出来る事や、”99.999999999%”と謳われている高い耐障害性、S3にあるデータをElastic MapReduceやRedshiftなどを用いて手軽にデータ解析を行える基盤が提供されていることなど、あまりに便利すぎてS3の代替となるサービスを探しだすのが難しい状態です。もちろん多くのAWSユーザーが同じようにS3の便利さを享受していると思いますし、インターネット上でも多くのブログ等でその魅力が語られています。その中で本記事は既に存在する記事と似たような内容を書いてしまうかもしれませんが、弊社なりのS3の使い方についてご紹介したいと思います。なお、S3は、”Simple Storage Service”の略称で、”Sadamasashi さん”の略称ではありませんので、くれぐれもお間違えの無きようご注意下さい。
11年前
Latent Dirichlet Allocation(LDA)を用いたニュース記事の分類
SmartNews Engineering Blog
株式会社ゴクロの中路です。以前のベイズ分類をベースにしたSmartNewsのチャンネル判定で触れたように、SmartNewsで配信する記事を「スポーツ」「エンタメ」「コラム」のようなチャンネルに分類しているのは、人ではなく機械です。そのアルゴリズムとして前回ご紹介したのは「ナイーブベイズ分類器」ですが、記事の分類を行う手法は、他にも様々なものがあります。その中で今回はLatent Dirichlet Allocation(以下LDA)について、先日東京大学の博士課程の皆さんと、社内で合同勉強会を行った際に作成した資料をベースにご紹介します。
11年前
b-Bit MinHashによる高速かつ省スペースな類似度判定
SmartNews Engineering Blog
ゴクロの浜本です。ネットカフェでコードを書くのが好きです。前回のエントリーでも触れられていますが、SmartNewsはホットな話題をユーザにお届けするために、常時、膨大な数のツイートおよびURLをクロールしています。こうして収集した記事に対し、様々な分析が施されますが、その中でも重要な処理の1つに、記事の類似度判定があります。内容の似通った記事をインデックスから発見し、グループ化する処理です。毎秒、大量の新着記事が到着することから、この類似度判定は高速に実行する必要があります。また、インデックスを全てメモリに載せているので、類似度判定を実現する際の空間効率も要求されます。今回は、SmartNewsが高速かつ省スペースな類似度判定のために使用しているb-Bit MinHashと呼ばれる手法を紹介します。2年前に、PFIの岡野原さんが非常に分かりやすい解説記事を書かれており、本エントリーはこの記事を参考にさせていただきました。
11年前
軽量なTime-based ID生成器”shakeflake(仮称)”について
SmartNews Engineering Blog
大平です。今回はさだまさしネタは特に無しです。先日、サービスのクローラーで使用しているID生成器について置き換えを行いました。非常に地味な話になりますが、本記事ではその辺の内幕の話をしたいと思います。
11年前
アプリ開発者がおさえておきたい《アフォーダンス》の概念
SmartNews Engineering Blog
突然ですが、ちょっとしたクイズです。下の文章の中にはリンクが1つあるのですが、それはどこにあるでしょうか?あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波。どうでしょう。思ったところがリンクではなく、なかなか本当のリンクを見つけることができなかったかと思います。もちろん、普通はこんなおかしな表現はせずに、次のように表現するでしょう。あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波。これらのことは《アフォーダンス》という言葉を使って次のように表すことができます。 最初の文章 : リンクのアフォーダンスを正しく認識できない例 次の文章 : リンクのアフォーダンスを正しく認識できる例この記事では、iOS / Android アプリ開発においても重要な考え方の1つとなっている、アフォーダンスという概念をお話ししたいと思います。
11年前
ベイズ分類をベースにしたSmartNewsのチャンネル判定
SmartNews Engineering Blog
株式会社ゴクロの中路です。普段は機械学習の手法を用いたアルゴリズム改善など、サーバーサイドの開発を行っています。SmartNewsでは様々なニュース記事を「エンタメ」「スポーツ」「グルメ」などのチャンネルに分けて表示しています。そのようなことを可能にするためには、ニュース記事がどのチャンネルに属するのかを判断する必要があるわけですが、それを行っているのは人ではありません。機械が、アルゴリズムに基づいて、自動的に行っています。今回のエントリーでは、その「自動的にチャンネルに分類する仕組み」について書こうと思います。
11年前
AppCodeでObjective-Cの開発効率をより高く!コード周りの主要機能をXcodeと徹底比較
SmartNews Engineering Blog
株式会社ゴクロの浜本です。SmartNewsでは、主にサーバサイドのURL収集およびインデクシング部分と、iOSアプリの開発を担当しています。このエントリーでは、私が好きなIDEの1つで、Objective-Cによる開発効率を大幅に高めてくれると感じているAppCodeについて、Xcodeとの機能比較表を作ってみました。XcodeやAppCodeの真価を引き出す上で、個人的に最重要レベルと位置付けているコマンドとショートカットキーを厳選して表にしたので(厳選という割には結構なボリュームになってしまいましたが)、チートシート的なチェックリストとしても活用していただけると思います。
11年前
chef + fabricを用いたクラウドサービス管理
SmartNews Engineering Blog
ゴクロの大平と申します。はじめまして。4月からjoinさせていただいた、特に特記事項の無い平凡なプログラマです。さだまさしが好きです。SmartNews開発者ブログをご覧になる方々は、サービスの裏側で動作するクローラーや多種多様な機械学習のロジックであったり、フロントエンドのUIの話であったり、サービス固有の話に興味が有る方が多いと存じますが、都合上(原稿の担当順番の都合上)、今回は一般的な話をさせていただきます。※先掲の話題については次回以降取り上げられますので、お楽しみに。一般的な話題とはいえ、大企業とスタートアップでは取り巻く環境や解決すべき課題も異なっていますので、その辺もあわせてお伝え出来ればなと思います。なお、今回のテーマは、サーバー/ミドルウェアの構成管理ツールとして最近有名になってきた「chef」と「fabric」です。かなり長文のエントリーになってしまい恐縮ですが、ご了承ください。
11年前
SmartNews開発者ブログを始めます
SmartNews Engineering Blog
株式会社ゴクロの浜本です。このブログでは、弊社が提供するニュースアプリ「SmartNews」の技術背景をお伝えしたいと思っています。SmartNewsのミッションは、「世界中の良質な情報を必要な人に送り届ける」ことです。私は、2010年頃に個人的趣味でTwitterのクローラを実装し、自宅サーバで動かしていました。ある日、ツイートに含まれるURLが解析対象として興味深いことに気付き、URLも合わせてクロールするようになりました。インターネットユーザひとりひとりのURLへの言及を集約し、民主化された情報配信の仕組みを作れないかと考えました。
12年前
発表資料ページ
SmartNews Engineering Blog
Android 8.0のPush受信時のサービス起動について 如何に “データが壊れない” 管理画面を作るか - 管理画面開発の裏側 収益を支える中規模アプリケーショ
12年前