自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lsj1342的博客

大鹏一日同风起,扶摇直上九万里。

  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 【译】关于 Go 代码结构的思考

关于 Go 代码结构的思考原文地址:https://changelog.com/posts/on-go-application-structure原文作者:Jon Calhoun译者:lsj1342应用程序结构复杂。良好的应用程序结构可提升开发人员体验。开发者可以在不记住整个代码仓库的情况下, 专注于他们正在处理的内容。一个结构良好的应用程序可以通过解耦组件和容易编写有用的测试来帮助防止错误。结构不佳的应用程序可能会适得其反;它会使测试变得更难,并难以查找相关代码。它还会引入不必要的复杂

2022-03-08 16:40:39 149

原创 Go使用redigo实现简单分布式锁

redis分布式锁是 基于setnx的只在键 key 不存在的情况下, 将键 key 的值设置为 value 。若键 key 已经存在, 则 SETNX 命令不做任何动作。SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写。此处采用了 redigo 实现, 代码如下:package mainimport ( "log" "time" "github.com/gomodule/redigo/redis")// 初始redis函数func Init

2021-12-08 14:09:09 1550

原创 Go中的阻塞分析

Go中的阻塞分析原文地址:https://github.com/DataDog/go-profiler-notes/blob/main/block.md原文作者:felixge本文永久链接:https://github.com/gocn/translator/blob/master/2021/w43_Block_Profiling_in_Go.md译者:lsj1342校对:laxiaohong描述Go 中的阻塞分析有助于您分析程序在等待下列阻塞操作上的花费时间:selectcha

2021-11-28 18:55:48 430

原创 nginx学习笔记

nginx命令指定配置文件:-c指定配置指令:-g指定运行目录:-p发送信号:-s(stop、quit、reload、reopen)测试语法:-t、-T热部署查看目前正在运行的nginx:ps -ef | grep nginx将当前nginx命名为nginx.old,并将新的二进制文件移动到这里cp nginx nginx.oldcp xxxx/nginx nginx向老的nginx master进程发送 USR2 , 387 为老nginx matser进程号。kill

2021-11-23 09:38:51 1878

原创 DNS智能解析

智能解析传统DNS解析,不判断访问者来源,会随机选择其中一个IP地址返回给访问者。智能 DNS 会判断访问者的来源,也就是说,它会对访问者的 IP 地址做判断,对不同的访问者它会返回不同的 IP 地址。智能 DNS 可以根据用户的 IP 地址找到它所在的地区、使用的运营商等。通过这些信息,它就可以让访问者在访问服务的时候,获得最优的 CDN 边缘节点,从而提升服务的质量。实现阿里云解析:DNS解析,通过识别LocalDNS的出口IP,来判断访问者来源。具体可分为三种情况:客户端LocalDNS支

2021-09-13 18:24:41 1186

原创 Go中的面向对象

Go 没有类,而是松耦合的类型、方法对接口的实现。OO 语言最重要的三个方面分别是:封装,继承和多态,在 Go 中它们是怎样表现的呢?封装(数据隐藏):和别的 OO 语言有 4 个或更多的访问层次相比,Go 把它简化为了 2 层:1)包范围内的:通过标识符首字母小写,对象 只在它所在的包内可见2)可导出的:通过标识符首字母大写,对象 对所在包以外也可见类型只拥有自己所在包中定义的方法。继承:用组合实现:内嵌一个(或多个)包含想要的行为(字段和方法)的类型;多重继承可以通过内嵌多个类型实现。ty

2021-09-13 18:15:30 100

原创 HTTPS优化介绍

背景HTTP的安全性较低,对用户的隐私和体验都会带来影响,互联网厂商也会因此造成一定的名誉受损,甚至利益损失。这都会推动互联网厂商在提供服务的同时,进行由HTTP向HTTPS的改造。HTTP带来的主要问题有:数据完整性,HTTP不能保证数据的完整性,即服务发出的相应内容与用户接收到的内容是否一致,这就导致攻击者可以轻松的进行中间人攻击,将内容进行篡改,例如插入恶意代码或大量广告等。 数据明文传输,HTTP不会对内容进行加密,这就导致用户的网络行动可以被嗅探到,攻击者可...

