サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
miso-soup3.hateblo.jp
コードを書いていてハマることはよくあるのですが、とある方法を行うようにしてから、問題解決までの時間が短くなったと感じました。その方法を書きます。とはいっても、どれもよく言われることだと思います。 すぐに試せる環境を用意しておく 作業ログの書き方を見直す ミニマムプロジェクトを作成する すぐに試せる環境を用意しておく 疑問に思ったときのために、1分以内にコードを書いて動かせる環境を立ち上げられるようにします。「〜 Playground」でググると言語毎にたくさんのツールを見つけられます。なるべく早く、自分が億劫と思わずに済む簡単な方法を見つけます。 例えば、自分は RxJS を試すために stackblitz.com のサイトをブックマークしています。RxJS の他に Angular、TypeScript も試せます。 この方法を身につけるまでは、既存のプロジェクト(たとえば業務のプロジェク
Google が How to do a code review のドキュメントを公開しました。いくつかのセクションのうち、レビュアーのための1つ Speed of Code Reviews を読んで、読み取ったものをメモします。 ※ 日本語に翻訳されたプロジェクトがあります: Google エンジニアリング・プラクティス ドキュメント | eng-practices なぜコードレビューは早くするべきか? Googleは、”個人”の開発者のコードの書く早さを最適化するのではなく、開発者の”チーム”が一緒にプロダクトを作る早さを最適化する。個人の早さは重要だが、チーム全体のベロシティほど重要ではない。 レビューが遅いとき、次のことが発生する: チーム全体の速度が低下する レビューにすぐに反応しない人は個人として別の仕事を完了できる。ただし、他のチームメンバーの機能開発やバグフィックスは、レビ
TypeScript で、readonly な仕組みとしてどのような型や仕様があるのか気になり調べました。見つけた範囲で書きます。 試したコードは gist にあります: TypeScript readonly 目次: Read-only properties Read-only index signatures Readonly<T> ReadonlyArray<T> ReadonlyMap<T> ReadonlySet<T> 追記 2019/3/18 ※以降のコードには、readonly なのでこのコードは書けない、ということを示すため、コンパイルエラーとなる記述が含まれます。同じ行のコメントに「// Error:」とかいてあるものがコンパイルエラーとなる行です。 Read-only properties readonly 修飾子は TypeScript 2.0 でリリースされたようで
Jupyter Notebook で、楽譜を表示したり、その楽譜を再生してみたり、曲を分析したりしてみました。そのことについて書きます。分析といっても簡単なものです。 目次 Code, .ipynb 環境 VS Code で Jupyter Notebook music21 とは 曲の作成と表示 バッハの平均律を分析 分析 後半 参考 追記 Code, .ipynb Jupyter Notebook: https://mybinder.org/v2/gh/hhyyg/miso.py.music21bach/master ここにある2つの .ipynb ファイルから確認できます ただし、画像・音声生成部分などは再実行ができません GitHub: https://github.com/hhyyg/miso.py.music21bach 環境 Mac Visual Studio Code Pyt
育児アプリを Swift/iOS で個人で開発していましたが、未完のままお蔵入りすることにしました。リリースできなかった…無念。成仏させるためにその話を書きます。 作ったところまでのスクショ: 作ったところまでの動画: youtu.be ※アプリ内でこちらの画像を使用しています:エンジニアを褒めるネコのLINEスタンプを作った話。|こばかな|note コードはこちら: https://github.com/hhyyg/CareButtons/tree/master/CareButtons/CareButtons 構成 Swift / iOS Firebase Firestore Cloud Functions Dynamic Links なぜ作ろうとしたか Swift / iOS を学びたかった モチベ維持のため、テーマとしては自分の生活に役に立つものを作りたかった 既存の育児アプリに納得
ゲーム「楽譜で音ゲー」のプロトタイプを、Unity で作成しました。→ 追記:その後リリースしました 曲は、簡単な「かえるの歌」と、難しめな「戦闘曲35(魔王魂より)」の2曲です。UnityRoom にアップしたので実際にプレイできます。 「かえるの歌」 www.youtube.com プレイできるページ:https://unityroom.com/games/otogekaeru 楽譜:Kaeru sheet music for Piano, Percussion download free in PDF or MIDI 「戦闘曲35(魔王魂より)」 www.youtube.com プレイできるページ:https://unityroom.com/games/otoge-battle35-2 楽譜:https://musescore.com/thebiblobiblo/battle35_n
2018/4頃にCloud Functions for Firebase SDK v1.0 がリリースされました。追加された機能の1つに「Callable HTTPS Function」というものがあります。このFunctionのデバッグとテストの方法を記述します。 目次: まとめ Callable HTTPS Function とは Callable HTTPS Function の準備 デバッグ・実行 テスト HTTP 越しのテストは実用的ではなさそう ということで、メソッドを切り出してテストする まとめ Callable HTTPS Function の中身は HTTP 関数。関数内でユーザーを特定したい場合は、Callable HTTPS Functions を使った方が良さそう。 とりあえず実行したい場合は、ID Token を HTTP Header に格納して HTTP リク
Bitrise & Xcode & GitHub で、シークレットな情報を管理する方法の1つとして。 iOS アプリにて、GitHub の OAuth 認証を実装するため、GitHub Client Id・GitHub Secrey Key をコードで参照しています。 この2つの値は、開発時・Bitrise でのビルドでは必要ですが、GitHub リポジトリにはコミットしたくありません。そのため、以下のような方法を採りました。手順を記載します。 Client Id, Secret Key は、.plist ファイルに記述する GitHub には、.gitignore でコミットしないようにする Bitrise のサイトにて、Secret 変数に Client Id, Secret Key の値を登録する Bitrise のビルドフローに、.plist に Client Id, Secret
関連リンク よくわかるAuto Layout | 川邉雄介, 所友太 | 工学 | Kindleストア | Amazon 目次:よくわかるAuto Layout/川邉雄介 - システム開発・設計:honto電子書籍ストア 「よくわかるAuto Layout」を執筆した話 - Jeffsuke is not a pen. 読んだきっかけ 「Auto Layout で組むときに、何となくでできてしまったり、思い通りにならなくて困ることが多いのであれば、この本を一度読んだ方が効率がよい」と言われたことがきっかけです。 感想 読んで良かったです。 Auto Layoutを一度触ったことがある人向けだと思いました。初心者向けではない、という意見がありますが、触ったことがあればこの本は良いと思います。 基本的なこと・例としてのレイアウトのパターン・デバッグ手法が載っていたことが良かったです。 この本に
cshtml を1つだけホストしたいけど、そのために ASP.NET と PaaS は重いなと思い、Azure Functions でレンダリングするようにしました。 下記のような条件を満たす Azure Functions を作成します。 Azure Functions で、1ページだけ HTML を出力したい 1ページだけだけど、クエリ文字列やフォーム送信のデータは、取得して C# で処理したい Razor(cshtml)で書きたい 今回作成したページの図です: 用途としては、アクセスが少ない適当なサンプルページを公開したいものとします。 別件ですが、cshtml ではなく静的な html をホストしたい場合は、こちら Serving an HTML Page from Azure Functions を参考にします。 サンプルコード github.com 概要 Azure Funct
By TECH PLAY女子部 Advent Calendar 2017 - Qiita リソースの提供者として GraphQL を使うとき、どうような雰囲気になるのか気になったので調べました。 GraphQL について調べ、GitHub が提供している GraphQL API を触り、C#(ASP.NET Core) で実際に実装してみました。Swagger UI のように、ブラウザ上で実行する環境を ASP.NET Core 上に載せてみました。それらの内容を記載します。 GraphQL とは HTTP 上でのやりとり スキーマ 改行に注意 GraphQL を触ってみる GraphiQL で触る HTTP で触る C# ライブラリ GraphQL for .NET ASP.NET Core で提供する エンドポイントの用意 GraphiQL の用意 参照 サンプルコード: github
Gistan - Apple Store 機能 自分の Gist を見る ファイル.app で 自分の Gist を見る GitHub でフォローしている人の Gist を見る ユーザーを検索して、その人の Gist を見る 自分の Gist を一覧ですぐ見たかったのと、Twitter のように Gist を見たいと思ってこんな機能にしました。 GitHub GitHub: github.com ファイル.app のアプリ拡張は、mzp さん GitHub - mzp/OctoEye: Github viewer for Files.app を参考にしました。ありがとうございます。 mzp.hatenablog.com 審査 土曜に審査提出し、月曜の早朝にリジェクトが来ました。そのリジェクトの内容は以下の通りです。 その後、Webブラウザ上ではできない機能を3つ、Web Applicati
Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus) 作者: 石川洋資,西山勇世出版社/メーカー: 技術評論社発売日: 2017/02/07メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る 本のサポートページ|技術評論社 自分についての背景 C# 数年 Objective-C は触っただけくらい Swift は、Optional についてやや知っている程度 読んだきっかけ C# 開発者向けの Swift 本を探していたところ、この本を推奨されたので読みました。 感想など 自分が目的を果たせたという面から、C# 開発者が学ぶにはとても良い本だと思います。毎日少しずつ読んで 3 週間ほどで読み終わりました(一般的には長い方だと思います)。Mac で iBooks と Playgrounds と画面を並べて読みました、快適
T4 以外でのコード生成を調べていた時に、「Scripty」という Roslyn で動くコード生成のライブラリがあったので、メモ。 基本的な使い方は、以下のドキュメントから分かります。 daveaglick/Scripty: Tools to let you use Roslyn-powered C# scripts for code generation Dave Glick - Announcing Scripty 記述されているように、特定の NuGet パッケージを取得し、Visual Studio Extension をインストールします。 Roslyn Syntax API でプロジェクトファイルにアクセスできるようになっています。 Sample 今回お試しとして、ASP.NET MVC 5 のプロジェクト内にある「**Controller.cs」クラス名と、そのコンストラクタ
「Web Extension Pack」という名前は、再び「Web Essentials」という元からある名前・ブランディングに戻りました。 Visual Studio 2017 では「Web Essentials 2017」という拡張機能が用意されています。 Long live Web Essentials 1393 The End of Web Essentials with Mads Kristensen .NET Rocks! vNext 作成者である Mads Kristensen氏は、2016年12月に、”2017 では Web Essentials は引き継がない”と言っていましたが、 2017年3月に、それは bad idea とし、「Web Essentials」のブランドを続けていくと決めたみたいです。 上の2つの記事を参照し、流れをみたいと思います。 目次: Web
by:dots.女子部 Advent Calendar 2016 - Qiita 自炊した本PDFファイルをいくつか用意し、Azure Search で中身を検索する実装を試してみました。 大まかな流れは、次の通りです。 Azure Blob Storage に PDF ファイルを入れる Azure Search を用意する 検索する Web アプリを作成し、HTTP で Azure Search の API から本を検索する 試してみた結果ですが、なぜかいくつかの PDF がインデックスする際にエラーとなってしまい、 原因が分からず、結局 6 冊分しか検索できないアプリになってしまいましたorz 今回使用したツールなど: OS: Windows 10 Azure で使うサービス Azure Blob Storage Azure Search IDE: Visual Studio 2017
Implementing a Markdown Engine for .NET | xoofx GitHub - lunet-io/markdig: A fast, powerful, CommonMark compliant, extensible Markdown processor for .NET .NET 用の Markdown パーサー「Markdig」が良さげな感じです。 背景 今まで、.NET での Markdown パーサーとして MarkdownSharp や MarkdownDeep を使っていました。 ほぼ標準の Markdown の仕様( こことか)しか実装されておらず、 また保守も最近されておらず、GitHub や Codeplex 等のようなテーブルやコード等の表現は、 .NET では難しいものがありました。 Markdig Markdig は、CommonM
C# 6 の機能である null 条件演算子を式ツリーに入れようとしたら、図のようにコンパイルエラーが発生しました。メッセージは、「式ツリーのラムダに null 伝搬演算子を含めることはできません。」です。 「ラムダ式から式ツリーの変換って何か制約あったけ?」 「どうして三項演算子での書き方(図の後者の記述)だとOKなのにこれはだめなんだろう?」 といろいろ分からなかったので整理しました。 調べた結果、このコンパイルエラーの原因は次のことが原因でした。 null 条件演算子は式ツリーデータに変換できない null 条件演算子と例の三項演算子は、同じことではない ラムダ式のすべてが式ツリーデータに変換できるわけではない また、null 条件演算子を式ツリーデータに変換するように対応すれば幸せ、という話でもない 言葉について ここまで画像と文章にいろいろな言葉がでてきますが、参考リンクを置いて
ASP.NET MVC の Contoller クラスには、UpdateModel(...) と ValidateModel(...) のヘルパーメソッドが定義されています。 このメソッドを使うことで、モデルのバインド先の選択、検証対象の選択を行うことができます。 これらの関連メソッドは、Controller クラスにて以下のように定義されています(一部を掲載) protected internal void UpdateModel<TModel>(TModel model) where TModel : class; protected internal void ValidateModel(object model); protected internal bool TryUpdateModel<TModel>(TModel model) where TModel : class; p
無性に Electron をやってみたかったので触ってみました。環境は Windows 10 です。 触りたくなった理由 Visual Studio Code、Slack、Azure Storage Explorer (Cross-Platform) といった Electron 製を触っていて何かいいなーと思い、Electron 公式サイトに訪れてみたら、↓のようにアイコンが並んでいるのが素敵だな~と思って。 Visual Studio Code と Microsoft Storage Explorer でよく見るアラートが一緒で、何となく気になったり(デザインは自家製だろうけど)。 参考サイト TypeScript+Electronでデスクトップアプリを作ってみる - SourceChord ここで手順通りにしつつ、 tsd query github-electron-main -ros
2015年4月にリリースされた Chrome 42 で可能になったという、”ブラウザを閉じていても届くプッシュ通知”というものを試してみました。 「Google Chrome 42」安定版リリース プッシュ通知機能追加と45件の脆弱性対処 ※正式版ではないので以下の内容は間違っている可能性があります。 実装方法はググるとたくさんの記事がでてきます。この記事では試したときのメモを。 使用するものは、 Google Cloud Messaging (Android、iOS、Chrome の複数のプラットフォームにメッセージを送信) Push API Push API とは W3C が定める仕様で、Web Worker の中の一つ。Web Worker ではいくつか分類されていて、 Web Workers API Shared Worker Service Worker Chrome Worke
これは dots girl Advent Calendar 2015に投稿した記事です。 Visual Studio Code にて C# を script として 書いて実行できる拡張機能を紹介します。 この拡張機能は、scriptcs を Visual Studio Code で実行できるようにしたものです。 C# scripts and snippets in Visual Studio Code with scriptcs (作成者さんのブログ) github filipw/vscode-scriptcs-runner 環境は Mac OS X でやってみます。 Mac OS X Visual Studio Code Beta 0.10.3 scriptcs 0.15.3 Visual Studio Code のインストール https://code.visualstudio.co
by ASP.NET Advent Calendar 2015 Tag Helper がどんなものかみてみました。 Tag Helper は、ASP.NET 5/ASP.NET MVC 6 に新しく登場する機能の1つです。ASP.NET MVC 6 のビューの記述は、これまでと同じように行う(Razor 記法で .cshtml ファイルを書く)とはいえ、MVC 6 で開発するならば知っておきたい機能かなと思います。Tag Helper の登場はビューの開発に少なからず影響するはずです。 Helper とはいえ、ビューの記述言語が変わったような(Razor はそのままなのですが)インパクトで、シンタックスハイライトとインテリセンスが面白いなーというのが感想です。 目次 1. Tag Helper とは 2. Tag Helper の機能 3. 独自の Tag Helper を作る 参考サイト
2015/11/20(金)に開催された「1 日で Windows 10 に対応したアプリ開発手法が習得できるハンズオン~ Windows 10 UWP Developer Workshop」に参加してきました。 朝10時~18時まで1日中ハンズオン。定員は200人で早期に埋まったようです。 感想など 感想 題材が盛りだくさんで良かった。一般的に見てハンズオンとしては詰め込みすぎかもしれないけれど、たくさんあって面白かった。コルタナさんがあったのもポイントかなと。 日本語化されたドキュメントが良かった。元は GitHub 上にある英語ですが、全部日本語化したようです。リンクは公開され誰でも閲覧できます。 エバンジェリスト7人によるレクチャーとハンズオン。ハンズオン以外の前にセッションがあって、これもよかったです。 Hosted Web Apps(既存の Web アプリを UWP として) か
/one?value=1&value=2&value=3 のような URL でリクエストがきた場合に、クエリ文字列の同じキーの値を配列として取得する方法。 ASP.NET Web API にて ApiController の Request プロパティからクエリ文字列を取得する アクションメソッドの引数にバインドさせる の2つの方法がある。 using System.Linq; using System.Net.Http; using System.Web.Http; namespace QueryArray.Controllers { public class MyController : ApiController { //one?value=1&value=a //return:"1,a" [HttpGet] [Route("one")] public string Get() {
2015-09-26(土)Comm Tech Festival にて、@takepara さんと登壇しました。 セッションのタイトルは「ASP.NETサイトの運用~既存のASP.NETサイトをお手軽に速くする 編~」です。 ここでは簡単にその内容をおさらいしてみます。 ASP.NETサイトの運用~既存のASP.NETサイトをお手軽に速くする 編~—Hiroka YagoDocs.com 大まかな内容 対策前後の計測 対策前 対策後 対策 ― CDN の準備と Web.config Web.config Web.config 詳説 最後に 大まかな内容 セッションのテーマはタイトル通り、ASP.NETで構成された既存のサイトをお手軽に速くしよう、というものでした。 アプローチは 既存サイトは Web.config 以外一切触らない CDN を使う の2つです。 本来 Web アプリケーション
Visual Studio 2013 で xUnit を使う手順を記載。 xUnit とは xUnit.net とは、.NET Framework のためのユニットテストフレームワーク。 環境 Visual Studio 2013 Update 4 xUnit 2.0.0 テスト対象のプロジェクトを用意する ファイル>新規作成>プロジェクト。「C#」で「クラスライブラリ」を選択。 プロジェクト名は例として「ClassLibrary1」とし、以下のように「MyMessage.cs」クラスを作成する。 テストを書く用のプロジェクトを追加する。 ソリューションを右クリック>追加>新しいプロジェクト。 「C#」の「クラスライブラリ」を選択。 プロジェクト名は例として「MyClassLibraryTest」とし、「MyMessage.cs」クラスを作成する。 「MyClassLibraryTest」
Web Essentials 2013(+ Visual Studio 2013)で可能だった、JavaSciprt/CSSのMinifyやLESS等のコンパイルの機能は、Web Essentials 2015(+Visual Studio 2015)には含まれておらず、それぞれ別の拡張機能として独立したようです。 (参照:Bundling, minification and client-side compilation/June 8. 2015) JavaSciprt/CSS/HTML の Bundle & Minify →Bundler & Minifier へ LESS/SASS/CoffeScript のコンパイル → Web Compiler へ 理由は参照記事にも載っていますが、Web Essentials の肥大化を辞めたい、小さくしてコミュニティによるコントリビュートを多
(7/10 WebJobs SDK で書く方法を修正しました。) Azure Web Apps としてホストしている Web アプリのとあるファイルを、定期的に Azure Storage にバックアップしたく、WebJobs を使って実装しました。 WebJobs SDK で楽にしたかったがちょっと無理だった 実装は難しくなく、コンソールアプリケーションを作成して、とあるファイルを Azure Storage SDK を使って Storage の Blob にアップロードすればいい話なのですが、 Azure Storage SDK でその処理を書くのが面倒だなと思いつつ、以前見た WebJobs SDK の記事を思い出して↓ blog.shibayan.jp ここにあるように [BlobOutput("backup/{name}")] という風に属性で楽に書けたらいいなと WebJobs
次のページ
このページを最初にブックマークしてみませんか?
『miso_soup3 Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く