
C# Advent Calendar 2019用の記事となります。C# Advent Calendar 2019はその2もあって、そちらも埋まってるので大変めでたい。 さて、今回のテーマはT4で、この場合にやりたいのはソースコードジェネレートです。つまるところC#でC#を作る、ということをやりたい!そのためのツールがテンプレートエンジンです。.NETにおいてメジャーなテンプレートエンジンといえばRazorなわけですが、アレはASP.NET MVCのHTML用のViewのためのテンプレートエンジンなため、文法が全くソースコード生成に向いていません、完全にHTML特化なのです。また、利用のためのパイプラインもソースコード生成に全く向いていない(無理やりなんとか使おうとするRazorEngineといったプロジェクトもありますが……)ので、やめておいたほうが無難です。 では何を使えばいいのか、の答
はじめに こんにちは。コミュニケーションアプリ「LINE」の Android クライアントチームの石川です。 先日、コードの可読性についてのプレゼンテーション (https://speakerdeck.com/munetoshi/code-readability) を公開しました。 今後、このプレゼンテーションについてのちょっとした解説を、本ブログ上で不定期に連載していきます。 今回は、このプレゼンテーションの概要と、最初の章 "導入と原則" についての解説を行います。 このプレゼンテーションについて このプレゼンテーションは、コードの可読性を向上するためのアイディアをまとめたもので、以下の8つの章からなります。 導入と原則: 可読性の高いコードの重要性、プログラミング原則 命名: 名前の示す内容、文法、語の選択 コメント: ドキュメンテーション、インラインコメント 状態: 状態遷移の管理
はじめに 「Unity Shaders」では波紋、暗視、雪、ホログラムなど 7種類のシェーダの実装を閲覧できます シェーダ
Introduction This tutorial is outdated, you can find the latest version here: GitHub In this tutorial you will learn everything about programming patterns in Unity with C# code. This is how Wikipedia defines programming patterns: In software engineering, a software design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. It is not a f
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 更新内容 2022年8月10日:GitHubに公開しているアプリをXcode13.4.1以降に対応(詳しくはこちらを参照。) はじめに 今回、アプリのソースコードを公開しようと考えたのには以下の理由があります。 自分が作ったアプリを多くの人に見て欲しい。 いろんな人の意見を聞きたい。 コードを共有することでアプリを作る人の手助けがしたい。 この記事が皆さまのお役に立つことができれば幸いです😃 アプリの紹介 Innovy(イノービィ)。 最新のサービスや技術の情報収集にアンテナを立てている20代〜30代(主に男性)向けのニュースアプリで
2020/01/23追記: これはすでに古い情報です。ESLintとPrettierは同時に使わないのが今の推奨設定です。最新の情報は以下のところにあります。 https://future-architect.github.io/typescript-guide/baseenv.html 以下は過去の情報です PySpa統合思念体です。 go fmt便利ですよね。設定なしで言語が定めるルールで一発でやってくれるので良いですね。で、JavaScriptでは歴史的経緯もあって、フォーマットの流派はいろいろあります。 インデントはスペース2/4、ハードタブ 文字列にはシングルクオート使う派(英語キーボードだとシフトキー押さなくていい) 末尾のセミコロンは必須・省略 そのためカスタマイズ可能なフォーマッターが必要となります。カスタマイズの柔軟性や歴史的経緯や新しい文法への対応などで、いくつかのツー
AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be
現在AbemaTVでiOSアプリ開発を担当してます、shoheiyokoyamaです。 本記事では、AbemaTVでの「コードの品質について」チームでの考え方や取り組みについて紹介していきたいと思います。 AbemaTV AbemaTVは、オリジナルの生放送コンテンツや、ニュース、音楽、スポーツなど多彩なジャンルのコンテンツを見れるインターネットテレビでiOS、Android、PCなどで利用できます。 チームにジョインした当初は私を含め5人体制でiOSの開発を進めていましたが、現在は倍の10人体制で開発を進めています。チーム増員に伴い、開発スピードは上がりますがその分コードの品質を維持し続けることが難しくなります。 早い開発スピードを長期的に継続していくためには、高品質なコードを維持することが重要です。そのため、早い開発サイクルの中でも高品質なコードを維持する取り組みが必要となってきます。
iOSアプリ開発時に参考になりそうな、実装サンプルor実際にリリースされているアプリののリポジトリリストです。 類似アプリを作成するときに参考にしたり、プロジェクト構成などを参考にできそうです。 aslanyanhaik/youtube-iOS [Code] YouTubeUIテンプレートアプリ YouTube公式アプリそっくりの動きをするアプリの実装サンプルのリポジトリです。 swiftで作成されています。 tnantoka/edhita [Code] [Store] テキストエディタアプリ HTML、MarkDownをプレビューしながら編集できるアプリのリポジトリです。 thedillonb/CodeHub[Code] [Store] GitHub API利用アプリ Githubの閲覧、アカウント管理ができるアプリです。 CatchChat/Yep[Code] [Store] コミュニ
MVVMパターンは、GUIのアーキテクチャパターンの一種で、PresentationとDomainの分離(PDS)を目的としたパターンです。MVVMパターンを採用することによって、プラットフォーム依存なUIを実現するプレゼンテーション層をViewとViewModelに書き、その他すべてをModelに書くことによって、「複雑だしプラットフォーム依存でテストしにくいUIのコード」と「アプリケーションの挙動をモデリングしたコード」を分離することができます。 その一方で、MVVMは「モデルはこう設計しましょう」ということについては指針をくれません。これは、言い方を変えれば、MVVMを採用したからといってアプリケーション全体の設計が決まるわけではなく、MVVMは「プレゼンテーションとその他をどうやって分けるか」について指針をくれるだけ、ということです。 ところで、混乱が起きやすいポイントですが、PD
I'd like to tell you, that my platform Go Web Examples Courses just launched. Enjoy easy to follow video courses about web devlopment in Go. Make sure to check out the special offer I have for early supporters. We'll see us over there! :) About the Go programming language Go is an open source programming language designed for building simple, fast, and reliable software. Take a look here which gre
コードはたいてい一度しか書かれませんが、何度も何人も読むことになります。 普段何気なく書いているコードが他人の時間と精神を削っているかもしれません。 そんなわけで、個人的に辛いなと思うことを 9 つ挙げてみました。共感してもらえるものもいくつかあるんじゃないかと思います。 実体にそぐわない変数名 見分けの付かない配列とハッシュの変数名 呼び出し元で true/false を指定するだけの引数 暗黙の実行順序 [] メソッドの定義・Array の継承 ハッシュの乱用 密結合した mixin 過剰な nil guard 条件によって異なる返り値の型 推薦図書 静的型付き言語を使うことで解消される問題もありますが、その選択肢はひとまずなしということで。 Ruby 前提になっていますが、他の言語にも言えることも多いと思います。 実体にそぐわない変数名 例えば Vehicle というクラスが定義され
Today I am announcing prettier, a JavaScript formatter inspired by refmt with advanced support for language features from ES2017, JSX, and Flow. Prettier gets rid of all original styling and guarantees consistency by parsing JavaScript into an AST and pretty-printing the AST. Unlike eslint, there aren't a million configuration options and rules. But more importantly: everything is fixable. I'm exc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く