
技术
文章平均质量分 52
冰之K
人不在线,全部博客已迁移
展开
-
为什么我不建议在 C# 中用下划线 _ 开头来表示私有字段?
我在C#官方文档的使用属性里看到这种代码:public class Date { private int _month = 7; // Backing store public int Month { get => _month; set { if ((value > 0) && (value < 13)) { _month = value;原创 2020-02-27 23:41:49 · 6986 阅读 · 1 评论 -
Next.js 配置接口跨域代理转发
使用 create-next-app 创建的 Next.js 项目配置接口跨域代理转发需要用到 custom server 功能。先安装好 express 和 http-proxy-middlewareyarn add express http-proxy-middleware在项目根目录下新建 server.js 文件,写入以下代码// server.jsconst express ...原创 2019-11-11 22:22:04 · 4932 阅读 · 7 评论 -
Python 编程入门(4):变量与赋值
以下所有例子都基于最新版本的 Python,为了便于消化,每一篇都尽量短小精悍,希望你能尽力去掌握 Python 编程的「概念」,可以的话去动手试一下这些例子(就算目前还没完全搞懂),加深理解。经过前几章的铺垫,终于要讲到变量和赋值这个非常基本的「语句」了!其实之前你已经见过这种操作了。变量基本上就是某个值的名字。合法的变量名的规则,以下划线( _ )或者字母开头,由字母,下划线( _ )...原创 2019-11-11 18:54:28 · 623 阅读 · 0 评论 -
基于Jupyter Notebooks的C# .NET Interactive安装与使用
在 VSCode 安装完 Go 插件之后,需要安装 Go 相关的依赖。但是由于国内众所周知的网络问题,一些 golang.org 的包无法正常下载。这个时候我们需要手动从 Github 下载,再更新 Go 插件的依赖。首先,在命令行确认你配置好了 GOPATH 和 GOPROXY(如果没有就要配置环境变量),比如我的 Go 版本为 1.13.3,GOPATH 为 $HOME/go 目录,GOPR...原创 2019-11-06 09:11:03 · 1314 阅读 · 0 评论 -
Python 编程入门(3):算术和表达式
以下所有例子都基于最新版本的 Python,为了便于消化,每一篇都尽量短小精悍,希望你能尽力去掌握 Python 编程的「概念」,可以的话去动手试一下这些例子(就算目前还没完全搞懂),加深理解。计算机的本质就是进行数学计算。所有复杂的操作都是由简单的操作组合而成的。算术基本的运算有加、减、乘、整除、取余。加、减、乘和小学数学一样。1 + 21 - 21 * 2除法用 / 这个...原创 2019-11-01 10:25:38 · 840 阅读 · 0 评论 -
.NET CLI简单使用
在 Go 语言 1.13 版本之后,go mod 已成包管理最佳实践。但是很多讲包管理的文章讲了太多 Go 包管理的历史,不是我想要的,我在这里只讲最佳实践要怎么做。新项目新建一个项目做示范mkdir appcd app在项目目录下初始化 go modgo mod init appapp 就是这个项目的名称,import 时会用到。完成后目录下会多了 go.mod 和 go.su...原创 2019-11-01 10:24:43 · 790 阅读 · 0 评论 -
Ubuntu安装C#语言开发环境
下载 Go 安装包从 Go 语言官网或者这里 https://studygolang.com/dl(国内可用)下载 linux 版本的安装包,去到下载的位置,打开终端,解压安装包sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz在 home 目录下面创建工作目录cd $HOMEsudo mkdir go cd gosud...原创 2019-10-29 10:41:42 · 1924 阅读 · 0 评论 -
Python 编程入门(2):复杂数据类型(列表,字典)
以下所有例子都基于最新版本的 Python,为了便于消化,每一篇都尽量短小精悍,希望你能尽力去掌握 Python 编程的「概念」,可以的话去动手试一下这些例子(就算目前还没完全搞懂),加深理解。在 Python 中,常见的基本数据类型有:数字:整数 int,浮点数 float字符串:str布尔值:bool而常见的复杂数据类型有:列表:list字典:dict自然界中,复杂的事物可...原创 2019-10-27 08:47:53 · 382 阅读 · 0 评论 -
Python 编程入门(1):基本数据类型
Python 编程(1):基本数据类型以下所有例子都基于最新版本的 Python,为了便于消化,每一篇都尽量短小精悍,希望你能尽力去掌握 Python 编程的「概念」,可以的话去动手试一下这些例子(就算目前还没完全搞懂),加深理解。程序 = 数据结构 + 算法。数据结构就是储存信息的方法(计算什么),算法就是解决问题的方法(怎么计算)。先讲数据结构。数据在程序中以不同的「类型」进行储...原创 2019-10-16 20:21:56 · 218 阅读 · 0 评论 -
Python 实现选择排序
Python 实现选择排序选择排序算法步骤:找到数组中最小的那个元素中,将它和数组的第一个元素交换位置,在剩下的元素中找到最小的元素,将它和数组的第二个元素交换位置,如此往复,知道将整个数组排序。逐步分析:假设一个数组有 6 个元素,[5, 1, 4, 3, 2, 6]第 1 个元素为 5,与剩余 5 个元素相比,1 是最小的元素,所以 5 和 1 交换位置,[1, 5,...原创 2019-10-15 21:24:57 · 312 阅读 · 0 评论 -
编程的智慧总结笔记
编程的智慧总结笔记编程的智慧原文http://www.yinwang.org/blog-cn/2015/11/21/programming-philosophy反复推敲代码回头去提炼和反思自己的代码写优雅的代码,树状结构的if 语句几乎总是有两个分支if (...) { if (...) { ... } else { ... }} else if (...原创 2019-10-01 13:01:40 · 253 阅读 · 0 评论 -
学习 Vim 命令总结
学习 Vim 命令总结只是为了让我忘记的时候看一下esc 回到普通模式i 普通模式进入插入模式:wa 保存全部文件dd 删除一整行u 撤销r 替换x 删除一个字符cw 修改从光标到一个单词结尾的字符% 匹配括号移动* 移动到匹配的下个单词# 移动到匹配的上个单词gg 到第一行. 重复上次命令ctrl+r 重做数字+G 到第几行G 最后一行ye 复制单词0y$ ...原创 2019-10-01 13:00:42 · 261 阅读 · 0 评论 -
Python 一键安装全部依赖包
requirements.txt用来记录项目所有的依赖包和版本号,只需要一个简单的pip命令就能完成。 pip freeze &amp;gt;requirements.txt然后就可以用 pip install -r requirements.txt来一次性安装requirements.txt里面所有的依赖包,真是非常方便。但是我最近发现了一个全新的Python包管理器...原创 2019-10-01 05:43:31 · 56923 阅读 · 3 评论 -
前端开发神器 VSCode 使用总结
前言:vscode是微软出品的,基于Electron和TypeScript的,现在已经是最火的一款文本编辑器。我认为vscode是可以完全取代你现有编辑器位置的一款(IDE)。它集成了git版本管理和命令行终端,而且开源稳定,插件丰富,再搭配一款改变你一生(life-changing)的Chrome浏览器,可以说是前端开发神器了,我就来简单的讲一下它的用法。安装指南vsco...原创 2019-10-01 05:42:41 · 5286 阅读 · 1 评论 -
Python 静态类型检查 mypy 示例
在Java语言里面有接口和抽象基类的概念,在Python里面用类也能够实现。 抽象类无法被实例化,而且规定的抽象方法都是需要在子类中实现,具体方法就会有默认的实现。from abc import ABC, abstractmethodclass Heater(ABC): @abstractmethod def engage(self): pass ...原创 2019-10-01 05:21:10 · 1344 阅读 · 0 评论 -
修改 div 的滚动条的样式
需要用到浏览器专属的伪元素,没有万能的办法,支持的浏览器不是很多。 假设有一个(你已经)设好宽高、定好位的div,&lt;div class="group-list"&gt;&lt;/div&gt;.group-list { max-height:510px; overflow: auto;}需要加上下面的样式,来修改滚动条的宽度和颜色。.group-list::-we...原创 2019-10-01 05:23:35 · 13155 阅读 · 1 评论 -
安装 mysqlclient 报 mysql_config not found
raise EnvironmentError("%s not found" % (mysql_config.path,))OSError: mysql_config not found发现原来是用apt安装的mysql的mysql_config文件缺失了, 需要安装libmysqld-dev和libmysqlclient-dev两个包。如果安装时少了libmysqld-dev就会报这个...原创 2019-10-01 05:25:01 · 7824 阅读 · 0 评论 -
在 Nest.js 中使用 MongoDB 与 TypeORM
首先要在database文件夹里建立DatabaseModule模块文件,// database/database.module.tsimport { Module } from '@nestjs/common';import { databaseProviders } from './database.providers';@Module({ providers: [...dat...原创 2019-10-01 05:28:57 · 6609 阅读 · 0 评论 -
解决端口占用,查看并杀掉端口
先查看netstat -ap | grep 8080或者lsof -i:8080然后杀掉kill -9 8080原创 2019-10-01 05:29:55 · 12543 阅读 · 1 评论 -
JavaScript 浅复制和深复制
浅复制只会复制第一层的元素,嵌套的元素还是原来的引用。const obj = {a:1,b:2};const copyObj = Object.assign({},obj);const arr=[1,2,3];const copyArr=arr.slice();原创 2019-10-01 05:31:30 · 231 阅读 · 0 评论 -
MongoDB 添加用户名和密码
我用的是mongodb3.6,如果没有的话先安装.sudo apt install mongodb终端输入mongo,首先添加管理用户,show dbs // 显示所有的数据库use admin // 切换到admindb.createUser({user:'root',pwd:'root',roles:['userAdminAnyDatabase']})db.auth('r...原创 2019-10-01 05:38:22 · 18907 阅读 · 0 评论 -
TypeError: 'NoneType' object is not subscriptable
TypeError报错复现: 我在使用pymongo访问users聚集(collection)里的数据时,user = mongo.db.users.find_one({'username': username})由于该条数据不存在,所以user获得的值是None. 但是我又像下面这样使用了user,if password == user['password']:所以Non...原创 2019-10-01 05:39:32 · 180446 阅读 · 4 评论 -
JavaScript 中 == 和 === 的区别
和其他语言有些不同,在JavaScript中除了用==操作符来判断是否相等外,还有一个===操作符,它们的区别是:==操作符会先将两边的值进行强制类型转换再比较是否相等,而===操作符不会进行类型转换。==操作符只要求比较两个值是否相等,而===操作符不仅要求值相等,而且要求类型相同。!=和!==的区别也是类似的,!=号会做强制类型转换,而!==不会。在chrome浏览器的环境下,测试一下...原创 2019-10-01 05:40:36 · 222 阅读 · 0 评论 -
使用 Jest 进行愉快的 JavaScript(TypeScript) 测试
一般我们不管是做前端还是后端,为了提高代码的质量,会选择一种测试驱动开发(TDD)的办法来写代码进行单元测试。Jest是Facebook团队开发的一款测试框架,为的是提高开发者的“开发体验”。我们做单元测试的时候需要分解出一个个独立的模块,但是这样做要写很多的mock代码(模拟的辅助函数),非常地繁琐,这是行业的一个“痛点”。如果你和我一样很懒,而且认同“懒惰即是美德”、“不要重复你自己(D...原创 2019-10-01 05:41:20 · 3228 阅读 · 0 评论 -
Ubuntu 系统连接到服务器
Ubuntu系统连接到服务器我用的是Ubuntu18.04系统假设你的服务器上的用户名是root, 域名或者ip地址是xyz而且配置好了安全组(阿里云的)和云解析首先要安装 openssh-serversudo apt install openssh-server查看下ssh是不是启动了sudo ps -e | grep ssh然后可以在终端输入ssh root@xyz...原创 2019-10-01 05:16:34 · 11889 阅读 · 0 评论