行业技术思绪整理

20181212  无大事,随便百度,然后顺着推荐或者网页上的技术来源进行跟踪,看看技术栈。
 
http://video.jessetalk.cn 教你使用asp.net core。是个视频分享在线教育网站,使用EduSoho php开源系统来做。
 
http://www.jessetalk.cn/ 个人主页。使用wordPress php开源系统,结合Hestia(免费响应式wordpress企业主题。https://www.iztwp.com/theme/hestia.htmlhttps://themeisle.com/themes/hestia/
 
EduSoho 可单独部署安装,php开源。商用可能收费。若不想独立部署也可以让官网帮你saas部署,你只要登录账号就行。app是免费的、通用的,每个账号都归属某网校公司,登录进去就可进入对应的网校。
目前已有多个行业应用,
 
专注于视频、图片等存储对象的存储、分析、处理、识别等。还有云主机、DB服务器等。
目前像在线教育网站的图片、视频、复杂文件-富文本均可放再存储对象里,当然腾讯云也有这个服务。七牛网存储对象c# SDK https://developer.qiniu.com/kodo/sdk/4056/c-sdk-v7-2-15
 
目前xamarin 的确是个好东西,可以做到用c#来写安卓、ios。但是得了解安卓、ios的知识。目前还是 比较尴尬,因为既然得了解安卓、ios,那真了解的人就直接用java、object-c开发了,毕竟用的人多、文档-教程全。xamarin 遇到技术问题无法找到方案。
 
 
 20181215
nginx   一般用在均衡负载反向代理上,本质也是个web服务器,和iis、apache同一级别。淘宝修改过的叫Tengine。

 

https://blog.csdn.net/tsummerb/article/details/79248015
https://www.cnblogs.com/zxtceq/p/7941935.html
一般部署在linux上,转发请求到其他web服务器上。也可以部署在windows上(但是大家懂得,自己玩玩可以windows、正式的还是linxu吧。我是.net开发,其实这不是windwows不稳定造成的、而是原开发团队顾忌linux测试二缺少win测试、所以不打包票)
另外,我刚才本地修改hosts不行、即使ipconfig/flushdns也不行。不知道为什么、下次再说吧。
 
PowIerDesigner画DB表结构、表关系  http://www.cnblogs.com/biehongli/p/6025954.html
Asp.Net Core 轻松学-基于微服务的后台任务调度管理器  https://www.cnblogs.com/viter/p/10078488.html
Asp.Net Core 轻松学-一行代码搞定文件上传 www.cnblogs.com/viter/p/10074766.html
.NET Core实战项目之CMS 第十一章 开发篇-数据库生成及实体代码生成器开发 https://www.cnblogs.com/yilezhu/p/10112406.html
开发架构体系(java,但.net也可以参考思路)https://my.oschina.net/u/3779583/blog/2885612
 
id和guid作为DB主键的比较
之前我主要用自增bigint id来做DB表主键,但是目前好多系统都是用varchar guid做主键。现在分析下优劣
id
优势:DB存储和查询(单表快,联表也快)都性能高;使用简单,DB会自动新增;c#代码也好些
劣势:若有多张表要合并到一张表(比如之前是分表分库的、之后做报表或汇总处理时要放到一张表里)则很难处理;在分布式应用下可能DB会遇到瓶颈;安全性较差,若程序员没做好身份验证和数据id的归属(某数据归属某user,其他user不可查)可能会被黑客遍历;两张表的关联关系时,Main表和Details表,Details表中的MainId肯定要等到Main插入后才能有值、再保存Details表,要保存两次,麻烦、且不同步需要做事务。
 
guid:基本可以认为每次生成的guid绝不重复
优势、劣势  即id的相反
 1 [Table("TestGuid")]
 2     public class TestGuidContract : BaseContract
 3     {
 4         public TestGuidContract()
 5         {
 6             Name = string.Empty;
 7         }
 8 
 9 
10         [Key]
11         public string GuidKey { get; set; }
12 
13         public string Name { get; set; }
14     }
15 
16 
17 public class TimeBottleContext : DbContext
18     {
19         public DbSet<TestGuidContract> TestGuid { get; set; }
20         
21     }
22 
23 
24 
25 
26         public JsonResult TestGuidKey()
27         {
28             using (var context = new TimeBottleContext())
29             {
30                 //for (int i = 1; i <= 10; i++)
31                 //{
32                 //    context.TestGuid.Add(new TestGuidContract { GuidKey = Guid.NewGuid().ToString(), Name = "nlh" + i });
33                 //}
34                 //context.SaveChanges();
35 
36                 var resp = context.TestGuid.ToList();
37                 return Json(resp, JsonRequestBehavior.AllowGet);
38             }
39         }
40 
41         public JsonResult GetTestGuidKey(string guidKey = "0484dc28-ccab-44e1-9978-904491a6c7ce")
42         {
43             using (var context = new TimeBottleContext())
44             {
45                 var resp = context.TestGuid.FirstOrDefault(t => t.IsDel == false && t.GuidKey == guidKey);
46                 return Json(resp, JsonRequestBehavior.AllowGet);
47             }
48         }
View Code

 

 20190109
smobiler一套建议.net 做app的工具。玩玩还行、大应用还是算了,用标准的安卓或者苹果开发吧,空了试试微软的xamarin。又得安装。。。麻烦
.net abp框架,也有代码生成器
https://gitee.com/chejiangyi

posted on 2018-12-12 09:52  nlh774  阅读(190)  评论(0编辑  收藏  举报