タグ

ブックマーク / dev.classmethod.jp (33)

  • Wasm with Dockerを試す | DevelopersIO

    Introduction 先日、DockerWasmをサポートするテクニカルプレビューを発表しました。 これにより、dockerコマンドでWasmを実行したり、 WasmイメージをDocker Hubにpushして 使うことが可能になります。 稿ではシンプルなWasmプログラムをRustで作成し、 docker imageをDocker Hubへpushして実行してみます。 Environment macOS : 13.0.1 Rust : 1.65.0 Docker : 20.10.18 Dockerはここにあるリンクから、 対象のプラットフォームにあったものをインストールしておきましょう。 また、Docker Hubへimageのpushもするので、 Docker IDも必要です。 Setup 正しくDockerがインストールしてあるかチェック。 % docker --versio

    Wasm with Dockerを試す | DevelopersIO
  • Commitizenを使ってgitのコミットメッセージをしっかり書こう | DevelopersIO

    はじめに gitのコミットメッセージを記述するとき、内容について悩むことが度々あります。 簡潔に要点をまとめて書きたいけどいちいち記述が面倒だったり、チームで書き方がバラバラだったり・・・ そして結局「fix bug」のひとことだけメッセージを記述するだけになったりします。 この記事ではそんなコミットメッセージを少しでも簡単に有用にするためのツールを紹介します。 Commitizen? コミットメッセージを簡単・簡潔に記述したいときに使えるのがCommitizenです。 Commitizenはインタラクティブにコミットメッセージを作成できるツールで、 このコミットのタイプ スコープ コミットのサマリー コミットの詳細 などについて対話的に記述していくことで、適切なコミットメッセージを作成できます。 ? Select the type of change that you're commit

    Commitizenを使ってgitのコミットメッセージをしっかり書こう | DevelopersIO
    igrep
    igrep 2022/07/13
    これは便利そう。どっかで導入したい
  • scriptコマンドで作業ログを記録 | DevelopersIO

    実行例 それでは早速試してみます。 [ec2-user@ip-172-31-26-205 ~]$ script 20150117.log スクリプトを開始しました、ファイルは 20150117.log です [ec2-user@ip-172-31-26-205 ~]$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/xvda1 7.8G 1.1G 6.7G 14% / devtmpfs 491M 56K 491M 1% /dev tmpfs 499M 0 499M 0% /dev/shm

    scriptコマンドで作業ログを記録 | DevelopersIO
    igrep
    igrep 2022/06/09
    なるほど知らなかった
  • WASM実行基盤、wasmCloudを試してみる | DevelopersIO

    Introduction WebAssembly(WASM)はブラウザー上で高速に実行することを可能にする バイナリーフォーマットであり、 いろいろなプログラミング言語で実装することが可能です。 しかし、WASMは単なるJavascriptの一部を高速化するだけの目的でなく、 さらに広い範囲でのWASM実行基盤としても進化しています。 今回はそんなWASM実行基盤の1つ、 wasmCloudを試してみました。 WasmCloud? wasmCloudは、WASMランタイムだけでなく、 どこでも実行できるWASMモジュールを作成するための分散プラットフォームです。 CNCF Sandbox プロジェクトにもなっています。 AssemblyScriptやTinyGoRustなどをつかって WASMモジュール(wasmCloudでいうActor)を作成できます。 Environment Mac

    WASM実行基盤、wasmCloudを試してみる | DevelopersIO
  • TypeScriptの異常系表現のいい感じの落とし所 | DevelopersIO

    みなさんTypeScriptでサーバアプリケーション(Node.js)のロジックを書く時に、異常系の表現をどのようにされていますでしょうか?ここでいう異常系とは、仕様上想定される異常のことです。準正常系と言ったりもするかと思います。 私はJavaScriptの延長でTypeScriptをはじめたので、最初は null や undefined を返したり throw を用いるやり方をしていましたが、次第にTypeScriptが持つ型を生かし、できるだけ型安全に異常系を表現したいと考えるようになりました。そして試行錯誤した結果、いい感じの落とし所に落ち着いたので、その内容についてお伝えしたいと思います。 また記事の後半では、異常系の型を実装する中でハマった点についてもお伝えしたいと思います。 TypeScriptの異常系表現について 1. nullやundefinedを返す 冒頭でも述べたよう

    TypeScriptの異常系表現のいい感じの落とし所 | DevelopersIO
    igrep
    igrep 2021/03/12
    軽量なEither型って感じか。確かにHaskellと違ってearly returnすればネストが深くなる問題は免れるし、少々冗長だけどいい落とし所なのかも知れない(でも結局flatMapみたいな関数を自前で追加しちゃいそう)
  • [Swift] はじめてのCombine | Apple製の非同期フレームワークを使ってみよう | DevelopersIO

    こんにちは。きんくまです。 今回はiOS13から使えるようになったCombineをやってみました! Combineって何? イベントの発行と購読をすることができるフレームワークです。 非同期処理の中で使えばスッキリと書くことができるので、コールバック地獄とか死のピラミッドとかがおきなくなります。 Appleが元ネタにしたと明言しているのかどうかはわかりませんが、似たOSSライブラリにRxSwiftがあります。 ReactiveX/RxSwift: Reactive Programming in Swift - GitHub また最初に書いたのですが、iOS 13以降に使えるフレームワークなのでiOS 12以下は使えないことにご注意ください。 iOS 13から使えるようになったSwift UIとセットで使うと良さそうですね。 さて、Combineには大事な要素が3つあります。 Publish

    [Swift] はじめてのCombine | Apple製の非同期フレームワークを使ってみよう | DevelopersIO
  • HaskellでS3にファイルアップロードしてみた | DevelopersIO

    はじめに あけましておめでとうございます。CX事業部の吉川です。 年末年始連休は全体的にダラダラとした寝正月を過ごしていましたが、ちょっとくらい何かやろうということで自由研究として「Haskell+AWS」に取り組んでみました。 ずっとHaskellに興味があり、すごいHと『入門Haskellプログラミング』は買ったのですが、すっかり積んでしまっていました。 そんなわけで、勉強しようしようと思いつつ手を出せていなかったのでこの機会にえいやで始めました。 今回は手頃なところでS3へのファイルアップロードを行います。 GitHubリポジトリ まずは完成物から。 stack run でS3バケットに10MBと100MBのダミーファイルをアップロードします。 https://github.com/dyoshikawa/amazonka-s3-playground S3バケットとIAMユーザ作成

    HaskellでS3にファイルアップロードしてみた | DevelopersIO
    igrep
    igrep 2021/01/04
    敢えてそこから始めようとするのすごいなぁ。amazonkaってlensとかMonad Transformerとかバリバリ使ってるライブラリーだからとっつきづらいだろうに。
  • PowerShell 7が正式リリースされました | DevelopersIO

    しばたです。 現在2020年3月5日午前2:30、そろそろ寝ようと思っていたのですが今まさにPowerShell 7が正式リリースされたので眠気を抑えてこのブログを書いています。 PowerShell Teamからのアナウンスは以下となります。 当初の予定では今年の1月に正式リリース予定だったのですが、先行していたリリース候補版で発生した不具合対応やソフトウェアの品質向上のため約二か月延期され日のリリースとなりました。 記事ではこのアナウンスを元にPowerShell 7について解説していきます。 PowerShell 7について PowerShell 7は2018年1月にクロスプラットフォームな新しいPowerShellとしてリリースされたPowerShell Core 6.0のメジャーバージョンアップとなります。 PowerShell Core 6.0はその名前にある様にアプリケー

    PowerShell 7が正式リリースされました | DevelopersIO
    igrep
    igrep 2020/03/08
    やっと && と || が入るんだw
  • UMLの爆速プレビュー環境をVisual Studio Code + PlantUML Server on Dockerで簡単に構築する | DevelopersIO

    PlantUMLとは PlantUMLはシンプルな記法でUMLダイアグラムが作成できる、超便利なツールです。UMLをはじめ、以下のような図の作成もサポートしています。 ワイヤーフレーム アーキテクチャ図 仕様及び記述言語 (SDL) Ditaa ガントチャート マインドマップ WBS図(作業分解図) AsciiMath や JLaTeXMath による、数学的記法 Entity Relationship diagram 実際に業務で使う場合はテキストを書く→画像に書き出すという順序になりますが、基的にはプレビューを確認しながら書くと効率良く作成できます。 プレビューを確認しながら書くには、例えばWebアプリなども公開されているのでそちらで済ませてしまう方法もあります。 https://planttext.com しかしながら テキストをファイルとして残しながら作業したい場合はやはりローカ

    UMLの爆速プレビュー環境をVisual Studio Code + PlantUML Server on Dockerで簡単に構築する | DevelopersIO
  • ローカルでのソースコードの変更を自動で検知してKubenetesへデプロイ! Skaffoldを開発モードで使ってみました | DevelopersIO

    ローカルでのソースコードの変更を自動で検知してKubenetesへデプロイ! Skaffoldを開発モードで使ってみました Skaffoldを使用して、ローカルでソースコードを変更したら自動的にKubernetes(EKS)までデプロイして快適に開発できる環境の作り方をまとめてみました。 はじめに おはようございます、加藤です。昨日参加した勉強会でSkaffoldの存在を知ったので、早速 ECR & EKS で試してみました。 Skaffoldとは GoogleContainerTools/skaffold: Easy and Repeatable Kubernetes Development SkaffoldはGoogleによって開発されている、Kubernetes(以降、k8s)への継続的な開発を容易にするコマンドラインツールです。 開発フェイズでは、アプリケーションのソースコードの変

    ローカルでのソースコードの変更を自動で検知してKubenetesへデプロイ! Skaffoldを開発モードで使ってみました | DevelopersIO
  • はじめてのLINE Things | DevelopersIO

    少し前に、LINE Things development boardを頂く機会がございました。 興味がありましたし、せっかくですので、まずはセットアップをしてみました。 LINE Thingsとは? LINE Developersに分かりやすい文章がございましたので、引用します。 LINE Thingsは、LINEを介して、チャネルとBluetooth® Low Energy対応デバイスを連携し、操作を可能にするIoTプラットフォームです。 ここでいうチャネルとは、ボットを作成するために使用するLINE Messaging APIのチャネルのことです。 この図にあるように、LINEアプリがデバイスと連携し、LINEのプラットフォームを通じて、LINE BotやLIFF(LINE Front-end Framework)のインタフェース上に情報を表示したり、操作を行えるようになるというもので

    はじめてのLINE Things | DevelopersIO
    igrep
    igrep 2019/09/20
  • やはりお前らの多要素認証は間違っている | DevelopersIO

    よく訓練されたアップル信者、都元です。 いきなりガン煽りのタイトルで申し訳ないんですが、これしか頭に浮かびませんでした。 ちなみに原作は見たことがありません。 弊社は日を最終営業日として、これから冬季休業となります。 今年も一年、どうもありがとうございました。というわけで書き納めの一、その2。 さて、「認証」という言葉がありますが、要するに 相手が誰(何)であるかを確認すること を表します。 正確には「ひとつのデジタルアイデンティティがある実体に対応することの確証を得ること」です。 が、まぁそれはまた別のお話。 この「認証」はなにもコンピュータに限定した話ではなく、人間同士のコミュニケーションでも 随時行っている話です。目の前で自分と会話している人物が、当に自分が望んでいる相手かどうか、 というのは確信できていると思います。 結論 さていきなりの結論ですが。実は単要素なのに、二要素認

    やはりお前らの多要素認証は間違っている | DevelopersIO
    igrep
    igrep 2019/07/05
    https://m.upsilo.net/@upsilon/102383196399672697 のクイズから飛んできた。決して2段階認証が意味がないという話じゃないということを理解するまでものすごい違和感を覚えたけど納得。
  • 社内の精鋭たちを集めて3週間でAmazon Goっぽい仕組みを作った | DevelopersIO

    渡辺です。 米中で無人コンビニ沸騰 機動力の良さ日でも - 日経電子版で弊社の取り組みが紹介されました。 筆者が参加した小売り関係者の勉強会では、米中の視察の報告会に加え、アマゾン・ゴーを実際に再現したシステムの体験会があった。 企画した会社は、クラスメソッド(東京・千代田)。アマゾン・ウェブ・サービス(AWS)で国内有数の実績をもつシステム会社で、なんと3週間で疑似的な体験システムを完成させた。 日は、こちらの記事で紹介されたAmazon Goの再現システム(以下、Yokota de Go)について、技術的な部分を紹介します。 なお、このエントリーは、上記2018年7月のデモ時点の実装に基づきます。 また、3週間程度で、試行錯誤しながら、実験をしている段階であることをご理解ください。 Amazon Goに関しては、Amazon Go体験ツアーを参照ください。 発端 ある日、ボスが「A

    社内の精鋭たちを集めて3週間でAmazon Goっぽい仕組みを作った | DevelopersIO
    igrep
    igrep 2018/08/01
  • 【速報】全てのS3ユーザ必見!S3の性能が大幅パワーアップ!面倒なアレが不要に! | DevelopersIO

    皆さんこんばんは…。日とほぼ半日時差のあるニューヨークでは、2018年7月15〜16日の日程で、AWS Summit 2018 New Yorkが開催されています。 ここで皆さんおなじみのAmazon S3に関する重大な発表が行われました!何が起きたのかを早速確認しましょう! Amazon S3 Announces Increased Request Rate Performance | What's New with AWS 何が変わったのか? 変更点を箇条書きでまとめます。 S3の書き込み/読み取りの性能が上がった PUT/POST/DELETE:3,500リクエスト/秒/プレフィックス GET:5,500リクエスト/秒/プレフィックス 自動的に性能増加(内部で並列処理) アプリケーション等の周辺環境に対し、事前設定や追加設定は一切不要 追加料金なし ※"プレフィックス"に関しては、

    【速報】全てのS3ユーザ必見!S3の性能が大幅パワーアップ!面倒なアレが不要に! | DevelopersIO
    igrep
    igrep 2018/07/18
  • [速報] Amazon Linux 2 ベースのデスクトップ環境!Amazon Linux WorkSpaces が登場しました | DevelopersIO

    ライセンス料の差なのか、Linux版の方が各バンドル一律 $4/月、安価な設定になっています。 Amazon Linux WorkSpaces を使ってみる それでは早速起動してみます。起動・接続の手順はWindows版と全く同じでした。 まずはディレクトリを選択します。あらかじめ起動しておいた、SimpleADを選択しました。 ユーザーを作成しておきます。 バンドルの選択です。Value/Standard/Performance/Powerの4つのスペックから選択できます。今回はStandardを選びました。 実行モードを選択します。 内容に問題なければ、起動します。 起動が完了するまで、20分ほど待ちました。 起動できたら接続です。ここも、Windows版と同じで、登録したユーザーのメールアドレスに送付されてくる情報から、WorkSpacesクライアントを使って接続します。 接続できま

    [速報] Amazon Linux 2 ベースのデスクトップ環境!Amazon Linux WorkSpaces が登場しました | DevelopersIO
    igrep
    igrep 2018/06/28
    へぇ。
  • 10分でわかる!Key Management Serviceの仕組み #cmdevio | DevelopersIO

    こんにちは、虎塚です。 先日のCM re:Growth Developers.IO Meetup 11 Tokyo で「10分でわかるKey Management Serviceの仕組み」という発表をしました。今日は、イベントに参加されなかった方がご覧になっても内容が伝わるように、発表内容を記事に起こしてみました。 はじめに Key Management Service(KMS)は、先月開催されたre:Invent 2014で発表された新サービスです。すでに全リージョンで利用できます。このサービスを使うと、データの暗号化/復号用の鍵をAWS上で管理できます。 ところで、KMSのAPIドキュメントを流し読みすると、マスターキーとデータキーという言葉が出てきます。そうです、KMSが扱う鍵は2種類あるんですね。 2つの鍵の違いは何か? どう使い分けるのか? などが、ぱっと見ではわかりづらいかもし

    10分でわかる!Key Management Serviceの仕組み #cmdevio | DevelopersIO
  • Android Spekでユニットテスト書いてみた | DevelopersIO

    まえがき Kotlin Advent Calendar 2017 - Qiitaの14日目です。 ユニットテストを書く時に、もっといい感じに書きたいっと思う時があります。 そんなとき、Spek - A Kotlin Specification Framework for the JVMを発見しました。Androidで試してみました。 Androidでの導入は最後に書きます。 まずはSpekとJUnit4でのソースをみてみます。 Kotlin前提ですが、デフォルトはもうKotlinでいいよね? 比較 テスト対象 class SampleCalculator { fun sum(x: Int, y: Int): Int = x + y fun subtract(x: Int, y: Int): Int = x - y } Spekで書いてみる @RunWith(JUnitPlatform::c

    Android Spekでユニットテスト書いてみた | DevelopersIO
    igrep
    igrep 2017/12/14
    assertion用のフレームワークを別途設定できるので、x.should.equal(y)みたいな書き方もできると。
  • Elm を書く環境を整える | DevelopersIO

    こんにちは。齋藤です。 この記事は Elm アドベントカレンダー 11日目の記事です。 この記事では 以前書いた記事 をベースに Elm の環境をセットアップに関して整理してみます。 今回書く内容は以下の内容です。 elm のセットアップ elm のインストール vscode-elm のインストールと設定 elm-test のセットアップ いくつか書いてみる vscode-elmelm-testのフォルダ構成で詰まった話 elm-format によるフォーマット elm-analyse によるLint なぜかLintされない話 elm のセットアップ まずは elmを使う為には npm が必要です。 npm のセットアップをしたあと、elm を インストールしていきます。 npm init -y npm install elm -D ライブラリをインストールしてみましょう。 npx

    Elm を書く環境を整える | DevelopersIO
    igrep
    igrep 2017/12/11
    クラスメソッドさんのブログにElmが!
  • refinedで値が満たすべき条件を型で表現する | DevelopersIO

    こんにちは、山崎です。 今回はrefinedというライブラリをご紹介します。 refinedとは refinedはRefinement Type(篩型)をScalaで実現するためのライブラリで、既存の型に対して型レベルで満たすべき条件を指定することで、取りうる値を制限することができます。もともとはHaskellの同名のライブラリを移植したもののようです 依存ライブラリ まずRefinedを依存ライブラリに追加します。 libraryDependencies ++= Seq( "eu.timepit" %% "refined" % "0.8.4", ) 簡単な例 まず、数値を特定の範囲に制限する例を見ていきましょう。 先に必要なパッケージをimportしておきます。 import eu.timepit.refined._ import eu.timepit.refined.api.Refin

    refinedで値が満たすべき条件を型で表現する | DevelopersIO
  • Amazon EC2とEBSの料金が秒単位の請求に変わります! | DevelopersIO

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 2017年10月2日からAmazon EC2とAmazon EBSの料金が秒単位の請求となります。内容についてまとめてみました。 New – Per-Second Billing for EC2 Instances and EBS Volumes 秒単位の請求 今までEC2は従量課金モデルに従い、1時間単位の請求が発生していました。10月2日から以下のサービスについて1秒単位で請求が発生します。 Amazon EC2 Amazon EBS Amazon EMR AWS Batch 以下のように請求書は時間単位のままで小数で表示されます。 Source: <https://aws.amazon.com/blogs/aws/new-per-second-billing-for-ec2-instances-and-ebs-volumes/>

    Amazon EC2とEBSの料金が秒単位の請求に変わります! | DevelopersIO
    igrep
    igrep 2017/09/19