タグ

ブックマーク / akerun.hateblo.jp (57)

  • 15億件以上入ったテーブルのスキーマをサービス無停止で変更した - フォトシンス エンジニアブログ

    こちらは、Akerun Advent Calendar 2023 18日目の記事です。 はじめまして、今回はWEBエンジニアの @yuto_a が担当させてもらいます。 今年の春から夏にかけて、15億以上のデータが入ったMySQLテーブルのスキーマ変更をサービス無停止で実施しました。 今回はこの対応を実施した私が、そもそもなぜサービス無停止でのスキーマ変更が必要だったのか、どのようにサービスを止めずにスキーマ変更したのか、実際に使用したときに工夫したポイントについて共有します。 サービス無停止でスキーマ変更した理由 そもそもなぜサービス無停止でのスキーマ変更が必要だったのか? 我々のサービスでは、APIサーバーに Ruby on Rails (以下、Rails) を使っており、データベースには AWS Aurora MySQL 5.7互換 を使っています。 このアプリケーションは Rail

    15億件以上入ったテーブルのスキーマをサービス無停止で変更した - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2023/12/19
    素晴らしいオペレーション。ありがとう。
  • やっすいデバッガでnRF52のデバッグしてみる (Jeff Probe編) - フォトシンス エンジニアブログ

    この記事は Akerun Advent Calendar 2021 - Qiita の18日目の記事です。 こんにちは。 いとう です。ファームウェアやってます。 普段フォトシンスのお仕事では Seggerの J-Link を使っているのですが、個人の趣味プロジェクトで使用しようとすると少々お高いのでFlirc社のBlackMagic ProbeクローンのJeff ProbeをAmazonで¥1800だったのに内緒でブラックフライデーセールのどさくさに紛れて購入してみました。 https://flirc.tv/more/flirc-jeff-probe-bmp-jtag-black-magic-probe https://www.amazon.co.jp/dp/B07ZK4LFTQ 可愛い小箱で届きます。内容物は Jeff Probe体と お馴染みのSWDデバッグ用の10ピンリボンケー

    やっすいデバッガでnRF52のデバッグしてみる (Jeff Probe編) - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2021/12/23
    やすー!
  • エンジニア採用が成功した2020年振り返り - フォトシンス エンジニアブログ

    この記事は Akerun Advent Calendar 2020 - Qiita の5日目の記事です。 ishturk - Qiitaです。フォトシンスの開発部でハードウェアグループのGMやってます。 今日はエンジニア採用の話を書きます。 採用に関わり始めてからいつの間にか2年以上が経過していました。 担当しているのは 求人票作成 エージェントへの要件説明、Q&A 書類審査 一次面接 です。 なんと今年度、ハードウェアエンジニア(組み込み・メカ・エレキのエンジニア)で8名の採用に成功しました! 入社した皆さんには早速大活躍いただいております。 実は、ベンチャー界隈でのハードウェアエンジニアの採用はとても難しいと言われています。 実際、過去はエージェントからも厳しめのフィードバック(条件を某業界よりも良くしないとなどなど)を受けていました。 そんな中で大成功に至ったわけですが、今年度特に注

    エンジニア採用が成功した2020年振り返り - フォトシンス エンジニアブログ
  • Web開発チームから組込み開発チームに移った話 - フォトシンス エンジニアブログ

    この記事は Akerun Advent Calendar 2020 - Qiita の2日目の記事です。 どうも、1日目に続きdaikw - Qiitaです。 1日目に「いつの間にかハードウェア開発に参加していた」とか書いてましたが、僕個人のモチベーションや会社からの期待値について触れておくいい機会かなと思ったので、記事にまとめようかと思います。trailblazerたれ。 モチベーション 仕事を定義したり、何か情報を他人に伝える時は、モチベーションや契機についてのセクションを一番最初に持ってくるのが僕の最近のトレンドです。これが伝わらないとやる気も起きないし、細かい配慮などできないですよね。 さて、僕が Photosynth に入ろうと思ったのは、ハードウェアとソフトウェアのインターフェースをよりよく知るきっかけになると思ったからでした。ハードウェアもソフトウェアも両方開発しているイイ感

    Web開発チームから組込み開発チームに移った話 - フォトシンス エンジニアブログ
  • Akerunコントローラーで普通のドアを自動ドアにしたらめちゃめちゃ快適だった - フォトシンス エンジニアブログ

    これはAkerun Advent Calendar21日目の記事です。 はじめに Akerunハッカーのishturkです。弊社のエンジニアはAkerunを使ったライフハックが大好きで、これまで トーストを焼いたり akerun.hateblo.jp コーヒーを挽いたり akerun.hateblo.jp 暮らしに役立つ(?)ハックをやってきました。 新製品が出た! 今年、Akerunコントローラーという新しい製品がリリースされました! akerun.com 物理的にサムターンを回すタイプだったAkerun Pro に対して、Akerun コントローラーは、電気信号を制御することができます。 技術仕様をもうすこし エンジニアブログなので少し詳しく書いてみます。 対応する電気錠 通電時施錠型電気錠 通電時解錠型電気錠 瞬時通電型電気錠 モーター式電気錠 電磁式電気錠 自動ドア 電気信号のI/

    Akerunコントローラーで普通のドアを自動ドアにしたらめちゃめちゃ快適だった - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2019/12/21
    普通の扉を開けるやつあるのね欲しい。
  • Web Bluetooth からAkerunを操作する - フォトシンス エンジニアブログ

    この記事はAkerun Advent Calendar 20日目の記事です。 今回はファームウェアエンジニア いとう が担当です。今回はWeb Bluetoothでウェブエンジニアデビューします。目指せフルスタック! 目的 今月行われたエンジニア日帰り合宿での出来事です 誰か 「Akerunの初期設定、スマホ持ってなかったりPCに専用アプリインストールできないお客様もいる。どうしようか?」 私 「Web Bluetoothでブラウザだけで設定できればよくね?(ウェブエンジニア賢い人多そうだからサクッと作ってくれそう)」 誰か「ほな、お前やってな」 私 「・・・」 Web Bluetooth 無茶振りされましたがWeb Bluetoothなんてqiitaで何度か記事を目にしただけで海のものとも山のものともついてない私です。仕様書はここみたいです。 設定 色々な Web Bluetooth記事

    Web Bluetooth からAkerunを操作する - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2019/12/20
    WebBluetoothのソース見えちゃう問題ってどうすりゃいいんですかね。。。あとlocalhostならHTTPSじゃなくてもいいって話ですかね?
  • 【保存版】ハードもソフトもできるフルスタックエンジニアになりたい(2019年入門編) - フォトシンス エンジニアブログ

    こちらは Akerun Advent Calendar 2019 - Qiita の記事です。 今日はyuyakmが担当します。 みんなでフルスタックエンジニアを目指そうぜ 突然ですが、フルスタックエンジニアって憧れますよね。 フルスタックとまではいかなくても、別の領域の開発に挑戦してみたい!他のレイヤーのエンジニアとより深い議論をしたい!ひとりでいろいろと触って試作してみたい! という方も多いのではないでしょうか。弊社でも他の技術に挑戦したいという声が増えてきました。 フルスタックの定義はプロジェクトによって違うと思いますが、IoTではハードもソフトもやる必要があるので大変です。 フォトシンスではIoT製品を開発しており、ハードウェアからソフトウェア、インフラまで幅広い専門性を持つエンジニアが在籍しています。 そこで、それぞれのエンジニアに"とりあえずやってみる"には何から手をつければ良

    【保存版】ハードもソフトもできるフルスタックエンジニアになりたい(2019年入門編) - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2019/12/19
    なりたい本当のフルスタックエンジニア(True Full Stack Engineer)。
  • 組み込みでも使える?シリアライザ FlatBuffers を使ってみた - フォトシンス エンジニアブログ

    この記事はAkerun Advent Calendar 16日目の記事です。 今回はファームウェアエンジニア いとう が担当です。今回は FlatBuffers と呼ばれるGoogleが開発したシリアライザを使ってみたので書いていこうと思います。以下「組み込み」のワードが出てきますが想定するのはプア目なマイコン(Coretex-M系とか)で組み込みLinuxとかの富豪環境ではないので悪しからず。 シリアライゼーションについて 組み込みエンジニア(リソースプア勢)のみなさん、何らかのシリアライザって使ったことありますか?ここでいうシリアライザはオブジェクトデータを通信や永続化に使えるようにするやつです。Webの世界でシリアライズフォーマットとして一番よく使われるのはJSONでしょうか?最近はProtocol Buffersもよく聞きます。 Akerun Proの組み込みファームウェアの中でも

    組み込みでも使える?シリアライザ FlatBuffers を使ってみた - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2019/12/18
    BLEのペイロードの中身のフォーマットの最適解はいつもなやんできたので “FlatBuffers” が使えそうな肌感なのは助かる。
  • UNIXとAkerunの浅くて深い関係 - フォトシンス エンジニアブログ

    この記事は Akerun Advent Calendar 2019 - Qiita の15日目の記事です。 どうも、RoRエンジニアのdaikw - Qiita です。 今日は、考え方次第でなんにでも通じるものってあるよね、という話をします。ポエムです。 UNIX哲学 エンジニアリングに関する思想の一つに、UNIX哲学というのがあります。 UNIX哲学とは、ソフトウェア開発に関する文化的な規範と哲学的アプローチのまとまりであり、UNIX OSの開発者たちの経験に基づくものとされている。 UNIX哲学は、それを策定する協会がある訳でもなく、UNIXを生み出した人(ケン・トンプソンら)が言い出したものでもありません。 色々な人が適当なことを語っている感じがあります。 それでも今だに引用されたりするのは、Mike Gancarzというエンジニアが書いたこちらの書籍のおかげかもしれません。 UNI

    UNIXとAkerunの浅くて深い関係 - フォトシンス エンジニアブログ
  • みんなで使える組み込み開発環境 Zephyr RTOS編 - フォトシンス エンジニアブログ

    この記事はAkerun Advent Calendar 6日目の記事です。 はじめまして、2月にフォトシンスに入社した いとう です。 Akerun入退室管理システムの中のハードウェアを動作させるファームウェアという奴をぼちぼち開発しています。 IoT機器を開発しているフォトシンスでは Zephyr RTOS をやっていこう!という話になり、今回はその開発環境構築の取り組みについて書いてみようと思います。あんまりZephyr体の話は出てきません。 TL;DR 開発環境はコンテナだよ GitLabDockerfile管理してGitLab CIでイメージ生成してGitLab Container Registry でイメージ管理するよ VSCode の Remote Development 使えばシャッキリポン 組み込みファームウェアの開発環境について 所感ですが、これまでのファームウェアエ

    みんなで使える組み込み開発環境 Zephyr RTOS編 - フォトシンス エンジニアブログ
  • IoT企業ではたらくエンジニアに知ってほしい 組み込みエンジニアの生態系 - フォトシンス エンジニアブログ

    これはAkerun Advent Calendar5日目の記事です。 はじめに Photosynthという会社は Akerun という入退室管理システムを提供しています。 ハードウェアからクラウドまで一気通貫で自社開発している、スタートアップでは数少ない会社のひとつです。 書いてる人 Akerunの中の人です。元は大手電機メーカーで組み込みやってました。Photosynthにジョインしてからは ファームウェアやったりアーキテクトしたりいろいろやってます。 この記事 ※個人の主観です。 私がWebエンジニアたちと一緒にプロダクト開発をしてみて感じたギャップに基づき、組み込みエンジニアの特異な性質について書いてみました。 共感する部分があれば、ふふっと鼻で笑ってやってください。 プログラミング・設計編 状態を持たせる設計をする 組み込み屋さんは状態をもたせる設計を好みます。 A) Hogeの状

    IoT企業ではたらくエンジニアに知ってほしい 組み込みエンジニアの生態系 - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2019/12/06
    どうやら「組み込みエンジニアと働くWebエンジニア」も楽しいけど「Webエンジニアと働く組み込みエンジニア」も楽しいようです。
  • Akerunを設置するためにわざわざ3Dプリンタを買った新入webエンジニア社員の話 - フォトシンス エンジニアブログ

    この記事は Akerun Advent Calendar 2019 - Qiita の1日目の記事です。 誰? 初めまして、今年の一発目を飾ることになりました。 4月にRoRエンジニアとして入社したdaikw - Qiita です。主にサーバ・webクライアント側の開発を担当しています。 最近は情報工学と3Dプリンタに興味があります。 3行で どうしてもdogfoodingをしたくて自宅にAkerunProをつけました。 サムターンの形状が少し特殊だったため、3Dプリンタを買ってスペーサを作りました。*1 たのしぃ… 詳しく Akerun Proの入手と絶望 弊社社員は、入社時の研修で渡されるAkerunPro一式をそのまま貸与されます。 個人的には、憧れのIoT代表格、スマートロック。 これは!!!つけるしかないでしょ!!!! ちょうど一人暮らしを始めたところだし、新居にサクッと設置して

    Akerunを設置するためにわざわざ3Dプリンタを買った新入webエンジニア社員の話 - フォトシンス エンジニアブログ
  • 非エンジニア部門とRedmineで情報共有するためのTips - フォトシンス エンジニアブログ

    はじめに こんばんは。 ishturkです。 タスク管理してますか? 弊社では開発部門のタスク管理Redmine を活用しています。 今回は開発部門だけでなくCS(カスタマーサクセス)部門と一緒にRedmineを使うためのTipsです。 CS部門と開発部門の架け橋として CS部門では、顧客管理ツールがあるので、Redmineはメインではありません。統合できれば素敵ですが、それはまた別な話。 なので、開発部門と連携する場合は RedmineをCSにも使ってもらっています。 CS ≠ エンジニア ここで課題になるのが、CS部門はエンジニアでないということです。 リテラシーにばらつきがあるので、 大体こういうもんでしょ? こうなってるはずだ みたいな感覚がありません。まぁエンジニアだからといってそうだとは(ry だれとでも一緒に使えるようにするTips 弊社でうまくいったアイディアをいくつか

    非エンジニア部門とRedmineで情報共有するためのTips - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2018/12/10
    安定のredmineネタ。
  • ネットスピードをRaspberry PiとGASでメトリクスする

    どもー、 id:kazuph1986 です。 この記事はAkerun Advent Calendar 2018の5日目の記事です(そんな気がするのです)。 今日は家のネットスピードがヤバすぎ(遅い)なので、実際にどれくらいの通信速度が出るかを収集してみました。 Setup 今回はこれを使います。環境はRaspberry Piを家の回線に有線接続してます。 github.com CLI上でSpeedTestできる便利なやつです。 インストール curl -Lo speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py chmod +x speedtest-cli 使い方はとっても簡単で特にオプションを付けずに叩けばOKです。 $ speedtest-cli Retrievin

    ネットスピードをRaspberry PiとGASでメトリクスする
    kazuph1986
    kazuph1986 2018/12/07
    お家ハックです!投稿しました!
  • 社内ツールアクセスのためにVPNではなくProxy Serverを構築する - フォトシンス エンジニアブログ

    どもー、 id:kazuph1986 です。 この記事はAkerun Advent Calendar 2018の3日目の記事です。 今日はサクッとEC2を利用してProxy Serverを構築した話です。 経緯 弊社では、エンジニアおよびカスタマーサポートのために社内ツールを構築・作成しており、社内外合わせた4, 5個程度を常時使いながら業務を行っています(作業内容がカニバっているものは統合のための開発も行っているので、減ったりもします)。 そしてそのすべてが社内からのIPでなければアクセスできないようになっているので、以前はどうしても社外からのアクセス必要な場合に、個人ごとにVPNの権限を渡していたのですが、そもそも社内ツールにアクセスはしたいが、社内ネットワークにつなぎたいわけではないので、権限を与えすぎという状況が生まれていました。またVPNの権限を渡せるのはある程度入社期間を経てい

    社内ツールアクセスのためにVPNではなくProxy Serverを構築する - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2018/12/03
    今日も書いたで
  • チーム開発でC言語API仕様を共有するメソッド 〜 Doxygenのすすめ - フォトシンス エンジニアブログ

    こんばんは。 ishturk です。 この記事は Akerun Advent calendar 2日目の記事です。 Akreun の組み込み開発ではC言語がなかなかの割合を占めています。 過去にモジュール設計の話を qiita.com で書きました。どうモジュールを分けるかはとても重要な設計タームです。 背景 さて、モジュールをうまく分割できたらそれぞれ実装します。担当者は複数かもしれません。 この記事では、分けたモジュール間のAPI仕様をチーム間でどう共有したら捗るかの一例をご紹介します。 「API仕様をチーム間でどう共有したら捗るか」です。大事なことなので2回言いました(書きました) 何を解決するか API仕様書がどこにあるかわからない 仕様を変えたときにどこを変えたらいいかわからない ソースとAPI仕様書が乖離している 人によってAPI仕様書の書き方が違いすぎて困る 結論 いきなり結

    チーム開発でC言語API仕様を共有するメソッド 〜 Doxygenのすすめ - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2018/12/02
    長く続くプロダクトなので、最近はどんどんドキュメントが充実してきました。
  • 大きくなってきたIoTプロダクトのログ活用について 〜Amazon Elasticsearch Service篇〜 - フォトシンス エンジニアブログ

    ども、id:kazuph1986 です。この記事は、Akerun Advent Calendar 2018の1日目の記事です。 今回は弊社のログの活用をするためにサクッとElasticsearchを導入して業務改善を行った話をします。 背景 弊社では利用関連のデータはすべてDBに保持しており、データをRails consoleやRedashを用いて確認・分析を行っております。 ですが、IoT機器自体のログをすべてDBに含めるのは(負荷・量・金銭コスト的に)無理があったため、そのままサーバーのログとして吐き出しているだけのものもあります。 弊社ではログの収集については、 リアルタイムにCloudWatchLogsに送信 日次でS3に送信 しており、それぞれ 短期間の生ログの確認用 長期間の保存用 という分け方をしていました。 サポートのために弊社のカスタマーサポート(以下、CS)のメンバーと

    大きくなってきたIoTプロダクトのログ活用について 〜Amazon Elasticsearch Service篇〜 - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2018/12/01
    アドベントカレンダーの1日目の記事を書きました!
  • AWS IoT Button Enterprise + AWS IoT 1 Click + Lambda + Akerun API V3でAkerunを開閉する - フォトシンス エンジニアブログ

    どうも、お久です。Akerun Creatorのkazuphです。 Akerun API、使ってますか?(あいさつ) 今日は先日新しく公開された当の意味でほぼなんでも可能なAkerun APIを使ったお手軽ハックを紹介します。 prtimes.jp Akerun APIの詳細なドキュメントは以下をチェックです。 かなーり見やすいドキュメントになってると思います。 Akerun Developers やりたいこと とにかく簡単にAkerunを開けたいということで、実は2年前くらいにもやったハックを 今回はより正式なものへ置き換えて再現したいと思います。 AWS Buttonも正規の方式、Akerunの解錠も正式にAPIを使います。 akerun.hateblo.jp 必要なもの Akerun Pro(Smart Lock) + Akerun Remote(IoT Gateway) Aker

    AWS IoT Button Enterprise + AWS IoT 1 Click + Lambda + Akerun API V3でAkerunを開閉する - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2018/07/17
    会社のエンジニアブログを更新しました!AWSめっちゃ楽い。
  • draw.io で書いた画面設計書いてみたらストレスフリーになった 〜 続・gitbookで設計書を作成したら最高だった話 - フォトシンス エンジニアブログ

    こんにちは フォトシンスでソフトウェア開発のマネージャーをやっている @ishturky です。 今日のエントリーは、以前書いた 「gitbookで設計書を作成したら最高だった話」の続きです。 akerun.hateblo.jp こんなコメントいただいております。 はい。これはとても悩ましいですね。僕自身もとても悩んでまさに試行錯誤していました。 今回は、「draw.io」というツールを使ったらとても連携しやすかったのでご紹介します。 draw.io about.draw.io どんなツール? ざっくり以下です VisioやCacooなどに代表されるお絵かきツールです ブラウザ上で動きます(Desktop版もあり) Drag and Drop で図を配置して線でつなぎます。フローチャートやワイヤフレームなどなど色んな用途に。 いろんなステンシル(テンプレ)が用意されています(スマホ画面やA

    draw.io で書いた画面設計書いてみたらストレスフリーになった 〜 続・gitbookで設計書を作成したら最高だった話 - フォトシンス エンジニアブログ
  • Google Home と Akerunで簡単スマートオフィス - フォトシンス エンジニアブログ

    CTOの@kazuphです(この記事は前年のアドベントカレンダーの居残りエントリーです(汗))。 Google Home、みなさん買いましたか? 僕という意味では会社で2台、家用に1台購入して遊んでいます。 HomeごとにGoogleのアカウントを分けて管理できるので、プライバシーも守られていていい感じです。 うちの会社では元々数台のChromeCastを使って遊んだり業務用に使っていましたが、 ここにGoogle Homeを加えたときにどうなるかやってみました。 やりたいこと 手っ取り早くAkerunと連携したい 受付に人が来たら音声で教えてほしい ということでやってみましょう。 Akerun連携する Akerunで開閉があったらGoogle Homeが教えてくれるようにしてみましょう。 今回は全部ができる一つのプログラムを書くのではなく、 一つのことをする複数のプログラムを掛け合わせて

    Google Home と Akerunで簡単スマートオフィス - フォトシンス エンジニアブログ
    kazuph1986
    kazuph1986 2018/01/09
    居残りエントリーを書きました!