タグ

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

  • Go1.16からのio/ioutilパッケージ | フューチャー技術ブログ

    こんにちは、TIGの辻です。Go 1.16連載の3記事目です。 Go1.16でアップデートがあった io/ioutil パッケージが "deprecated" になる話題のまとめです。 サマリ Go1.16から io/ioutil パッケージの機能が os と io パッケージに移行した これから新しく実装するコードは io や os パッケージの新しい関数を使うことが推奨される io/ioutil パッケージが "deprecated" になるが "deprecated" といっても将来壊れる、ということではない 既存のコードは動作し続ける go fix コマンドは未対応 内容Go1.16から io/ioutil パッケージに含まれる関数が "deprecated" になります。関連するプロポーザルは #40025 と #42026 です。Package names で良くないパッケージ

    Go1.16からのio/ioutilパッケージ | フューチャー技術ブログ
  • AGPLを理解する: もっとも誤解されたライセンス | フューチャー技術ブログ

    このエントリーはSayanさんによるUnderstanding the AGPL: The Most Misunderstood Licenseの日語訳になります。 オープンソースの出現は、ソフトウェア産業全体を一変させました。しかし、オープンソースのコードを使って誰が何をできるかを管理することは課題でしたし、今も解決していません。オープンソースライセンスはそこに救いの手を差し伸べました。しかし、常に次のことを忘れないでください:石のない土地はなく、骨のない肉はありません。OSI(オープンソースイニシアチブ: オープンソースを促進することを目的とする組織)が承認したライセンスは80以上あり、その数はさらに増加しています。それぞれのライセンスには利点と欠点があるため、オープンソースの開発者は自分のプロジェクトにあったライセンスを選ぶのは簡単ではありません。Affero General Pu

    AGPLを理解する: もっとも誤解されたライセンス | フューチャー技術ブログ
  • Goのおすすめのフレームワークはnet/http | フューチャー技術ブログ

    僕としてはGoのおすすめのフレームワークを聞かれたら、標準ライブラリのnet/httpと答えるようにしています。というよりも、Goの他のフレームワークと呼ばれているものは、このnet/httpのラッパーでしかないからです。 Goでアプリケーションを作成する場合のイメージは次の通り。battery includedなアプローチは他の言語でもたまにありますが、ついてくる機能が今時のものが多くて、標準ライブラリで済むことが多いです。ウェブ開発についてもそんな感じです。 PythonとかRubyとかもそうですが、言語組み込みのウェブサーバー機能はテスト用で番運用には機能が足りない、性能が足りない、ということから「プロダクションに耐えうるフレームワークを別に入れないと」と思う人も多いんじゃないかな、と思いますが、Goの場合は組み込みのサーバーで問題なかったりします。Node.jsに近いかも?世間に

    Goのおすすめのフレームワークはnet/http | フューチャー技術ブログ
  • Go 1.16からリリースされたgo:embedとは | フューチャー技術ブログ

    TIGの伊藤真彦です。 この記事はGo 1.16連載の1記事目です。 トップバッターとしてgo:embedについて記事を書きます。 go:embedとはプロポーザルとなるissueはこちら、2020年9月のissue作成から約5ヶ月の時を経てgo:embedがリリースに含まれることになりました。 embedとは埋め込みという意味です、その名の通りファイル埋め込みをサポートするためのパッケージです。ファイルを読み込むだけならosやio/ioutilでも行うことが可能ですが、go:embedならではの特徴を説明します。 ちなみにio/ioutilはGo 1.16でdeprecatedになりました、詳しくは連載の他の記事で説明します。 利用方法手始めにサンプルコード、main.goを書いてみました。 main.gopackage main import ( _ "embed" "encoding

    Go 1.16からリリースされたgo:embedとは | フューチャー技術ブログ
  • ソフトウェアのバージョンと開発スタイルの関係について | フューチャー技術ブログ

    はじめに初めまして、TIGに所属している原木と申します。 バージョンという言葉を身近に聞いたり、体感することは多いのではないでしょうか? 霜踏み弱体化前のバージョンでRTAの記録をたたき出したらしいね。最新版ならどんなビルドがおすすめだと思う?(執筆時は三月でした) 今日新作ゲームが配信されるぞ、帰ったら遊ぶんだ…ネットワーク機能を使うためには”体の更新が必要です。更新しますか?” ソフトウェア開発においてもバージョンは決して避けて通ることはできません。しかし、プログラムにバージョンをつける側に立ってみると、そもそもバージョンとは何なのでしょうか?ふわっと考え出すとわりときりがないと思います。 バージョンの付け方ってどんなルールがあるのだろうか? バージョンをつけるタイミングは? バージョンってだいたいどれくらいの期間で上がるのだろう? バージョンって1(or0.1)から始めないといけな

    ソフトウェアのバージョンと開発スタイルの関係について | フューチャー技術ブログ
  • JSレスBootstrapなdaisyUIの秘密 | フューチャー技術ブログ

    使い方は、CSSのクラスにちょっと書き足すだけで動きます。使い勝手はBootstrapみたいですね。ドキュメントが検索しやすくて、サンプルが豊富で、シンプルに書かれているので、フロントエンドが苦手でCopy And Paste from Stack Overflowな人にも使いやすいと思います。 <button class="btn">neutral</button> <button class="btn btn-primary">primary</button> <button class="btn btn-secondary">secondary</button> <button class="btn btn-accent">accent</button> <button class="btn btn-ghost">ghost</button> <button class="btn b

  • どうしてHTML5が廃止されたのか | フューチャー技術ブログ

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

    どうしてHTML5が廃止されたのか | フューチャー技術ブログ
  • Buildpacksのビルダーをスクラッチから作ってみる | フューチャー技術ブログ

    TIGの渋川です。 CNCF連載の第4回は、CNCFのSandboxプロジェクトBuildpacksについて紹介します。 https://buildpacks.io BuildpacksとはHerokuがオリジナルで作ったビルドツールです。HerokuのオリジナルはHerokuのプラットフォーム用のビルドツールだったと思いますが(使ったことはない)、CNCF版はコンテナイメージを作成します。オリジナル版とはいろいろ違いがあり、区別をつけるためにCloud Native Buildpacks(略してCNB)と呼称されているようです。 ツールの方針としては、ビルド設定ファイルのようなものを作らなくても(実行情報のみを書いたファイル、project.tomlは書ける)ソースコードを与えるだけで、Dockerfileなどを使わずにDockerimageが作れます。 使い方は簡単で、作業フォルダで

    Buildpacksのビルダーをスクラッチから作ってみる | フューチャー技術ブログ
    lugecy
    lugecy 2021/04/05
  • 2020年秋にVue.jsのアプリケーションを作るなら、押さえておきたい5つのポイント | フューチャー技術ブログ

    TIGの伊藤真彦です。 ここ最近はVue.jsでのフロントエンド開発を行っています。 ほぼ何もない状態からのスタート段階から始めたのですが、その際調査したことが学びになったので共有します。 ※この記事は 2020/10/13 に執筆されました。調査日は2020/08/17~2020/09/01 のため、バージョンなど当時と状況が異なるものがあります。この1ヶ月の間でも、alphaからbetaに変わったり、betaが取れたりと進化が速いです。 公式ライブラリのステータスはこちらもご参考ください。 https://v3.vuejs.org/guide/migration/introduction.html#supporting-libraries 前提として押さえておきたい2点のポイント環境構築はVue CLIフューチャーでは仕事ですぐに使えるTypeScriptと題しまして、TypeScri

    2020年秋にVue.jsのアプリケーションを作るなら、押さえておきたい5つのポイント | フューチャー技術ブログ
    lugecy
    lugecy 2020/10/14
  • 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ

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

    仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ
  • 仕事でPythonコンテナをデプロイする人向けのDockerfile (2): distroless編 | フューチャー技術ブログ

    なお、distrolessのイメージは2種類(3通りの名前)がありますが、Python 3.5はバグ修正はせず、セキュリティ修正のみでサポート期限が2020/9/13というステータスなので、エントリーでは3.7の方のみを扱います。 gcr.io/distroless/python3: Python 3.5.3 gcr.io/distroless/python3-debian9: Python 3.5.3(上のイメージと同一) gcr.io/distroless/python3-debian10: Python 3.7.3 一応サンプル等もありますが、どれも1ファイルで構成されたサンプルスクリプトばかりです。前回のsite-packagesにコピーする方法を軽く試したところうまく動かず、シェルもpipもensurepipもないため、ビルドイメージにすることもできません。いろいろ調べた結果、

    仕事でPythonコンテナをデプロイする人向けのDockerfile (2): distroless編 | フューチャー技術ブログ
  • TypeScript教育用コンテンツ公開のお知らせ | フューチャー技術ブログ

    2019年頭より少しずつ書いていたTypeScript教育コンテンツをクリエイティブ・コモンズ4.0の表示 - 継承 (CC BY-SA 4.0)で公開します。といっても完成版ではなく、アーリーアクセス版のような品質であることをご了承ください。 仕事ですぐに使えるTypeScript Web版に加えてPDF版もダウンロード可能です。 そもそもこの資料を書き始めたきっかけですが、フューチャーのようなB2Bな会社であっても、最近はフロントエンドの比重が高まっているところから出発しています。僕もフューチャーに転職後からReactでがっつり1年以上の案件をやったり、半年ぐらいのAngular案件をやったりしています。会社としてはVue.jsを推しています。グループ会社の東京カレンダーはReactを使っていたりもします。要件に合わせていろいろですね。B2B2Cな案件も多いですし、お客様の求めるUX

    TypeScript教育用コンテンツ公開のお知らせ | フューチャー技術ブログ