has not been updated two years Blog!!!
Stackexchange, Address: https://github.com/StackExchange, open source These projects are all used on the StackOverflow line.
Speaking of StackOverflow, a two-word gossip, all yards should not be unfamiliar, especially for. NET developers, it may be the application of the. NET only a few still can take the shot of the famous site. MySpace Away, a complete turn of the east, even the former club of a second-rate IM, very early also turned to Java. I feel that with. NET few technical atmosphere is very good company, in fact, the technical atmosphere of the old club is still good. There is a saying: the technical atmosphere of the. NET companies have been transformed, all in the insistence is self-think atmosphere good. (The black is beautiful, unexpectedly speechless.) )。 Later hear this statement, can take StackOverflow fan his face, haha ... But if you have the opportunity to do Java, Python, and do not mind. Net-born, please contact me. ^_^
After repeated black and powder, as a. NET to eat the. NET black to turn to the point, these open-source projects, the recommended is related to. NET, and are in use on the StackOverflow, in the right circumstances can absolutely be assured of bold use.
1,dapper
Https://github.com/StackExchange/dapper-dot-net
There may be many yards that farmers have used, a miniature ORM framework, very streamlined, just a CS file.
The most core technology is called reflection emit mechanism, the main idea is to generate IL dynamically at runtime, and only in the first use, after this use can run at full speed, the efficiency is very good. Interested can delve into, https://msdn.microsoft.com/zh-cn/library/8ffc3x75 (v=vs.110). aspx
The specific use of the way is also very simple and convenient, send a simple code and use notes.
Package code: Https://github.com/fengzhbo/MySampleCode/blob/master/Code.Dapper/Code.Dapper/Main.cs (the code is then sent again, forgive me)
Simple note: HTTPS://GITHUB.COM/FENGZHBO/MYSAMPLECODE/ISSUES/1
Performance is very good, look at the introduction of the project or their own test on the line.
2,stackexchange.redis
Https://github.com/StackExchange/StackExchange.Redis
A. NET client component that accesses the operations Redis.
Speaking of which, I have to mention another famous Redis component Servicestack.redis, which has been commercially licensed since 2.0, Https://servicestack.net/download#free-quotas, Free use only 6,000 times per hour using the request limit, hey.
As a component of the client, the two are still a bit different in use, the specific use here is not introduced. or share a simple package and use notes for yourself.
Simple package: https://github.com/fengzhbo/MySampleCode/blob/master/Code.StackExchange_Redis/Code.StackExchange_Redis/ Main.cs (the code is then sent, forgive me)
Simple note: HTTPS://GITHUB.COM/FENGZHBO/MYSAMPLECODE/ISSUES/2
3,miniprofiler
Https://github.com/MiniProfiler
Https://github.com/MiniProfiler/dotnet
It is also used and maintained internally by StackOverflow, a component that needs to be buried in the code to analyze performance.
Probably understand, think still very useful tool, from inside the code is not like other external tools analysis, the result will be more persuasive. And there are big companies in use as an endorsement, definitely worth a use of.
But, but, I just understand a bit, has not been used in the actual project, can not be expanded, only this, recommended, have used can be discussed in detail.
You can end up here, but incidentally, another open source component
Protobuf.net
Https://github.com/google/protobuf
Https://github.com/mgravell/protobuf-net
The. NET version of Protobuf, which is used for serialization. Through my experiment and actual use, Protobuf is the fastest serialized component, faster than Servicestack.text, Newtonsoft.json, and. NET Xml,binary serialization is not the same as slag.
Here, a simple open source component-based data access layer skeleton comes out: use Dapper to do orm;protobuf.net serialization and deserialization, and finally use Stackexchange.redis to access Redis. These components combine to be easy to use, efficient, and good performance, who knows who.
Finally, the pure personal experience, the application of the performance problem, in the data this piece, mostly appear in the database (index, SQL, structure design, etc.) and serialization.
. NET Refueling
Stackexchange recommended by the. NET Open Source Component