This domain may be for sale!
(募集はダミーデータです) (参考: ドキュメント登録の流れについては Elasticsearch 入門 を参照すると良いです。) Analyzer 上記のデータを実際に入れる前に、index の作成と analyzer の設定をします。 以下のコマンドを実行することで analyzer の設定ができます。 下記で説明して行きます。 curl -XPUT 'http://localhost:9200/wantedly-demo' -d \ '{ "settings": { "analysis": { "filter": { "pos_filter": { "type": "kuromoji_part_of_speech", "stoptags": [ "助詞-格助詞-一般", "助詞-終助詞" ] }, "greek_lowercase_filter": { "type": "lowerc
> 原文(Why MongoDB is a bad choice for storing our scraped data) 私自身はMongoDBを推進する立場なのだが、確かにMongoDBに適さないケースはある。 闇雲に推進しても結局は全員がアンハッピーになるので、この様なネタもどんどん紹介していこうと思う。 この記事はMongoDBを徹底的に使い尽くしたエンジニアが書いている様で状況が良く解った。 ちょっと難しい所もあるので要点を意訳して、軽く解説を書いてみる。 (もちろん是非原文で読むのをお勧めする) 状況 最初はMongoDBでうまく動いていたが、だんだん苦労が増えてきて 元々のアーキテクチャを刷新するタイミングでMongoDBから別のプロダクトに乗り換える事にした。 システムの規模 詳しく書かれていないが、1ノード辺り数TBとあるのでSharding環境ではないかと思われる。
はじめまして。開発部じゃない加藤和良です。 最近、mixi では Buildbot をつかった継続的インテグレーションをはじめています。安定版の mixi のソースコードにコミットすると Buildbot がそれを検知し、自動的にテストが走るようになりました。 ここでの「テスト」は Test::Simple や prove(1) をつかった、Perl でかかれた開発者テストを指しています。mixi の開発者テストをとりまく環境は、ここ数年でかなり改善されました。今回はその歩みをふりかえりながら、テストの無いコードベースをどこからどうやって変えていったかという話をしたいと思います。 開発環境 はじめに、前提となる mixi の開発環境について説明します。mixi では複数人の開発者がひとつのマシンで作業を行います。それぞれの開発者は、あらかじめ割り当てられたポートで Apache を起動し、
こんにちは、開発チームのアーキテクトをやっている竹野(@Altech)です。先日、新人研修でソフトウェアの設計について話す機会がありました。 ソフトウェアの設計というのは関連する領域が広いため、どうしても断片的な理解になりがちです。そこで、早い段階で全体像を感じてもらうために、ソフトウェア設計の Why と How と What を1時間でまとめて話すというちょっと意欲的なコンセプトで研修を行いました。今回は、その内容を記事にしました。 この研修のねらいはじめにソフトウェアの設計について書かれた情報は世の中に多いですが、その情報の多くは How であり、それだけを読んで適切に使うことが難しいと感じています。その直接的な理由は、How に対しての What、How / What に対しての Why が語られることが少ないからです。 ただ、How だけを知っていると、それは本当に問題を解決して
こんにちは!エンジニアの川崎です。 先週行われた Consumer Service Engineer MeetUp Vol.1 ~iOS編~ というイベントで「WantedlyではどうやってiOSアプリ開発しているのか」というテーマで発表してきました。 僕自身の普段の担当は、全体の設計やサーバ側の開発、プロジェクト進行あたりなので、 今回はWantedlyでiOSアプリを「プロトタイピング」し「開発」そして「テスト」するまでで使ってるツール・取り組みをざっくり紹介させていただきました。 意外とこの手の話をする機会はいままでなかったので、 現在開発中のアプリも含め、今現在うちでは何をどうやっているのかまとめられてよかったかなと思います。 以下、発表で紹介したURLなどです。 プロトタイピング ホワイトボードでアイデアだし moqupsでモックアップ作成 Popを使って実機でプロトタイプを触っ
2016.05.27 「モノづくりのAmazon」こと、工具ならなんでもあるモノタロウの倉庫がマジでスゴい件 こんにちは。ヨッピーです。 「 イケてるネット企業 があるらしい」という噂を聞いて、本日は 兵庫県の尼崎市 に来ております。 「尼崎市」というとダウンタウンの出身地であることや、兵庫県なのに市外局番が大阪と同じ「06」ではじまること、また神戸を擁する兵庫県の「品の良い感じ」とは異なりガラの悪い……もとい「下町感」あふれることから、地元住民が「大阪市尼崎区」などと自虐的に笑い飛ばしたりもしています。 そんな尼崎市に、イケてるネット企業があるって本当!? さっそく突撃じゃ~~~~~! そんなわけでこちら! モノタロウさんの本社にやってきました! 工具通販 MonotaRO(モノタロウ) https://www.monotaro.com/ モノタロウさんを知らない方のために説明をして
Developers Summit 2020に登壇 こんにちは! 塩谷啓(@kwappa)と申します。ヘイ株式会社(2022年10月よりSTORES 株式会社)のエンジニアリング室という部署で、マネージャーをしています。 エンジニアとしてのキャリアを家庭用ゲームソフトの開発からスタートし、SESや受託開発を経て、いくつかのWebサービスの会社で働いてきました。2011年ごろから、エンジニアリングと並行して採用の仕事も担当するようになり、現在ではマネジメントとメタエンジニアリングを主な業務領域としています。 並の腕前のエンジニアが発見した新しい適性 ごく平凡なエンジニアであることの焦燥感 突然の採用担当 メタエンジニアリングのめざめ 技術広報・採用・組織開発でそれぞれ何をするのか? 技術広報 ─ アウトプットを実現して社外から信頼を得る 採用 ─ 公開情報のメンテナンスと選考プロセスの整備
こんにちは。システム本部技術部たんぽぽGの森本です 先日のmixi大規模障害についてのブログです。 はじめにお断りしておきますが、弊社CTOがtwitterで公開した以上の情報はまだ得られておりません。 twitterでは書ききれなかった細部を補足してみたいと思います 現状判明しているのは以下の点です memcachedに大量の接続・切断を行うとmemcachedプロセスが突然終了することがある memcachedには異常時に終了するフローもあるが、同時に出力されるはずのエラーログは出ていなかった coreも出力されていなかった テスト環境にて追試を行ったところ、なんどか再現させることができましたが、確実に発生する条件は未だ不明です。 障害時の memcachedのバージョンは1.4.4, libeventのバージョンは1.3bです memcached の起動オプションは以下のとおり ./
Living as engineer
はじめまして。Shougo(@ShougoMatsu) という者です。私は現在、日中ソフトウェアエンジニアとして働く傍ら、GitHub Sponsorsで支援を頂いてテキストエディタ(Vim、neovim)本体を改善する活動やテキストエディタプラグイン開発を行っています。 今回「自分自身のキャリアを振り返り、スキルを向上させるために取り組んできたこと」について解説してほしいという依頼がありました。自分がプラグイン開発を始めてから、もう15年という長い月日が経っていて、世間ではテキストエディタの大ベテランと思われているようです。もうそこまで来てしまったのかと思うと同時に、時間さえかければ誰でもここに到達できると私は考えています。 私をはじめ誰しも最初は初心者です。右も左も分からない状態から始まるのです。私の経験が「自分はこれからどうすればよいのか分からない」「何か強みを持ちたい」と思っている
YAMLは「便利なJSON」として使われることが多い一方、その複雑性から落とし穴も多く、しばしば批判の対象になります。 なぜYAMLはそこまで複雑なのでしょうか? その背景のひとつは、本来のYAMLがJSONとは大きく異なる目的意識で作られているからです。 本稿ではYAML specに従う形でYAMLのコンセプトを解説することを目指します。残念ながら、ここに書かれているYAMLの思想は実際には実用されているとは言い難いですし、これらの背景を理解しても「YAMLは複雑だ」という事実がひっくり返ることはないでしょう。それでも、YAMLの複雑さの源泉を体系的に理解し、YAMLとほどほどの距離感で付き合う助けにはなるのではないかと思います。 この記事ではこういう話をしますYAMLはJSONとは独立に、異なる目的で生まれた野心的な仕様であるアンカーやタグなどの強力な構文は、これらの目的を満たすために
小西秀和です。 私は2020年5月に当時12個あったAWS認定をすべて取得していたことで、2020 APN ALL AWS Certifications Engineerと2020 APN AWS Top Engineerに選出していただくことができました。 ※この記事の投稿後、2021、2022、2023年のJapan AWS All Certifications Engineer(旧称:APN ALL AWS Certifications Engineer)、Japan AWS Top Engineer (Services)(旧称:APN AWS Top Engineer)にも選出していただけました。 その後も再認定やバージョンアップされた新規認定を取得し、2022年4月末時点で受験できる12個と廃止されたが有効期限のある2個の合計14個のAWS認定を保有しており、今後も再認定と新規認
コンテンツへスキップ ナビゲーションに移動 PHPerKaigi2024に参加してきました。新着!!2024/03/15yutaka.sashima Conference こんにちは。開発企画部の佐島です。 2024年3月7日から9日にかけて中野セントラルパークにて開催されたPHPerKaigi 2024に現地参加してきました。 グリーからは筆者以外に5名のエンジニアが現地参加しています。 […] InfoMySQL 8.3.0 で --character-set-client-handshake が削除された件について ~ go-sql-driver/mysqlとmysqlndを添えて ~2024/03/06sejima MySQLPHP こんにちわ。せじまです。 相変わらずPHPよくわかんないんですが、今日もPHPの話をします。あと、goの話もちょっとだけします。書いてるうちに少し長文
こんにちは。新しもの好きが集まる運用部アプリ運用グループの清水です。 前回の記事では、多くの反響をいただきました。ありがとうございます。 Twitterや、はてブのほとんどのコメントを読ませていただきました。 みなさんのOSの宗派が垣間見えた気がします。 さまざまなコメントをいただいていた中で、よくある代表的なコメントについて、改めてこの場を借りてお答えしたいと思います。 2012年12月28日追記: 以下のQAにつきまして、いわゆる"ネタ"として書きましたが、誤解を招き、不適切な表現で不快な思いをされた方々へ深くお詫び申し上げます。 また、QAの一部に関わるところですが、OS標準のパッケージを否定するつもりは全くございません。 Linuxを安心して使うことができるのは、Linuxディストリビューションに携わっているデベロッパーの方々の素晴らしい活動や成果によるもの、というのが揺るぎない事
こんにちは、運用部 アプリ運用グループの清水です。モンスト仲間募集中です。 以前、Fedora 8からFedora 17への移行のお話を書きました。Fedora 17ではsystemdがデフォルトで使われています。そのsystemdを本番環境で運用して1年以上が経ち、様々な経験をしてきました。systemdの環境で知っておくと役に立つと思われることについていくつか紹介したいと思います。 まずは、systemdの概要について簡単に紹介します。 systemdの概要と歴史 systemdは、従来のSysVinit/Upstartに代わるもので、Linuxサーバの起動時に初期設定やサービス起動をおこなうことにとどまらず、プロセスやリソースなど様々な管理をおこなうデーモンです。 Fedora 14の頃(2010年11月リリース)にTechnology Previewとして提供され、Fedora 1
はじめまして。コミュニケーションサービス開発部の澤と申します。コーヒーとカレーをこよなく愛する新卒2年目の新米エンジニアで、弊社Webのフロントエンドを主に担当しています。最近はmixiスマートフォン版(mixi Touch)の開発にも精力的に取り組んでいます。 さて、本日はPC版のmixiで1つの機能をリリースいたしました。ファイルをWebブラウザにドラッグ&ドロップするだけで写真をmixiフォトにアップロードできるもので、HTML5 File API※1を採用しています。本記事ではこの機能について色々とお話をしたいと思います。 なにこれ? 以下では、ドラッグ&ドロップによるアップロード機能を「本機能」と呼びます。 百聞は一見にしかずです。本機能のプロモーションムービーがありますので、まずはこちらをご覧ください。 動画では下記を説明しています。 従来のアップロード方法からドラッグ&ドロッ
梅雨。部屋干しした洗濯物による異臭騒ぎに苦しむmikioです。今回は、Tokyo Cabinetのテーブルデータベースで超お手軽に全文検索をする方法について説明します。 使い方 テーブルデータベースについてまずおさらいしておきましょう。PerlやRubyのハッシュのようにコラム名とその値を関連づけた構造を、主キーを識別子として保存するデータベースです。例えばRubyからデータを保存するに以下のように行います。データベースであることをほとんど意識させないというのが素敵ポイントです。APIはCでもPerlでもRubyでもほとんど同じなので、言語にかかわらず同じようにレコードを操作できます。 require 'tokyocabinet' include TokyoCabinet # データベースを開く tdb = TDB::new tdb.open("casket", TDB::OWRITER
日本におけるテスト駆動開発の著名人といえば誰か? この問いを投げかけられたとき、多くのエンジニアが思い浮かべる人物がいます。ITコンサルタント・ソフトウェアエンジニアの和田卓人(@t_wada)さんです。和田さんは日本のテスト駆動開発の第一人者として、長年、この分野の実践や講演・執筆などの普及活動を続けてきました。 こう書くと、読者のなかには「和田さんはもともとテストが好きだったから、テスト駆動開発の第一人者になれたのでは」と思われた方もいるかもしれません。しかし、その答えはNOです。むしろ和田さんは、テストが嫌いなエンジニアだったといいます。ある出来事をきっかけとして、嫌いだったテストを好きになれる方法を見つけたのです。 読者の方々にも「自分には○○なんて向いていない」という印象を抱いている技術領域があるかもしれません。ですが、そんな領域にこそ、あなたの新たな可能性が詰まっているかもしれ
こんにちは。システム本部技術部たんぽぽGの森本です 補足を追記しました (2010/08/20 15時) 先日のmixi大規模障害についての続報です 今回は小ネタはありません はじめに まず初めにtwitter/blogなどを通じて今回の問題の解析を行っていただいたみなさんに感謝の言葉を捧げたいと思います kzk_moverさん stanakaさん mala(bulkneets)さん llameradaさん (順不同) ありがとうございました 書き漏らした人ごめんなさい memcachedはすごい 今回の件でmemcachedに対して不安感を持たれた方もおられるとお聞きしました 説明不足だったせいで誤解を与えてしまい申し訳ありません きちんと設定および監視を行っていれば通常の使用にはまったく問題はありません 弊社にて -c 30万で起動したmemcachedに対して、先のテストスクリプトに
新しいキャリアパスとして注目を集めている「Individual Contributor(以下IC)」。ファインディでは、現役ICとして活躍している藤さんと松木さんを招いて「IC(Individual Contributor)として活躍するエンジニアキャリアの今」と題したイベントを4月14日(火)に開催しました。 IC (Individual Contributor)とは? ソフトウェア開発をメインとした職業で、チームや人のマネジメントをしない技術の専門職。 お二人はICを「開発がメインの仕事」だと説明した上で、日本でも今後増えていくだろうと予想。また、今後のキャリアについては、藤さんが「ICを続けていく」と話す一方で、松木さんは「マネジメントに転向する可能性もある」と言います。 キャリアに関する考え方が異なるお二人がICを選んだ背景には、「技術を極めたい」という強い思いがありました。 パネ
サボっていた早朝ジョギング@駒沢公園を再開して2週間たち、やっと抜かれる数より抜く数の方が増えてきたmikioです。今回は、PerlやRubyのハッシュの代用としてTokyo Cabinetを使うことでメモリ使用量を激減させられることを説明します。 抽象データベースAPI Tokyo Cabinetには抽象データベースという機構があり、先日、そのPerlとRubyのバインディングをリリースしました。それを使うと、各種言語のハッシュとほぼ同じような共通したインターフェイスで、以下のデータ構造を利用することができます。 オンメモリハッシュ:各種言語に標準のハッシュと同じく、メモリ上でkey/valueの関係を表現する。 オンメモリツリー:メモリ上の二分探索木としてkey/valueの関係を表現する。 ファイルハッシュ:いわゆるDBMとして、ファイル上でkey/valueの関係を表現する。 ファ
初めましてこんにちは。ソーシャルクライアント開発の tanabe と申します。 今回は?Sinon.JS を使った JavaScript のテスト方法を紹介したいと思います。 Sinon.JS って何? Sinon.JS はノルウェーのエンジニア Christian Johansen さんが書かれた、JavaScript 用のライブラリです。スタブやモック、フェイクオブジェクトの提供に特化していて、QUnit などのテスト用のフレームワークや実行環境に依存しない所が特徴です。Christian Johansen さんは?Test-Driven JavaScript Development の著者でもあり、こちらは近々翻訳版 が登場するようです。 では早速、Sinon.JS を使ったテスト手法をご紹介していきたいと思います。本稿ではテストフレームワークは QUnit を採用しています。 時間
オープンセミナー2020@広島の登壇資料です。 ■オープンセミナー2020@広島 https://osh.connpass.com/event/146828/ ■参考資料 - https://soudai.hatenablog.com/entry/2017/10/16/024308 - https://soudai.hatenablog.com/entry/2017/07/24/100114 - https://speakerdeck.com/twada/worse-is-better-understanding-the-spiral-of-technologies-2019-edition - https://soudai.hatenablog.com/entry/2018/02/09/131638 - https://soudai.hatenablog.com/entry/2017/0
こんにちは。mattn(@mattn_jp)です。一部の方はご存じかもしれませんが、僕は普段あまり皆さんの前に登場することはありません。どちらかというとお堅いSI業で仕事をしています。社会人になってから今まで一度も、Web業界と呼ばれるB2C(Business to Customer)な職種に転職したこともありません。 ですが、今ではOSS(オープンソースソフトウェア)を通して、多くのエンジニアと友達になり、カンファレンス等で何度かお話しする機会をいただくまでになりました。この記事では、OSSに縁遠いはずの僕が、いかにしてOSSと出会い、そして多くの方たちと知り合うチャンスを得たのかをご紹介したいと思います。 オープンソースとの出会いはVim 日本のVimコミュニティを作る VimConfで作者Bram Moolenaarと握手 Vimから得られたチャンスや出会い GoコミュニティからGo
平成も残るところわずかとなりましたね。 ティム・バーナーズ=リーによって、WWWの原型が生み出されたのが平成元年(1989年)なんですよね。 そんなことをエンジニア達で話していて、せっかくなので平成に登場した情報技術を時系列にしてまとめる自由研究をしてみることにしました 。 「自分の生まれ年になにができたのか」 「こんな技術もあったなあ」など思いを馳せていただければ幸いです。 ※ スマホなどでは見にくいかと思いますので、画像版やPDF版などもお試しください。 ※ 片手間でまとめたので、「年が間違ってる」「ロゴがおかしい」などあるかと思いますがご容赦ください。 【追記 2019-04-27】 たくさんコメントありがとうございます! 皆さんそれぞれ平成を思い返していただけたようでとても嬉しく思います。 思い入れのある技術が入っていない、誤りがあるなどのお声も頂いているので、再度調べまして反映さ
マネジメント職に就くまで マネジメント職に就いてから 最初に取り組んだマネジメント施策 エンジニア評価制度の制定 全社規模の技術投資計画の策定 計画を実行する組織の新設 「選択」後に感じたギャップ 抽象的な理解のギャップ やりたいこととスキルのギャップ ギャップにどう処したのか マネジメント職の「選択」に必要となるスキルとは おわりに ─ 「やらない」という選択肢はなかった こんにちは、栗林健太郎です。人々からは「あんちぽくん」と呼ばれています。皆様も是非、そのようにお声がけくださると幸いです。 わたくしは現在、GMOペパボ株式会社(以下、GMOペパボ)で取締役CTOを務めています。会社全体としてこれから実現するべきビジョンや方向性を示し、その実行を中心的に担うエンジニアリングおよびデザイン組織を管掌しています。また、セキュリティ事業や鹿児島拠点の立ち上げなど、新しい取り組みを行うチームを
スマートニュース株式会社でエンジニアリングマネージャを務める天野仁史(@amachang)さんは、15年ほど前にWebフロントエンドのエンジニアとしてブログやカンファレンスでのアウトプットを精力的に行ってきました。一方で、その後には友人とカクテル株式会社を立ち上げ、10年にわたるベンチャー経営も経験しています。エンジニアから経営者に転じたことで見えたこと、そして現在また企業に属してマネージャーを務める上で重要だと考えていることなどを聞きました。 「この技術がすごい」という考え方からの脱却 世界を変えるのは、技術か? ベストプラクティスか? エンジニアの組織でもベストプラクティスを学び、作る 最速な人がとにかく速く走れるように 「この技術がすごい」という考え方からの脱却 ── さまざまな立場を経験されてきたことで、エンジニアが自分のキャリアをどのように構築するか、天野さん自身は視点をいくつか
例の冷却ファンを修理してもらいに秋葉原に行ったのですが、最近の同人ゲームのクオリティはすごいなあと感心していたら、その二階はもっととんでもないことになってて、ひとつ大人になってしまったmikioです。今回は、Tokyo Cabinetのテンプレート直列化機能を駆使して、たった100行のCプログラムでWebチャットシステムを実装してみます。 古式ゆかしいWebチャットシステム 10年くらい前にCGIスクリプトでチャットシステムを作るのが流行していたのを覚えている方も多いと思います。チャットログは現在のようにデータベースサーバに転送して格納するのではなく、ローカルファイルシステム上のファイルにCSVやTSVなどのフォーマットで格納したり、同じくローカルのDBMファイルに格納するのが主流でした。2ちゃんねるの「datファイル」もそのようなデータファイルの一種と言えるでしょう。 その頃から、CGI
河野と申します。2018年8月からマッハバイトで業務委託(いわゆるフリーランス)として業務に携わっており、2022年6月から、テックリード(以降、TL)という立場となりました。 TLという言葉は広く使われていますが、実際に何をするのかは、会社や環境によってさまざま。 3ヶ月の振り返りがてら、ここに一例として公開してみようと思った次第です。 TL着任以前 Join当初はRailsエンジニアとしての働きを期待されており、最初の担当はマッハバイトiOS版用に、REST APIを開発することでした。 半年少しでその業務が一段落した後は、以下のことなどを担当してきました。 Rails製アプリケーションの機能追加、Ruby、RailsのUpdate ホストOSのUpdateに伴う、deploy環境の修正や、ライブラリなどのUpdate(オンプレ環境) マイクロサービスの中心に置きたいメッセージングサー
こんにちは、運用部 アプリ運用グループの清水です。Golang鋭意勉強中です。 今回は、SNS「mixi」に限った話ではなく、ミクシィ社全体として利用している仮想環境について紹介したいと思います。パブリッククラウドも一部のサービスで利用していますが、今回は、自社で運用している仮想環境にフォーカスして書いてみようと思います。 今まで利用してきた仮想環境 今まで利用してきた仮想環境というと、手作業で構築したKVM(Kernel-based Virtual Machine)環境が中心でした。手作業といってもある程度手軽に構築できるように、シェルスクリプトとCobblerでVMを構築できるようになっています。構築の流れは以下のとおりです。 CobblerにVMのIPやホスト名などをスクリプトで登録する。 KVMのホスト上でスクリプトを実行(koanコマンドでCobblerと連携してVMをセットアッ
「世の中のITエンジニアはエンジニアだらけのコミュニティにいることで、自分の技術がどれだけ他業界ではハイスペックなのか気づけていないと思うんです。もったいない」 そう話すのは、東京・大崎の銭湯「金春湯(こんぱるゆ)」の経営者、角屋文隆さん。9年間務めた大手メーカーのエンジニア職を辞め、1年前に実家の銭湯の経営者となった、業界には珍しい“エンジニアの番頭”さんです。 金春湯はもともと利用者のデータをまったくとっていませんでしたが、角屋さんは“金春湯専用システム”をイチから開発し、客層や混雑の時間帯を数値化。ほかにも公式サイトを改修したりWebショップを展開したりと、創業70年となる老舗の実家にIT革命をもたらしています。斜陽産業から抜け出しきれない業界のなかで、売上は1年で7割増える結果となりました。 「でも、自分が使った技術は新人研修で学べるレベルなんです」という角屋さん。エンジニア時代に
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く