使用 JavaScript 编写更好的条件语句

在任何编程语言中,代码需要根据不同的条件在给定的输入中做不同的决定和执行相应的动作。

例如,在一个游戏中,如果玩家生命点为0,游戏结束。在天气应用中,如果在早上被查看,显示一个日出图片,如果是晚上,则显示星星和月亮。在这篇文章中,我们将探索JavaScript中所谓的条件语句如何工作。

26次阅读  |  7天以前  |  阅读全文 »

极客算法训练笔记(三),链表详细图解,别再逃避了朋友

上一篇说的是数组,然后现在来说说链表。链表有个经典应用,就是实现LRU缓存淘汰算法,缓存的作用大家肯定都知道,常见的Redis缓存,CPU缓存,数据库缓存,浏览器缓存,预热缓存等等缓存技术。缓存大小有限,当缓存满了,需要淘汰策略来决定哪些数据出局,常见缓存算法有三种,这里以缓存中数据命中率来评判缓存算法的优劣来看三种淘汰算法:

26次阅读  |  7天以前  |  阅读全文 »

收藏一波!canvas/数据可视化工具库汇总

每天上班必须做的一件事情,就是打开我们全球最大的程序员交友社区GitHub,因为这上面有太多开源的宝贝了,每天都乐此不疲,深耕于此,当然也收获了很多有用的东西,写出来分享一下。

34次阅读  |  7天以前  |  阅读全文 »
25次阅读  |  7天以前  |  阅读全文 »
29次阅读  |  7天以前  |  阅读全文 »

响应式布局新方案

本文中我们可以尝试得出一种新的解决方案,那就是利用 JavaScript 和 CSS 来进行媒体查询,是响应式设计与自适应设计结合的方案,我这里给起一个好记的名字叫做融合响应式设计( Fusion Web Design,简称 FWD )。

29次阅读  |  7天以前  |  阅读全文 »
27次阅读  |  7天以前  |  阅读全文 »

一文读懂 Web 安全(面试必备)

Web 安全是互联网中不可或缺的一个领域,这个领域中诞生了大量的黑帽子与白帽子,他们都是安全领域的王者,在平时里,他们利用各种巧妙的技术互相博弈,时不时就会掀起一场 Web 安全浪潮,真可谓神仙打架,各显神通。

31次阅读  |  7天以前  |  阅读全文 »

Chrome DevTools 全攻略!助力高效开发

此章节请打开 justwe7.github.io/devtools/console/console.html 一起食用

一方面用来记录页面在执行过程中的信息(一般通过各种 console 语句来实现),另一方面用来当做 shell 窗口来执行脚本以及与页面文档、DevTools 等进行交互

32次阅读  |  7天以前  |  阅读全文 »

iOS开发体验优化方案

随着Flutter等跨端框架的出现,业务开发同学经常需要在Android/iOS上跨端进行业务开发,问题定位等。新的不熟悉的环境的搭建总会遇到各种各样的问题,导致搭建失败,特别是iOS开发环境,是最复杂的,不仅环境搭建繁琐,而且切分支后的打包速度很慢,所以我们设计实现了两个工具,用于优化闲鱼iOS开发体验。

42次阅读  |  7天以前  |  阅读全文 »

Android 记一次解决问题的过程

之前我写过一篇文章,介绍我在GitHub开源的滑动控件 ConsecutiveScroller 是如何实现布局吸顶功能的。有兴趣的朋友可以去看一下:Android滑动布局ConsecutiveScrollerLayout实现布局吸顶功能。

76次阅读  |  7天以前  |  阅读全文 »
31次阅读  |  7天以前  |  阅读全文 »

详解Java内存溢出的几种情况

JVM(Java虚拟机)是一个抽象的计算模型。就如同一台真实的机器,它有自己的指令集和执行引擎,可以在运行时操控内存区域。目的是为构建在其上运行的应用程序提供一个运行环境。JVM可以解读指令代码并与底层进行交互:包括操作系统平台和执行指令并管理资源的硬件体系结构。

26次阅读  |  7天以前  |  阅读全文 »

一文彻底拿下HTTP/HTTPS协议

本文将从以下几个方面进行分享。其中包括HTTP发展史,HTTP缓存代理机制,常用的web攻击,HTTP和HTTPS的流量识别,网络协议学习的工具推荐以及高频HTTP与HTTPS的高频面试题题解等,开工。

28次阅读  |  7天以前  |  阅读全文 »

大规格文件的上传优化

