見えづらい活動の成果の伝え方は日頃からめちゃくちゃ悩んでるけど、実際こんな取り組みをしな がら温度感を合わせにいってるよ / Conveying Hard-to-See Results
はじめに 以前に、マイクロサービスアーキテクチャにゼロから挑んだ開発経験から、私が現時点で考えるマイクロサービスアーキテクチャを書いてみる。前回はAWSで構築したがAWSに限定せず汎用的に表現してみたいと思う。 前提 例として、社員の勤怠と有給の管理ができるようなwebのSaaSプロダクトを考える。 ここでいうプロダクトとは商品として販売できる最小の単位とする。 境界づけ まずは、プロダクトを5つの機能に分類する。 認証・・・認証を行うIdP。ユーザー固有のIDを管理するユーザーディレクティブを持つ。 ユーザー・・・認証されたユーザーと権限の紐付きを持つ。 権限・・・ロールとポリシーによる権限を設定する。「ユーザー」「権限」「勤怠」「有給」というサービスそれぞれに個別の設定ができる。 勤怠・・・勤務の開始と終了を管理できる。 有給・・・有給の付与、消化、残日数の管理ができる。 パターン1:
定期的に CSV からデータを抽出する機会があり,抽出条件によって,今までは以下のような方法を使っていた. CSV を Excel で開いてフィルターを使う方法 CSV を grep / egrep などの Linux コマンドで絞り込む方法 CSV をAmazon S3 にアップロードして Amazon S3 Select でクエリを実行する方法 Rainbow CSV 新しい方法として VS Code の拡張機能「Rainbow CSV」を試すことにした.Rainbow CSV には多くの機能があり,例えば「ハイライト」や「CSVLint」や「RBQL (RainBow Query Language)」がある.データを抽出する用途だけでなく,CSV を確認するときにも便利で,普段から使える最高の拡張機能だった.以下からインストールできる. marketplace.visualstudi
Because in some circumstances, this can cause random failures and even a loss of hair. Photo by Aarón Blanco Tejedor on UnsplashYesterday, I spent quite a bit of time trying to figure out why a certain number of integration tests (i.e., those that range from the API endpoints down to the database) were failing when running the usual go test ./... command (it’s a bit simplified here, but I’m sure y
今回は「Product Operations (ProdOps)」を弊社で取り入れてみた話を、記録として書いていこうと思います。ProdOpsはChatworkさんが導入されている組織(下図)になります。 半年ほど運用してきたので全ては書ききれないのですが、第1弾としてこれまでの所感を簡単に記していければと思います。こういう話も聞いてみたい!などありましたら気軽にコメントなり連絡なりいただけますと喜びます! 背景 今から約半年前、弊社ではプロダクト戦略をどう策定していくかを議論し、その結果以下の2点が要望として挙がりました。 プロダクト戦略に対して、上段にくる課題やビジョンなどとの接合点がわかる状態を作る プロダクト戦略を定常的にアップデートし続けられる体制を整えたい 上記2つの要望を解決するためのベンチマークとして、ProdOpsが挙がりました。 チーム体制 弊社では元々、私が所属する「
色々あって今年の1月からドイツのスタートアップで働き始めた。メインのビジネスドメインはIoT、ブロックチェーン周りなのだが縁あってコロナのワクチン証明アプリの開発に関わることになったのでその話と入社からの7ヶ月を簡単に振り返る。 振り返り 1月 入社。完全フルリモート環境 自分以外皆ほぼドイツ語ネイティブ。自分がいるミーティングでは英語で話してもらう 2月 新しい環境、ロックダウン等などでストレスがピークに 3月 割と労働環境に慣れてくる。 ここまでは既存システムの開発をしてきたが、ここでコロナプロジェクトが動き始める 4月 コロナプロジェクト本格始動 徐々に忙しくなってくる。 5月 忙しさピーク。休日も休みほぼなし 人生で一番コード書いた1ヶ月だった 6月 引き続き忙しい。 遂にリリース完了 コロナプロジェクトについて ワクチン証明アプリはこのCovPass Appというアプリで2回目の
プログラミングに興味がある人たち、どうか「自分はプログラミングに向いてない」と思わないでほしいです。 プログラミングスクール通ってるかどうかとかどうでもよくて、この年末年始にコード全く書いてない人はエンジニア向いてないんじゃないですかね、それぐらい好奇心が必要な職業だとおもうけど— キュン / 今村雅幸 / ZOZO CTO (@kyuns) 2021年1月3日 たしかに「プログラミングスクールに通ってるから」良いスキルがあるわけではないし、スクールよりも好奇心のほうが重要なのは僕も同意です。 というか基本的な考え方はたぶんこのツイートをしてる方と、僕は同じだと思います。僕もうっかりこういうことを言うこともあります。 実際、本当に大好きで休日もプログラミングしてしまう人のほうが、スキル面で伸びが早いのも当然でしょう。 でも「休日にもプログラミングしてしまう」ほど好奇心を持って好きになるにも
LifeMemoryTeamの@atponsです。今回のSECCON Beginners CTF 2020はお楽しみいただけたでしょうか。自分は運営やインフラ整備をしておりました。 今回は、自分が担当していた監視、オペレーション部分の構築回りについて書いておきます。 死活監視 バッジ 今回参加者のみなさんには、このようなバッジを問題に付与して提供しておりました。これによって、問い合わせのオペレーションを削減することを目標に、昨年も取り組んでおりました。バッジでは、そのタスク(問題からフラグを取れたかどうか、サービスに疎通できるかどうか)の成功可否を表示していました。 また、最後にタスクを実行した時間を表示できるようにしていました。このバッジ生成は完全に自作したものです。詳細は死活監視の部分で書きます。 タスクランナー 定期的に実行してその状態を知りたい、という要望にはCI/CDツールを応用
ScalaのFutureにはタイムアウトを設定するメソッドはない。 Await.result で設定時間待つことができるが、失敗した場合は例外がスローされてしまうのでTryなりで扱う必要があるし、なによりブロッキングするのでスレッドを無駄遣いしてしまっている。 そこで akka.pattern.after メソッドを使う。 akka.pattern.afterを使ったFutureのタイムアウト設定 こちらを参考にした stackoverflow.com import akka.actor.ActorSystem import scala.concurrent.duration._ import scala.concurrent.{ ExecutionContext, Future, TimeoutException } object Main { implicit class Future
テック系の学生というと、やはりいろんな会社のインターンに参加していろんなイケてるナウい技術を触って「圧倒的成長!」を求めますよね。 自分もそうでした。 自分はかなり極端な例で、大学を1年休学してまでインターンしてコロコロと会社変えながら10社くらいは行きました。 今思うと楽しかったしお金ももらえるし最高じゃんって感じだったんですが、ぶっちゃけじゃあインターンしまくってずっと成長してたかって言われると微妙です。 会社によってはただバグ潰したりするだけのインターンもあったりして、いわゆる限界効用逓減にぶち当たってただコードをかいてるだけの学生だった気がします。 あとはやっぱ学生でコードかけるとすごいチヤホヤしてくれるのでそれが嬉しい、みたいな。 いまでこそ社会人になって仕事でコードを書くようになったんで分かるんですが、別に起業家じゃなくともエンジニアだって自分のビジョンが必要だよなって感じます
僕は、損得勘定という考え方が好きだ。 損得勘定というと、良くないニュアンスで使われる事も多い。 「あの人は、損得勘定ばっかりで物事を考えて……」 そんな風に批判的に見られたりする。 こんな時、大抵の場合は損得勘定の「範囲」が狭すぎる事が多い。 例えば、金銭的な損得勘定でしか物事を考えない人。 金銭的メリットがある事しかやろうとせず、人から嫌われたりする。 この場合、損得勘定の範囲が狭いのである。 人から嫌われるという事は金銭的に言ってもデメリットの方が大きい。 人は嫌いな人から物を買おうとは思わない。 そう、金銭的な損得勘定を大事にすればするほど、局所的な事ばかりを考えていてはダメなのだ。 範囲が狭すぎると、良い結果は出ない。 例えば、自己顕示欲でしか物事を考えない人。 「俺ってすごいでしょ?」という意図を感じさせるような発言ばかりをして、人から嫌われたりする。 これも同じだ。 人から嫌わ
こんにちは。IGGG 何もしない部のatponsです。みなさんはサークルのサーバのユーザ管理、どうしていますか? われわれのサークルは、そこまで規模が大きくないため、サーバの数は少なく、一台のみVPSをレンタルしています。 なので、これまでは手作業でユーザの追加を行ったり、時にはLDAPを用いてユーザを管理していました。しかし、年々メンテナンスをしていくユーザが卒業していき、LDAPなどを全て停止していました。 正しく設定が変更されてLDAPとかが抜けていればいいのですが、実際pam.d以下をちゃんとみてsssd(サークルではSSSDを利用していました)を削除するのがつらく、あるあるなsudo遅い問題(解決しにいくため)などが多発していました。 libnss-jsonを知る先日行われた技術書典7に参加し、東工大デジタル創作同好会traPのSysAd班が出している「traP SysAd Te
データ分析、及び機械学習の開発を行っている長谷川と水谷です。 9/16(月)-9/17(火)に開催されたPyCon JP 2019に参加し、長谷川がライトニングトーク、水谷がポスターセッションで発表を行ってきました。 PyCon JPとは PyCon JPはPythonに関する日本最大級のカンファレンスです。普段業務や趣味でPythonを使用する人々が集まり、さまざまな分野での活用方法や知見を交換し、交流する集まりです。 今年のテーマは「Python New Era」。令和になって初のカンファレンスであることと、来年でPython2のサポートが終了することから、時代の移り変わりを反映したテーマになっております。 各自の発表内容 長谷川は、CfPが無事通り、エンディング前に行なうライトニングトークの一つとして、登壇してきました。 発表のテーマは「Pythonで、処理をより効率化するためのTi
A generic shell script compiler. Shc takes a script, which is specified on the command line and produces C source code. The generated source code is then compiled and linked to produce a stripped binary executable. The compiled binary will still be dependent on the shell specified in the first line of the shell code (i.e shebang) (i.e. #!/bin/sh), thus shc does not create completely independent bi
技術開発本部エンジニアの泉です。 先月末8/25にElm Meetup in Summerというイベントを弊社オフィスで開催しました。 elm-jp.connpass.com 今回のイベント開催は、connpassでの募集開始から一週間と立たないうちに100人もの参加応募があるなど、ここ最近のElmの盛り上がりを大きく感じさせるものとなりました。 前回のElm Tokyo Meetup Vol.4開催ののち、かれこれ1年ほどの歳月が経過しての今回のイベントとなりましたが、弊社もオフィスを六本木グランドタワーへと移転し、より収容人数の大きい会場を提供することができるようになりました。さまざまな意味で時期の温まった素晴らしいタイミングだったのではないかなと思います。 会場を埋め尽くす参加者 オープニングとトークをするわたしと@ababupdownba氏 ライトニングトーク 今回はなんと総勢で8
「悪く言っても、自分のことだから良いだろ」と言えばそうです。 でも僕は卑下することはすごく損失が大きいことだと思っています。 ここで言う卑下は、何かあるたびに自分(や自分の周りの人やもの)を悪く言う、癖みたいなもののことです。 卑下 自分をあえて低い位置に引き下げてへりくだること。 www.weblio.jp もちろん個々人には好きに自分を卑下する権利がありますので、そこを脅かすつもりはありません。 ただ卑下することは自分にも他の人にもマイナスの影響を与えると僕は考えています。ここで、僕なりに気をつけていることを話したいと思います。 この文章は自戒です。受け取り方も自由です。 謙遜との違い 卑下と謙遜の違いはなんでしょうか。 語の定義としては、卑下は謙遜を含んでいそうです。 ここでは「プラスのチャンスがあるときにあえて悪く言う」を謙遜とします。卑下はそれ以外の、単に自分や身内を悪く言ってし
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く