![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
日志
技术日志.
力软低代码开发平台
这个作者很懒,什么都没留下…
展开
-
前端上传前预览文件 image、text、json、video、audio
前天有个需求,上传前需要校验视频长度,然后让我出个 Demo。其实预览功能实现上都差不多,所以今天我们都来实现一下咯。选择文件一般来说上传常见的操作就三种,单击、拖拽、粘贴。下面我们分别来说一下。input 选择文件我们无法获取用户本地的内容,需要通过<input>标签,让用户自己选取。<input type="file" name="input" id="input" @change="inputHandler">但是<input>...原创 2020-05-22 16:25:43 · 614 阅读 · 0 评论 -
免登录 只需要一个QQ号就能获取QQ头像和QQ昵称 获取QQ用户信息API
<?php//里客云资源站,likeyunba.com//BY TANKING// headerheader("Content-Type:application/json");error_reporting(E_ALL^E_NOTICE^E_WARNING);// 获取QQ号$qq = $_GET["qq"];// 过滤if (trim(empty($qq))) { echo json_encode(array('msg' => 'null'),true);}e.原创 2020-05-22 16:24:09 · 2564 阅读 · 1 评论 -
Linux下分析bin文件的10种方法
这世界有10种人,一种人懂二进制,另一种人不懂二进制。 ——鲁迅大家好,我是良许。二进制文件是我们几乎每天都需要打交道的文件类型,但很少人知道他们的工作原理。这里所讲的二进制文件,是指一些可执行文件,包括你天天要使用的 Linux 命令,也是二进制文件的一种。Linux 系统给我们提供了非常多用于分析二进制文件的工具,不管你在 Linux 下从事的是何种工作,知道这些工具也会让你对你的系统更加了解。在本文中,将介绍几种最常用的用于分析二进制文件的工具及命令,这些工具在大部分发行版里可以直接使原创 2020-05-22 16:20:14 · 298 阅读 · 0 评论 -
蚂蚁、字节、滴滴面试经历总结
今年面试还是比较顺的,面了五家公司(酷家乐、拼多多、字节、滴滴、蚂蚁),都过了。在文章里我不仅会列出面试题,还会给到一些答题建议,个人能力有限,也不能保证我回答都正确,如果有错误,希望能纠正我。字节一面说一下浏览器缓存浏览器缓存分为强缓存和协商缓存,强缓存会直接从浏览器里面拿数据,协商缓存会先访问服务器看缓存是否过期,再决定是否从浏览器里面拿数据。控制强缓存的字段有:Expires和Cache-Control,Expires 和 Cache-Control。控制协商缓存的字段是:原创 2020-05-22 16:18:30 · 596 阅读 · 0 评论 -
说说我眼中的IT界加班文化
很久之前给程序员杂志写的一篇IT思考的文章,今天发出来与大家共勉!关于加班,在很久之前我就想说说这件事。因为我是个天性不太喜欢守旧的人,对于加班这件事总觉得有几句话要说。日本人的工作态度算是时间罕有,而经济的崛起自然是跟勤勤恳恳、一丝不苟的工作态度大有关系。虽说我对台湾不是很熟,但是我常常一遇到台湾朋友就对他们讲:“晚上两点多,我MSN只有两种人还在线:一种是不在我这个时区的人,一种就是台...原创 2020-04-07 14:52:39 · 301 阅读 · 0 评论 -
写给精明 Java 开发者的顶级测试技巧
我们经常为我们的业务代码写测试用例,对吧?毫无疑问,大多数答案会落在“不错,但是你知道怎样避免它么?”和“当然,我喜欢测试”之间的某种状态。这里我将介绍一些小窍门,让你明白写好测试用例也是如此简单。这也将帮助你写更少的碎片化的测试,以确保你的应用更加强壮。同时,如果你的答案是“不,我从来不写测试”,那我也希望这些简单有效的技术让你看到写测试用例的好处,你也将会看到写出明确无价的测试集并不像你想...原创 2019-12-18 14:02:43 · 198 阅读 · 0 评论 -
怎样写出杀手级的工程师简历
这篇简历让我获得了在 Google, Facebook, Amazon, Microsoft 以及 Apple 面试的机会。2017 毕业季简历我获得这些面试机会是采用海投简历的方式,即我们熟知的在线申请。在线申请是人们在申请工作中最常见的方式,因此也是由于竞争导致面试最低效的方式。然而,这正是我获得所有面试的方式。我是怎么做到的呢?在本文中,我将出于以下目标对我的简历...原创 2019-12-18 13:59:39 · 363 阅读 · 0 评论 -
如何理解任何编程任务
这一天终于来了。不管你是第一天工作还是已经工作10几年了,都无所谓。总有一天会有那么一个任务,让你连理解都理解不了。那么这个时候你会怎么办呢?硬着头皮做,祈祷能成功?还是立刻告诉你的老大你做不了,因为你理解不了这个任务?我想你知道,哪个都不对。我发现,在编程工作以及其它任何工作中,如果一个星期(有时甚至是一天)都没有遇到让你理解不了的任务,那几乎是不可能的。不过不用愁!好消息...原创 2019-12-18 13:55:48 · 269 阅读 · 0 评论 -
微服务 vs. SOA
微服务和面向软件架构(SOA)是软件开发的两个组件化体系结构。随着云计算时代的发展,更高粒度的微服务架构(MSA)已经从早期的SOA发展而来。然而,这两种方法仍然被广泛使用。SOA以企业为中心,而微服务则以应用程序为中心。首先,我们将研究这些技术中的每一种,然后我们将比较和对比这两种技术。理解面向服务架构SOA是通过消息中间件进行服务间通信的服务集合。中间件层还支持多协议的互通。...原创 2019-12-18 13:50:40 · 275 阅读 · 0 评论 -
ASP.NET Core 如何设置发布环境
在ASP.NET Core中自带了一些内置对象,可以读取到当前程序处于什么样的环境当中,比如在ASP.NET Core的Startup类的Configure方法中,我们就会看到这么一段代码:public void Configure(IApplicationBuilder app, IHostingEnvironment env){ if (env.IsDevelopment())...原创 2019-12-18 13:38:47 · 1503 阅读 · 0 评论 -
谈自由,ASP.NET Core才是未来?
首先我要说一下自己对自由的理解: 自由是我可以选择不干什么,但我要保留我可以干什么的可能性。 比如说我现在只有一个码农的角色,但我仍然要保留可以扮演其他角色的可能, 比如成为一个作者,当我写下文章的时候已经是了,所以是知名作者(这就是努力的意义啦), 又比如我想成为一个好的架构师和好的管理者,至少在中下层,我认为这两者是不冲突的,因为有些架构的技术思维可以运用于团队管理,有...原创 2019-12-18 13:35:39 · 305 阅读 · 0 评论 -
Visual Studio中找不到.Net Core SDK
在win 7 64位上安装了.Net Core 2.1 x86 SDK后,又卸载重新安装了.Net Core 3/2 x64 SDK。结果在VS中新建项目时没有.Net Core 3.1 SDK。在cmd中运行dotnet --info,.Net Core SDKs installed里提示No SDKs were found这个是由于环境变量里同时配置了C:\Program File...原创 2019-12-18 13:31:56 · 2567 阅读 · 2 评论 -
CSS响应式布局
基本的概念:一个网站可以兼容多个终端,针对不同终端设置不同的样式。优点:面对不同分辨率设备灵活性强; 能够快捷解决多设备显示适用问题;缺点:兼容各种设备,效率低下; 代码累赘;实现响应式布局的三种方式 1. CSS3-Media Query(最简单的方式,但是无法满足很多需求) 2. 借助原生Javascript(成本高,不推荐使用) 3. 第三方...原创 2019-12-18 13:29:13 · 186 阅读 · 0 评论 -
asp.net Web 项目的文件/文件夹上传下载
以ASP.NET Core WebAPI作后端API,用Vue构建前端页面,用Axios从前端访问后端API ,包括文件的上传和下载。准备文件上传的API#region文件上传可以带参数[HttpPost("upload")]public JsonResult uploadProject(IFormFile file...原创 2019-12-18 13:26:02 · 197 阅读 · 0 评论 -
判断是否适合做程序员的4条核心的标准,你符合几条呢?
编程是一门非常有技术含量的手艺活,待遇和福利相对来说较为丰厚。由于种种原因想要转行做程序员的人,总会有这样的困惑:我是否适合做程序员呢?衡量一份工作是否适合自己的标准至少有三个:你所擅长的、你所喜欢的、对你来说最有价值的(能挣钱的)。而判断一个人是否适合做程序员的几条核心的标准,你是否符合呢?1.热爱单纯地讲「热爱」这个词可能很难想象,所以这里举一些工程师日常生活的一些言谈举止,通...原创 2019-12-17 17:02:14 · 139 阅读 · 1 评论 -
如何在软件开发行业选择一条正确的职业道路?
当我进入软件开发领域时,我非常兴奋。我想要同时学习所有东西:游戏开发、移动开发、人工智能以及所有与之相关的内容。我把时间浪费在了写“hello world”和一些简单的程序上,使用了大约 30 种语言,只是为了弄清楚我应该学哪一种。最后,一切都变得很无聊,因为我没能创造最酷的东西。然而,当我决定专注于一件事并把它学好时,一切都改变了。从那时起,我开始感受到了坚持不懈带来的好处。面对现实...原创 2019-12-17 17:00:41 · 471 阅读 · 1 评论 -
互联网公司的技术总监都敲代码吗?
这是一个非常敏感的话题,每次谈论到技术总监要不要写代码的时候,总会引起一片争论。有的程序员说技术总监如果不写代码怎么能领导好技术团队;有的说技术总监还需要写代码?如果技术总监都需要写代码的话,那技术团队有多操心呐。正反观点看起来都蛮有道理的,我也试着和大家聊聊这个话题。我感觉自己还是蛮有资格来讨论这个话题的,我有过15人左右技术团队负责人的经历、也有过管理超50多人研发的经验,也经历了从一...原创 2019-12-17 16:58:41 · 478 阅读 · 1 评论 -
程序员感慨:拒绝互联网高薪,跑去事业单位修行,我后悔了
最近有位程序员后台留言问笔者,为什么自己变得越来越没主见?网上关于“主见”的解释是:自己对事物确定的意见或见解,有自己的独立思考能力。许多人小时候没主见,也能过得不错,也能成为家长眼中的乖宝宝,老师眼中的好学生。但是长大进入职场后,我们会慢慢发现,机会很难会落到这些人头上,在职场上没有主见的人,往往会越变越平庸。也更容易成为生活的输家。一位程序员在职场论坛发布了这样一条吐槽。意思大概是...原创 2019-12-17 16:57:19 · 281 阅读 · 1 评论 -
职场面试,如何证明是自己是资深程序员,几句话就可能暴露能力!
真正的程序员为人处事方面相对比较低调,特别面试过程中不需要专门为了炫耀技术只是把面试官问的问题按部就班的回答上来就可以了,一般技术面试来讲技术面试官都会根据简历上情况做个大致的摸底,技术面试基本上通过面试就能了解个大概,因为根据简历上描述的项目经验直接问些相关的信息,提问几个具体实现方式很快就能检验出水平高低,如果回答得非常对口,可以再把问题细化,进一步挖掘掌握的程度,技术高低几个回合下来就能了解...原创 2019-12-17 16:55:55 · 421 阅读 · 1 评论 -
程序员“努力就会成功”?真相残酷但又不得不面对!
那一年,我加入了某知名公司的某知名部门,在办公室中,我看到了到处都挂着——“努力就会成功”的条幅,这个部门中大多数员工的邮件签名都会有“努力就会成功”,我感到一种热血沸腾的气氛,这是我在多年工作来都没有感受到的,当时挺高兴地能和这样一群人工作,也没多想。直到有一天,我看到这些高级的软件工程师们把自己关在又挤又吵的会议室中,拼命地加班,真是拼命,周一到周日,每天早上10点到凌晨3点甚至凌晨5点,连国...原创 2019-12-17 16:54:07 · 193 阅读 · 1 评论 -
读“阿里工程师的自我修养”,总结程序员成长的四个简单技巧
最近拜读了“阿里工程师的自我修养”手册,12 位技术专家分享生涯感悟来帮助我们这些菜鸡更好的成长,度过中年危机,我收获颇多,其中有不少的方法技巧和我正在使用的,这让我觉得我做的这些事情是对的,我走在了一条正确的道路上。我们程序员这个行业不像医生、律师等其他行业,那些行业可谓是越老越吃香,但是我们不一样,我们不能享受越老越吃香的待遇,因为互联网发展太快,技术不断的更新,就我工作的这短短几年时间就有不...原创 2019-12-17 16:52:24 · 182 阅读 · 1 评论 -
没有最好的语言,只有最适合的语言,编程语言决定程序员性格!
据说,编程环境也会影响一个人的性格,某种语言用久了,性格都会和编程语言的特点挂钩。Python程序员的特征性格特征:懒(就一个字)!让Python程序员越来越懒的罪魁祸首与Python语言的特性有很大关系,Python语法优雅、功能强大、开发效率高,而且最接近自然语言,基本上不用考虑语法细节,程序员可不就越来越“懒”了么!他们信奉极简主义,对复杂的代码嗤之以鼻;以前追求高速...原创 2019-12-17 16:47:58 · 274 阅读 · 1 评论 -
编程入门的“坑”,大多数程序员经历过,新手一定要注意!
对于每个程序员来说,编码都是自己必须掌握的生存技能,写编码就像每天都要吃饭睡觉一样,是必须要经历的事情,但是对于编程新手们来说,还是有很多事项需要注意的,如果做到这些,也许可以让自己少走很多弯路。今天给大家介绍编程新手很可能会栽的“坑”,看看你之前是不是也经历过吧!写代码前规划过度虽然在编写代码之前进行充分的计划是很好的,但是在开始做所有事情之前考虑太多是不明智的。不要指望世界...原创 2019-12-17 16:46:58 · 176 阅读 · 1 评论 -
码农和程序员之间的5个关键差异
如果一个企业老板大声嚷嚷说,“我要招个程序员”,那么十之八九指的是“码农”——一种纯粹为了钱而写代码的技术人员。这其实是一种非常狭隘和错误的做法,原因么,且听我一一道来。1. 码农写的是代码,程序员写的是系统从本质上讲,码农就是你让他写什么他就写什么的“机器人才”。所谓的码农大多通晓几门编程语言,但是却于商业上面并不熟稔。当然他只是不感兴趣而已,他想做的只是写代码。...原创 2019-12-17 16:44:24 · 152 阅读 · 1 评论 -
搭配 VS Code Remote 远程开发扩展在 WSL 下开发
❗ 注意:远程开发扩展需要在Visual Studio Code Insiders上使用。Visual Studio Code Remote - WSL 扩展允许你直接借助 VS Code 令「适用于 Linux 的 Windows 子系统」(WSL)作为你的全职开发环境。你可以在基于 Linux 的环境中进行开发,使用 Linux 特有的的工具链和实用库,并在舒适的 Window...原创 2019-05-20 11:54:45 · 3270 阅读 · 0 评论 -
一篇文章从了解到入门shell
请注明文章来源:http://blog.zjiecode.com/2019/04/15/shell/1、shell介绍shell 俗称叫做壳,计算机的壳层,和内核是相对的,用于和用户交互,接收用户指令,调用相应的程序。因此,把shell分为2大类1.1、图形界面shell(Graphical User Interface shell 即 GUI shell)也就是用户...原创 2019-05-20 11:56:46 · 105 阅读 · 0 评论 -
系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路
处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,导出jstac...原创 2019-05-20 11:59:41 · 191 阅读 · 0 评论 -
HTTP/3 竟然基于 UDP,HTTP 协议这些年都经历了啥?
听到 HTTP/3 基于 UDP 协议的消息,不少人可能都跟我一样惊呆了。我们从开始学习网络协议就一定会接触到 HTTP,而教科书或者老师一直以来说的都是“UDP 不可靠,所以 HTTP 基于 TCP 协议”,虽然偶尔会思考“UDP 与 TCP 都是比较底层的协议,用 TCP 来定义上层的 HTTP 协议,也是需要经过一系列设计和封装的,那凭什么 UDP 就不可以试试呢?”、“是成本问题?HT...原创 2019-05-20 13:45:41 · 1385 阅读 · 0 评论 -
看完这篇你们团队的代码也很规范
最近重构项目组件,看到项目中存在一些命名和方法分块方面存在一些问题,结合平时经验和Apple官方代码规范在此整理出 iOS 工程规范。提出第一个版本,如果后期觉得有不完善的地方,继续提出来不断完善,文档在此记录的目的就是为了大家的代码可读性较好,后来的人或者团队里面的其他人看到代码可以不会因为代码风格和可读性上面造成较大时间的开销。软件的生命周期贯穿产品的开发,测试,生产,用户使用,版...原创 2019-05-20 13:47:22 · 386 阅读 · 0 评论 -
使用lombok编写优雅的Bean对象
使用java编写代码,十之八九都是在写java类,从而构建java对象。lombok之前也说了不少,但使用了这么多年,感觉还是有很多技巧可以使用的。毫无疑问,使用lombok,编写的java代码很优雅,而使用起来和普通的java编码方式创建的类毫无二致。不过,这样就满足了吗?实际上lombok很多注解,让这个java类在使用的时候,也可以更优雅。本文就从ORM实体类、Builder模式...原创 2019-05-20 14:03:17 · 190 阅读 · 0 评论 -
线程池是怎样工作的
我们在工作中或多或少都使用过线程池,但是为什么要使用线程池呢?从他的名字中我们就应该知道,线程池使用了一种池化技术,和很多其他池化技术一样,都是为了更高效的利用资源,例如链接池,内存池等等。数据库链接是一种很昂贵的资源,创建和销毁都需要付出高昂的代价,为了避免频繁的创建数据库链接,所以产生了链接池技术。优先在池子中创建一批数据库链接,有需要访问数据库时,直接到池子中去获取一个可用的链接,使用完...原创 2019-05-20 14:04:22 · 111 阅读 · 0 评论 -
分布式系统:CAP 理论的前世今生
CAP 理论是分布式系统设计中的一个重要理论,虽然它为系统设计提供了非常有用的依据,但是也带来了很多误解。本文将从 CAP 诞生的背景说起,然后对理论进行解释,最后对 CAP 在当前背景下的一些新理解进行分析,澄清一些对 CAP 的误解。CAP 理论诞生的背景CAP 理论的是在“数据一致性 VS 可用性”的争论中产生。CAP 的作者 Brewer 在 90 年代的时候就开始研究基于集群的跨...转载 2019-05-20 14:05:44 · 159 阅读 · 0 评论 -
Netty 实战:如何编写一个麻小俱全的 web 框架
学习 Netty 也有一段时间了,为了更好的掌握 Netty,我手动造了个轮子,一个基于 Netty 的 web 框架:redant,中文叫红火蚁。创建这个项目的目的主要是学习使用 Netty,俗话说不要轻易的造轮子,但是通过造轮子我们可以学到很多优秀开源框架的设计思路,编写优美的代码,更好的提升自己。快速启动Redant 是一个基于 Netty 的 Web 容器,类似 Tomcat 和 ...原创 2019-05-20 14:07:34 · 114 阅读 · 0 评论 -
Learun这类的软件框架,相较于其他类型的优势?
我们先来了解一下什么是框架在软件工程中,框架被定义为整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。框架的主要作用是规定应用的体系结构,阐明整个设计、协作构件之间的依赖关系、责任分配和控制流程,为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文关系。为什么要用框架软件系统发展到今天已经很复杂了...原创 2019-05-24 17:54:53 · 586 阅读 · 1 评论 -
使用ASP.NET MVC的力软快速开发平台有什么优势
ASP.NET的优势ASP.NET背后有一个完整的.NET Framework支撑什么是ASP.NET?ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。与以前的Web开发模型相比,ASP.NET提供了数个重要的优点:增强的性能。ASP.NET是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET可利用...原创 2019-05-21 17:08:37 · 665 阅读 · 0 评论 -
【AI实战】手把手教你深度学习文字识别(文字检测篇:基于MSER, CTPN, SegLink, EAST等方法)
文字检测是文字识别过程中的一个非常重要的环节,文字检测的主要目标是将图片中的文字区域位置检测出来,以便于进行后面的文字识别,只有找到了文本所在区域,才能对其内容进行识别。文字检测的场景主要分为两种,一种是简单场景,另一种是复杂场景。其中,简单场景的文字检测较为简单,例如像书本扫描、屏幕截图、或者清晰度高、规整的照片等;而复杂场景,主要是指自然场景,情况比较复杂,例如像街边的广告牌、产品包装...原创 2019-05-27 11:01:43 · 1339 阅读 · 0 评论 -
真实项目案例实战——【状态设计模式】使用场景
什么是状态模式状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式应用场景1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。2.操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。这个状态通常用一个或多个枚举常量表示。通常,有多个操作包含这一相同的条件结构。State模式将每一个条件分支放...转载 2019-05-27 11:05:13 · 459 阅读 · 0 评论 -
Redis从入门到放弃系列(四) Set
Redis从入门到放弃系列(四) Set本文例子基于:5.0.4 Set是Redis中一种比较常见的数据结构,当存储的member为十进制64位有符号整数范围内的整数的字符串的时候其实现为intset,其他为hashtableRedis从入门到放弃系列(三) List首先让我们来看一下该如何在redis里面使用Set类型//设置key的集合中的值为membersadd ke...原创 2019-05-27 11:08:53 · 200 阅读 · 1 评论 -
Redis从入门到放弃系列(三) List
Redis从入门到放弃系列(三) List本文例子基于:5.0.4 List是Redis中一种比较常见的数据结构,其实现为quicklist,quicklist是一个ziplist的双向链表Redis从入门到放弃系列(一) StringRedis从入门到放弃系列(二) Hash首先让我们来看一下该如何在redis里面使用List类型//设置key的列表为valuelpu...原创 2019-05-27 11:09:43 · 170 阅读 · 0 评论 -
Redis从入门到放弃系列(二) Hash
Redis从入门到放弃系列(二) Hash本文例子基于:5.0.4 Hash是Redis中一种比较常见的数据结构,其实现为hashtable/ziplist,默认创建时为ziplist,当到达一定量级时,redis会将ziplist转化为hashtableRedis从入门到放弃系列(一) String首先让我们来看一下该如何在redis里面使用Hash类型//将hash表中k...原创 2019-05-27 11:10:37 · 144 阅读 · 0 评论