2022年10月23日 | [debug] docker
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
"environmentVariables": {
"ASPNETCORE_URLS": "http://+:5000"
},
"publishAllPorts": true
}
2022年10月22日 | [sqlite] csharp
sqlite 中的类型
存储类型(Storage Classes),在 sqlite 中一个值的类型与值本身相关,并不与所在“容器”相关。
存储类型 | 说明 |
---|---|
NULL | NULL值 |
INTEGER | 一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。 |
REAL | 一个浮点值,存储为 8 字节的 IEEE 浮点数字。 |
TEXT | 一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。 |
BLOB | 一个 blob 数据,完全根据它的输入存储。 |
亲和类型(Type Affinity) 为了最大化保证 SQLite与其他数据库的兼容性,SQLite 可以使用其他关系数据库的类型,如下所示:
CREATE TABLE t1(a INT, b VARCHAR(10));
INSERT INTO t1(a,b) VALUES('123',456);
SQLite 在列上支持“类型亲和”的概念,列的亲和类型是该列数据的推荐类型。这里的重要思想是该类型是推荐的,而不是必需的。列仍然可以存储任何类型的数据。 只是对于某些列,会更喜欢使用一个存储类而不是另一个。 列的首选存储类称为“亲和类型”。 下表显示了当你指定某些类型时候,列对应的亲和类型:
C#类型 | sqlite类型,创建表时可指定的类型 | 亲和类型/Type Affinity(存储类型) |
---|---|---|
Int32 Int64 |
INT INTEGER TINYINT SMALLINT MEDIUMINT BIGINT UNSIGNED BIG INT INT2 INT8 |
INTEGER |
String | CHARACTER(20) VARCHAR(255) VARYING CHARACTER(255) NCHAR(55) NATIVE CHARACTER(70) NVARCHAR(100) TEXT CLOB |
TEXT |
Binary | BLOB 未指定类型 |
BLOB |
Double Float |
REAL DOUBLE DOUBLE PRECISION FLOAT |
REAL |
DateTime Boolean |
NUMERIC DECIMAL(10,5) BOOLEAN DATE DATETIME |
NUMERIC |
2022年10月22日 | [javascript]
这是一个简单直观,可以快速上手的模板渲染工具。
因为需要渲染列表而项目中又不使用 Vue 等界面框架的情况下找到这个工具。
主页:https://www.jsviews.com/#jsrender
2022年10月22日 | [javascript] js语法
在ES6非严格模式下使用 let 声明的全局变量,不会成为window的属性。
参考资料:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/var
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/let https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/const
2022年10月18日 | [设计]
2022年10月18日 | [debug] 心得
2022年10月18日 | [shell]
百度百科【批处理】定义:
批处理是一种简化的脚本语言,也称作宏。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND. COM或者CMD.EXE)解释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。
维基百科【Batch file】定义:
Batch file 是在 DOS,OS/2 和 Windows 中的脚本文件。它由一系列可以被命令行解释器执行的命令组成,并保存在纯文本文件中。批处理文件可以包含命令行解释器支持的任何命令,并且批处理文件可以包含条件分支与循环语句,例如 IF、FOR 和 GOTO 语句。 术语“batch”来自批处理(batch processing),意思是“非交互式执行(non-interactive execution)”,虽然名为批处理但批处理文件并不一定需要处理一批多个数据。
个人总结: 批处理的本质就是使用 shell 进行自动化处理的脚本,可能由于历史原因在 DOS,OS/2 等早期操作系统上被称为批处理文件。Windows 则是沿用了 DOS 上的用法。我们也可以把新的 Powsershell 的脚本文件称为批处理文件。综上所述 批处理可以理解为 shell 脚本,包含 shell 脚本的文件称为批处理文件。
2022年10月16日 | [csharp]
从 C# 7.3 开始,可使用 unmanaged
约束指定:类型参数为“非指针、不可为 null 的非托管类型”。
从 C# 8.0 开始,仅包含非托管类型的字段的 构造 结构类型也是非托管类型。
public struct Coords<T> where T : unmanaged
{
public T X;
public T Y;
}
非托管类型包括:
sbyte
、byte
、short
、ushort
、int
、uint
、long
、ulong
、char
、float
、double
、decimal
或 bool
2022年10月16日 | [csharp]
根据 Nick Chapsas 视频的演示,并不是所有 值类型都是在 Stack中的,下面表格显示在各种情况下 值类型所在的位置
在方法内声明的值类型 | 栈 |
在方法参数中声明的值类型 | 栈 |
声明为类成员的值类型 | 堆 |
声明为结构成员的值类型 | 其所在结构的位置 |
ref struct 值类型 | 只能在栈中 |
2022年01月23日 | [powershell]
当面对某些特殊的问题,如电脑所连接的路由器重启导致本地的ipv6地址失效时,可以重启网卡解决问题。
#$net_adapter_name 为网卡/适配器名称
Get-NetAdapter -Name $net_adapter_name | Restart-NetAdapter
2022年01月23日 | [javascript] angularjs
在无法直接访问 $scope 对象时,可以使用下面的代码获取 $scope 对象。 将其中的 “[ng-app=mainApp]” 你自己项目中定义的内容。
$("[ng-app=mainApp]").scope()
2022年01月23日 | [javascript]
axios 是一个基于 promise 的 网络请求库,使用方便。
import axios from "axios";
axios.get('/users')
.then(res => {
console.log(res.data);
});
2022年01月23日 | [efcore] database
首先引入 Microsoft.Extensions.Logging.Debug 包,然后在 DbContext 类中的 OnConfiguring 方法中添加如下代码:
public static readonly LoggerFactory LoggerFactory = new LoggerFactory(new[] { new DebugLoggerProvider() });
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
//...
optionsBuilder.UseLoggerFactory(LoggerFactory);
//
}
这样在启动调试的时候,就可以在 Visual Studio 底部的调试输出中看到 EF Core 执行 sql 的信息了。
2022年01月19日 | [asp.net]
首先检查 Global.asax.cs 与 Global.asax 文件,确定 Global.asax 的代码映射正确,
<%@ Application Codebehind="Global.asax.cs" Inherits="myapp.MvcApplication" Language="C#" %>
如果是使用Visual Studio进行开发的,可以尝试【清理】项目,并重启调试。 这次碰到的问题就是使用【清理】解决的。
2022年01月14日 | [efcore]
代码如下:
_db.Entry(note).Property(n => n.CreatedTime).IsModified = false;
2022年01月11日 | [html]
只需将html元素的outline样式设置为none.
input {outline:none;}
2022年01月01日 | [心得]
制作该页面是为了记录在编码过程中学习到的各种有用却容易为遗忘的知识,也希望这些知识能帮助到看到这个页面的人。