在开发过程中,收到这样一个问题反馈,在网站上传 100 MB 以上的文件经常失败,重试也要等老半天,这就难为需要上传大规格文件的用户了。那么应该怎么做才能快速上传,就算失败了再次发送也能从上次中断的地方继续上传呢?下文为你揭晓答案~

29次阅读  |  8天以前  |  阅读全文 »
25次阅读  |  8天以前  |  阅读全文 »

H5 秒开方案大全

老板说 , 页面打开速度过慢? 页面加载性能不达标? 下面我们来看下各个大厂和团队的秒开经典方案,有没有一款适合你去探索?

本页面会列举和总结偏向与客户端结合的hybrid秒开方案,纯前端方案也会部分提及。

33次阅读  |  8天以前  |  阅读全文 »

面试官问 : Java 线上问题排查思路、常用工具

本文总结了一些常见的线上应急现象和对应排查步骤和工具。分享的主要目的是想让对线上问题接触少的同学有个预先认知,免得在遇到实际问题时手忙脚乱。
只不过这里先提示一下。在线上应急过程中要记住,只有一个总体目标:尽快恢复服务,消除影响。不管处于应急的哪个阶段,我们首先必须想到的是恢复问题,恢复问题不一定能够定位问题,也不一定有完美的解决方案,也许是通过经验判断,也许是预设开关等,但都可能让我们达到快速恢复的目的,然后保留部分现场,再去定位问题、解决问题和复盘。

26次阅读  |  8天以前  |  阅读全文 »

同事用void把我给秀翻了!

今天跟大家介绍的知识是C语言中的void关键字的用法,void在大部分小伙伴的程序中都只是用于函数无参数传入,或者无类型返回。
然而我们平时所定义的变量都会有具体的类型,int,float,char等等,那是否有void类型的变量呢?大家可以动手实验一下,答案是:不行,编译会出错。

31次阅读  |  8天以前  |  阅读全文 »
29次阅读  |  8天以前  |  阅读全文 »
44次阅读  |  9天以前  |  阅读全文 »

2020年,该如何选择小程序框架

微信小程序横空出世,到现在已经有 4 年时间。从一开始只能选择原生语法,到如今小程序框架 Rax/Taro/uni-app 百花齐放。这背后是小程序原生语法造成的生态割裂,也是业务对「一码多端」的强烈诉求,更是前端现在繁荣的生态体系。

58次阅读  |  9天以前  |  阅读全文 »

如何实现一个下载进度条/播放进度条

技术上没太大难度,有难度的地方是怎么让整个动画比较流畅。一个主要问题是动画的滞后性:当下载进度到某个点的时候,你再用250ms的动画过渡过去,这个时候已经慢了,所以很多人可能因为这个原因或者嫌麻烦,直接就不做动画了,在进度事件触发的时候直接更新进度条相应的位置,不过我们可以尝试实现一下。

55次阅读  |  9天以前  |  阅读全文 »
60次阅读  |  9天以前  |  阅读全文 »

MessageMock : 优雅的模拟 Objective-C 方法

我们在调试代码或编写单元测试时,为了触发特定场景,往往需要通过一系列前置操作,或者直接修改源代码数据。实际上更期望有一种不需侵入源码且更快捷的方式,知名的 OCMock 正是为了解决这些问题,不过它有不支持多线程、接口怪异、重复调用、类型处理复杂等问题,笔者看了源码过后决定换一种思路,基于objc_msgSend来进行方法的“模拟”和“校验”。

48次阅读  |  9天以前  |  阅读全文 »
52次阅读  |  9天以前  |  阅读全文 »

2020年,9个前端的顶级 VS Code 扩展插件

VS Code 的插件甚至是主题都数不胜数,开发者根据自己的需求可以自由选择。一个配置合适的 VSC 可以提高开发效率,有的则能够帮助开发者写出更简洁美观的代码。在大量的插件中,为了避免大家挑花眼,我在这里和大家分享12个我个人认为对前端开发最有利的扩展。

64次阅读  |  9天以前  |  阅读全文 »

【万字长文】史上最强vue总结,更新版

轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十kb;

简单易学:国人开发,中文文档,不存在语言障碍 ,易于理解和学习;

双向数据绑定:保留了angular的特点,在数据操作方面更为简单;

组件化:保留了react的优点,实现了html的封装和重用,在构建单页面应用方面有着独特的优势;

67次阅读  |  9天以前  |  阅读全文 »

应该在JavaScript中使用Class吗?

