タグ

ブックマーク / qiita.com (304)

  • 形式手法はなぜ流行っていないのか - Qiita

    はじめに みなさん形式手法をご存知でしょうか? 名前くらいは聞いたことあるけどいまいち何かわからないという方が多いのではないでしょうか。 その通りです。形式手法はアカデミアではそれなりに研究されているものの、 一般の(特にWeb系)ソフトウェア開発者が携わることはなかなかないのではないかと思います。 この記事ではソフトウェア開発に形式手法が導入されないのはなぜなのかを考察します。 この記事ではアジャイルソフトウェア開発において形式手法を導入する際のハードルについて考察します。 追記 記事について、「形式手法は流行っていない」というのは正確ではないのではないかという指摘をいただきました。組み込み系や社会インフラ系等バグを絶対に出せないシステム開発では形式手法がよく使われているそうです。 ちょっと古いデータですが活用事例です。 誤解を招く紹介となっていたことをお詫びします。 さらに追記 ku

    形式手法はなぜ流行っていないのか - Qiita
    ntaoo
    ntaoo 2021/03/25
  • RoRやLaravelなどのフレームワークを使ってきた人がScalaを導入した時に引っかかる点とその解決策 - Qiita

    はじめに 僕が代表をしている株式会社KOSKAでは製造業の原価管理をIoTで自動化するGenkanというサービスを提供しております。 そんな弊社では半年前、バックエンドをRoRからScalaに移行したのですが、これが素晴らしく効果が高かったので以下の記事を書きました。 スタートアップである弊社が全員ほぼ未経験でRoRをScalaに移行した理由、その効果と苦労点 しかし、最後に書いたのですが、苦労する点もとても多いです。 弊社CPOが苦労する点を抽象的な部分に関しては以下の記事で書いてくれてはいます。 0からScala番導入して感じたこと・考えたこと - Qiita ただ、実際にコードを書き始めた時に引っかかりやすい点をできるだけ詳しくあげておくことで、導入しようと考えた人がなるべく簡単に導入できるという状況を作りたかったので、書きました。 それではスタートです。 RubyPHP、Py

    RoRやLaravelなどのフレームワークを使ってきた人がScalaを導入した時に引っかかる点とその解決策 - Qiita
    ntaoo
    ntaoo 2020/08/05
  • リアクティブマイクロサービス入門(2/2)- 実現編 - Qiita

    はじめに 前篇の「リアクティブマイクロサービス入門(1/2)- 概念編」では、なぜリアクティブマイクロサービスが必要なのか、リアクティブマイクロサービスとは何なのかをご紹介しました。 後編となるこの記事では、リアクティブマイクロサービスの実装するために使えるテクニック・技術を、目的別にご紹介します。 もちろん、これらすべてを盛り込まなければリアクティブマイクロサービスを実現できないわけではありませんが、引き出しとして知っておけばより柔軟な設計ができるのではないかと思います。 目的別にまとめているので、適宜リファレンス的にご参照いただければと思います。 モジュール化 リアクティブマイクロサービスに求められる性質をバランス良く満たすためには、ビジネス上の関心事を分割することが重要です。 トレードオフで同時に実現することが難しい要件でも、分割することでそれぞれの関心時に最適化した手段を選択して実

    リアクティブマイクロサービス入門(2/2)- 実現編 - Qiita
    ntaoo
    ntaoo 2020/07/18
  • めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita

    EDIT^7: blink と box86、FEX。 EDIT^6: Unikraft 。 EDIT^5: Tilck 。 EDIT^4: コメント。gVisor はすっかり忘れていました!Linuxを拡張するためにLinuxを実装した良い例だと思います。LINE有りましたね。。 SF.netのCVSはもう死んでしまったので除外にしました。。 OSvのバイナリ互換 はPIEであることが要求なので。。といっても世間的にはもうLinux = Debian/Ubuntu で良いですかね。。表現を調整しました。 EDIT^3: Noah忘れてた! EDIT^2: Cygwinは 下書き段階で削ってしまった 。。 qemuを移植したとき に互換性がイマイチだったので。。特殊fdやprocfsの充実ぶりとかを考えると "かなりLinux" と言って良いとは思うけど、 mmap 等でLinuxとWind

    めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita
    ntaoo
    ntaoo 2020/07/16
  • 2020年現在のNewSQLについて - Qiita

    Disclaimer 当記事はNewSQL開発ベンダの技術ブログや各種論文、その他ニュースサイト等の内容を個人的にまとめたものです。 そのため、理解不足等に起因する誤解・誤認を含む可能性があります。更なる理解が必要な方はリファレンスに挙げた各種文献を直接参照下さい。技術的な指摘は可能であれば取り込み修正しますが、迅速な対応はお約束できません。 NewSQLの解説は二部構成 当記事は前編でNewSQLの概要編となる。 全体の目次は下記である。 NewSQLとは何か NewSQLのアーキテクチャ NewSQLとこれまでのデータベースの比較 NewSQLのコンポーネント詳解 1章から3章までの内容を当記事で解説する。 4章はさらに詳細な技術的解説となり、後編の「NewSQLのコンポーネント詳解」で記述している。 こちらも合わせて一読いただきたい。 1. NewSQLとは何か NewSQLとは、海

    2020年現在のNewSQLについて - Qiita
    ntaoo
    ntaoo 2020/02/28
  • ほんとうに酷い。Dropboxのサポート - Qiita

    Help us understand the problem. What is going on with this article? さくらインターネットの投稿が一世を風靡したので、私も負けじと投稿します。私のは、DropboxのCSに関する報告です。さくらさんほどじゃないですし、無料のサービスではあるんですけど、こっちも酷いとは思います。これも消されるんでしょうか? そもそも 元々の問い合わせは「SlackとDropbox Paper連携プラグインが上手く動作しない」ということでした。 それ自体は、日からエスカレーションされた(社の人と思われる)外人とやり取りして、すぐに解決したので何の問題もありません。酷かったのは、エスカレーションされるまでの「日法人のCSの対応」です。 やり取り(1回目) まず、最初に連絡したとき、不具合が発生するまでの手順をキャプチャ付きでDropbox

    ほんとうに酷い。Dropboxのサポート - Qiita
    ntaoo
    ntaoo 2019/12/29
    カスタマーサポートの人間に期待しすぎ。
  • React-SpringのHooks APIでブラウザアニメーションを基本から極めよう! - Qiita

    🎄メリークリスマスイブ!🎄 この記事は、React-Spring1というアニメーションのライブラリを紹介する NTTテクノクロス Advent Calendar 2019 の24日目の記事です。23日目は@yuitomoさんの記事、明日25日最終日は@korodroidさんの記事です。 2019年、令和初の年末も押しせまってまいりましたが、みなさん如何おすごしでしょうか? NTTテクノクロスの上原と申します。React/Gatsbyを用いた社内キュレーションサイトの構築や運用などを担当しています。当社では上記含め、SPAの開発にReactが採用されるケースも比較的多く、社外ブログにReactVRの記事を書いたり、去年のアドベントカレンダーイベントではGatsbyの記事「Reactベース静的サイトジェネレータGatsbyの真の力をお見せします」を書いたりしております。 はじめに Webサ

    React-SpringのHooks APIでブラウザアニメーションを基本から極めよう! - Qiita
    ntaoo
    ntaoo 2019/12/25
  • FlutterでWebView / In-App Browser - Qiita

    iOSの場合にInfo.plistに設定追加 ios/Runner/Info.plistに、io.flutter.embedded_views_previewとNSAppTransportSecurityの設定を追記。 NSAppTransportSecurityを追記しないと、http://のサイトが開けません。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> --- 略 --- <key>io.flutter.embedded_views_preview</key> <string>YES</st

    FlutterでWebView / In-App Browser - Qiita
    ntaoo
    ntaoo 2019/12/25
  • DartでgRPCを使う - Qiita

    この記事について Dart Advent Calendar 2019 の 13 日目の記事です。 その後も読みやすい記事になるようたびたび改善してます。 対象者 gRPC を知らない人 少し知っているけれど使い方がわからない人 使いどころがわからない人 Dart での使い方を知らない人 目標 Dart で REST 等の Web API の代わりに gRPC を使う基的な方法を把握する 他の使い方(双方向の通信が必要な用途など)もイメージできるようにする GitHub リポジトリ この記事のコードを GitHub に置いています(英語にして、他にも少しだけ変えています)。 kaboc/dart_grpc_examples gRPC とは Google によって開発されたオープンソースの RPC フレームワークで、今は Cloud Native Computing Foundation(C

    DartでgRPCを使う - Qiita
    ntaoo
    ntaoo 2019/12/25
  • 遠隔演奏できるピアノアプリをFlutterとgRPCで作った - Qiita

    Flutter Advent Calendar 2019 の 13 日目の記事です。 gRPC の使い方の記事が Flutter というより Dart の話になってしまったので、こちらはその副産物のアプリをお見せする記事になりました。 アプリはお遊びですが、工夫したところなどが誰かの参考になればと思います。 こんなものができました GitHub - kaboc/flutter_remote_piano: A piano app made with Flutter as a gRPC example midi で音を出すピアノアプリです。 同じサーバに繋いだ複数台の間で演奏を伝えて再現させることができる という、我ながらなかなか面白いものができました。 これは、自分で演奏したときと同様のデータを gRPC で送って自動演奏させたときのものです。 GIF だと音がないので、Twitter に上

    遠隔演奏できるピアノアプリをFlutterとgRPCで作った - Qiita
    ntaoo
    ntaoo 2019/12/13
  • DartのNull安全導入状況 (NNBD) - Qiita

    はじめに NNBDは純粋にDartの機能ですが、そのDartの最近の人気は一重にFlutterの人気によるものです。また、Dart 2.0でAOTコンパイルに最適化した理由のひとつとして、Flutterの存在が大きいでしょう。JITよりもAOTに親和性の高いNNBDもまた、Flutter向けと言うことが出来ます。より多くの人に読んでもらうためにFlutterタグも付けました。 Non-Null By Default (NNBD)とは DartではNull安全のことを通称でNNBDと呼びます。これまではint i;と書くとi = null;が可能でしたが、NNBD導入後はコンパイル時エラーとなります。Null可型にするにはint? i;と書くことになります。?修飾のない既存のintの挙動を変えて非Null可型にするので、By Defaultです。Null安全を知らない方にとっては、これだけで

    DartのNull安全導入状況 (NNBD) - Qiita
    ntaoo
    ntaoo 2019/12/09
  • C#大統一理論 - Qiita

    C#大統一理論とは CySharpのneueccさんが提唱している理論で、ザックリ言えば サーバーサイドもクライアントサイドもC#で完結できるとよくね? という理論です。 そして現状サーバーサイドとクライアントサイドの両方で使える言語はC#を除くとJavaScriptくらいだと思います(なんかあったら教えてください) C#でクライアントサイドを作るにはXamarinゲームエンジンのUnityが筆頭になります。 C#のよさ いろいろありますが、個人的に上げるなら 比較的言語が若く(C++と比較して)、LINQなどモダンな文法仕様が遂次追加されている(というかLINQは単独で良い)。 単純に.NET Coreがクラスプラットフォームで安定して動作する。マイクロソフトが気を出してるからサーバーサイド、クライアントサイドから機械学習まで使える範囲がめちゃくちゃ広い。 decimalみたいな型ま

    C#大統一理論 - Qiita
    ntaoo
    ntaoo 2019/12/04
    Dartでいいじゃん
  • エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita

    記事は、Engineering Manager Advent Calenderの1日目です。 はじめに エンジニアリングマネージャ(EM)と呼ばれる職務を設置する企業が増えてきました。 私たちの主催したイベントEOF2019でも700名近い方に参加していだき、また多くの方にご協力いただき成功裏に終わることができました。 EM Meetup/EM.FMなどのムーブメントの中心の一翼を担わせていただき、その高まりを感じる一方で不安も感じます。このエンジニアリングマネージャという職務は非常に多岐にわたるケースが存在していますし、必要だとされるスキルもまちまちです。そして、多くの場合、その企業のステージや状況ごとに求めるものは違います。また、求めていることを明文化することすらされていないケースも存在します。 このことから、エンジニアリングマネージメント自体が一時的な潮流として消費され、消えていっ

    エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita
  • 設計要件をギッチギチに詰めたValueObjectで低凝集クラスを爆殺する - Qiita

    /// <summary>契約金額</summary> public class ContractAmount { public int AmountIncludingTax; public decimal SalesTaxRate; } 当然データの入れ物(以後データクラスと呼称)だけでなく、税込み金額を計算するロジックが必要です。ここであまり設計を考えないと、この手の演算ロジックはデータクラスとは別のクラスに実装されることが多いです。以下のようにControllerに実装されることが多いのではないでしょうか。 /// <summary>契約コントローラー</summary> public class ContractController { private ContractAmount _contractAmount; /// <summary>税込金額を計算する。</summary>

    設計要件をギッチギチに詰めたValueObjectで低凝集クラスを爆殺する - Qiita
    ntaoo
    ntaoo 2019/11/05
    "オブジェクト指向で設計"が、最近はDDDで設計にリブランディングされつつあるのかな
  • Flutterで画面のスクリーンショットを撮る - Qiita

    Flutterで描画している画面をどうにかしてプログラムからキャプチャーできないかなー?と思ってFlutterのドキュメントを読み漁っていたら、なんかそれっぽいクラスを見つけました。 Scene class SceneBuilder class SceneはFlutterで描画される各フレームを表していて、SceneBuilderはSceneを組み立てるためのクラスらしいです。 じゃあFlutterの中でこれらを使ってる箇所はどこ?と思ってFlutterのコードを調べてみると……ありました。view.dartの中です。 import 'dart:ui' as ui; //...中略 final ui.SceneBuilder builder = ui.SceneBuilder(); final ui.Scene scene = layer.buildScene(builder); if (

    Flutterで画面のスクリーンショットを撮る - Qiita
    ntaoo
    ntaoo 2019/10/08
  • 文系大学生が機械学習を0から始めて9か月でKaggle銀メダルを獲得するまで - Qiita

    今回自分は0から始めて9か月でコンペで銀メダル(6385分の249位,top4パーセント)を獲得できました。 自分の今までの流れをおさらいしていきます。 それまでの僕のスペック 数3と行列はほぼ何も分からない プログラムはrubyjavaはそこそこに書ける、pythonは知らん 勉強の流れ 12月末 機械学習を始めると決心、とりあえず何をやればいいかよく分からないがpythonが必要らしいのでprogateでpythonをやってみる 1月 数学が必要らしいので、行列と微分積分について1から学んでみる。今から考えると、行列の基礎をさらえたのは良かったですが、それ以外はこの時間は絶対いらなかったなと考えています。 微分積分 行列 2月 Udemyで多くの講座を受ける、詳細は以下の記事にまとまっています https://qiita.com/HayatoYamaguchi/items/c8051

    文系大学生が機械学習を0から始めて9か月でKaggle銀メダルを獲得するまで - Qiita
    ntaoo
    ntaoo 2019/10/07
  • 200行のVue.jsでスネークゲームを作った - Qiita

    こんにちは、チーズです。 社内のVue.js勉強用プログラムとして1時間ほどで簡単なスネークゲームを作ったところ、メンバー各々が魔改造などして、一時的に社内でスネークゲームが流行りました。 (2019/09/29 追記) 第2弾も作りました → 『250行のVue.jsで陣取りゲームを作った』 デモページ GitHub ソースコード ゲームルール スネークゲームは、シンプルで古典的なゲームです。 1. 何も操作しないとヘビはまっすぐ進む 2. 壁か自分自身にぶつかるとゲームオーバー 3. 矢印キーでヘビを方向転換できる 4. リンゴをべると体が伸びる&スコアUP これらのルールをVue.jsで作りました。 200行のプログラム 以下の200行のhtmlファイルに全ての機能が纏まっています。 snake.htmlなどの名前で保存して、ブラウザでそのファイルを開くと遊べます。 速さや色、新

    200行のVue.jsでスネークゲームを作った - Qiita
    ntaoo
    ntaoo 2019/09/29
  • エンジニアないない - Qiita

    「あるある」じゃないです はじめに これは、筆者が周りの非エンジニアの方々に 「エンジニアの人って◯◯なんでしょ?」 と言われて、「いやそんなことないですよ笑」と答えた話をまとめました。 この回答が、同じような質問を受けた人が 「ないない。実際はこうなんだよ」 と答える参考になれば幸いです。 (どんな時だよ!) 自分の経験値だけで語っているので、 「俺の場合はあるあるだよ!」 とかあるかもしれません。ご了承ください。 色んな「ないない」 ハッカーって銀行に侵入して口座の金額増やせるんでしょ? ないです。 振込はネットでもできますが、トランザクションの登録だけであり、 実際の金額の操作はネットワークから分離されています。無理です。 インターネットからできるのはキューの登録だけです。 基幹システムでチェックされるので、例え不正な振込データを送信できたとしても 実際に反映される時に弾かれます。残

    エンジニアないない - Qiita
    ntaoo
    ntaoo 2019/09/13
    当たり前だけど、ハードウェアは何もしなくても壊れるときは壊れるよね?
  • TypeScriptの型推論詳説 - Qiita

    TypeScriptJavaScriptに静的型を追加した言語で、コンパイルエラーを検出することでJavaScript開発をさらに快適・効率的にしてくれるものです。 型システムを備えている言語は、多かれ少なかれ何らかの形で型推論を備えています。大ざっぱに言えば、これは型を明示的に書かなくてもコンパイラがいい感じに型を推測して理解してくれる機能です。型推論は静的型付き言語における花型機能のひとつと言ってもよく、色々な言語がそれぞれの特色を持っています。 この記事ではTypeScriptにおける型推論について詳説します。この記事に書いてあることは、TypeScriptを普段から書いている方ならなんとなく理解している内容が多いと思います。しかし、これらの内容がちゃんと言語化されている記事がいまいち見当たらなかったので今回記事を書くことにしました。 ※ この記事の内容は執筆時点の最新版のType

    TypeScriptの型推論詳説 - Qiita
    ntaoo
    ntaoo 2019/05/28
  • AngularDartを始めよう - Qiita

    Flutterが日でも人気が出てきた事で、Flutterの言語であるDartでWebアプリも書いてみようかなと思っている人向けにAngularDartで開発を始めるにあたって必要な手順やライブラリーを紹介出来ればなと思って書いてみます。なるべく丁寧にわかりやすく書いたので文章はちょっと長いですが。ステップとしてはSDK、webdev、stagehand、angular_cliをインストールしてpubspec.yaml内のバージョンを最新にするという単純なものです。 AngularDartについて Angularと言えばTypeScript版のフレームワークが一般的ですが、その思想等はほぼ同じだけれども書かれている言語がDartなのがAngularDartです。TS版AngularAngularDartGoogleが深く関わっているプロダクトなのになぜ2つあるのか疑問に思う人は多いと思

    AngularDartを始めよう - Qiita
    ntaoo
    ntaoo 2019/04/15
    “現在AngularDartは実際に使う開発者の生産性を意識して、各種リファクタリングや周辺ツール類の整備に力を入れているとの事です。”