A billable-time invoice featuring style over substance.
— or —
— or —
cp example.tex your-invoice-101.tex
# make some changes to your-invoice-101.tex
make your-invoice-101.pdf
Your invoice will be created as your-invoice-101.pdf
cp example.tex your-invoice-101.tex
vagrant up # this may take a while the first time
vagrant ssh -c 'cd /vagrant; make REPORT=your-invoice-101 watch'
Now whenever you make changes to your-invoice-101.tex
on your host machine,the watcher inside the VM will automatically build your-invoice-101.pdf
,which will be saved back to the host machine.
When finished editing, input Control-C to stop thewatcher, then run:
vagrant halt
Use Docker Hub's blang/latex
image that comes with a matching .sh file.When you first run this .sh file, it will pull the docker image that includesall of the latex dependencies.
wget https://raw.githubusercontent.com/blang/latex-docker/master/latexdockercmd.sh
chmod +x latexdockercmd.sh
./latexdockercmd.sh # will pull down image on first use
Then, you can use the .sh file as you would xelatex:
cp example.tex your-invoice-101.tex
latexdockercmd.sh xelatex [options] your-invoice-101.tex
You invoice will be created as your-invoice-101.pdf
See example.tex and dapper-invoice.cls for details.
I am not a designer. Inspiration for the design comes fromstea^H^H^H^Hborrowing design ideas from good looking invoices people havepublished on thenet. Theresulting design is not even in the same league, but I think it gets the jobdone.
I am also not a LaTeX author. The code borrows heavily from themoderncv package (which I can't recommendenough), as well as numerous other packages.
The code I have written I release under the MIT license.
Two different font packages are included in the repo for convenience:
前言 之前四篇介绍了一个国内开发者开发的优秀框架SqlSugar,给我们眼前一亮的感觉。这一篇,我们将试试另一个出镜率比较高的ORM框架-Dapper。 Dapper是一个轻量级的ORM框架,其以高速、简单易用为特点。在某些时候,效率甚至可以与ADO.NET 媲美。那么,吹得天花乱坠,就让我们实际看看它的表现吧。 开始使用 照例,先创建一个项目:DapperDemo dotnet new cons
描述 Execute是一个可以从IDbConnection类型的任意对象调用的扩展方法,它可以执行一个或多个命令并返回受影响的行数。此方法通常用于执行: 存储过程 INSERT语句 UPDATE语句 DELETE语句 参数 下表显示了Execute方法的不同参数。 名称 描述 sql 要执行的命令文本。 param 命令参数(默认为null)。 transaction 需要使用的事务(默认为nul
Dapper官方教程翻译3:Dapper方法之Query 2018年12月20日 16:51:44 Day_and_Night_2017 阅读数:271 Query方法描述 Query方法也是一个扩展方法,可以被IDbConnection对象调用,可以执行查询语句,并且映射到结果。 可以映射的类型: Anonymous(匿名类型 var) Strongly Typed(强类型) Multi
1.匿名参数(常用) 单个查询: string sql = "INSERT INTO Customers (CustomerName) Values (@CustomerName);"; using (var connection = new SqlCeConnection("Data Source=SqlCe_W3Schools.sdf")) { var affectedRows = c
Query方法描述 Query方法也是一个扩展方法,可以被IDbConnection对象调用,可以执行查询语句,并且映射到结果。 可以映射的类型: Anonymous(匿名类型 var) Strongly Typed(强类型) Multi-Mapping (One to One)(一对一映射) Multi-Mapping (One to Many)(一对多映射) Multi-Type(多类型)
描述 Query是一个可以从IDbConnection类型的任意对象调用的扩展方法,它可以执行查询并映射结果。 结果可以映射到: 匿名类型 强类型 多映射(一对一) 多映射(一对多) 多类型 参数 下表显示了Query方法的不同参数。 名称 描述 sql 要执行的查询。 param 查询参数(默认为null)。 transaction 需要使用的事务(默认为null)。 buffered 是否从缓
Execute方法描述: Execute是Dapper对数据库操作的一个扩展,可以由IDbConnection对象调用。它可以执行一条命令一或多次,返回类型是受影响的行数。这个方法通常用于执行: Stored Procedure (存储过程) INSERT statement (插入语句) UPDATE statement (更新语句) DELETE statement (删除语句) 该方
Dapper官方教程翻译1:Dapper是什么? 2018年12月20日 16:07:28 Day_and_Night_2017 阅读数:108 什么是Dapper? Dapper是.NET的一个简单的对象映射器,在速度上拥有微ORM之王的头衔,并且几乎与使用原始ADO.NET数据读取器的速度一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。Dapper通过提供有用的扩展方
QueryMultiple方法描述 QueryMultiple方法也是一个扩展方法,可以被IDbConnection对象调用,可以执行查询语句,并且映射到结果。可以实现多条查询语句一起查询,并且使用强类型读取结果集。 QueryMultiple方法可使用的参数 Name Description sql 查询语句 param 参数 transaction 是否开启事务 commandTi
1.dapper包含异步方法 ExecuteAsync QueryAsync QueryFirstAsync QueryFirstOrDefaultAsync QuerySingleAsync QuerySingleOrDefaultAsync QueryMultipleAsync 使用方法类似于同步方法。 2.缓存 dapper查询方法默认开启缓存,这样会加快第二次以后的查询速度,但
1.匿名结果集 匿名结果集支持以下方法: Query QueryFirst QueryFirstOrDefault QuerySingle QuerySingleOrDefault string sql = "SELECT TOP 10 * FROM OrderDetails"; using (var connection = new SqlCeConnection("Data Source
一、前言 上一篇【分层架构设计】我们已经有了架构的轮廓,现在我们就在这个轮廓里面造轮子。项目要想开始,肯定先得确定ORM框架,目前市面上的ORM框架有很多,对于.net人员来说很容易就想到以ADO.NET为基础所发展出来的ORM框架EntityFramework。不得不说EntityFramework是一个功能很强大的ORM框架,到现在最新的EF分别是EF6(.Net Framework)和EF
结果匿名 描述 可以使用扩展方法执行查询并使用动态类型映射结果。 匿名类型结果可以从以下扩展方法映射: Query QueryFirst QueryFirstOrDefault QuerySingle QuerySingleOrDefault 这些扩展方法可以从IDbConnection类型的任意对象中调用。 案例 - Query Query方法可以执行查询并将结果映射到动态类型列表。 strin
QueryFirst 描述 QueryFirst是一个可以从IDbConnection类型的任意对象调用的扩展方法,它可以执行查询并映射第一个结果。 结果可以映射到: 匿名类型 强类型 参数 下表显示了QueryFirst方法的不同参数。 名称 描述 sql 要执行的查询。 param 查询参数(默认为null)。 transaction 需要使用的事务(默认为null)。 commandTime
匿名类型参数 描述 Dapper通过支持匿名类型使其可以简单、安全(SQL注入)的使用参数。 单次 执行一次SQL命令。 var sql = "EXEC Invoice_Insert"; using (var connection = My.ConnectionFactory()) { connection.Open(); var affectedRows = connecti
Dapper官方教程翻译8:Dapper方法之QueryMultiple 2019年02月28日 10:42:22 Day_and_Night_2017 阅读数:120 QueryMultiple方法描述 QueryMultiple方法也是一个扩展方法,可以被IDbConnection对象调用,可以执行查询语句,并且映射到结果。可以实现多条查询语句一起查询,并且使用强类型读取结果集。
[译]Dapper教程 原文:Dapper Tutorial ,获取更好浏览体验请跳转到GitBook[点击访问]。 什么是Dapper Dapper是一个简单的.NET对象映射器,在速度方面具有"King of Micro ORM"的头衔,几乎与使用原始的ADO.NET数据读取器一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。 Dapper通过扩展IDbConnecti
Dapper官方教程翻译2:Dapper方法之Execute 2018年12月20日 16:28:35 Day_and_Night_2017 阅读数:157 Execute方法描述: Execute是Dapper对数据库操作的一个扩展,可以由IDbConnection对象调用。它可以执行一条命令一或多次,返回类型是受影响的行数。这个方法通常用于执行: Stored Procedure (存
Dapper Postgresql not in NOT IN等价于<> ALL。 var sql = "SELECT * FROM Invoice WHERE Kind <> ALL(@Kind);"; using (var connection = My.ConnectionFactory()) { connection.Open(); var invoices = con
Dapper 全称是 Distributed and Parallel Program Execution Runtime 是一个开发大规模的云计算和网格计算的工具,用于创建分布式的计算单元的软件。 启动方法:java -jar dapper.jar
Dapper .NET 是 .NET 下一个简单的对象关系映射库 (ORM)。 示例代码: public class Dog{ public int? Age { get; set; } public Guid Id { get; set; } public string Name { get; set; } public float? Weight { get; set;
Dapper (Distributed and Parallel Program Execution Runtime), 是为开发复杂的、大规模的云计算和网格计算应用准备的工具,使用户能够创建分布式计算的要点:代码会执行,同时数据流图描述。它支持丰富的执行语义,无忧无虑的部署,强大的控制协议,修改的数据流图在运行时,和一个直观的用户界面。
本文向大家介绍Dapper.NET 从Nuget安装Dapper,包括了Dapper.NET 从Nuget安装Dapper的使用技巧和注意事项,需要的朋友参考一下 示例 在Visual Studio GUI中进行搜索: Tools > NuGet Package Manager > Manage Packages for Solution... (Visual Studio 2015) 或者在Nu
本文向大家介绍Dapper.NET 在LINQPad中使用Dapper,包括了Dapper.NET 在LINQPad中使用Dapper的使用技巧和注意事项,需要的朋友参考一下 例 LINQPad非常适合测试数据库查询,并且包含NuGet集成。要在LINQPad中使用Dapper,请按F4打开“查询属性”,然后选择“添加NuGet”。搜索精巧的点状网,然后选择添加到查询。您还将需要单击“添加名称空间
本文向大家介绍Dapper.NET 在C#中使用Dapper,包括了Dapper.NET 在C#中使用Dapper的使用技巧和注意事项,需要的朋友参考一下 例 将连接包装在一个Using块中将关闭连接