go语言开发之路

博客目录

  • GO语言之环境搭建和基本命令
本文转载于网络 如有侵权请联系删除

相关文章

  • 第31期:索引设计(索引数量探讨)

    一般提到索引,大家都只关注索引的优点,一个优秀的索引的确会让查询请求的效率大幅提升、亦或是大幅提升带有索引键进行过滤的写入请求(update、delete)效率。不可否认,索引在这样的场景下带来巨大的性能提升,但是对于整张表的写请求来讲,则刚好相反,索引的存在会在一定程度上降低写入请求的效率。为了维护索引数据的准实时性而让优化器基于索引做出更优化的执行计划,数据库会自动更新索引数据分布,比如带来索引页的拆分与合并等。那索引的存在对写入请求影响到底有多大?也就是说,索引的数量多少与写请求效率的降低有没有一个对应的关系?这篇我用几个简单的例子看看能否得到一个明确的结论。(简单基于笔记本虚拟机测试,主要是基于MySQL单实例。)我的例子主要针对四类语句:insert、update、delete、loaddata。用mysqlsh部署一个干净的实例:(带入端口,远程管理员,report_host选项)MySQLPy>dba.deploy_sandbox_instance(3500,{"password":"root","allowRoot

  • 聊聊dapr的fswatcher

    序本文主要研究一下dapr的fswatcherfswatcherdapr/pkg/fswatcher/fswatcher.goimport( "context" "strings" "time" "github.com/fsnotify/fsnotify" "github.com/pkg/errors" ) funcWatch(ctxcontext.Context,dirstring,eventChchan<-struct{})error{ watcher,err:=fsnotify.NewWatcher() iferr!=nil{ returnerrors.Wrap(err,"failedtocreatewatcher") } deferwatcher.Close() iferr:=watcher.Add(dir);err!=nil{ returnerrors.Wrap(err,"watchererror") } LOOP: for

  • 《陈巍学基因》笔记①illumina测序化学原理

    欢迎大家打开本次推送~从本期推送开始,将由?小编为大家整理《陈巍学基因》的笔记。《陈巍学基因》是一系列由陈巍老师主讲的视频节目,从15年开始更新(视频所示部分技术并非文章发布时「2020年」最新,本系列文章会在叙述时给予加粗标注),主要为介绍基因组学,和临床分子诊断的最新技术进展。「接下来就让我们开始吧~」目录 第一期原视频illuminaNGS测序Flowcell测序流程文库制作(LibraryPreparation)簇生成(ClusterGeneration)测序(Sequencing)第一期原视频 微信内使用腾讯源,理论上无广告illuminaNGS测序「Next-GenerationSequencing(NGS)」,中文可译为下一代/第二代测序技术。而illumina公司是当今二代测序的巨鳄,其测序技术原理是用可逆终止子和荧光标记的dNTP来做边合成、边测序[1]的工作。?本期节目主要介绍的就是illumina公司NGS技术的生化原理。Flowcell中文可直译为流动槽,是一种载玻片形状大小的半导体芯片,其最新用于HiSeq系列等测序仪(首先应用于HiSeqXTen测序仪)的实

  • 人工智能的马克思主义审视

    导读2018年5月5日是马克思诞辰200周年,马克思曾写到“哲学家们只是用不同的方式解释世界,而问题在于改变世界”。本文作者陈凡,哲学博士,东北大学科技哲学研究中心教授,博士生导师;作者程海东,哲学博士,东北大学科技哲学研究中心博士后研究人员,讲师。文章从马克思主义哲学关于人与技术关系的基本立场和观点出发审视人工智能的发展,文章认为人工智能还有广阔的发展空间,在可预见的未来并不会出现让人们恐惧的“奇点”。文章来源:《思想理论教育》2017年11期人类对人工智能(ArtificialIntelligence,简称AI)的探索可以追溯到图灵,当然我们也可以追溯到更早的帕斯卡与莱布尼茨。梳理人工智能的历程会发现,无论是帕斯卡、莱布尼茨,还是图灵,甚至标志着人工智能学科诞生的达特茅斯会议,都有着雄心勃勃的计划,即制造出能够像人一样行动和思考的智能系统,来模拟和扩展人类智能。随着相关科学和技术的发展,作为学科的人工智能领域,奠基性的基础理论得以确立并取得了一定的进展,如机器感知与识别原理、知识的获取、表达与推理理论、机器学习与算法等;实践中的人工智能系统表现得让人惊叹,如自上世纪末开始的各种“人

  • 聊聊NacosDiscoveryEndpointsAutoConfiguration

    序本文主要研究一下NacosDiscoveryEndpointsAutoConfigurationNacosDiscoveryEndpointsAutoConfigurationnacos-spring-boot-project/nacos-discovery-spring-boot-actuator/src/main/java/com/alibaba/boot/nacos/discovery/actuate/autoconfigure/NacosDiscoveryEndpointsAutoConfiguration.java@Configuration publicclassNacosDiscoveryEndpointsAutoConfiguration{ ​ @Bean @ConditionalOnMissingBean @ConditionalOnEnabledEndpoint publicNacosDiscoveryEndpointnacosDiscoveryEndpoint(){ returnnewNacosDiscoveryEndpoint(); } ​ }复制NacosD

  • 60行Python代码,实现多线程PDF转Word

    工作中经常会遇到需要提取PDF文件中文字的情况,一个PDF还好,复制粘贴一下也花不了太多时间,如果需要把大量PDF转为Word,怎么办呢?今天教大家用60行代码实现,多线程批量PDF转Word。没兴趣看具体过程可以直接拉到最后,有代码。分解任务把PDF转为Word,分几步?两步,第一步读取PDF文件,第二步写入Word文件。是的,就是这么简单,借助Python第三方包,可以轻松实现上面两个过程,我们要用到pdfminer3k和python-docx这两个包。读取PDFfrompdfminer.pdfinterpimportPDFResourceManager frompdfminer.pdfinterpimportprocess_pdf frompdfminer.converterimportTextConverter frompdfminer.layoutimportLAParams resource_manager=PDFResourceManager() return_str=StringIO() lap_params=LAParams() device=TextConver

  • Django 博客生成 Markdown 摘要的几种方式对比

    在搭建博客中,自动生成摘要是一个很普遍的需求,今天讲的生成摘要方式均为抽取式,并且实质仍是抽取文章前N个字,真正的抽取式通常会使用TextRank算法计算文章中的句子权重高的再抽取句子,更非生成式,生成式摘要需要依靠神经网络的帮助.方式一:直接取Markdown文字的前100个字(不推荐)这种简单粗暴的方式很不友好,如果开头是一张图片或者是链接,那么用户可能只看到链接,体验感很差.方式二:使用正则去掉Markdown(有门槛)通过研究Markdown语法,然后用正则表达式去除即可.注意此处的re.sub函数,其参数展开应该是re.sub(pattern,repl,string,count=0,flags=0)也就是说下面代码的含义是:检测到article.body中符合pattern规则的字符串,则用空字符串(''代表空字符串)代替符合规则的字符串.补充一点正则表达式的知识,以本文中的正则表达式为例:\[(.*?)\]\(.*?\)先匹配一个中括号[].因为\[\]中的斜杆会让原本匹配中括号表达式转义为匹配一个中括号.然后开始匹配()内的子表达式.*?点.匹配除换行

  • 非插件实现WordPress分页导航

    效果图:具体的实现方法是:1.首先在主题functions.php中加入以下代码:if(!function_exists('pagenavi')){ functionpagenavi($p=5){//取当前页前后各2页 if(is_singular())return;//文章与插页不用 global$wp_query,$paged; $max_page=$wp_query->max_num_pages; if($max_page==1)return;//只有一页不用 if(empty($paged))$paged=1; echo'<spanclass="pages">'.$paged.'/'.$max_page.'</span>';//显示页数 if($paged>$p+1)p_link(1,'最前页','首页'); if($paged>1)p_link($paged-1,'上一页',

  • NIPS的最佳论文 强化学习Value iteration Network 及代码

    TensorFlow实现:https://github.com/TheAbhiKumar/tensorflow-value-iteration-networks下面文章作者https://www.zhihu.com/people/ikerpeng/代码实现介绍:ValueIterationNetworksinTensorFlowTamar,A.,Wu,Y.,Thomas,G.,Levine,S.,andAbbeel,P.ValueIterationNetworks.NeuralInformationProcessingSystems(NIPS)2016ThisrepositorycontainsanimplementationofValueIterationNetworksinTensorFlowwhichwontheBestPaperAwardatNIPS2016.ThiscodeisbasedontheoriginalTheanoimplementationbytheauthors.TrainingDownloadthe16x16and28x28GridWorlddatasetsf

  • spring boot启用tomcat ssl

    首先要生成一个keystore证书。参考:Tomcat创建HTTPS访问,java访问https,ssl证书生成:cer&jks文件生成摘录,spring-boot这里复现一下完整过程:安装好java后,cmd就可以使用keytool了。生成ssl证书:C:\Users\miaorf>keytool-genkey-aliastomcatjks-keyalgRSA-keystored:\tomcat.jks 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什么? [Unknown]:ryanmiao 您的组织单位名称是什么? [Unknown]:com.test 您的组织名称是什么? [Unknown]:com.test 您所在的城市或区域名称是什么? [Unknown]:sz 您所在的省/市/自治区名称是什么? [Unknown]:gd 该单位的双字母国家/地区代码是什么? [Unknown]:cn CN=ryanmiao,OU=com.test,O=com.test,L=sz,ST=gd,C=cn是否正确? [否]:y 输入<tomcatjks>的密钥

  • html功能标签

    1<!doctypehtml> 2<html> 3<head> 4<title>sber</title> 5<metacharset="utf-8"> 6<metaname="keywords",content=""> 7<metaname="description",content=""> 8<styletype="text/css"> 9</style> 10</head> 11<bodywidth="1200"> 12我是菜鸡!<br/>并且也是一个弱鸡<!--<br/>是一个换行标签--> 13你也是菜鸟!<hr/><!--<hr/>是加一条水平线有换行作用--> 14我们都是菜鸡!</br> 15<ahref="http://www.baidu.com"target="_self">百度一下</a> 16<!--a标签超链

  • beyond compare 软件学习

    beyondcompare软件可以实现基本的文件对比,这点和NotePad++的功能一样。但是在实现文件夹与文件夹之间的对比的话,就要使用beyondcompare进行对比,效率是成倍提高。网上down一个beyondcompare软件。http://www.downza.cn/soft/6653.html一、文件夹的比较 1.1、入口打开软件之后,出现非常了非常简单明了的界面要实现文件夹的比价的话,很显然直接点击进去。 1.2、指定比对文件的路径 通过箭头所指的位置,可以指定比对文件的路径(指定之后,就会自动加载文件),之后就会自动进行文件夹之间的比对。1.3、颜色的区分   当文件夹之间进行比对之后,会有多种颜色,对比对的结果进行区分。 红色:文件夹(文件之间存在不同)不同红色:时间戳的差异,当较新的时候,(即使两个文件是一模一样,如果时间不一致的话,也是以颜色进行区分)灰色:时间戳的差异,当比较旧的时候,当两个文件内容即使完全一致,比较旧的文件,就以灰色进行显示。紫色:独有,也就是说,这个文件是独有的,所以就以

  • django的orm框架(进阶篇)

    extra  在QuerySet的基础上继续执行子语句  extra(self,select=None,where=None,params=None,tables=None,order_by=None,select_params=None) select-select_paramstmp=models.Book.objects.all().extra(select={"n":"selectcount(1)fromapp05_book"})foriintmp:  print(i.title,i.n)书一6书二6书三(第)6书四(第)6书五(第)6书六(第)6    select占位符 tmp=models.Book.objects.all().extra(select={"n":"selectcount(1)fromapp05_bookWHEREid>%s"},select_params=[3,])foriintmp:  print(i.title,i.

  • cd 到目录自动ls

    $vim~/.bashrc 文件末尾加入: cdls(){ cd"${1}" ls; } aliascd='cdls' 复制 $source~/.bashrc 复制

  • Codeforces Round #282 Div.1 B Obsessive String --DP

    题意:给两个串S,T,问能找出多少的S的(a1,b1)(a2,b2)..(ak,bk),使Sa1---Sb1,...Sak---Sbk都包含子串T,其中k>=1,且(a1,b1)...(ak,bk)互不相交。 比如S="abacaba",T="aba",当k=1时,(0,6)满足,还有其他只包含一个aba串的也满足,k-2时,(0,2)(3,6)满足,(0,2)(4,6)也满足,(0,3)(4,6)也满足,所以总共有12种。 解法:dp.先用kmp找出所有匹配点。 定义dp[i]=bn为i的方法数(尾部为i)。 则转移方程:  如果i是某匹配的尾字母时, 左边意味着取的区间数K>1的情况,第一个循环枚举ak,第二个循环枚举b(k-1),右边意味着取得区间数为1,即就取一个区间的方式数(为从左边取起,取到此时匹配串的第一个字母为止) 否则         dp[i]=dp[i-1] 于是,我们可以维护 ,再维护 那么sum[i]=sum[i-1]+ans[i

  • JAVA 8与JAVA 11到底该怎么选?

    很多初学Java的小伙伴经常咨询: 到底该安装哪个版本的JDK比较好? Java8到底还够不够用? Java11究竟有什么改进? 是不是Java版本越新越好? …… 是这样,官网现在其实都已经出到Java13版本了,并且提供下载使用。 但目前市场上主流的稳定版当然还得属Java8和Java11,而目前大部分公司的生产环境还是Java8居多。 所以如果从自学角度出发,我觉得这两个版本都OK,其他中间的一些比如Java9、Java10这些非稳定版就不用考虑了。 Java11vsJava8   Java11相对于Java8确实有一部分进化,除了有很多内部的升级(比如开销和时延更低的GC、TLS1.3加持等等)之外,对于初学使用者来说也有一些语言使用层面的进化。 正好最近我在自己的个人小项目上尝试升级使用了一下Java11(公司项目咱也不敢动、也不敢问,只好动自己的个人项目),因此本文从实际代码编写角度来大致体验一下我个人使用Java11之后相对Java8所感觉到的一些比较深刻的进化,官方文档里说得也非常清楚了:https://docs.oracle.com/en/java/ja

  • android 自动更新

    packagecom.wlwl.yiyuan; importjava.io.File; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.InputStream; importjava.net.HttpURLConnection; importjava.net.MalformedURLException; importjava.net.URL; importjava.util.UUID; importorg.apache.http.HttpEntity; importorg.apache.http.HttpResponse; importorg.apache.http.client.HttpClient; importorg.apache.http.client.methods.HttpGet; importorg.apache.http.impl.client.DefaultHttpClient; importorg.json.JSONArray; importorg.json.J

  • 说说 Android 的壁纸管理

    本文在https://wkmcyz.notion.site/Android-e203f65b6c1c4022b053db6ce24570bd阅读体验更好。 说说Android的壁纸管理 Android的壁纸是由WallpaperManagerService进行管理的。下文中的“管理服务”指的即是WallpaperManagerService。 Android上的壁纸有静态壁纸和动态壁纸之分,不过其启动以及进程间的通信的原理和模式是一样的,只是实际的绘制不同而已,一个只绘制一张图,而另一个会根据时间绘制相同的内容。 ?Android没有将WallpaperManagerService开放给第三方,因此普通应用无法设置壁纸。 WallpaperManagerService对壁纸的管理 管理服务在切换壁纸的时候,每次切换的时候,并不是指定一个图片文件就可以进行切换的,不同的壁纸需要不同的类来完成其绘制,所以在切换壁纸的时候,实际指定的是一个新的壁纸绘制的工作类。 WallpaperManagerService是运行在system_server里的,作为一个对外的接口和管理者。有些应用需要

  • 速战速决 Python - python 高级: 推导式,zip

    速战速决Pythonhttps://github.com/webabcd/PythonSample 作者webabcd 速战速决Python-python高级:推导式,zip 示例如下: advanced/comprehension.py #comprehension推导式 #一种简单的“把一个或多个列表或集合或字典通过指定的规则生成一个新的列表或集合或字典”的方法 a=[1,2,3,4,5] b={1,2,3,4,5} c={"k1":1,"k2":2,"k3":3,"k4":4,"k5":5} #取出列表a中的偶数,并生成一个新的列表 d=[xforxinaifx%2==0] #取出集合b中的偶数,并生成一个新的集合 e={xforxinbifx%2==0} #取出字典c中的value为偶数的k/v,并生成一个新的字典 f={k:vfork,vinc.items()ifv%2==0} print(d)#[2,4] print(e)#{2,4} print(f)#{'k2':2,'k4':4} #通过嵌套循环生成一个元组列表 g=[(x,y)forxinrange(2)fo

  • 9.1多进程(跳过)

    importos print('Process(%s)start...'%os.getpid()) #OnlyworksonUnix/Linux/Mac: pid=os.fork() ifpid==0: print('Iamchildprocess(%s)andmyparentis%s.'%(os.getpid(),os.getppid())) else: print('I(%s)justcreatedachildprocess(%s).'%(os.getpid(),pid))复制 Process(876)start... I(876)justcreatedachildprocess(877). Iamchildprocess(877)andmyparentis876.复制 frommultiprocessingimportProcess importos #子进程要执行的代码 defrun_proc(name): print('Runchildprocess%s(%s)...'%(name,os.getpid())) if__name__=='__main__': prin

  • (转)Linux下设置和查看环境变量

    原文地址:《Linux下设置和查看环境变量》   Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.永久的:需要修改配置文件,变量永久生效。 2.临时的:使用export命令声明即可,变量在关闭shell时失效。   设置变量的三种方法 1.在/etc/profile文件中添加变量【对所有用户生效(永久的)】 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。 例如:编辑/etc/profile文件,添加CLASSPATH变量 #vi/etc/profile exportCLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib 注:修改文件后要想马上生效还要运行#source/etc/profile不然只能在下次重进此用户时生效。 2.在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】 用VI在用户目录下的.bash_profile文件中增加变量,改

相关推荐

推荐阅读