Mysql 设计规范

公司要开发一个新项目,之前是.NET Framework + Sql Server,这次要用.NET Core + Mysql,没怎么接触过mysql,所以做数据库设计之前,结合网上的资料,以及项目的使用,总结了一下Mysql设计规范。按照规范设计了数据库,目前项目开始正常开发,没遇到因为数据库设计产生的问题,记录一下。ps.随着开发,应该还会记录下mysql与SQL server的差异。

命名规范

基本命名原则

  • 使用有意义的英文词汇,不要使用拼音或拼音缩写。
  • 只能使用英文字母,数字,下划线,并以英文字母开头。
  • 表名库名全部小写用_分隔,列名Pascal(避免代码中太多attribute)
  • 避免用 MySQL 的保留字,如 desc,关键字如 index
  • 命名禁止超过32个字符,须见名之意,建议使用名词不是动词
  • 数据库,数据表一律使用前缀
    • 临时库、表名必须以tmp为前缀,并以日期为后缀
    • 备份库、表必须以bak为前缀,并以日期为后缀
阅读更多

关于Cookie的属性说明

Cookie服务的首部字段

首部字段名 说明 首部类型
Set-Cookie 开始状态管理所使用的Cookie信息 响应首部字段
Cookie 服务器收到的Cookie信息 请求首部字段
阅读更多

Redis .NET CORE 简单使用

最近在面试,很多公司都有要求使用过 Redis ,之前没有用过,既然很多公司都要求会,自然是有原因的。本文试着简单学习下 Redis ,并了解下它与 MemoryCache 有什么区别的(之前在 LPS 缓存是用的 MemoryCache )。

定义

看下官网的说明,

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

阅读更多

Trac-DailyReportAnalysis

WHY

每年要写年终总结,最近做的事情会记着,之前的却不一定记得那么清。个人有在 Trac 写日志的习惯,可以说是清楚的记载了工作内容,但是一天一天看也太浪费时间,而且效果也不好,没有一个实际的量化。于是就想着爬一下日志内容,分析下词频,这样就可以直观的看自己的工作内容了。

HOW

虽然也自学过一点python,但是学的很基础,而且忘得也差不多了。马上就要交年终总结了,还是用自己习惯的语言吧。大概查了一下用C#爬网页,觉得没啥问题,就开始了。嗯,没错了,想的容易,做起来总会遇到问题:

阅读更多

Trac-NoPreview Chrome Extension

WHY

公司用Trac作为管理系统。修改Ticket,或者提交工作日志时,总需要先预览才能提交(应该是有权限的人设置的),为了方便自己使用,就花了点时间写了一个浏览器插件,可以不经过预览就提交,顺便学习下Chrome插件的开发。

阅读更多

Postman 进阶使用技巧

由于工作中涉及到 API 的开发,以及第三方的对接,Postman 总是少不了使用的,除了简单的发请求,也发现了 Postman 自带的可以用到的功能,做个记录,避免再花时间学习。


Postman makes API development faster, easier, and better

阅读更多

LEFT JOIN ON AND/WHERE

LEFT JOIN ON AND/WHERE

Question

这两个SQL查询的结果相同吗?

SQL
1
2
SELECT * FROM TableA a LEFT JOIN TableB b ON  b.AId =a.TableAId AND a.TableAId =1
SELECT * FROM TableA a LEFT JOIN TableB b ON b.AId =a.TableAId WHERE a.TableAId = 1
阅读更多

WITH common_table_expression

WITH common_table_expression

先上个官方说明
Specifies a temporary named result set, known as a common table expression (CTE). This is derived from a simple query and defined within the execution scope of a single SELECT, INSERT, UPDATE, or DELETE statement. This clause can also be used in a CREATE VIEW statement as part of its defining SELECT statement. A common table expression can include references to itself. This is referred to as a recursive common table expression.

阅读更多

XCOPY

XOPY


XCOPY : Copies files and directories, including subdirectories

阅读更多