OOP 即 面向对象编程 (Object Oriented Programming)毫无疑问是软件设计和发展中的一大进步。事实上,一些编程语言如 Java 、C++ 就是基于 OOP 的核心概念 class 开发出来。

45次阅读  |  9天以前  |  阅读全文 »

iOS14:再见了,“流氓”APP!

最近和苹果有关的重大消息可能就是从8月1日开始,AppStore中国区火速下架未获版号的游戏APP,数量超过30000款,之前小智就和大家说过,这未必不是一件好事,众多低质和“流氓”APP将被最大限度隔绝在iOS系统之外。

75次阅读  |  9天以前  |  阅读全文 »
48次阅读  |  9天以前  |  阅读全文 »
53次阅读  |  9天以前  |  阅读全文 »

SwiftUI 编程指南

时光荏苒,SwiftUI 技术已经推出一年,从 WWDC 2020 来看,SwiftUI 团队付出了空前的努力,使得 SwiftUI 无论是在开发体验,还是性能上都得到了很大的提升。如果说 SwiftUI 是去年苹果在开发技术转型上的小试牛刀,那么今年的 SwiftUI 基本已经成为了未来 5-10 年苹果生态开发技术的主流方式。

50次阅读  |  9天以前  |  阅读全文 »

实战 | 如何结合 Golang,提高 Python 的计算性能(上)

Hello 各位小伙伴你们好,我们都知道 Python 是一个生产力很高的语言,本人也非常喜欢 Python,经常使用 Python 以最高的效率完成最多的事,但是 Python 的性能,是我们一直诟病的一个问题,尤其是一个大锁 GIL,有时候想想简直像吃了苍蝇一样有点难受。

49次阅读  |  9天以前  |  阅读全文 »
49次阅读  |  9天以前  |  阅读全文 »
41次阅读  |  16天以前  |  阅读全文 »
55次阅读  |  16天以前  |  阅读全文 »

8个问题带你进阶 React

本篇文章会列举 react 的所有常见面试问题. 并附上详细解答.如果你想更深入的了解底层原理, 可到文末的建议阅读中查找.

40次阅读  |  16天以前  |  阅读全文 »

基于.NetCore3.1系列 —— 日志记录之日志配置揭秘

在项目的开发维护阶段,有时候我们关注的问题不仅仅在于功能的实现,甚至需要关注系统发布上线后遇到的问题能否及时的查找并解决。所以我们需要有一个好的解决方案来及时的定位错误的根源并做出正确及时的修复,这样才能不影响系统正常的运行状态。

49次阅读  |  16天以前  |  阅读全文 »
46次阅读  |  16天以前  |  阅读全文 »
85次阅读  |  20天以前  |  阅读全文 »

IP 基础知识“全家桶”,45 张图一套带走

前段时间,有读者希望我写一篇关于 IP 分类地址、子网划分等的文章,他反馈常常混淆,摸不着头脑。

那么,说来就来!而且要盘就盘全一点,顺便挑战下小林的图解功力,所以就来个 IP 基础知识全家桶。

吃完这个 IP 基础知识全家桶全家桶,包你撑着肚子喊出:“真香!”

86次阅读  |  20天以前  |  阅读全文 »

选型必看:RabbitMQ 七战 Kafka,差异立现

作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”。基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差异的。

83次阅读  |  20天以前  |  阅读全文 »
76次阅读  |  20天以前  |  阅读全文 »

CString 类的线程不安全问题

CString 类线程不安全问题和解决过程,测试运行一段时间后,后台软件崩了,软件重启后,恢复正常,隔三四小时又出现异常,Debug模式下调用堆栈,发现问题出现在strname = pSystemInfo-> szName 这一行。

66次阅读  |  20天以前  |  阅读全文 »
79次阅读  |  20天以前  |  阅读全文 »
83次阅读  |  20天以前  |  阅读全文 »
87次阅读  |  20天以前  |  阅读全文 »

图解:什么是 B+树?(汇总篇)

为了实现动态多层索引,通常采用 B-树 和 B+树。但是,用于索引的 B-树 存在缺陷,它的所有中间结点均存储的是数据指针(指向包含键值的磁盘文件块的指针),与该键值一起存储在B-树的结点中。这就会导致可以存储在 B-树中的结点树目极大地减少了,从而增加 B-树的层数,进而增加了记录的搜索时间。

81次阅读  |  20天以前  |  阅读全文 »
86次阅读  |  20天以前  |  阅读全文 »

最多阅读