طراحی دیتابیس یک Workflow Engine
کتاب C# Code Contracts Succinctly
Developed by Microsoft’s Research in Software Engineering, Code Contracts provide a way to convey code assumptions in your .NET applications. They can take the form of preconditions, postconditions, and state invariants. In C# Code Contracts Succinctly, author Dirk Strauss demonstrates how to use Code Contracts to validate logical correctness in code, how they can be integrated with abstract classes and interfaces, and even how they can be used to make writing documentation less painful.
Cayley is an open-source graph inspired by the graph database behind Freebase and Google's Knowledge Graph.
Features
- Community driven
- Written in Go
- can be used as a Go library
- Easy to get running (3 or 4 commands)
- RESTful API
- or a REPL if you prefer
- Built-in query editor and visualizer
- Multiple query languages:
- Plays well with multiple backend stores:
- KVs: Bolt, LevelDB
- NoSQL: MongoDB, ElasticSearch, CouchDB/PouchDB
- SQL: PostgreSQL, CockroachDB, MySQL
- In-memory, ephemeral
- Modular design; easy to extend with new languages and backends
- Good test coverage
- Speed, where possible.
کتاب رایگان LINQPad Succinctly
LINQPad Succinctly offers IT professionals a detailed examination of how and why LINQPad can improve development lifecycle and deliver applications in less time. Author José Roberto Olivas Mendoza begins with a detailed overview of LINQPad's features, then delves into the installation process, including necessary prerequisites. Readers then get instruction on how to get the most out of LINQPad, such as how to query data bases and using LINQPad as a code scratchpad, which allows users to save significant time and effort on application delivery.
- Introduction
- Installing LINQPad
- Beginning with LINQPad
- LINQPad Basics
- Querying Databases with LINQ-to-SQL
- LINQPad as a Code Scratchpad
- General Summary
- General Conclusions about LINQPad
- Appendix
فعال سازی عملیات CRUD در Kendo UI Grid
خلاصهاش به این صورت است:
- ابتدا رخداد error مربوط به data source را باید مدیریت کرد:
var dataSource = new kendo.data.DataSource({ // ... error: function (e) { window.SalesHub.OrderDetails_Error(e); }, // ... });
window.SalesHub.OrderDetails_Error = function(args) { if (args.errors) { var grid = $("#orderDetailsGrid").data("kendoGrid"); var validationTemplate = kendo.template($("#orderDetailsValidationMessageTemplate").html()); grid.one("dataBinding", function(e) { e.preventDefault(); $.each(args.errors, function(propertyName) { var renderedTemplate = validationTemplate({ field: propertyName, messages: this.errors }); grid.editable.element.find(".errors").append(renderedTemplate); }); }); } };
<script type="text/x-kendo-template" id="orderDetailsValidationMessageTemplate"> # if (messages.length) { # <li>#=field# <ul> # for (var i = 0; i < messages.length; ++i) { # <li>#= messages[i] #</li> # } # </ul> </li> # } # </script>