タグ

ブックマーク / future-architect.github.io (10)

  • 「実践Redis入門」所感 ~「E.G.コンバット」の観点から語る~ | フューチャー技術ブログ

    積読を消化しようというテーマの、読書感想文連載 の2冊目です。 導入『自分たちは、クラウドネイティブじゃなくてマネージドネイティブなんだよ…』 TIGの原木です。 最近、冒頭のような開発者の嘆きを人づてに聞く機会があり、今も脳裏に残り続けています。 昨今のITシステムにおいて、クラウドサービスは欠かせないものとなっています。しかしユーザー、そして開発者として大きな利便性を享受する裏で、クラウドサービスによって巧妙に隠蔽された裏のソフトウェアを意識する機会は減り続けているのではないでしょうか? Webサービスにおいて、RedisやMemcachedに代表されるキャッシュサーバーもそのようなソフトウェアの1つです。 キャッシュサーバーは、Webアプリケーションなどデータの読み込みや保存を効率化するために欠かせない存在ですが、同じデータストアであるRDBMSなどと比較していま一歩隠れた存在だと思

    「実践Redis入門」所感 ~「E.G.コンバット」の観点から語る~ | フューチャー技術ブログ
    Keisuke69
    Keisuke69 2023/02/22
    1冊の技術書でここまで書評が書けるのがすごい
  • GoとDynamoDBを用いた開発で反省していること | フューチャー技術ブログ

    はじめにTIG真野です。失敗談をテーマにした連載で、ちょうどプロダクト開発的に良い区切りのタイミングでもあるため、振り返りがてら、DynamoDB,Go,AWS Lambda技術要素について自分自身の理解・見込みの甘さについて反省します。 DynamoDBのシステム項目created_atとかupdated_atのタイムゾーンはJSTにすれば良かったDynamoDBは日付型を直接サポートしておらず、文字列型で保存することになります。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes.String データサイズや諸々の理由でUnixTime 勢力もあるかもしれませんが、アプリケーションから直接参照

    Keisuke69
    Keisuke69 2022/06/02
    一度作って動かしてみないとわからんよねって話でもある。"AWS SDK for Goですが、記載がやや冗長になりがち" Goに限らずAWSのSDKってみんなそういう印象
  • どうしてHTML5が廃止されたのか | フューチャー技術ブログ

    フロントエンド連載の5記事目です。 HTML5が2021年の1月に廃止されました。 Webエンジニアとしてバリバリ活躍されてる方やエグゼクティブテックリードのような肩書きを持つ方にとっては「何をいまさら」という話題かと思います。 しかしながら、今年も新人さん入ってきてくださったので、プログラミングを学習中にHTML5という文字列に悩まされないように、そもそもHTML5とは何かや、廃止された経緯をまとめてみます。 HTML5とはWebサイトを作るときに必ず書くことになるHTML。Webサイトのコンテンツ、つまり中身や構造を作るために使うマークアップ言語です。 そして、その最近版として10年ほど前に登場したHTML5。当時は Webニュースなどで盛んに特集が組まれていましたが、このHTML5がついこないだ、2021年1月28日に廃止されました。 広義のHTML5 / 狭義のHTML5HTML5

    どうしてHTML5が廃止されたのか | フューチャー技術ブログ
    Keisuke69
    Keisuke69 2021/06/21
    奥深きWeb標準の世界
  • フロントエンドでシステム開発を2年半続けてハマったことから得た教訓3つ | フューチャー技術ブログ

    こんにちは。フューチャー 3 年目の柏木です。 はじめにReactNext.js を触り始めて2年半ほど経ちました。 これまでによくつまずいたポイントから、自分なりのノウハウを言語化してみます。 想定する読者 React、Redux(、Next.js)を初めて触る人 システム開発の中で初めてフロントエンドを担当することになった人 開発で使用している技術要素 Node.js(10.5.0) Express(4.16.3) Next.js(5.1.0) React.js(16.4.1) Redux(3.7.2) ノウハウたち次の1~4について順番に説明していきます フロントで持つべきデータの形とデータベースに登録するデータの形は必ずしもイコールではない React の各ライフサイクルで適切な処理を行う 更新を React が正しく検知してくれるよう、値はコピーしてまるっと置き換える (おまけ

    フロントエンドでシステム開発を2年半続けてハマったことから得た教訓3つ | フューチャー技術ブログ
    Keisuke69
    Keisuke69 2021/02/17
  • DockerでRUNをまとめた方が良いとは限らない | フューチャー技術ブログ

    TIG/DXの渋川です。 ソフトウェアの世界では、ツールや言語の進歩があって、もはや古い知識になっているにも関わらず、古い知識がベストプラクティスと呼ばれて蔓延し続けている例があります。Dockerだと「RUNをまとめよう」というのがそうです。かつてはこれは常に行うべきプラクティスでしたが、現代だとそうじゃないケースもあり、デメリットもあります。 https://www.docker.com/company/newsroom/media-resources 1. ただファイルが増えるだけのケースであれば気にしなくていい次の2つのファイルで実験してみます。ベースイメージに、10MBのファイルを作成するコマンドをふたつ並べたものです。 FROM debian:bullseye-slim RUN dd if=/dev/zero of=dummy1 bs=1M count=10 RUN dd if

    DockerでRUNをまとめた方が良いとは限らない | フューチャー技術ブログ
    Keisuke69
    Keisuke69 2021/01/21
  • 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ

    BusterとかStretchという名前が見慣れない方もいるかもしれませんが、これはLinuxディストリビューションとしてシェアの大きなDebianのコードネームです。 Debianバージョンが少し古いStretchの方がちょびっとサイズが小さかったりはしますが、まあ実用的にはサポートが長い方がいいですよね。slimを使ってGCCとかのコンパイラを自前でダウンロードしている記事とかもたまに見かける気がしますが、マルチステージビルドであれば、そんなにケチケチしなくていいのと、パッケージダウンロードは逐次処理なので遅く、処理系が入ったイメージのダウンロードの方が高速です。並列で処理されるし、一度イメージをダウンロードしてしまえば、なんどもビルドして試すときに効率が良いです。また、多くのケースでネイティブのライブラリも最初から入っており、ビルドでトラブルに遭遇することはかなり減るでしょう。 Py

    仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ
    Keisuke69
    Keisuke69 2021/01/19
    苦しんでる
  • 「2020年代のコンテナ時代のPythonアーキテクチャ&デプロイ」というテーマでPyCon.jp 2020で発表してきました | フューチャー技術ブログ

    「2020年代のコンテナ時代のPythonアーキテクチャ&デプロイ」というテーマでPyCon.jp 2020で発表してきました 初のオンライン&Python 2サポートが終了したあとのPyCon.jpという節目のイベントで発表してきました。 発表資料はこちらになります。 日英表記にした関係で表現をだいぶシンプルに削ることになったりしたので、口頭での説明のみ行ったこととか、その後のTwitterの感想を見て思ったことなどを軽く補足します。 コンテナの時代コンテナのカバレッジが広がっている事例としてはDensoのMisakiとか戦闘機にKubernetesを載せてみました、とかもあります。 https://www.publickey1.jp/blog/20/kubernetesmisaki.html https://www.publickey1.jp/blog/20/kubernetesf-1

    「2020年代のコンテナ時代のPythonアーキテクチャ&デプロイ」というテーマでPyCon.jp 2020で発表してきました | フューチャー技術ブログ
    Keisuke69
    Keisuke69 2021/01/12
    PythonとAlpineって相性悪いのか。知らなかった
  • GoでWebアプリ開発時にあるあるだったレビューコメント | フューチャー技術ブログ

    The Gopher character is based on the Go mascot designed by Renée French. はじめにTIG DXユニット 1の真野です。 コードレビューについては3,4年ほど前に、コードレビューにおけるレビュアー側のアンチパターン って記事を書いたりもしました。当時はレビュアーの伝え方って大事だよなって話をしてました。いつしかレビュイーからレビュアーに比重が変わることが増えてきました。相互レビューは当たり前にしていますがが、比較的こうしたらもっと良くなるんじゃないかな?と提案される回数より、自分が提案する回数の方が増えてくるタイミングってありますよね? そういうわけで、最近Goで主にバックエンドのWebAPIや、AWS Lambdaで動くETLアプリ、たまにCLIツールを開発する時に、2回以上同じ指摘したコメントをまとめてます。Go言語

    GoでWebアプリ開発時にあるあるだったレビューコメント | フューチャー技術ブログ
    Keisuke69
    Keisuke69 2020/07/09
    ちゃんと形式知化して素晴らしい。リトライロジック入れるのとかついついおざなりになるのでこれもいいですね
  • Serverless連載3: Goでサーバーレス用の検索エンジンwatertowerを作ってみました | フューチャー技術ブログ

    サーバーレス連載の3回目は検索エンジンを作ってみたお話です。 クラウドサービスが充実してくるにつれて、サーバーレスではいろいろなことができるようになっています。HTTPサーバーは動きますし、RDBやNoSQLなストレージも使えますし、PubSubみたいなサービスも利用できます。これらを駆使するとそこそこ複雑な処理も記述できます。 一方で、上から下までサーバーレスにしようとするとできないものもいくつかあります。例えば、RDBも使えるといっても制約があり、LambdaやCloud FunctionsからRDSやCloudSQLを雑に使うとコネクションを張りすぎる問題があります。LambdaにはRDS Proxyが出始めています。あと、RDBそのものは基的に常駐型なのでサーバーレスではないです。一応サーバーレスなのもありますが、起動時間が結構かかるらしい(自分ではまだ試してないです)。それ以外

    Serverless連載3: Goでサーバーレス用の検索エンジンwatertowerを作ってみました | フューチャー技術ブログ
    Keisuke69
    Keisuke69 2020/03/27
    サーバーレスなアプリケーションで使うようの検索エンジンを作ったとのこと。バックエンドには各社のNoSQLデータベースが使える。これ自体はどこで動かせばいいのかな
  • JavaプログラマーのためのGo言語入門 | フューチャー技術ブログ

    JavaプログラマーのためのGo言語入門こちらはJava to Go in-depth tutorialの日語訳です 原文の著者に許諾を得て翻訳・公開いたします。 このチュートリアルは、JavaプログラマーがすばやくGo言語にキャッチアップできるようにすることを目的としています。 目次 Hello stack 主な違い シンタックス(文法) 定数 構造体 ポインタ スライス 値の作成 メソッドとインターフェース エラー PanicとRecover ゴルーチンとチャネル Hello server Hello stack 1まずはじめに簡単な例を見ていきましょう。この例ではシンプルな抽象データ型をGoで実装しています。 // collectionパッケージはstring型を格納できるスタックを実装している package collection // Stackのゼロ値はすぐに使用できる空のス

    JavaプログラマーのためのGo言語入門 | フューチャー技術ブログ
    Keisuke69
    Keisuke69 2020/03/11
    大作だ。こういうの助かる人多い。何気にGoってちゃんと触ったことがまだないので何かで試してみたいところ
  • 1