当前位置: 首页 > 编程日记 > 正文

MVC+Ninject+三层架构+代码生成 -- 总结(四、數據層)

1.數據層使用了SqlSugar 庫類 。

數據層使用了SqlSugar 庫類 ,有興趣的 可以學習  http://www.codeisbug.com/Doc/8/1133,個人覺得比EF 簡單,容易上手,推薦+1。

數據層使用代碼生成,所以考慮得比較多。

1.GetAllList()--獲取全部數據

2.GetAllListByCache()--通過緩存獲取全部數據

3.GetListByCondition(string queryJson)--通過條件獲取數據

4.GetListByPage(PageInfo pageInfo, string queryJson)--通過  條件 和 分頁 信息 獲取數據

5.GetEntity(string keyValue)--通過主鍵  獲取 單條實體

6.DelEntity(string keyValue)--通過主鍵  刪除 單條實體

7.DelListByCondition(string queryJson)--通過條件  刪除 單條實體

8.DelEntityByKeys(int[] keyValues)--通過主鍵  刪除 數據

9.SaveForm(string keyValue, T Entity)--保存數據(新增、修改)

2.動軟代碼

  1 <#@ template language="c#" HostSpecific="True" #>
  2 <#@ output extension= ".cs" #>
  3 <#
  4     TableHost host = (TableHost)(Host);    
  5     string DbParaHead=host.DbParaHead;
  6     string DbParaDbType=host.DbParaDbType;
  7     string preParameter=host.preParameter;
  8     string ModelSpace = host.NameSpace+".Model."+ host.GetModelClass(host.TableName);    
  9     string TableName =  host.GetModelClass(host.TableName).Split('_')[1];   
 10     ColumnInfo identityKey=host.IdentityKey;
 11     string returnValue = "void";
 12     if (identityKey!=null)
 13     {         
 14          returnValue = CodeCommon.DbTypeToCS(identityKey.TypeName);              
 15     }
 16 #>
 17 using System;
 18 using System.Collections.Generic;
 19 using CommonLibrary.Serializer;
 20 using CommonContract.Condition;
 21 using CommonContract.Entity;
 22 using CommonLibrary.Cache;
 23 using CommonLibrary.SqlDB;
 24 using CommonLibrary.ExtendsMethod;
 25 
 26 namespace MIT.Application.Dao
 27 <# if( host.Folder.Length > 0){ #>
 28     .<#= host.Folder #>
 29 <# } #>
 30 {
 31     <# if( host.TableDescription.Length > 0) {#>
 32      //<#= host.TableDescription #>
 33 <# } #>
 34     
 35 public  class <#= TableName #>Dao
 36 {
 37     
 38        public const string <#= TableName #>CacheKey = "<#= TableName #>CacheKey";
 39     
 40         /// <summary>
 41         ///  獲取所有數據
 42         /// </summary>
 43         public List<<#= TableName #>Entity> GetList()
 44         {        
 45             var db =SqlSugarHelper.GetInstance();                            
 46             List<<#= TableName #>Entity> list = db.Queryable<<#= TableName #>Entity>()               
 47                 .OrderBy(it => it.SortCode)
 48                 .ToList();   
 49             return list; 
 50         }
 51         
 52         /// <summary>
 53         ///  通過緩存獲取所有數據
 54         /// </summary>
 55         public List<<#= TableName #>Entity> GetListByCache()
 56         {        
 57             List<<#= TableName #>Entity> list = PageCacheManager.Current.GetCache<<#= TableName #>Entity>(<#= TableName #>CacheKey);
 58             if (list == null)
 59             {
 60                  list = GetList();
 61                  PageCacheManager.Current.AddCache(<#= TableName #>CacheKey,list);
 62             }
 63             return list; 
 64         }
 65         
 66         /// <summary>
 67         ///  通過條件獲取所有數據
 68         /// </summary>
 69         public List<<#= TableName #>Entity> GetListByCondition(string queryJson)
 70         {                     
 71              var db = SqlSugarHelper.GetInstance();
 72              var queryParam = JsonHelper.ToJObject(queryJson);
 73            //  string UserName = queryParam["UserName"].ToConvertString();
 74            //  string UserAccount = queryParam["UserAccount"].ToConvertString();
 75              List<<#= TableName #>Entity> list = db.Queryable<<#= TableName #>Entity>()
 76               //  .WhereIF(!UserName.IsEmpty(), it => it.UserName.Contains(UserName))
 77               //  .WhereIF(!UserAccount.IsEmpty(), it => it.UserAccount.Contains(UserAccount))
 78                 .OrderBy(it => it.SortCode)
 79                 .ToList();  
 80             return list; 
 81         }
 82         
 83         /// <summary>
 84         /// 通過分页獲取數據
 85         /// </summary>
 86         public List<<#= TableName #>Entity> GetListByPage(PageInfo pageInfo, string queryJson)
 87         {        
 88             var db =SqlSugarHelper.GetInstance();
 89             int totalCount = 0;
 90             var queryParam = JsonHelper.ToJObject(queryJson);  
 91          //   string UserName = queryParam["UserName"].ToConvertString();
 92           //  string UserAccount = queryParam["UserAccount"].ToConvertString();
 93             List<<#= TableName #>Entity> list = db.Queryable<<#= TableName #>Entity>()
 94               //  .WhereIF(!UserName.IsEmpty(), it => it.UserName.Contains(UserName))
 95               //  .WhereIF(!UserAccount.IsEmpty(), it => it.UserAccount.Contains(UserAccount))
 96                 .OrderBy(it => it.SortCode)                
 97                 .ToPageList(pageInfo.page, pageInfo.rows, ref totalCount);
 98 
 99             pageInfo.records = totalCount ;          
100             return list;
101         }
102         
103         /// <summary>
104         ///  通過主鍵獲取實體
105         /// </summary>
106         /// <param name="keyValue">主键值</param>
107         /// <returns></returns>
108         public <#= TableName #>Entity GetEntity(string keyValue)
109         {
110             var db = SqlSugarHelper.GetInstance();
111             <#= TableName #>Entity entity = db.Queryable<<#= TableName #>Entity>().InSingle(keyValue);
112             return entity; 
113         }
114         
115         
116         /// <summary>
117         ///  通過主鍵删數據
118         /// </summary>
119         /// <param name="keyValue">主键值</param>
120         /// <returns></returns>
121         public int RemoveForm(string keyValue)
122         {
123             var db = SqlSugarHelper.GetInstance();
124             PageCacheManager.Current.RemoveCache(<#= TableName #>CacheKey);
125             return db.Deleteable<<#= TableName #>Entity>().In(keyValue).ExecuteCommand();            
126         }
127         
128         /// <summary>
129         ///  通過條件删數據
130         /// </summary>
131         /// <param name="queryJson">條件</param>
132         /// <returns></returns>
133         public int RemoveFormByCondition(string queryJson)
134         {
135             var db = SqlSugarHelper.GetInstance();
136             PageCacheManager.Current.RemoveCache(<#= TableName #>CacheKey);
137             return db.Deleteable<<#= TableName #>Entity>()
138                     // .Where(it => it.Id == 1)
139                     // .WhereIF(!queryParam["UserName"].IsEmpty(), it => it.UserName.Contains(queryParam["UserName"].ToString()))
140                      .ExecuteCommand();;
141         }
142         
143         /// <summary>
144         ///  批量删除數據
145         /// </summary>
146         /// <param name="keyValues">主键值</param>
147         /// <returns></returns>
148         public int RemoveFormByKeys(int[] keyValues)
149         {
150             var db = SqlSugarHelper.GetInstance();
151             PageCacheManager.Current.RemoveCache(<#= TableName #>CacheKey);
152             return db.Deleteable<<#= TableName #>Entity>().In(keyValues).ExecuteCommand();;            
153         }       
154         
155         
156         /// <summary>
157         ///  保存數據(新增、修改)
158         /// </summary>
159         /// <param name="keyValue">主键值</param>
160         /// <param name="Entity">实体</param>
161         /// <returns></returns>
162         public int SaveForm(string keyValue, <#= TableName #>Entity Entity)
163         {
164             var db = SqlSugarHelper.GetInstance();
165             PageCacheManager.Current.RemoveCache(<#= TableName #>CacheKey);
166             int keyVal = 0;
167             if (!string.IsNullOrEmpty(keyValue))
168             {             
169                 //根据实体更新(主键要有值,主键是更新条件)
170                 int ModifyRow =  db.Updateable(Entity)
171                 .IgnoreColumns(it => new {  it.CreateDate, it.CreateUserId , it.CreateUserName})
172                 .Where(true)
173                 .ExecuteCommand();
174                 keyVal = ModifyRow > 0 ? keyValue.ToInt() : 0;
175             }
176             else
177             {
178                 //插入并返回自增列用ExecuteReutrnIdentity
179                 //可以设置NULL列不插入和是否强制插入自增列
180                 keyVal = db.Insertable(Entity)
181                .Where(true/* Is no insert null */, false/*off identity*/)
182                .ExecuteCommand();
183             }    
184             return keyVal;
185                    
186         } 
187     }
188 }
View Code

3.C# 代碼

  1 using CommonContract.Entity;
  2 using CommonLibrary.SqlDB;
  3 using System;
  4 using System.Collections.Generic;
  5 using System.Data;
  6 using CommonLibrary.Serializer;
  7 using CommonLibrary.ExtendsMethod;
  8 using CommonLibrary.Cache;
  9 using System.Threading;
 10 using CommonContract.Condition;
 11 
 12 namespace MIT.Application.Dao.BaseManager
 13 {
 14     //WB_tb_BackStageUser 后台用户
 15 
 16     public class UserDao
 17     {
 18 
 19         public const string UserInfoCacheKey = "UserInfoCacheKey";
 20 
 21         /// <summary>
 22         ///  獲取所有數據
 23         /// </summary>
 24         public List<UserEntity> GetList()
 25         {
 26             var db = SqlSugarHelper.GetInstance();
 27             List<UserEntity> list = db.Queryable<UserEntity>()
 28                 .OrderBy(it => it.CreateDate)
 29                 .ToList();
 30             return list;
 31         }
 32 
 33         /// <summary>
 34         ///  通過緩存獲取所有數據
 35         /// </summary>
 36         public List<UserEntity> GetListByCache()
 37         {
 38             List<UserEntity> list = PageCacheManager.Current.GetCache<UserEntity>(UserInfoCacheKey);
 39             if (list == null)
 40             {
 41                 list = GetList();
 42                 PageCacheManager.Current.AddCache(UserInfoCacheKey, list);
 43             }
 44             return list;
 45         }
 46 
 47         /// <summary>
 48         ///  通過條件獲取所有數據
 49         /// </summary>
 50         public List<UserEntity> GetListByCondition(string queryJson)
 51         {
 52             var db = SqlSugarHelper.GetInstance();
 53             var queryParam = JsonHelper.ToJObject(queryJson);
 54             string UserName = queryParam["UserName"].ToConvertString();
 55             string UserAccount = queryParam["UserAccount"].ToConvertString();
 56             List<UserEntity> list = db.Queryable<UserEntity>()
 57                  .WhereIF(!UserName.IsEmpty(), it => it.RealName.Contains(UserName))
 58                 .WhereIF(!UserAccount.IsEmpty(), it => it.Account.Contains(UserAccount))
 59                .OrderBy(it => it.ModifyDate)
 60                .ToList();
 61             return list;
 62         }
 63 
 64         /// <summary>
 65         /// 通過分页獲取數據
 66         /// </summary>
 67         public List<UserEntity> GetListByPage(PageInfo pageInfo, string queryJson)
 68         {
 69             var db = SqlSugarHelper.GetInstance();
 70             var queryParam = JsonHelper.ToJObject(queryJson);           
 71             int totalCount = 0;
 72             string UserName = queryParam["UserName"].ToConvertString();
 73             string UserAccount = queryParam["UserAccount"].ToConvertString();  
 74             List<UserEntity> list = db.Queryable<UserEntity>()
 75                 .WhereIF(!UserName.IsEmpty(), it => it.RealName.Contains(UserName))
 76                 .WhereIF(!UserAccount.IsEmpty(), it => it.Account.Contains(UserAccount))
 77                 .OrderBy(it => it.ModifyDate)              
 78                 .ToPageList(pageInfo.page, pageInfo.rows, ref totalCount);
 79 
 80             pageInfo.records = totalCount;
 81             return list;
 82         }
 83 
 84         /// <summary>
 85         ///  通過主鍵獲取實體
 86         /// </summary>
 87         /// <param name="keyValue">主键值</param>
 88         /// <returns></returns>
 89         public UserEntity GetEntity(string keyValue)
 90         {
 91             var db = SqlSugarHelper.GetInstance();
 92             UserEntity entity = db.Queryable<UserEntity>().InSingle(keyValue);
 93             return entity;
 94         }
 95 
 96 
 97         /// <summary>
 98         ///  通過主鍵删數據
 99         /// </summary>
100         /// <param name="keyValue">主键值</param>
101         /// <returns></returns>
102         public int RemoveForm(string keyValue)
103         {
104             var db = SqlSugarHelper.GetInstance();
105             PageCacheManager.Current.RemoveCache(UserInfoCacheKey);
106             return db.Deleteable<UserEntity>().In(keyValue).ExecuteCommand();
107         }
108 
109         /// <summary>
110         ///  通過條件删數據
111         /// </summary>
112         /// <param name="queryJson">條件</param>
113         /// <returns></returns>
114         public int RemoveFormByCondition(string queryJson)
115         {
116             var db = SqlSugarHelper.GetInstance();
117             PageCacheManager.Current.RemoveCache(UserInfoCacheKey);
118             return db.Deleteable<UserEntity>()
119                 // .Where(it => it.Id == 1)
120                 // .WhereIF(!queryParam["UserName"].IsEmpty(), it => it.UserName.Contains(queryParam["UserName"].ToString()))
121                      .ExecuteCommand(); ;
122         }
123 
124         /// <summary>
125         ///  批量删除數據
126         /// </summary>
127         /// <param name="keyValues">主键值</param>
128         /// <returns></returns>
129         public int RemoveFormByKeys(int[] keyValues)
130         {
131             var db = SqlSugarHelper.GetInstance();
132             PageCacheManager.Current.RemoveCache(UserInfoCacheKey);
133             return db.Deleteable<UserEntity>().In(keyValues).ExecuteCommand(); ;
134         }
135 
136 
137         /// <summary>
138         ///  保存數據(新增、修改)
139         /// </summary>
140         /// <param name="keyValue">主键值</param>
141         /// <param name="Entity">实体</param>
142         /// <returns></returns>
143         public int SaveForm(string keyValue, UserEntity Entity)
144         {
145             var db = SqlSugarHelper.GetInstance();
146             PageCacheManager.Current.RemoveCache(UserInfoCacheKey);
147             int keyVal = 0;
148             if (!string.IsNullOrEmpty(keyValue))
149             {
150                 Entity.UserId = keyValue.ToInt();
151               //  Entity.UpdateTime = DateTime.Now;
152                 //根据实体更新(主键要有值,主键是更新条件)
153                 int ModifyRow = db.Updateable(Entity)                
154                     .UpdateColumns(it => new { it.RoleId,it.RealName,it.Description,it.ModifyDate})
155                     .Where(true/* Is no insert null */, false/*off identity*/)
156                     .ExecuteCommand();
157                 keyVal = ModifyRow > 0 ? keyValue.ToInt() : 0;
158             }
159             else
160             {                             
161                  keyVal = db.Insertable(Entity)
162                           .Where(true/* Is no insert null */, false/*off identity*/)
163                           .ExecuteReutrnIdentity();
164             }
165             return keyVal;
166         }
167 
168         /// <summary>
169         ///  更新用戶狀態
170         /// </summary>
171         /// <param name="keyValue">主键值</param>
172         /// <param name="Entity">实体</param>
173         /// <returns></returns>
174         public int UpdateState(UserEntity Entity)
175         {
176             var db = SqlSugarHelper.GetInstance();
177             PageCacheManager.Current.RemoveCache(UserInfoCacheKey);            
178             //根据实体更新(主键要有值,主键是更新条件)
179             return db.Updateable(Entity).UpdateColumns(it => new { it.EnabledMark }).ExecuteCommand();
180         }
181         
182     }
183 }
View Code

4.緩存代碼

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Runtime.Caching;
  5 using System.Text;
  6 using System.Threading.Tasks;
  7 using CommonLibrary.ExtendsMethod;
  8 
  9 namespace CommonLibrary.Cache
 10 {
 11     /// <summary>
 12     /// 页面使用缓存
 13     /// </summary>
 14     public class PageCacheManager
 15     {
 16         #region Singleton
 17         private static PageCacheManager _instance;
 18         private static readonly object obj_lock = new object();      
 19         public static PageCacheManager Current
 20         {
 21             get
 22             {
 23                 if (_instance == null)
 24                 {
 25                     lock (obj_lock)
 26                     {
 27                         if (_instance == null)
 28                         {
 29                             _instance = new PageCacheManager();
 30                         }
 31                     }
 32                 }
 33                 return _instance;
 34             }
 35         } 
 36         #endregion
 37 
 38          
 39         /// <summary>
 40         /// 设置时间
 41         /// </summary>
 42         public int CacheTimeOut { get; set; }
 43 
 44         private ObjectCache cache;
 45 
 46         private PageCacheManager()
 47         {
 48             cache = MemoryCache.Default;
 49             CacheTimeOut = AppConfig.PageCacheTimeOut;
 50         }
 51 
 52         public void AddCache(string key, object value)
 53         {
 54             cache.Add(key, value, new CacheItemPolicy { SlidingExpiration = TimeSpan.FromSeconds(CacheTimeOut) });
 55         }
 56 
 57         /// <summary>
 58         /// 获取缓存 --重载获取缓存
 59         /// </summary>
 60         /// <typeparam name="T"></typeparam>
 61         /// <param name="id"></param>
 62         /// <returns></returns>
 63         public List<T> GetCache<T>(string key) where T : class
 64         {
 65             return GetCache<T>(key, null, null);
 66         }
 67 
 68         /// <summary>
 69         /// 获取缓存 
 70         /// 排序
 71         /// </summary>
 72         /// <typeparam name="T"></typeparam>
 73         /// <param name="id"></param>
 74         /// <returns></returns>
 75         public List<T> GetCache<T>(string key, string sort, string order) where T : class
 76         {
 77             if (!string.IsNullOrEmpty(key))
 78             {
 79                 if (cache.Contains(key))
 80                 {
 81                     if (!string.IsNullOrEmpty(sort) && !string.IsNullOrEmpty(order))
 82                     {
 83                         return (cache.Get(key) as IEnumerable<T>).AsQueryable<T>().DataSorting(sort, order).ToList();
 84                     }
 85                     return (cache.Get(key) as IEnumerable<T>).ToList();
 86                 }
 87             }
 88             return null;
 89         }
 90 
 91         /// <summary>
 92         /// 获取单个缓存
 93         /// </summary> 
 94         /// <param name="key"></param>
 95         /// <returns></returns>
 96         public string GetCache(string key)
 97         {
 98             if (!string.IsNullOrEmpty(key))
 99             {
100                 if (cache.Contains(key))
101                 {
102                     return cache.Get(key).ToString();
103                 }
104                 return string.Empty;
105             }
106             return string.Empty;
107         }
108 
109         /// <summary>
110         /// 是否存在key
111         /// </summary>
112         /// <param name="key"></param>
113         /// <returns></returns>
114         public bool ContainsKey(string key)
115         {
116             if (string.IsNullOrEmpty(key))
117                 return false;
118             return this.cache.Contains(key);
119         }
120 
121         /// <summary>
122         /// 移除缓存
123         /// </summary>
124         /// <param name="id"></param>
125         public void RemoveCache(string key)
126         {
127             cache.Remove(key);
128         }
129     }
130 }
View Code

转载于:https://www.cnblogs.com/chuangjie1988/p/7397122.html

相关文章:

台湾前十大科技公司拼不过三星(往后一点三星都不要买啦!)

台湾前十大科技公司拼不过三星,往后一点三星都不要买啦!本来还可以买它的内存和液晶,不过现在是一点都不能买了,再买就真反了他了! 三星像糖果也像毒药&#xff0c;让台湾LED类股1年涨3倍&#xff0c;但也让鸿海市值一夜之间消失350亿元(新台币&#xff0c;下同)。从来没有一刻…

技术图文:如何利用 C# 向 Access 数据库插入大量数据?

背景 通常我们在做数据分析与处理之前&#xff0c;需要把从网站爬取的数据或者从 甲方 系统中导出的数据存入到自己的数据库中。如果数据量小&#xff0c;直接利用 SQL的 Insert 语句逐条插入就好。可是数据量上万条之后&#xff0c;再利用这样的方法就会奇慢无比&#xff0c;…

Web前端面试自我介绍对话技巧注意事项

大家在学会了web前端技术后&#xff0c;当然是要准备找一个适合自己的web前端工作了&#xff0c;那么面试环节是必不可少的&#xff0c;有一个良好的自我介绍表述&#xff0c;在HR心中也能加分不少&#xff0c;接下来小编就为大家介绍一下Web前端面试自我介绍对话技巧注意事项。…

Android使用ListView控件问题

Android使用ListView控件问题&#xff1a; The application has stopped unexpectedly, please try again。 开发环境&#xff1a;android 1.6 最低兼容 4.0 报错代码如下&#xff1a; main.xml 代码 1 <?xml version"1.0" encoding"utf-8"?>2 <…

技术图文:如何实现 DataTable 与模型类 List 的相互转换?

通常情况下&#xff0c;我们在做工程项目的时候&#xff0c;需要把待处理的数据存储在数据库中。 通过 SQL 的 Select 语句很容易把查询的结果以 DataTable 的方式得到&#xff0c;但在对 DateTable 中的数据进行进一步的检索时远远没有模型类 List<T> 方便。 所以&…

SQL server 基本语句

SQL server数据库基本语句一、实验要求&#xff1a;1、 查询student表中所有学生的信息select * from student如图所示2、查询student表中“姓名”“所在班级”和“成绩”列内容select 姓名&#xff0c;所在班级&#xff0c;成绩 from student如图所示3、查询student表…

Python中if条件判断语句怎么用?

俗话说“不积跬步无以至千里”。学习了Python的基本语法后&#xff0c;接下来我们学习Python常的if条件判断语句。 if语句是最简单的条件判断语句&#xff0c;它可以控制程序的执行流程&#xff0c;其使用格式如下: if判断条件: 满足条件时要做的事情1… 满足条件时要做的事情2…

Arcmap技巧总结

Arcmap技巧总结 1. 要素的剪切与延伸 实用工具 TASK 任务栏 Extend/Trim feature 剪切所得内容与你画线的方向有关。 2. 自动捕捉跟踪工具 点击Editor工具栏中Snapping来打开Snapping Environment对话框 捕捉设置中有3个选项&#xff0c; vertex edge end 分…

Spring Web MVC(一)

概述Spring Web MVC框架的特点五大核心组件编程步骤 五大核心组件DispatcherServlet前端控制器WebApplicationContext中特殊的bean处理过程 HandlerMapping 处理映射Spring中最常用的两个处理器映射BeanNameUrlHandlerMappingSimpleUrlHandlerMapping拦截器HandlerInterceptor概…

技术图文:如何利用BigOne的API制作自动化交易系统 -- 身份验证

背景 最近&#xff0c;自己在技术精进方向上有所犹豫&#xff0c;是往"网络渗透"的方向走呢&#xff1f;还是往"量化交易"的方向走&#xff1f; 如果选择精进“网络渗透”&#xff0c;就需要学习各种Web渗透技术、客户端渗透技术、移动环境渗透技术、社会…

零基础学习java软件开发攻略

Java是主流开发语言&#xff0c;应用普遍。Spring Boot是Java开发时常用框架&#xff0c;有非常丰富的组件和易用的功能。实际开发工作中涉及到的知识点比较多&#xff0c;将它们分门别类&#xff0c;专题攻关&#xff0c;由点到面&#xff0c;学习效率非常高。 软件开发系统学…

Linux--档案/目录 权限及修改

首先所有权限对于三类用户分别设定&#xff1a; User(所有者) / Group(组群) / Others(其他)。 权限也是有三种&#xff1a;Read / Write / eXecute&#xff0c;这三种权限对于文档和目录有不同的意义。 1. 对于文档&#xff1a; Read&#xff1a;可以查看文档的内容 Write&…

sklearn:Python语言开发的通用机器学习库

引言&#xff1a;深入理解机器学习并全然看懂sklearn文档&#xff0c;须要较深厚的理论基础。可是。要将sklearn应用于实际的项目中&#xff0c;仅仅须要对机器学习理论有一个主要的掌握&#xff0c;就能够直接调用其API来完毕各种机器学习问题。本文选自《全栈数据之门》。将向…

资料分享:送你一本《BigONE Developer API V2》电子书!

背景 昨天&#xff0c;我推送了一篇技术图文《如何利用 BigOne 的 API 制作自动化交易系统 – 身份验证》&#xff0c;里面提到了 BigONE Developer API V2。为了方便自己也方便他人&#xff0c;所以把这份文档整理成 PDF。如果大家对封装 BigONE 提供的 API 感兴趣可以下载这…

Web前端培训面试攻略

学会web前端技术之后&#xff0c;接下来就是要找到一份合适的工作&#xff0c;今天小编要跟大家分享的文章是关于web前端面试攻略&#xff0c;做好这些可以给面试环节加分&#xff0c;找到合适的工作几率会更高&#xff0c;希望本篇文章能够对大家有所帮助。 ​  Web前端培训…

微软鲍尔默回应被苹果超越:将开发更好产品

针对苹果超过微软成为全球市值最高的高科技公司的消息&#xff0c;微软首席执行官史蒂夫鲍尔默 (Steve Ballmer)周四表示&#xff0c;其目标是开发更好的产品&#xff0c;提高盈利能力。鲍尔默周四在印度首都新德里说&#xff0c;“我每天思考的是如何改进产品、如何使产品更 具…

技术图文:如何利用C#实现Huffman编码?

背景 Huffman编码 在通信和数据压缩领域具有重要的应用。 在介绍 Huffman 编码具体实现之前&#xff0c;先介绍几个相关的概念。 概念1&#xff1a;树中结点的带权路径长度 – 根结点到该结点的路径长度与该结点权值的乘积。 概念2&#xff1a;树的带权路径长度 – 树中所有…

ELK 5.x日志分析 (二) Elasticserach 5.2 安装

2019独角兽企业重金招聘Python工程师标准>>> 解压安装包到/opt/elasticsearch 目录下面 [roots1-prod-it-web01 opt]# tree -L 1 elasticsearch/ elasticsearch/ ├── bin ├── config ├── lib ├── LICENSE.txt ├── modules ├── NOTICE.txt ├── …

什么样的人适合学习UI?

UI时代的到来&#xff0c;让我们的生活都多姿多彩&#xff0c;很多企业越来越注重UI设计这方面&#xff0c;想要学习UI设计的人也越来越多&#xff0c;暗恶魔什么样的人适合学习UI呢? 什么样的人适合学习UI? 目前的UI设计很多都是停留在手机端设计&#xff0c;网页&#xff0…

Uva 10074【递推dp】

UVa 10074 题意:求01矩阵的最大子0矩阵。 http://www.csie.ntnu.edu.tw/~u91029/MaximumSubarray.html#2 这里说的很清楚。先求Largest Empty Interval,枚举每个点为矩形的右下角。 1 #include<iostream>2 #include<cstdio>3 #include<cstring>4 #include<…

金融时报:谷歌撤离中国有99.9%的可能性

据国外媒体报道&#xff0c;英国《金融时报》周六发表文章称&#xff0c;谷歌与中国政府就监管问题的谈判显然陷入僵局&#xff0c;而这家世界最大的搜索引擎关闭中国业务现在有99.9%的可能性。《金融时报》称&#xff0c;谷歌已经制定了关闭中国搜索引擎的详细计划。该报援引一…

技术图文:匿名方法是怎样演变为Lambda表达试的?

背景 “Lambda 表达式”&#xff08;lambda expression&#xff09;是一个匿名函数&#xff0c;Lambda 表达式基于数学中的 λ演算得名&#xff0c;直接对应于其中的 lambda 抽象&#xff08;lambda abstraction&#xff09;&#xff0c;是一个匿名函数&#xff0c;即没有函数…

python和c++的相互调用教程

日常工作中会遇到需要python与cpp代码之间的相互调用&#xff0c;工作的应用复杂&#xff0c;都是取决于代码的多少&#xff0c;但是总的方法不变&#xff0c;这里用两个简单例子说明下&#xff0c;有兴趣的筒子可以探讨下~~ 我的测试环境&#xff1a;ubuntu1604&#xff0c;py…

技术图文:如何通过 LINQ 查找集合中的重复数据?

背景 在前几天介绍的 如何利用C#实现Huffman编码&#xff1f; 的图文中有以下代码。 private List<HuffmanTreeNode> CreateInitForest(string str) {if (string.IsNullOrEmpty(str))throw new ArgumentNullException();List<HuffmanTreeNode> result new List&…

mysql的基本知识

安装&#xff1a;http://www.cnblogs.com/sshoub/p/4321640.html 导库 http://www.cnblogs.com/yuwensong/p/3955834.html 报错&#xff1a;Error was: No module named PIL pip install image转载于:https://www.cnblogs.com/baldermurphy/p/7403778.html

msys下产生dll的导入库

有些时候在只有一个dll的情况下&#xff0c;如果需要隐式链接的话&#xff0c;就需要为该dll产生一个导入库.注意导入库是不能跨编译器使用的&#xff0c;在mingw中导入库需要以.a结尾,而vs则以.lib 以下的方法是在Msys产生mingw及vs 的导入库 , 打开MSys工具 首先生成dll库的d…

零基础小白如何学习好UI设计

智能时代的来临&#xff0c;很多企业都越来越注重用户体验这一块&#xff0c;想要有一个吸引用户的好页面&#xff0c;UI设计师岗位不可或缺&#xff0c;如今越来越多的人想要学习UI设计技术&#xff0c;那么对于零基础小白如何学习好UI设计呢? 零基础小白如何学习好UI设计? …

技术图文:如何利用BigOne的API制作自动化交易系统 -- 获取账户资产

背景 前几天我们介绍了如何使用 BigONE Developer API V2 来获取身份令牌的方法「如何利用BigOne的API制作自动化交易系统 – 身份验证」。一旦获取了身份令牌&#xff0c;我们就可以在网络请求的 header 中加入令牌来获取自己的账户数据&#xff0c;创建买入、卖出订单&#…

『网站升级』PHPWind8.0至8.3升级过程及问题种种回顾录

上星期的PHPWind杭州峰会之后&#xff0c;PHPWind发布了8.3版。紧接着淘连接&#xff0c;淘满意&#xff0c;团购PHPWind的一系统ARP应用开始进入我们公司技术苦力的耳朵里&#xff08;也就是偶&#xff09;&#xff0c;偶知道有大事要发生了。于是乎。领导悠然降至&#xff0c…

新浪 抓取详情页

转载于:https://www.cnblogs.com/tian-sun/p/7404493.html