AI-powered summaries of webpages are a feature that you will find in many AI-centric tools these days. The next step for some of these tools is to prepare detailed and…
※ 2019年7月27日に追記しました。 この記事の最後に、失敗談の補足を書いた記事へのリンクを追加しました。 システムの一部機能を改修するテーマが現在進行中です。テーマは他の箇所に影響がないくらいに分離できるものです。この大きさが丁度いい。チャンスとばかりにリファクタリングすることにしました。 アプリケーションはそれなりにレイヤー化されています。controllerとserviceとrepositoryがある。よくある3層構造です。何を見直して再設計するのか?それはドメインオブジェクトモデルの構築です。 現状のアプリケーションはビジネスロジックをモデリングしたものとは言えない状態です。自分がやったのだけれど。しかしだからでもあります。なぜこうなったかを振り返り、どのようにできたかを考えます。失敗から学べることもあるはずです。 参照側の層は薄く?本当に? 開発対象のシステムはある情報の検索
私たちは、スタートアップの実践、あるいはスタートアップに関わる活動を通じて、より良い突破口を見つけだそうとしている。この活動を通して、私たちは以下の価値に至った。 組織よりもプロダクトを 成熟よりも成長を 分析よりも行動を スマートさよりも泥臭さを 冗長性よりもユニークさを 真面目さよりも面白さを 価値とする。すなわち、左記の事柄に価値があることを認めながらも、私たちは右記の事柄に、より価値をおく。 このマニフェストについて 主語が大きい! おわかりかと思いますが、これは「アジャイルソフトウェア開発宣言」のオマージュです。ほかにも、「やっていき宣言」などありますね。 先日、スタートアップのCTOになりましたが、僕自身まだまだ覚悟が足りないことを重々自覚しているので、自分を叱咤するためにも書き出してみた。採用を含め、今後組織を成長させていく中で、果たしてスタートアップとはどういうものなのか、
「セブンペイ HP」より 7payでの「クレジットカードからの不正チャージ」事件は、史上まれに見る「ずさんなセキュリティ」が背景にあることがわかってきました。被害者インタビューから考えると、セブンイレブンからの情報漏えいの可能性を考えなければなりません。 決済業界の中の人・めるかば氏も被害 7payの事件では、多くの被害者が経緯をTwitterでリポートしています。そのなかでもっとも信頼できる情報を発信されているのが、めるかば氏です。めるかば氏は、ある企業で決済の仕事をされており、まさに今回の事件が起きた同じ業界にいらっしゃる方です。めるかば氏に伺った話から、被害の経緯をまとめます。 被害にあっためるかば氏の報告ツイート。一連のツイートで被害状況を詳しくリポートしている めるかば氏の被害経緯 ・7月1日:7payサービス開始にともない登録。5,000円チャージし、1度決済 ・7月3日朝:7
限定公開した日付になっていたので再投稿しました泣 普段は京都大学で学生をしており、iOSエンジニアとしての歴も3年目となりました。 NoSQLもFirebaseも全く触ったことのなかった僕が、バックエンド全てFirebaseで完結させた知見を残しておきます。 何を作ったのか ランディングページ https://app-rose.me/ AppStore https://apps.apple.com/us/app/rose-me/id1453049174?l=ja&ls=1 恋愛は試着する時代 という信念のもと、試着感覚のデートを提供するマッチングアプリRose Meを開発しました。 空いている時間に、好きな場所で1時間だけのデートのおさそいをして、ローズを送ることでデートに行きたいという気持ちを伝えることができます。 デート後に、お互いが気になるボタンを押していれば連絡はとりあうことができ
はじめに おはようございます、加藤です。 Kubernetesには、Secretリソースという物が存在しDBの認証情報など秘匿する必要があるデータを格納するのに使用されます。 しかし、このSecretリソースはBase64エンコードが行われているだけなので、Secretリソースへ読み込み権限があれば誰でもデコードして平文データを取得できてしまいます。 また、Secretリソースを作成する為のマニフェストファイルにも、記述されているので、これに対して読み込み権限があれば同様に平文データの取得が可能です。 Secretの暗号化はどの様に行うか Secretの暗号化には、下記の様なツールを使う事が多いと認識しています。 shyiko/kubesec: Secure Secret management for Kubernetes (with gpg, Google Cloud KMS and A
みなさんのチームにはチームの方針はありますか? チームのメンバーが理解して実践できるように共有されていますか? 私たちのチームでは、新しい期が始まり少し経ってマネージャーから今期のチーム方針について共有がありました。 私はチームのリーダーになってからは、目標の1つとしてチームマネジメントを設定しています。 リーダーになって最初の半年は、1on1などを通して主に自分とメンバーとの信頼関係の構築に取り組みました。 次の半年、今期は1対1の関係から範囲を広げチーム作りに取り組みたいと思い、チームを作るとはどういうことなのかをあらためて考えてみました。 「THE CULTURE CODE 最強チームを作る方法」という本と「『一緒にいたい』と思われるリーダーになる。」という絵本を参考に引用しながら、チーム作りに必要なこと・リーダーとしてチーム作りにどう貢献していくかを書きたいと思います。 期初からも
jsconf.eu 2019 に行ってきました。 特に npm や yarn の今後の話とそもそも Registry をどうしていくか、の話があったのでお知らせします。 そもそも Registry をどうしていくかについては次のエントリで話します。 tink: A Next Generation Package Manager npm の次のコマンドラインツールである tink が紹介されていました。 github.com presentation: github.com video: www.youtube.com そもそも npm の仕組み ローカル依存ファイルを読む (package.json, package-lock.json, shrinkwrap.json) 存在しないパッケージのメタデータをfetchする 木構造を計算して、実行する(npm v3 以降だとflattenする
過去に Terraform Best Practices in 2017 という記事を書きました。 そのあと、2019年2月のJAWS Days Infrastructure as Codeに疲れたので、僕たちが本来やりたかったことを整理するを話しました。 その中で、Dev環境を手で作業して、その内容をExportして、Stg, Prodに展開出来たら良いのになー。という話をしていたのですが、それの兆しが見えるツールが登場したので紹介します。 2019年5月頭にひっそりと terraformer という何かと間違えるようなツールが出ていました。 少し驚いたのが、提供元がGoogleCloudPlatformでした。 CLI tool to generate tf and tfstate files from existing infrastructure (reverse Terrafor
コロプラは5月31日、スマートフォンゲーム「バトルガール ハイスクール」(バトガ)のサービスを7月31日午後3時に終了すると発表した。2015年4月にリリースして人気を獲得し、17年にはアニメ化を果たして知名度を得たが、近年はゲーム内課金による収益を伸ばすことができなかった。 コロプラが公表している、19年9月期第2四半期(19年1月~3月)のリリース時期別売上高によると、主力の「白猫プロジェクト」など14年度にリリースしたタイトルは同期に32億2300万円を得ていたが、バトガなど15年度にリリースしたアプリは1億3400万円にとどまっていた。 コロプラの19年9月期上半期の累計連結業績(18年10月~19年3月)は、最終損益が6800万円の赤字に転落している。業績立て直しに向け、同社は注力タイトルの厳選と、長期的な収益が見込めるタイトルへの投資を進めている。 バトガもその一環で終了したと
コードレビュー、これまでいろんなプロジェクトで経験して、意外と使われていないノウハウがあったり、風習が違ってつらみがあったりしたので、いろいろまとめてみる。 指摘事項について よくある話 - 駄目コードを憎んで人を憎まず。駄目なのはコードであって人格じゃない - 指摘する人は人格攻撃せずにコードのどこが悪いのかを指摘しましょう - 指摘される人も、言われているのはコードの問題であって人間の問題じゃないので、素直な心で受け止めよう この辺はみんな知ってると思うので略。ぼくが思う大事なルール コードレビューで指摘された内容は、対応必須ではない 理由: 対応必須にすると、「これ言ったらリリースできなくなるよね」みたいな忖度が発生してコメントできない人が出現するから。 絶対ダメとは言わないけど、あまりよくはない、みたいな指摘については、そのときは急ぐからリリースするけど、次回から気をつけるとかがあ
Cloud Firestoreとは Cloud Firestore(以下Firestore)はGoogleが提供しているNoSQLドキュメント指向データベースです。柔軟なデータ構造、高機能なクエリ処理、リアルタイムアップデート、オフラインサポートなどが特徴です。GCPとFirebaseから提供されています。GCPから提供されているバージョンでは、前のバージョンであるCloud Databaseとの互換性を持つDatastoreモードとネイティブモードを選択できます。Datastoreモードではいくつかの機能が制限されます。詳細はネイティブ モードと Datastore モードの選択 | Cloud Datastore ドキュメント | Google Cloud。 Firestoreを始める ここではTypeScriptプロジェクトでFirestoreを始める方法を紹介します。 Fi
Go は最近のプログラミング言語にしては珍しくポインタを扱えるプログラミング言語。とはいってもC言語よりも簡単で、オブジェクトの初期化やメソッドの定義以外の場所ではおおよそポインタを使っている様には見えない。メソッドやフィールドへのアクセスも . で出来るし Duck Type によりインタフェースを満たしていれば実体であろうとポインタであろうとそれほど意識する必要はない。ところがこの便利さに乗っかってしまうと思わぬ所で足をすくわれてしまう。 package main type foo struct { v int } func (f foo) add(v int) { f.v = v } func main() { var a foo a.add(3) println(a.v) } このコードは 0 が表示される。メソッドを呼び出す際にはレシーバのオブジェクトを得る必要があるが、foo
Fastly CTOに聞く、同社がWebAssembly実行環境の「Lucet」をエッジコンピューティング環境として開発している理由とは? CDNプロバイダとして知られるFastlyは先月(4月1日)、WebAssemblyのコンパイラとランタイムで構成される「Lucet」をオープンソースで公開。同社のエッジコンピューティング環境として開発を進めていることを明らかにしました。 WebAssemblyが50マイクロ秒以下で起動する「Lucet」。コンパイラとランタイムをFastlyがオープンソースで公開 WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。 FastlyはこれをCDNのエッジにあるサーバ上で動作するように移植し、しかも50マイクロ秒(1マイクロ秒は100万分の1秒)以下でWebAssemblyモジュールが起動し
エンジニアにとって、正解が分かりづらいマネジメント業務ってとっつきづらいんですが、その良き羅針盤となってくれるテキスト「re:Work」の紹介です。 「エンジニア天国な会社にしたい。したくない?」 「したい。けど、どうやって?わっしょい的な雰囲気で?」 今年の6月あたり、クラスメソッドAWS事業本部コンサル部で合宿を予定しているんですが、その合宿でやるネタを考えているときに知ったのが、この「Google re:Work」。 正解が見えづらい組織運営において、「良いチームとはなにか?」「採用で気をつけるべき点」「ビジョンがもたらす効果」など、マネジメントの頻出課題をギュッと凝縮して詰め込んだこのコンテンツがむっちゃ有用だったので、紹介します。 Webコンテンツとして完全無料なので、今マネジメントで悩んでいる人も、これからマネージャー目指そうとしている人にも参考になる点多いと思うので、一度気軽
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く