8 do better myself

尚未进行身份认证

学无止境、只有不断的学习,你才不会被社会淘汰!加油吧!少年!

等级
TA的排名 6k+

go 使用error.new 和panic自定义错误

package mainimport ( "errors" "fmt")func readConfig(name string) (err error) { if name == "config.imi" { return nil } else { return errors.New("读取文件错误...") ...

2020-04-03 10:06:18

go 语言使用defer 和recover 来处理错误

package mainimport ( "fmt" "time")func test() { defer func() { err := recover() if err != nil { fmt.Println("err=",err) } }() num1 := 10 num2 := 0...

2020-04-03 09:43:11

如何设计一个安全的对外接口?

https://www.jianshu.com/p/d0f7a459dc69如何实现以上大体介绍了一下常用的一些接口安全措施,当然可能还有其他我不知道的方式,希望大家补充,下面看看以上这些方法措施,具体如何实现;1、数据加密现在主流的加密方式有对称加密和非对称加密;对称加密:对称密钥在加密和解密的过程中使用的密钥是相同的,常见的对称加密算法有DES,AES;优点是计算速度快,缺...

2020-04-03 09:20:35

java环境 win10系统搭建

https://blog.csdn.net/Hi_Red_Beetle/article/details/88676103

2020-04-02 09:23:59

linux 如何启动redis

https://blog.csdn.net/qq_37503483/article前提:安装好redis第一步:转到redis安装目录(/usr/local/redis)安装目录与bin同级的redis.conf文件中没有信息第二步:cd bin之前安装的时候复制过来的redis.conf文件第三步:编辑redis.conf...

2020-04-01 14:07:12

项目重构你了解多少?

那为什么需要重构,什么时候重构呢?为什么重构:由于功能模块新增,交互体验优化,业务量增加,原有的项目架构会出现,维护困难,新增功能模块难度大,修改业务工作量大,bug问题排除困难。什么时候重构:用数据举例来说吧,当应用用户>0时只需要项目功能实现,当用户>10w开始注重项目功能需求,当用户>100w开始注重项目性能和稳定性,当用户>n+w开始注重用户交互一个极致体验。在...

2020-03-31 14:23:14

订单分表和redis分布式锁的实现,数据库innodb3种锁的实现

学习了淘宝的订单系统设计,将订单拆分为买家库、卖家库,消息中间件进行订单同步(类似于方案1、2的对买家、卖家分表么),似乎是不关注订单数据冗余,但没想明白如何按照订单查询,所以借鉴设计了方案3:(1)按照userId取模分表(2)按照sellerId取模分表(3)按照orderId取模分表相比方案1、2,少维护了一张表,但有两份数据冗余订单水平分库分表,为什么要按照用户id来切分呢...

2020-03-30 18:19:41

mysql 聚集索引和非聚集索引区别 和explian extra的各种类型含义解释

简单概况一下:聚集索引就是以主键创建的索引非聚集索引就是除了主键以外的索引。非聚集索引也叫做二级索引,不用纠结那么多名词,将其等价就行了。非聚集索引在建立的时候也未必是单列的,可以多个列来创建索引。本质区别:表记录的排列顺序和索引的排列顺序是否一致。聚集索引(clustered)也叫聚簇索引定义:数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索...

2020-03-30 15:39:31

redis解决超卖的实现

https://blog.csdn.net/NIUBILISI/article/details/89881287?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

2020-03-26 11:17:35

lareval查询数据拼接结果

DB::table('st_users_proposal')->select('add_time')->groupBy('add_time')->orderBy('add_time', 'DESC')->get()->toArray();lareval groupby 和 orderby 必须和select查询的字段是一致的才行,否则查询会报错public...

2020-03-23 14:18:01

Redis实现分布式锁 php

一、分布式锁的作用: redis写入时不带锁定功能,为防止多个进程同时进行一个操作,出现意想不到的结果,so...对缓存进行插入更新操作时自定义加锁功能。二、Redis的NX后缀命令  Redis有一系列的命令,其特点是以NX结尾,NX的意思可以理解为 NOT EXISTS(不存在),SETNX命令 (SET IF NOT EXISTS) 可以理解为如果不存在则插入,...

2020-03-17 17:38:09

lareval where 条件大于的写法

$stockList = DB::table('gt_stk_index_ave')->select('stockCode')->where('stockDate',$tradeDate)->whereRaw('closePrice > fiveAverage')->groupBy('stockCode')->get();整体的是写在一起的...

2020-03-13 15:11:27

查找linux下进程占用CPU过高的原因,以php-fpm为例

很多时候,线上服务器的进程在某时间段内长时间占用CPU过高,为了优化,我们需要找出原因。1、找出占用CPU最高的10个进程 1 ps aux | sort -k3nr | head -n 10 或查看占用内存最高的10个进程 1 ps aux | sort -k4nr | head -n 10   或者使用...

2020-03-12 15:55:00

Linux下用netstat查看网络状态、端口状态

在linux一般使用netstat 来查看系统端口使用情况步。 netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的 netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。 该命令的一般格式为: netstat [选项] ...

2020-03-12 15:13:57

go 语言 command not found or ‘go’ is not recognized

1.windows安装go SDK,这些会自动增加。在系统环境变量增加:在系统环境变量PATH值最后加上;C:\Go\bin2.linuxexport GOROOT=$HOME/opt/goexport PATH=$PATH:$GOROOT/bin...

2020-03-09 13:13:19

php二维数组增加最后一个元素在后面

$uids = M('user_pid')->where("pid = 2")->field("uid")->select();$count = count($uids);foreach ($uids as $k => $val) {-----判断如果是循环的最后一次就加上这个元素 if ($k == $count-1) { $uids[] =...

2020-03-06 13:08:40

git 分支详解

名称 解释master 这个分支最近发布到生产环境的代码,最近发布的Release, 这个分支只能从其他分支合并,不能在这个分支直接修改Develop 这个分支是我们是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支Feature 这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支...

2020-03-05 13:36:30

三维数组转换成二维数组的方法是循环2次后再重新放到一个新数组就可以了

三维数组如下:Array( [0] => Array ( [0] => Array ( [id] => 1 [project] => 美的空调 [pro_money] =...

2020-03-03 16:57:48

python 一次获取多只股票的实时价格

import osimport timeimport tushare as tsimport pandas as pdimport smtplibfrom email.mime.text import MIMETextdef check(code, low, high): global e df = ts.get_realtime_quotes(code) ...

2020-02-27 16:24:28

python 写入数据库代码

# 建立数据库连接,剔除已入库的部分db = pymysql.connect(host='127.0.0.1', user='root', passwd='', db='test', charset='utf8')cursor = db.cursor()dt = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")sql_inse...

2020-02-26 17:51:29

查看更多

勋章 我的勋章
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。