暂无个人介绍
程序员这个职业压力大,节奏快,任务繁重,所以很容易令人感觉倦怠,令人感觉烦躁,郁闷,疲惫不堪。程序员如何克服可怕的“职业倦怠”,方法如下: 丰盛的早餐——身处高科技产业漩涡的我们常常会熬夜到凌晨两三点,然后又因为起得晚急匆匆赶去上班,因而没时间吃任何早餐。又或者,可能你只能在路上一些脏兮兮的早餐店中买点小得可怜的熏肉三明治。我们都知道早餐是一天中最重要的一餐。而且不仅仅是要吃早饭,吃什么也很重要。要吃一些富含蛋白质的健康食品,如豆类,鳄梨和全麦面包。不要吃白面包和早餐麦片,糖分太多,会让人血糖升高而瞌睡。 准时上床睡觉——预备9个小时的睡眠时间,保证能睡到7或8个小时。有的人
主题: 1. 为什么要学数据结构 2. 数据结构学习秘籍 3. 算法为什么那么难 4. 算法学习秘籍 5. 如何打开数据结构与算法这两扇门 随着科学技术的发展,人工智能已渗透到各个行业,算法工程师非常火 爆,急缺大量人才,年薪也越来越高。刚毕业30-40万很常见。很多人想入手 学习算法,那么多算法,究竟该如何下手呢? 很多人看到招聘要求,算法工程师有很多具体分支:
外包是把不具有核心竞争力的业务转移出去,而通过众包则可以加强企业的核心竞争力。 在刚过去的一月份,我们结束了平台上一个三十万的教育类的手机与pc端的开发的项目:新学习(大家可以下载app体验)。项目从8月底开发,到12月底开发完成,历经4个月的时间,在2021年一月初,提交客户验收与测试,目前已经上架正式运行。 众包有很大的区别是大家是在线上,来自天南地北。这相比于传统外包有相当大的难度,例如团队协作、项目管理、需求梳理等等。 在项目费用偏高、并且整个开发过程很顺利的情况下,翠花就对带领线上团队的项目经理产生了一肚子的疑问?是他运气好碰到了好的客户?还是他遇到了技术贼好的开发
人在职场江湖飘,哪能不挨刀。大众创业的时代,各种公司如雨后春笋般涌现,对于很多职场人都会碰到不靠谱的公司。那如何在面试环节就甄别出来这些公司呢?今天我们就来汇总一下,如果不够完整,欢迎在留言区吐槽,以免大家“上当受骗”,尤其是程序员。 1、储备干部。 干部确实很多时候是储备培养出来的,但是“储备干部”就不好说了。尤其是中小型营销公司,一般暗示职能支持岗你能力还欠缺一点,忽悠先从“储备干部”做起的时候,其本质意思就是你从电话销售、推销员做起了,他们其实就是招业务员。
程序员胳膊疼 程序员因为要输入代码,快速操作鼠标和键盘,操作久了,累了,就胳膊疼。 程序员胳膊疼原因 操作键盘和鼠标会使用胳膊,肩、肘、掌和手指都会用到,这几个部位用法不当不自然就会导致胳膊疼,错误的用法有:肩架、肘拐、掌久放和指集中用。 肩架是指在精神集中紧张状态时,肩外侧向上顶,这种状态就容易疼,要自然放下,两侧放平。
Pyhton可以用来做金融量化投资分析。 探讨问题与分析思路 本文以Python为量化工具,主要探讨以下三个问题: (1)指数定投的优势与劣势在哪? (2)指数定投受哪些因素影响,是不是时间越长越好? (3)指数定投策略如何优化? 编程软件:基于Python3.7的Jupyter Notebook,使用到的库包括numpy、pandas、matplotlib、pyecharts和tushare等。
01、大学 回想十年前,我还是一名大学生,傻乎乎的对未来没有任何的规划。每天就知道混日子,打打游戏、谈谈恋爱。至于毕业后能不能找到一份工作,心里完全没个底。 有时间的时候读读《代码大全》、《人月神话》、《人件》、《代码的整洁之道》等等经典名著,这将对你的未来大有裨益。如果文笔还不错的话,还可以在各大论坛上写写博客,把读书的心得分享出来,记录自己的同时分享给更多的人。 如果时间还有一点剩余的话,在 GitHub 上开源一些项目吧!比如说,搞个抢票的软件、微信读书组队的小程序。假如这些项目星标超过 5K,那么找工作的时候不能说轻而易举吧,至少能亮瞎面试官的双眼。 坚持
你有没有遇到过那个经典的面试问题,“你预见过自己5年后的职位吗?”。每当有人这样问时,我就会想到Twisted Sister乐队从1984年开始发行的某张专辑。当然是玩摇滚,至不济也得是个摇滚明星级别的程序员吧。这种问题通常得不到正面回答——就像那种在面试中无病呻吟式的陈词滥调,”你最大的缺点是什么?”。有的时候是不是太大起大落?以至于那些无辜的旁观者会受到伤害。 但是,我认为这是一种不一样并更严肃的话题,它应该引起足够的重视。而这并不是为了面试官好,而是为你好。文章开始的那个问题听起来有点老生常谈,而 且大部分人都是有备而来。但是这个问题却会引起更深层的思考:一名软件开发人员的职
作为程序开发人员我经常收到全国各地地区程序员的咨询,他们会问我怎么提升自己? 过去我分享过我的成为一个优秀程序员的10条建议,这篇文章中的每一个技巧都是亲身体验的,2021年过了一半,我决定为Java程序员制定新的解决方案以改进自己,提高他们对Java编程的知识,并提高他们对未来职业发展的价值。 下面是我对Java程序员在2021年的4个想法,你可以从这些想法中获得灵感,并自己去实践。 学习Java性能调优 在过去的几年里,我花了更多的时间为高级Java开发人员进行50次交谈,而我明显缺乏的一项技能是有关JVM内部、GC行为和Java性能调优的知识和理解。
业界有着这样一个普遍的误解:要成为一名优秀的程序员,就必须掌握许多种编程语言和工具。实际情况是这样吗?也许下面给出的十二条建议会让您或多或少地改变对此的认同感。 1.研究数据结构 计算机科学家Niklaus Wirth曾经有过一个著名论断: “数据结构+算法=程序”。 可见,数据结构是计算机程序的基础,它们就像构造房屋的砖头一样。实际上,数据结构决定了程序将如何快速有效地解决问题。一旦使用了正确的数据结构,您的程序方案会变得既简单,又省时。
最近项目需要把附件部署到阿里云oss,集成过程中发现上传的图片不能直接打开预览,只能下载到本地保存。 解决办法:设置ContentType var endpoint="阿里云OSS EndPoint"; // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
这一阵看到一直有人在提爬虫违法的事情,先把一些似是而非/模棱两可的新闻和真假不明的对话一一列举,后把违法事情描述成是因为写了爬虫导致的,然后把锅甩给爬虫,这是严重误导人啊。 文章中所举新闻是某简历大数据公司非法获取/售卖个人简历的事情。这个违法事情跟是不是用爬虫抓的简历没有因果关系。你找几个人每天靠人肉去网上收集个人信息,售卖这些信息也是犯法;你就算是在垃圾堆里翻到一堆人员信息拿去卖也是犯法的。
这里我们接着聊一聊有关.NET面试问题,本章我们将讨论有关.NET类型的问题,并以一种简单的方式给出答案。 问题1:值和引用类型是什么?另外,用实例解释一下装箱和拆箱? 答: 值类型是直接存储数据的类型,值类型存储在堆栈中。大多数基本类型,如int、float和char都是值类型的例子。另一方面,引用类型将引用或内存地址存储在其中,并将相应的数据存储在堆中,引用类型的例子包括类、字符串、数组和对象。装箱是将值类型转换为对象类型时相关的术语,而拆箱只是将对象类型转换为值类型。装箱在托管堆内存中创建一个新对象并复制数据,而拆箱则相反。装箱是隐式的,而拆箱是显式的。如下所示,
工作很多年后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道。而这些类库早就成为了业界标准类库,大公司的内部也都在使用,如果刚工作的时候就有人告诉我使用这些工具类库,该多好! 一块看一下有哪些工具类库你也用过。 1. Java自带工具方法1.1 List集合拼接成以逗号分隔的字符串 // 如何把list集合拼接成以逗号分隔的字符串 a,b,c List list=Arrays.asList("a", "b", "c"); // 第一种方法,可以用stream流 String join=list.stream.collect(C
音频 Airtime- Airtime 是一款用于调度和远程站点管理的开放广播软件 Ardour- 在 Linux 上录音,编辑,和混音 Audacious- 开源音频播放器,按你想要的方式播放你的音乐,不占用你其它任务的电脑资源。 Audacity- 免费,开源,跨平台的声音录制、编辑软件。 Audio Recorder- 简单的声音录制软件,就在 ubuntu ppa。 Clementine- 播放无数的有损和无损音频格式。
前言 下面是工作中我们常用的15个HTTP状态码,必须牢记哦 如果你想深入了解具体的HTTP状态码,请参考:HTTP状态码超详细说明 100 继续发送请求 这个状态码是告诉客户端应该继续发送请求,这个临时响应是用来通知客户端的,部分的请求服务器已经接受,但是客户端应继续发送求请求的剩余部分,如果请求已经完成,就忽略这个响应,而且服务器会在请求完成后向客户发送一个最终的结果 200 请求成功 这个是最常见的http状态码,表示服务器已经成功接受请求,并将返回客户端所请求的最终结果。
经过漫长的测试,即将整体迁移至Mysql8.0; Mysql8.0 对于Json操作新增/优化了很多相关Json的API操作; 阅读了一下官方文档,虽然绝大多数的JSON操作都是应用层完成,但是会一些Mysql的JSON语法,方便进行debug;选出基础的, 有价值的部分,供未来参考。 # 简单概述 不允许为null; Json格式定义与LONGBLOB or LONGTEXT类似;它的最大长度是受到max_allowed_packet所控制的;查看JSON字段所占用空间大小的函数时JSON_STORAGE_SIZE(xxx);除普通的Json操作,额外支持GeoJSON (
假设有这么一个需求,要求在项目启动过程中,完成线程池的初始化,加密证书加载等功能,你会怎么做?如果没想好答案,请接着往下看。今天介绍几种在Spring Boot中进行资源初始化的方式,帮助大家解决和回答这个问题。 CommandLineRunner 定义初始化类 MyCommandLineRunner实现 CommandLineRunner 接口,并实现它的 run() 方法,在该方法中编写初始化逻辑注册成Bean,添加 @Component注解即可示例代码如下:
#读取文本文档,生成数组,将数组元素逐一传给获取数据的函数,然后写入CSV文件。可以先运行win(),再运行mian() import requests from lxml import etree from selenium import webdriver from selenium.webdriver.common.by import By import time
既然来了,何不认真读完此文呢?每天多花20分钟,做一些别人不愿做的事,坚持下去,会有一个结果的。废话不多说,抓紧看文章,本文共包括如下知识: 学会列表和排序很难求解的场景学会使用堆的场景学会一个使用堆的案例进一步提高对内置模块heapq的使用能力1 超级抽数 阿里面试曾考过此题,大家务必重视此题。 首先要理解题目,我做此题时,读题好几遍,才完全明白超级丑数的定义。 给定一个质数列表primes,如果一个数的所有质数构成的列表是primes的子集,则此数为超级丑数。 因此,超级抽数依赖于给定的primes,要求求出第n个丑数。 示例
测试工程师不只是负责发现问题,除了发现问题这种基本功外,定位问题,提出解决方案,提出预防方案也是要掌握的技能。这里先说定位问题的要求,定位问题要向深入,前提当然是对功能、产品的流程、开发方案、开发人员非常熟悉了,以我们部门为例,定位bug至少要到下面这种程度。 首先确定是界面显示问题还是功能问题 如果是界面问题,如贴图错误,文字错误,样式错误,则需要截图。 如果是功能问题,控制台的问题至少定位到:www的问题还是数据库问题,如果是www问题至少要定位到是前端还是后端问题;如果是数据库问题至少要定位到是服务端接口问题还是中间件问题。
花下猫语:在准备“Python为什么”系列的下一个话题的时候,我偶然查到这篇文章,介绍了分号“;”在编程语言中的历史。分号在 Python 中也有使用,但很少见,是为什么呢?下一篇原创文章将会回答这个问题,而今天的分享,是一个知识铺垫。Enjoy! 在本文中,我将简要介绍在计算机编程语言中使用分号(许多计算机科学入门学生的祸根)的历史。我们将看到分号有两种用途:作为语句分隔符和作为语句终止符,并且我们将了解在过去60多年的编程语言历史中分号的使用发生了怎样的变化。
学好编程从基础开始,下面是总结的关于编程的一些小知识,如果你也喜欢编程,那就加入我们吧,持续分享c语言,java,php,html等编程的小知识,欢迎关注趣IT科技。 数组: 存放的类型是一致的。多个数组元素的地址是连续的。 一维数组的初始化: int a[5]={1,2,3,4,5}; 合法 int a[5]={1,2,3, }; 合法 int a[]={1,2,3,4,5}; 合法,常考,后面决定前面的大小! int a[5]={1,2,3,4,5,6}; 不合法,赋值的个数多余数组的个数了
儿童编程则是一门有趣的课程 ,与成人编程相比学习编程有着明确的目的,或者是为了加薪、跳槽。接下来给大家讲讲家长要了解的编程问题,希望对你们有帮助。许多重视教育的家长都意识到,让孩子从小就开始编程,培养编程思维是一种顺应时代的选择。当孩子在学习编程时,作为父母,有五个方面必须明确。1.什么是steam教育儿童编程,从简单的角度来说就是教儿童学习编程。有些家长不明白,编程这种大学计算机专业才会涉及的专业知识,为什么孩子也要学呢?情况就是这样的,随着人工智能的发展,我们孩子未来生活的世界将是一个用代码编写的高科技智能世界。想象一下,如果孩子那时候还没有编程思维,那么就很难融入那样一个社会。儿童编
2.2.1、while语句 和 if 语句一样,可以在 while 循环中用花括号括起一个语句组,或者用替代语法: while (expr): statement … endwhile; while语句可以像if语句一样嵌套,但是建议不要超过三层
主要的编程范式有三种:命令式编程,声明式编程和函数式编程。命令式编程: 命令式编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。 比如:如果你想在一个数字集合 collection(变量名) 中筛选大于 5 的数字,你需要这样告诉计算机: 第一步,创建一个存储结果的集合变量 results; 第二步,遍历这个数字集合 collection; 第三步:一个一个地判断每个数字是不是大于 5,如果是就将这个数字添加到结果集合变量 results 中。
在网页制作中,有很多种水平、垂直居中方法,本文就归纳如下几种: 水平居中 1. 不建议用了。 2. text-align:center 在父容器里水平居中 inline 文字,或 inline 元素 3.margin:0 auto; 4.用 position 加 translate translate(-50%,-50%) 比较奇特,百分比计算不是以父元素为基准,而是以自己为基准。
必须掌握的前端开发基础知识,什么是字体图标? 显示隐藏元素 display显示隐藏 none 隐藏 block 显示 隐藏后不再占有原来的位置
介绍 Spring是Java语言开发的一站式Web框架。包括:SpringMVC,Spring,SpringSecurity,SpringAOP等子框架。Spring在数据库访问层可以整合Hibernate,iBatis等第三方框架。构成了一个完整的Web应用程序框架。 Spring大量使用了策略模式、模板方法模式,提供了钩子回调第三方的API,因而可以整合大量第三方框架。 Django是Python语言开发的一站式Web应用程序框架。其独立开发了从Web层到数据库访问层在内的所有框架。 Spring和Django在功
每天持续分享关于编程的小知识,欢迎关注转发收藏! 在 Android 中种对话框及各种通知效果的应用 常用对话框的使用,弹出式对话框、日期选择对话框、时间选择对话框、进度条对话框 通知(出现在通知列表)和提示性通知(Toast)的演示 1、常用对话框的演示 res/layout/main.xml 代码 android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> andr
本文档以实战的形式介绍 Docker 的安装过程,使用的系统是 CentOS7 1 安装 Docker 如果有的话,卸载旧的Docker,否则可能会不兼容 [root@Docker ]# yum remove -y docker docker-io docker-selinux python-docer-py 安装 Docker-CE社区版本 [root@Docker ]# yum -y install docker-ce 启动 Docker
<p> 前言:</p> <p> 文章内容主要介绍了华为2021秋招笔试题(小结),小编觉得挺不错的,现在特意在此分享给大家,也给大家做个参考。(部分代码,用图片的方式呈现出来,方便各位收藏与很好的观看)</p> <p> 内容如下:</p> <p> 一、全量字符集与已占用字符集</p> <p> 输入描述:</p>
在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题。比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研究一下。 另外,我想要告诉大家的是,作为程序员,我们千万不要轻视这些基础的知识点。因为基础的知识点是各种上层技术共同的基础,只有彻底地掌握了这些基础知识点,才能更好地理解程序的运行原理,做出更优化的产品。 我曾在某个技术论坛上分享过一篇非常基础的文章,结果遭到了无数的嘲讽:“这么水的文章不值得分享。”我点开他的头像进入他的主页,发现他从来没有分享过一篇文章,不过倒是在别人的博客下面留下过不少的足迹,大多数都是冷嘲热讽。我就纳闷了
什么是服务器并发处理能力? 一台服务器在单位时间里能处理的请求越多,服务器的能力越高,也就是服务器并发处理能力越强。 服务器的本质工作就是,争取以最快的速度将内核缓冲区中的用户请求数据一个不剩地都拿出来,然后尽快处理,再将响应数据放到一块又能够与发送数据的缓冲区中,接着处理下一拨请求。 有什么方法衡量服务器并发处理能力? 一,吞吐率 量化指标:吞吐率,单位时间里服务器处理的最大请求数,单位req/s。 再深入一些,HTTP请求通常是对不同资源的请求,也就是请求不同的URL,有的是请求图片,有的是获取动态内容,有的是静态页面,显然这些请求所花费的时间各不相同,而这些请求再不同时间
一、引言 曾经在运维hadoop集群的时候,出过这么一回事:当时集群因为需要维修机器所以进行停机维护,但是当启动集群的时候发现集群怎么也起不了,在没有问别的同事的情况下,自己百度了一下问题,发现format操作能解决问题,当时的我对于format是一知半解,后来执行format以后集群是起来了,但是数据没有了。追悔莫及已经没有用了,只能对自己说吃一见长一智;这明显就是误操作导致数据被删。今天就来聊一下怎么能防止误删文件! 二、防止误删数据技巧: 1、修改或删除数据前请务必备份,最好有异机备份,修改配置等先提交版本管理系统在发布到线上环境。 2、可以使用mv命令替代rm命令,
一、Hive简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 Hvie是建立在Hadoop上的数据仓库基础架构。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive定义了简单的类SQL查询语句,称为HQL,它允许熟悉SQL
2008年4月,李彦宏说,“五年后不再有互联网公司,因为所有公司都在用互联网”。这句话引起了很大轰动。我非常赞同他的观点。未来不再有所谓的互联网公司,我曾为这个问题在1999年就思考了半年时间,至于是不是五年时间,现在还不好说。 虽然我早在1993年就开始用互联网,1996年是发烧级的BBS站友,但关于互联网是什么这么简单的一个问题,我曾思考过两次很长时间,一次是1999年创办卓越网之前,一次是2004年出售卓越网之后,每次都长达半年时间。两次长考的结论也很简单: 1. 互联网首先是工具,未来不存在所谓的互联网公司。 2. 互联网是一次观念的革命,只有改变观念,才能跟上互联网时代。 一
虎嗅注:今天,雷军在他的公众号里发了一篇他20年前写的帖子,那个时候还是1996年,是通过电话线拨号连接到西点BBS上飙帖子玩的年代。那是一个互联网混沌初开的年代,那是一个BBS和Email几乎主宰了全部互联网的年代,那是一个青春的理想和热血沸腾的年代。我是一个程序员,一个软件工程师。到今天,我也依然是一个程序员,一个软件工程师。 雷军在文章中说,本文是20年前我对程序人生的一点看法。20年后的今天,重读之后,这依然是我对程序人生的态度。 文末还引用了吴奇隆的《祝你一路顺风》中的歌词那一天知道你要走,我们一句话都没有说。真是文艺青年啊。下面是雷军20年前写的文章,虎嗅未做删减。 程序人生
Java 线程面试问题 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面。用于直接面向市场交易的高容量和低延时的电子交易系统在本质上是并发的。下面这些是我在不同时间不同地点喜欢问的Java线程问题。我没有提供答案,但只要可能我会给你线索,有些时候这些线索足够回答问题。现在引用Java
Python 中有一些容易忽略的不可变类型 Str、Integer、None、Tuple # 错误演示 In [45]: def demo(lst = []): ....: lst.append("hello") ....: return lst ....: In [46]: demo() Out[46]: ['hello'] In [47]: demo() Out[47]: ['hello', 'hello'] 廖雪峰的 Python 教程有提到这一块,但并没有太细致。在这里,由于 lst 是一个可变参数,而 demo 在初始化时 lst 参数指向
迈出理解函数式编程思想的第一步是最重要的,同时也许是最难的。关于这一点,仁者见仁智者见智。 学车 当我们第一次碰车,我们痛苦并努力着,看起来很简单的操作自己上手的时候就变得比自己想象的难得多。尽管用父母的车经过多次练习,不把周围的路跑熟是不敢上高速路冒险的。但是经过不断练习和一些父母宁愿忘记的“心跳时刻”后,我们最终还是拿到了自己的驾照。 A Ascar 翻译于 01/13 15:12 顶 其它翻译版本 (1) 有了我们的驾照, 只要有可能, 我们就会把车开出来。每次旅行, 我们都变得越来越好, 信心也增强了。后来有一天, 我们不得不开别人的车, 否则我们的车终
前言 最近在看Mybatis的源码,刚好看到缓存这一块,Mybatis提供了一级缓存和二级缓存;一级缓存相对来说比较简单,功能比较齐全的是二级缓存,基本上满足了一个缓存该有的功能;当然如果拿来和专门的缓存框架如ehcache来对比可能稍有差距;本文我们将来整理一下实现一个本地缓存都应该需要考虑哪些东西。 考虑点 考虑点主要在数据用何种方式存储,能存储多少数据,多余的数据如何处理等几个点,下面我们来详细的介绍每个考虑点,以及该如何去实现; 1.数据结构 首要考虑的就是数据该如何存储,用什么数据结构存储,最简单的就直接用Map来存储数据;或者复杂的如redis一样提供了多种数据类型哈
首先,感受,和男程序员一个样……(真不是废话) BUG是修不完的,但是不能放过它,因为你的内心会遭受煎熬。。。。 直接进入体验,就不用重复的文字去啰嗦了,直接上图哈 以下的这几种情况,在我的生活中,是真的不断出现,连样式都没变过; first:修电脑AND重装系统,就在今天,历史总是不断的重复上演: 此人是我大学同学,都是学计算机专业的,为什么要这样对我? second:P图,这个是我一个算是闺蜜群吧,平时各种问题,接踵而至,我就这么值的相信吗? 我真的太难了…… third:电脑异常,以及office办公软件的使用,excel……身边这样的人太多了,已无力吐槽,因为已成日常
sql语句的执行顺序: FROM <left_table> ON <join_condition> <join_type> JOIN <right_table> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition> SELECT DISTINCT <select_list> ORDER BY <order_by_condition> LIMIT <limit_number> 1、LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语
在 通过 Django Pagination 实现简单分页 中,我们实现了一个简单的分页导航。但效果有点差强人意,我们只能点上一页和下一页的按钮进行翻页。比较完善的分页效果应该像下面这样,但想实现这样一种效果,Django Pagination 内置的 API 已无能为力。接下来我们将通过拓展 Django Pagination 来实现下图这样比较完善的分页效果。 分页效果概述 一个比较完善的分页效果应该具有以下特性,很多网站都采用了类似这种的分页导航方式。 始终显示第一页和最后一页。 当前页码高亮显示。 显示当前页码前后几个连续的页码。 如果两个页码号间还有其它页码,中间显示省略号以提
1、不管是做需求还是测试,都应该考虑整个链路,确保兼容性或者其他模块不受影响。比如内容创作改动,应该考虑到审核侧、内容分发侧是否正常。 2、需求一定要经过测试。不要站在自己的角度,以为测试人员无法测试某种场景。因为方法总比困难多,比如可以把链路当中修改的点单独拎出来进行对比测试。还要多提一点的是,尽量在代码修改处添加日记,确保测试能覆盖到。 3、输出日记时也要避免空指针异常。如果在业务逻辑中不会出现空指针异常,却在输出日记时抛异常,那真的是冤大头了。 4、批量回刷或者删数据有风险,特别是无法恢复的物理硬删除。所以此类场景应该由用户主动触发,而不是借助定时任务批量执行。 5、数据和操作行
老读者都知道的,我在三线小镇洛阳工作。公司很小,开发人员最多的时候也就十来个,最少的时候也就我一个光杆司令。由于掌握着公司所有的核心代码,所以我一直很嚣张。老板也拿我没办法,有时候为了追加一个功能,还得看我脸色。而我呢,经常甩给老板的一句话就是:“这个需求技术上无法实现。” 有时候,老板被我逼急了,就在办公室大发雷霆,但我仍然毫不示弱:“实现不了就是实现不了,你发脾气也没用。”老板的需求也没有太过分,无非就是让我追加一些类似“自动赚钱”的功能。哈哈哈,开个玩笑。 说句实在话,老板有些需求的确很难在技术上实现,但有些不是的。我抛出“技术上无法实现”这个说法无非是想堵住老板的嘴,因为需求是做不
自从Java发布以来,基本数据类型就是Java语言中重要的一部分,本文就来详细介绍下每种基本类型的具体使用方法和限制。 几年前,我开始编写了一系列有关Java入门的文章,我觉得有必要将其中一些非常细节的内容单独拿出来写成文章。这样,那些入门内容就更容易理解了。首先,我来介绍一下有关Java 8中的基本类型。 如题所述,Java语言本身有8种基本类型。在下面几节中,就让我们一起来看看这8种基本类型。我将针对每种基本类型,介绍具体的使用方法和限制。
McGovernTheory在StackOverflow提了这样一个问题:Java虚拟机最多支持多少个线程?跟虚拟机开发商有关么?跟操作系统呢?还有其他的因素吗?Eddie的回答:这取决于你使用的CPU,操作系统,其他进程正在做的事情,你使用的Java的版本,还有其他的因素。我曾经见过一台Windows服务器在宕机之前有超过6500个线程。当然,大多数线程什么事情也没有做。一旦一台机器上有差不多6500个线程(Java里面),机器就会开始出问题,并变得不稳定。以我的经验来看,JVM容纳的线程与计算机本身性能是正相关的。当然了,你要有足够的本机内存,并且给Java分配了足够的内存,让每个线程都可
我们经常看到“区块链是分布式系统”的说法,并推论出区块链先天具备分布式系统的优势,仿佛作为分布式系统,规模就该足够大,数据就该足够分散。 事实上,典型区块链有很多特征和常见的分布式系统不同,甚至是相悖的,为此,区块链曾被戏称为“最慢的分布式数据库”。 其实区块链之所以难以理解,其中一个原因是其设计哲学的“反常理、反直觉”。笔者本人曾多年在互联网海量服务领域里踩坑,然后转向区块链领域深入研究,也经历过一阵子的观念切换期。 本文不打算全面讲述分布式系统原理和历史,那能写几本书。这里打算从常见的、被人广泛认知的互联网分布式系统出发,聊聊“分布式系统”和区块链有什么异同,对技术和设计的要求有哪些