タグ

ブックマーク / blog.cybozu.io (35)

  • Squid で安全なインターネットアクセス環境を構築する方法 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。情報システム部の松平です! 今回は社内ネットワーク内から安全にインターネット上の Web サービスを活用するためのプロキシ構築方法を紹介します。 1. Web プロキシの NAT に対する利点 企業では、ルータやファイアウォールなどの NAT 機能を利用して、社内ネットワーク内のコンピュータからインターネットにアクセスすることが多いのではないかと思います。 NAT の構成では、悪質なサイトなど、特定のサイトへのアクセスを IP アドレスでしかブロックできない場合があります。 IP アドレスでブロックした場合、AWSAkamai といった CDN まで対象に含めてしまうと、まったく関係のないサイトで利用されている CSSJavaScript ファイルまでブロックしてしまうケースが出てきます。 そこで注目したいのが Web プロキシである Squid の活用です。 Web

    Squid で安全なインターネットアクセス環境を構築する方法 - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2017/02/03
  • kintone と連携する図書管理システムを作ってみた - Cybozu Inside Out | サイボウズエンジニアのブログ

    みなさんこんにちは。SRE チームの内田(@uchan_nos)です。 サイボウズでは去年の 11/30 から 12/02 にかけて、4 回目となる毎年恒例の社内ハッカソンが行われました。 業務時間で好きなものを作ってよいので、図書委員でもある私は Raspberry Pi 3 と NFC リーダー、バーコードリーダーを使った図書管理システムを作ることにしました。 (ちなみに、この図書管理システムはハッカソンの審査で大賞に輝きました。うれしい!) 年明け 1 月下旬、ついに図書管理システムが格的に稼働しはじめましたのでご紹介します。 使用機材やソースコードも公開しますので、興味があれば試してみてください。 作ったもの kintone 上の図書管理アプリの貸出・返却ステータスを、遠隔で変更する IoT システムです。 このシステムには社員証リーダーとバーコードリーダーが接続されていて、 誰

    kintone と連携する図書管理システムを作ってみた - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2017/01/26
  • エンジニアの複業採用始めました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、エンジニア採用担当の岡田(@y_okady)です。サイボウズではこの度、サイボウズでの仕事を複(副)業とする方を募集する「複業採用」を開始しました。おかげさまで早速たくさんのご応募・ご意見をいただいているのですが、その中の一つに「副業で具体的にどんな仕事ができるのかわからない」といった声がありました。 具体的なことは何も書いてないしそりゃそうだよなーと思ったので、開発/運用のエンジニア職について現時点で考えている業務内容を共有させていただきます。 業務内容 Webアプリケーションエンジニア 既存機能の改善、不具合改修、パフォーマンスチューニング、受け入れ試験自動化 新機能のプロトタイピング アーキテクチャ刷新に向けた研究開発、技術調査 モニタリングシステムの改善 担当していただく製品/プロジェクトは、kintoneNecoなどをイメージしています。 モバイルエンジニア (iO

    エンジニアの複業採用始めました - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2017/01/19
    具体的な職種の紹介。
  • 我々はいかにして技術選択を間違えたのか? 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ

    どうも!アプリケーション基盤チームの横田(@yokotaso)です! kintoneなどで利用していたJavaフレームワークのSeasarのEOLに伴い、S2Daoからの脱却を試みたのですが、パフォーマンス問題や障害を発生させてしまうなど問題を多々発生させてしまいました。 同じ過ちを繰り返さないという強い決意のもと、今回の失敗をブログで公開いたします。 失敗をあえて公開する点で斬新かつ濃いブログ記事となっております! 失敗体験の公開は恥だが役に立つ! 移行先の選定の失敗 移行先として選定したプロダクトは Hibernate*1です。 Hibernateを選んだ理由としては Spring Framework を選定した Spring Frameworkで Interface + アノテーションでプログラミングするならSpring Data JPA が有力 JPAに準拠したのORMの中でも、H

    我々はいかにして技術選択を間違えたのか? 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/12/28
    学びのある失敗だ。
  • Cybozu Tech Conference 2016 開催報告 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。生産性向上チームの宮田(@miyajan)です。 12/13(火)に、サイボウズの技術発表イベント「Cybozu Tech Conference 2016」を開催いたしました。 東京・大阪・松山の3拠点をテレビ会議で同時開催したところ、社外から多くの参加者にご来場いただきました。ありがとうございました! 東京 大阪 松山 内容 「Cybozu Tech Conference 2016」は、サイボウズの開発のこれまでと未来の話、開発プロセスやプロジェクト管理の話、認証やセキュリティ、バグの調べ方といった技術寄りの話、SREチームや生産性向上チームといった特色あるチームの話、そしてリモートでチーム開発を行う文化の話と、サイボウズらしい多様性のあるテーマで8セッションの発表が行われました。 発表資料のスライドはすべて公開しておりますので、ぜひご覧ください。 サイボウズの現在と未来 k

    Cybozu Tech Conference 2016 開催報告 - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/12/26
  • サイボウズではミドルウェアエンジニアも活躍しています - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 先日、エンタープライズジン様の記事で、弊社の名前が挙がっていました。 井上 まあ、ミドルウェアに詳しい人間もいないと。ミドルウェアだけじゃないですけど、やっぱりアプリケーションベンダーも、我々もそうですし、サイボウズさんとかだって、ある程度ミドルウェアに詳しい人は一定数必要じゃないですか。そういう意味でいうとポジションはあるかなって。 神林 それはあるかなあ。研究所ですよね。サイボウズだったらサイボウズラボですよね、結局。 http://enterprisezine.jp/dbonline/detail/8770?p=6 この意見について、サイボウズではミドルウェアエンジニアも活躍しているという紹介をさせていただきます! まず初めに、サイボウズとサイボウズ・ラボの関係について紹介します。サイボウズは cyboz

    サイボウズではミドルウェアエンジニアも活躍しています - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/12/21
  • Rでkintoneのデータを取得するパッケージをCRANで公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    ドーモ、SREチームの湯谷(@yutannihilation)です。 表題のとおり、kintoneアプリのデータをRのdata.frameとして取得するパッケージ「kntnr」をCRANに公開しました。これで、Rでデータ分析もグラフ作成*1もやり放題です。 CRAN - Package kntnr ※あくまで個人の趣味として業務の合間につくったものです。自己責任でお使いください。 インストール install.packages()でインストールしてください。 install.packages("kntnr") 使い方 認証 kntnrパッケージは、以下の情報を環境変数として受け取ります。 KNTN_URL: cybozu.com の URL を指定します(サブドメイン.cybozu.com) KNTN_AUTH_TYPE: 認証の方式を指定します。password(ユーザ名とパスワードを使

    Rでkintoneのデータを取得するパッケージをCRANで公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/12/04
  • みんなで理想を共有! "動く"プロトタイプを導入しました。 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。サイボウズ デザイングループの樋田(といだ)です。 今年の6月にデザイナーとしてサイボウズへ中途入社しました。 今は社内でプロトタイピングおじさんやってます。 プロトタイピングってもう開発のプロセスには欠かせないものになってますよね。 サイボウズの開発でもいままでプロトタイピングをやってきたのですが、プロトタイピングをより開発に活かすべく新しいツールを導入することにしました。 理想のツールを探して これまではInVIsionだけでプロトタイプを作っていたのですが、InVisionのプロトタイプだけでは実装とのずれがあって詳細な検討ができない…という不満がありました。 そこで実装に近い"動く"プロトタイプが作れるツールを導入することにしました。 主な目的はこの3点 早く出来る 簡単にできる(学習コストが低い) 再現度が高い 世の中にはたくさんのプロトタイピングツールがあるので 理

    みんなで理想を共有! "動く"プロトタイプを導入しました。 - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/11/24
  • そのコードに価値はあるか?kintone開発チームでスクラムトレーニングを受講しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。kintone開発チームの天野(@ama_ch)です。3ヶ月ほど前からスクラムマスターを始めました。 10/18(金)に@ryuzeeさんにサイボウズ東京オフィスにお越しいただき、kintone開発チームのメンバーでスクラムトレーニングを受講しました。 きっかけ 私が開発しているkintoneはクラウドサービスですが、サイボウズはパッケージ製品の開発でスタートした歴史があり、開発プロセスにもパッケージ時代の習慣が強く残っていました。 長大な要件リスト 実装と試験工程の分断 開発後期での手戻り etc... もちろんこれまで手をこまねいていた訳ではなく、開発チーム内では次のような活動に取り組んできました。 タイムボックス(イテレーション)を区切った開発 テスト自動化の推進 ビルドパイプラインの構築 開発者環境への継続的デリバリー ふりかえり KAIZEN DAY, KAIZEN合

    そのコードに価値はあるか?kintone開発チームでスクラムトレーニングを受講しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/11/08
    無償の OSS だとしても価値を認めてもらえるようなコードを書きたいものですね。って、そういう話じゃなさそうだけど
  • Bashタブ補完自作入門 - Cybozu Inside Out | サイボウズエンジニアのブログ

    ドーモ、SREチームの湯谷(@yutannihilation)です。最近気になるモジュラーシンセはIntellijelです。 上司がいい感じのコマンドをつくるという記事を書いていましたが、いい感じのコマンドにはいい感じのタブ補完を付けたくなります。この記事ではBashのタブ補完を自作する方法を紹介します。 タブ補完の仕組み Bashのタブ補完自体はBashに組み込まれている仕組みです(参考:Bash Reference Manual - 8.6 Programmable Completion)。completeというBashの組み込み関数によって補完方法(compspec(completion specification)と言うらしいです)が規定されていて、これがタブなどによって起動されます。 タブ補完は、lsならファイル名、cdならディレクトリ名、というようにコマンドに応じたものが設定さ

    Bashタブ補完自作入門 - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/09/26
    詳し目の解説ありがたい。自作コマンドツールにも入れたい
  • C/C++プログラマのための開発ツール - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 先日、社内で主にLinux上でC/C++を用いている開発者向けの講義をしました。 「こんなことができる」と知ってもらい、興味を持てば各自で勉強してもらおうと広く浅くツールを紹介しました。 gtags, ASan, Valgrind, addr2line, cppcheck, SystemTap, perfなどです。 興味があれば講義資料「C/C++プログラマのための開発ツール」をごらんください。 コンパイラオプション 受講者には新人やサイボウズ・ラボユースの学生もいたので基的なところから紹介しました。 C/C++コンパイラを使うときはできるだけ警告オプションをつけるのが望ましいです。 警告が出るのは自分のコードの書き方に不備があることが多いからです。 gccやclangでは-Wall -Wextraは基としてそれ以外にも有用なオプションがあります(C++

    C/C++プログラマのための開発ツール - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/09/15
  • Go でいい感じのコマンドを作れるツールキットの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

    SRE の @ymmt2005 です。最近は systemd が好物です。 今回は GitHub でサイボウズが公開している Go 言語のプロジェクト群、特にいい感じのコマンドを作れる github.com/cybozu-go/cmd について紹介します。 SRE チームでは最近 Go でツールを開発する機会が多くなっています。最初のうちは決まった作り方をしていなかったため、コマンドごとに仕様がばらばらで、以下のような問題がでてきました。 REST API サーバーのアクセスログを記録しないコマンドがある 外部コマンド実行時のログを記録しないコマンドがある SIGTERM 等シグナル処理の方法がばらばら ログファイルのリオープンができずローテートしにくい ログメッセージの形式がばらばら 大雑把にいうと、ログとシグナル処理がきちんとしてないと扱いにくいわけです。 具体的にどうなっていると「い

    Go でいい感じのコマンドを作れるツールキットの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/09/02
    いいかも
  • SRE チームを設立します - Cybozu Inside Out | サイボウズエンジニアのブログ

    運用部長を務めている山泰宇です。 運用部は社内の情報システムを担当する情報システム部と cybozu.com など自社クラウドサービスを運用するサービス運用部からなる部門です。 日、サービス運用部にて SRE チームを設立しました。この記事ではチーム設立にいたった経緯と今後の活動計画を紹介いたします。 Site Reliability Engineering (SRE) とは 今年の 3 月に O'Reilly から出版された "Site Reliability Engineering" で有名になりましたが、Google のプロダクトやサイトを安定運用するための活動やその活動に従事する人・チームを指します。特徴としては基的にソフトウェアエンジニアからなる集まりで、自律的な仕組みや自動化を日常的に行っていることです。 サイボウズでも 5 月から社内で SRE の輪講を開催し、理

    SRE チームを設立します - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/09/01
    "オペレーションという綺麗な語でなく「Toil(骨折りとか苦労の意)」と呼んで減らしていく"
  • お手軽に使える高速なSSE4.2専用文字検索ライブラリ - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 今回はC/C++用文字検索ライブラリmie_stringを紹介します。 mie_stringはテキストの中から複数文字のいずれかが存在する場所を高速に検索する関数を提供します。 文ではその使い方と性能を紹介します。また後半ではSIMD命令を使うときに悩ましい端数処理について詳解します。 準備 mie_stringではCのintrinsic関数(SSE4.2)を使ったものとアセンブリ言語で書いたものの二つを用意しました。 intrinsic関数を使う場合はMIE_STRING_INLINEを定義してからmie_string.hをincludeしてください。 これ以外のファイルは不要です。C/C++のどちらからも使えます。 includeするだけでつかえるので簡単ですね。 なお、コンパイルオプションにはgcc/clangなら-msse42や-mavx、Visua

    お手軽に使える高速なSSE4.2専用文字検索ライブラリ - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/08/25
  • Elasticsearch 5.0.0で再インデクシングの高速化を探求する - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの渡辺です。IntelliJのコード補完はCtrl+;にバインドしています。 アプリケーション基盤チームでは、Necoプロジェクト(アーキテクチャ刷新プロジェクト)の一環として、 次世代の検索基盤を検討していて、その候補としてElasticsearchを調査しています。 先月の記事で再インデクシングと絡めてingest pluginの話をして、 びっくりするぐらい需要が低く、自分のテーマ選択のセンスのなさを痛感したのですが、 こじらせた感じで今日も再インデクシングの話をしたいと思います。 想定読者は、Elasticsearchにある程度慣れている方として、用語やAPI(インデックス, シャード, ScrollAPI, BulkAPIなど)の説明は最小限にします。 利用したElasticsearchのバージョンは5.0.0-alpha4です。2.X系だと

    Elasticsearch 5.0.0で再インデクシングの高速化を探求する - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/08/19
    あとで読む
  • HTTPパーサにおけるSSE4.2最適化の威力と注意点 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、サイボウズ・ラボの光成です。 PicoHTTPParserは@kazuhoさんたちが開発している高速なHTTPパーサです。 同じ作者によるHTTPサーバH2Oにも使われています。 11月4日の開発ブログによると、その時点でNode.jsなどに使われているhttp-parserの10倍程度の速度を誇るそうです(現在はhttp-parserも速度向上しその差は縮まりました。それでも4倍以上の差があるようです)。 該当ブログにはその高速化のためのノウハウが書かれていて大変興味深いです。ただIntel系CPUに搭載されているSIMD命令は用いられていませんでした。今回、@kazuhoさんと一緒に文字列処理専用のSSE4.2を用いることで1.7~1.9倍の高速化を達成しました(Improving Parser Performance using SSE Instructions (in

    HTTPパーサにおけるSSE4.2最適化の威力と注意点 - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/08/17
  • アーティファクトの管理について、あるいは go-apt-cacher / go-apt-mirror の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

    誰も名で呼んでくれないので社内でもハンドルで通そうと ymmt と呼ぶよう社内に部長命令を出したお願いしている @ymmt2005 です。 今回はサイボウズ社内でどのようにアーティファクトを管理しているか紹介します。アーティファクトというのはソフトウェア開発では成果物のことを指します。成果物もいろいろありますが、もっぱら興味の対象になるのはデータセンターにデプロイしたりお客様に配布したりする JAR や実行ファイルやアーカイブです。 忙しい人のために 4 行でまとめておきます。 JFrog Artifactory をアーティファクト管理に利用している Debian パッケージ(deb)を作成・管理する仕組みがある 各地のデータセンターで利用するため go-apt-cacher / go-apt-mirror を作った 既存の apt-mirror や apt-cacher-ng の問題

    アーティファクトの管理について、あるいは go-apt-cacher / go-apt-mirror の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/07/19
  • 最速の du を作ってみる - Cybozu Inside Out | サイボウズエンジニアのブログ

    個人ブログはどれもこれも三日坊主な山泰宇です。 チームブログはいいですね、誰かが日々記事を書いてくれるので、暇を見つけて自分も書こうという気になれます。 さて、今回はネタ記事です。タイトルからしてネタですよね。du というのはあるディレクトリ以下のディスク使用量を計算するプログラムなんですが、ディスクアクセスで律速される du に最速もくそもあるか!と。 それはわかってるんですが、「du 速くできない?」と言われたときに、ふと以下のようなことを考えてしまったんです。 Linux では readdir はライブラリコールなので、getdents 使うと少しいいかも i-node 番号から直接ファイルサイズを求められれば、stat より速いかも i-node 番号を直接指定できるシステムコールはないのですが、ext2/3/4 ファイルシステムなら debugfs コマンドでできるということが

    最速の du を作ってみる - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/06/13
  • サイボウズエンジニアの職場環境 @ 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ

    泰宇(@ymmt2005)です。今回はサイボウズエンジニアの働く環境を詳細にご紹介します。 働く場所 働く時間 机・椅子・PC 社内情報システム 開発用ソフトウェア 開発用共有サーバー 勉強や研修の機会 制度と風土 オープンソース活動 働く場所 サイボウズの開発拠点は現在国内外に 5 箇所あります。 東京(東京日橋タワー) 大阪(梅田阪急ビルオフィスタワー) 松山(あいおいニッセイ同和損保 松山三番町ビル) 上海 ベトナム オフィスで働くのが基ですが、サイボウズには自分の好きな時間・場所で働けるウルトラワークという制度があるので、自宅や実家で働くことも可能です。どの程度可能かというと、 Amazon から宅配便が届くから、 雨・雪が降っているから、 電車が混んでいて乗りづらいから、 急に子供が熱を出したから、 といった様々な理由で、連絡一ついれれば在宅勤務できます。後述する社内情報

    サイボウズエンジニアの職場環境 @ 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/05/24
  • バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。好きなメソッドは emptyIfNull です。 僕は、自社クラウドである cybozu.com のミドルウェアを開発するチームで働いています。具体的には、検索サービスやファイルサーバー、非同期処理用ワーカー、セッションマネージャーなどなどを提供しています。 僕がこのチームに来たのは数年前ですが、当時はバグの多いプロダクトでした。今はすべての既知のバグを直し、残存不具合件数が 0 件、つまりバグゼロな状態になりました。また、バグゼロを実現してから 2 年ほど経過していますが今もその品質を保っています。今回はこのバグゼロを実現した方法と、その後の顛末について記そうと思います。 以前のコード 数年前に提供されていたこのミドルウェア群は、はっきり言って、バグの塊のようなプロダクトでした。 当時のコードは保守性とは程遠い

    バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ
    key_amb
    key_amb 2016/05/18
    昔、バイト先の先輩社員が「バグの無いソフトウェアなんて無い」と言ってて、自分も自然とそう思うようになってた。だから、バグゼロをずっと継続してるっていうのは本当にすごい。