2021-09-08 11:43:25 189

原创 视频音轨音量是否为0检测过程

检测方案1.生成音轨文件(视频直接抽取音频,音频维持不变)并转为wav格式```ffmpeg -i xxx.mp4 -f wav -ar 16000 xxx.wav ```2.使用sox xx.wav -n stat获取音频统计信息,并解析音量结果并返回python可用库:https://pypi.org/project/sox/, sox 中有一个 silent函数直接返回True or False,就意味着是否为是否静音。sox简介:SoX — 音频处理工具里的瑞士军刀...

2021-09-01 11:02:19 381

原创 大数据分析框架Druid安装

Zookeeper安装下载:wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gztar -zxvf zookeeper-3.4.14.tar.gzcd zookeeper-3.4.14启动:#将ZK提供的事例配置修改为正式配置cp conf/zoo_sample.cfg conf/zoo.cfg#启动ZK服务./bin/zkServer.sh s

2021-09-01 10:52:34 89

原创 Go 的抢占式调度

Go 的抢占式调度我正在研究 Go 中 goroutine 的抢占。如果您能指出文中任何错误并告知我,将感激不尽。Go1.14 版本中的抢占行为已经发生了变化。在 Go1.14 中,goroutine 是“异步抢占”的,如发行版本所述。这意味着什么呢?首先,让我们看一个简单的例子。思考下面的 Go 程序。package mainimport ( "fmt")func main() { go fmt.Println("hi") for { }}在主函数

2021-08-19 11:24:39 1191

原创 对运维的理解

运维的职责以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够7×24小时为用户提供高质量的服务。运维的职责覆盖了产品从设计到发布、运行维护、变更升级及至下线的生命周期。运维的工作范围服务监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障服务故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性服务容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作服务性能优化:从各个方向,包括网络

2021-08-19 11:18:17 1894

原创 Kubernetes入门读书笔记

基本知识在Kubernetes中,Service是分布式集群架构的核心,一个Service对象拥有如下关键特征:唯一指定的名称(如mysql-server)一个虚拟IP和端口号能提供某种远程服务能力被映射到提供这种服务能力的一组容器应用上Pod简介首先,Pod运行在一个被称为节点(Node)的环境中,节点可以是物理机,也可以是私有云或公有云中的虚拟机,通常在一个节点上运行几百个Pod。其次,每个Pod中都存在一个特殊的叫做Pause的容器,其他容器为业务容器,这些业务容器共享Pause容器的

2021-08-19 11:09:18 134

原创 常见负载均衡与流量调度算法整理

概述负载均衡和流量调度的目的是将任务在服务器集群中能够尽量均衡的处理,以高效地利用系统资源。通常集群由处理节点和均衡节点两类元素组成,处理节点将采集一些实时信息,如处理器的负载情况、网络中用户量、网络缓冲区及系统内存的可用大小、应用系统的负载等各种消息,并通过节点上专门的代理软件发送给均衡节点,均衡节点综合所有收到的信息后做出负载均衡策略。负载均衡的要点之一是节点的当前使用系统资源的情况。负载均衡系统要将系统中的资源使用情况能够相对均衡,需要掌握节点当前负载情况,并结合网络中当前资源使用情况及时对负载均衡

2021-08-19 11:03:04 4487 1

原创 Go语言json.Marshal时特殊html字符被转义

json.Marshal时特殊html字符被转义在服务的一个接口开发时,发现日志中json的url某些符号被转义的情况,以此记录一下。{ "imageId":"图片描述信息", "imageUrl":"http://xxxx.xxxx/6d6de116c4c64c57933dd7d83940230220160525150701.jpg?imageView&thumbnail=750x750", "url":"http://xxxx.xxx/6d6de116c4c64c57

2020-07-01 18:36:39 972

原创 BloomFilter(布隆过滤器)——海量数据去重过滤、避免缓存穿透大杀器

之前在网易实习时,我在内部做的布隆过滤器的分享

2020-06-23 10:15:57 200

翻译 【译】理解 Go 语言中的 defer

【译】理解 Go 语言中的 defer原文地址:https://www.digitalocean.com/community/tutorials/understanding-defer-in-go原文作者:Gopher Guides本文永久链接:https://github.com/gocn/translator/blob/master/2019/w43_understanding_defer_in_go.md译者:lsj1342校对者:cvley介绍Go 中有许多通用的流程控制关键词

2020-05-12 12:40:56 214

原创 Golang中的垃圾回收算法

Go GC的触发条件:gcTriggerAlways: 强制触发GC gcTriggerHeap: 当前分配的内存达到一定阈值时触发,这个阈值在每次GC过后都会根据堆内存的增长情况和CPU占用率来调整 gcTriggerTime: 当一定时间没有执行过GC就触发GC(2分钟) gcTriggerCycle: runtime.GC()调用Golang的GC算法是基于 标记-清除 算法,在此基础上做了改进标记-清除算法主要进行了两个步骤:标记:从程序的根节点开始,递归地遍历所有对象,..

2020-05-12 12:25:29 466

转载 Go 开发关键技术指南 | 为什么你要选择 Go?(内含超全知识大图)

原文地址https://mp.weixin.qq.com/s/QV9p16QjonHCyIs-DivoeA,如有侵权,联系我立刻删除liu_sijia@foxmail.com作者 | 杨成立(忘篱) 阿里巴巴高级技术专家关注 “阿里巴巴云原生” 公众号,回复Go 即可查看清晰知识大图!导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问...

2019-12-26 15:49:37 148

转载 Go 开发关键技术指南 | Go 面向失败编程

本文转载https://mp.weixin.qq.com/s/1zWdSV8FmwkduX4Hfbztgw,如若侵权,联系我删除liu_sijia@foxmail.com作者 | 杨成立(忘篱) 阿里巴巴高级技术专家关注 “阿里巴巴云原生” 公众号,回复 Go 即可查看清晰知识大图!导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题...

2019-12-26 15:21:19 461

原创 如何写下你的第一个Go程序

如何写下你的第一个Go程序介绍“Hello World"程序是计算机编程中一个经典而历史悠久的传统。对于新手来说,这是第一个简单而完整的程序,也是一个检验环境配置的好方法。这篇教程将引导你在使用Go 创建此程序。但是,为了让程序更有趣,你将会修改传统的“Hello World”程序,使它能够询问用户的姓名。从而你能够对用户进行问候。当你跟着教程完成这个程序,run起来你得到一个看起来如下的程...

2019-11-24 17:20:06 157

原创 Nginx+uwsgi部署Django项目

上篇文章,记录了我使用了Apache部署django项目,然而现在的主流是使用Nginx+uwsgi来部署,这里记录了nginx部署的过程,并趟了一些小坑。环境Ubuntu 18.04Anaconda python3.5安装sudo apt-get install python-dev nginxsudo pip install uwsgi --upgradeDjnago项目在这...

2019-05-14 10:15:59 803 9

原创 用apache部署Django项目

本人之前写项目,都是使用的django自带的开发服务器来运行的,在开发环境尚且可以用它进行调试和测试,但不能承受许多用户同时使用的负载。所以需要将Django部署到生产级的服务器,这里选择apache。这里记录一下我在部署apache时的流程和一些问题。我也是初次涉及,难免有一些不妥之处,仅供参考。环境ubtuntu 18.04安装sudo apt-get install apache2...

2019-05-09 15:28:52 561 2

原创 算法设计与分析基础(python实现)--3

减治法插入排序def insertionsort(a_list): length = len(a_list) for i in range(1, length): tmp = a_list[i] j = i - 1 while j>=0 and a_list[j]>tmp: a_list[j+1...

2019-05-08 10:43:31 843

原创 算法设计与分析基础(python实现)-- 2

分治法分治法的思想:1.将问题的实例划分为同一个问题的几个较小实例,最好具有相同的规模2.对这些较小的实例进行求解(一般使用递归方法,但在问题规模足够小时,也会使用一些其他的方法)3.如果有必要的话,合并这些较小问题的解,以得到原始问题的解。算法运行时间:主定理:合并排序算法:import mathdef merge(b, c, a): blength = l...

2019-05-07 11:47:07 1142

原创 算法设计与分析基础(python实现)-- 1

欧几里得算法求最大公约数:其方法就是重复应用下列等式,知道m mod n等于0:gcd(m,n) = gcd(n,m mod n)

2019-04-26 11:25:11 1418

原创 Github文件夹灰色无法点击打开

上传完本地文件到github后发现如下情况,文件夹无法访问。一条命令解决问题git rm -r --cached “文件夹的名称”That‘s all.

2019-04-23 14:50:44 490

原创 adb、appium、frida安装

1.adb 安装sudo apt-cache search adbsudo apt-get install android-tools-adb终端输入adb,查看是否安装成功2.appium的安装(1)打开终端输入npm install -g appium若出现command not found:npm,那么需要安装nodejs,才能使用npm(Node Package Manager...

2019-04-22 21:18:07 1001

转载 (转载)Django工程目录结构优化

1.我看到这篇文章,写的不错,在此复制了一份,防止以后找不到! 感谢作者的翻译--->原文的链接:http://www.loonapp.com/blog/11/ 如果原文存在,请打开原文件阅读偶然看到一份关于Django工程目录的文章,英文版版的,觉得写得不错。在此翻译下供读者参考Django 工程目录结构你已经配置好你的Heroku账户(译者注:Heroku是一个老牌的免费云空间),并...

2019-03-07 14:41:51 209

原创 各个安卓漏洞检测框架是怎么检测allowBackup的?

AndroBugs_Framework是怎么检测?方法:直接获取AndroidManifest文件中allowBackup的属性,是否为true。(若没有,安卓系统是默认为true的) def is_adb_backup_enabled(self): """ Return true if the APK can be backed up ...

2018-12-18 15:19:11 484

原创 Tensorflow lite up up~

简介在桌面PC或是服务器上使用TensorFlow训练出来的模型文件,不能直接用在TFLite上运行,需要使用离线工具先转成.tflite文件。笔者发现官方文档中很多细节介绍的都不太明确,在使用过程中需要不断尝试。我把自己的尝试过的步骤分享出来,希望能帮助大家节省时间。具体说来,tflite文件的生成大致分为3步:1. 在算法训练的脚本中保存图模型文件(GraphDef)和变量文件(C...

2018-11-07 20:16:59 129

原创 Kaldi ihm实验

路径:kaldi-master/egs/ami/s5/run_ihm.sh在运行run_ihm.sh之前先输入命令:vim run_prepare_shared.sh先将Fisher的安装配置注释掉,再运行。这里主要是为ihm做数据的准备。如果直接通过,没有报错之类的,可执行run_ihm.sh。IRSTLM的安装:kaldi-master/tools/extras/install_irs...

2018-11-07 18:58:29 360

原创 使用TensorFlow C++ API构建线上预测服务

使用TensorFlow C++ API构建线上预测服务运行环境:GPU47,TF-1.10除了本机的tensorflow之外,仍需要安装下面的tf。源码安装后,看到tensorflow/contrib/makefile/gen/lib/libtensorflow-core.a静态库和 tensorflow/contrib/makefile/gen/bin/benchmark可执行文件运行...

2018-11-07 18:57:09 2016 1

原创 Cmake安装

wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gztar zxvf cmake-3.9.2.tar.gzcd cmake-3.9.2./configuresudo make && make install

2018-10-13 20:05:44 124

原创 SRILM安装

一、安装Srilm①下载地址:为http://www.speech.sri.com/projects/srilm/download.html 。下载压缩包后,解压到你想编译安装的地方,假设为:/Users/…/srilm。②进入该目录下,修改Makefile文件,找到此行: # SRILM = /home/speech/stolcke/project/srilm/devel,另起一行输入SRI...

2018-09-28 09:24:17 1846

算法设计与分析基础

算法设计与分析基础

2019-05-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除