自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

转载 非科班毕业一年前端面试分享

金九银十:一年前端的面试分享(已拿360金融offer)背景2019 年,笔者毕业以后通过社招群面进入了一家深圳的教育公司,今年 7 月底的时候离职,满打满算刚好一年经验吧,最近刚好也拿到了不错的offer,群里的同学也叫我写写面经参考下,???? 那就总结下吧劣势与优势7 月底笔者很大胆的裸辞了,现在想想也是很后怕,因为仔细盘算下来,几乎都是劣势项,而且社招招人都是3年起步,最低也是2年,也不知道当时自己哪里来的勇气,很武断的裸辞了,所以离职原因可以总结为:脑子进水了劣势下面我来盘算

2020-09-23 10:34:58 1314 1

原创 Android Binder通信底层超详细讲解

前言复习、复习、复习你是否了解Binder机制?Binder这么好用,那为什么Zygote的IPC通信机制用Socket而不用Binder?为什么说Binder是安全的?Intent跨进程传大图为什么会崩溃?AIDL的oneWay和非oneway有什么区别?本文将针对以上问题进行原理分析目录一、IPC机制Inter-Process Communication 简称 IPC ,即为进程间通信。Android与Liunx都有自己的IPC机制。虽然说Android是继承自Linux的,但是I

2020-09-21 15:07:27 2037

原创 Vue3.0来袭,我们如何面对?

靓仔路过,不要错过想必 Vue3.0 发布这件事,大家都知道了。我也是从朋友圈的转发得知此事,博客平台、公众号、朋友圈基本都有这么一条新闻,可见 Vue3.0 的被期待程度,因为 React 16 发布的时候,我也没见大家这么追捧,让我有点震惊的是 Vue 有 130 万的使用者,这个体量真的是有点惊人。Vue 3.0 来了,我们该做些什么呢?学习,赶紧学习,学不动了也要学!装不知道,我是一只快乐的鸵鸟,我不知道 Vue 更新了,继续摸鱼爽歪歪。为了下半年的 KPI,冲冲冲!把手头的 V.

2020-09-21 10:06:17 376

原创 React Hooks实战_性能优化

最近在做react项目的迁移,从class组件写法迁移至function组件,不得不说hooks的特性对整个代码逻辑复用性的提高还是很不错的。但是新手在接触hooks的时候,如果不了解各个API的特性的话,同样也会埋下许多神坑,后期优化费时费力。要解决性能问题,关键在于对组件重复渲染的处理,魔鬼在细节,下面就来通过两个常见的案例来分析性能到底会毁在哪几个细节,并且渐进式地给出优化方案。组件状态管理混乱const ShowUp = () => { const [tabVisible, se

2020-09-18 09:54:32 2112

原创 利用Python实现HTTP断点下载功能

背景最近在家要下载一个比较大的镜像文件,因为网络太差,每次都是下载到中间就停了,文件就下载失败。我用的是 chrome 自带的下载功能,就这样重试了4-5 次,每次都以失败告终。可恨的是,有时候下载到 80% - 90%,失败了还要从头重来。后来我就想到 wget 命令行,上网搜了一下,发现 wget 是自带断点下载功能的。也就是说,如果中间连接断开,可以直接从已经下载好的地方继续开始。然后,直接使用 wget 搞定了任务。如果之前已经有了一个下载部分的文件,也可以使用 wget 的 -c 命令,来继

2020-09-16 19:12:04 827

原创 安卓轻量级线上APM监测

App性能如何量化如何衡量一个APP性能好坏?直观感受就是:启动快、流畅、不闪退、耗电少等感官指标,反应到技术层面包装下就是:FPS(帧率)、界面渲染速度、Crash率、网络、CPU使用率、电量损耗速度等,一般挑其中几个关键指标作为APP质量的标尺。目前也有多种开源APM监控方案,但大部分偏向离线检测,对于线上监测而言显得太重,可能会适得其反,方案简单对比如下:SDK现状与问题是否推荐直接线上使用腾讯matrix功能全,但是重,而且运行测试期间经常Crash否腾讯GT2

2020-09-15 11:25:00 1205

原创 国产鸿蒙2.0尝鲜试用

国产鸿蒙2.0预览分析鸿蒙开发者官网:developer.harmonyos.com/cn/home鸿蒙应用开发文档:developer.harmonyos.com/cn/docs/doc…鸿蒙API文档:developer.harmonyos.com/cn/docs/doc…真正的鸿蒙SDK API在 ohos.jar ,可以结合 鸿蒙API文档 查看。开发语言有 Java,C/C++ ,JS 分别面向不同的开发场景,Java的开发体验跟Android基本一致,Android开发者可以无缝切

2020-09-15 10:40:29 6008

原创 Kotlin1.4新特性

Kotlin 1.4 来了!全新语言特性和更多改进发布人:开发技术推广工程师 Wojtek Kaliciński来自开发者社区的热情与积极采用推动了 Kotlin 成为 Android 开发的 首选语言 (Kotlin-first)。随着 Kotlin 不断发展,JetBrains(Kotlin 的创建者)、开源社区以及 Google 团队也将持续投入更多的资源和精力。我们很高兴与大家分享 Kotlin 1.4 版本,这将是 Kotlin 发展的下一个里程碑,包含新的语言特性、改进的编译器和工具。以

2020-09-14 12:40:20 648

原创 Android初学者如何入门?

核心分析内容面向Android初、中级开发者,对于要学习的Android理论知识,我认为主要包括:Android基础 & 常用Android进阶与时俱进、热门技术编程语言计算机基础下面,我将对上面的理论知识逐一介绍。1. Android基础 & 常用针对Android基础&常用知识,我认为对于初级开发者来说,按照优先级最主要的知识点主要包括:四大组件、布局使用、多线程 & 动画;具体介绍如下:2. Android进阶针对Android进阶

2020-09-14 09:15:30 227

原创 React基础入门学习

React 基础教程与实战前言下面代码示例在实战项目里面都可以找到,配合项目食用效果更佳~环境搭建npm install -g create-react-app //安装工具create-react-app + 项目名称 //创建项目npm start //启动项目复制代码设计思想在React的官方博客中明确阐述了 React 不是一个 MVC 框架,而是一个用于构建组件化 UI 的库,是一个前端界面开发工具。所以顶多算是 MVC 中的 V(view)。React 并没有重复造轮子,而

2020-09-11 17:26:27 347

转载 2020前端面试真题,你能答对几道?

【2020面试真题】这15道面试真题,你能答出几道?事件起因含泪忠告:不要在周末没准备的情况下去luo面,不要去luo面,不要去luo面,不要去luo面。一旦被暴击,你的周末和自信心就彻底毁了。为啥我会这么说?到底咋回事呢?事情是这样的:这周双休,手机弹出某聘的消息,想着去看看目前前端的概况,就投了简历,然后就开始愉快的玩手机,没一会儿,电话直接来了,问现在方便吗,想简单聊聊,了解一下。我一想,简单聊聊?可以啊,反正才一面,简单聊聊嘛。我就回了个:可以的。没想到,就是这三个字,让我的周末如坐针毡,内

2020-09-11 17:24:48 322

原创 Android Studio调试小技巧

作为开发者,我们有时会被一些问题所困,导致在调试器中所花费的时间甚至超过了编写代码所用的时间。正因如此,最近我们找机会了解了 Android Studio 团队在提升调试速度方面使用的一些技巧。接下来,我们会为您一一呈现那些我们认为最好的、节省您时间的、且方便与您的调试流程整合的小技巧。虽然您的应用可能与本文假想中的示例应用大相径庭,但是本文所介绍的小窍门可以用在任何应用的开发上。Log 的过滤与折叠我们从经典调试法 —— printf 语句的一个小窍门说起。假设有一个游戏,它会在日志中打印它的帧数和

2020-09-10 13:53:03 631 1

原创 Android热修复技术选型参考

背景热修复就是通过下发补丁包,让已安装的客户端动态更新,用户不用重新安装APP,就能够修复软件缺陷。热修复技术对比1.公司角度大致可以分为阿里系和腾讯系和其他,如下:阿里系 Dexposed 开源,实时修复 AndFix 开源,实时生效 HotFix 阿里百川,未开源,免费、实时修复 Sophix 未开源,商业收费,实时生效/冷启动修复 HotFix是AndFix的优化版本,Sophix是HotFix的优化版本。目前阿里系主推是Sophix。腾讯系 Qzone 超级补丁 QQ

2020-09-10 13:50:13 811

原创 使用transition实现图片轮播效果

前言无缝轮播一直是面试的热门题目,而大部分答案都是复制第一张到最后。诚然,这种方法是非常标准,那么有没有另类一点的方法呢?第一种方法是需要把所有图片一张张摆好,然后慢慢移动的,但是我能不能直接不摆就硬移动呢?如果你使用过vue的transition,我们是可以通过给每一张图片来添加入场动画和离场动画来模拟这个移动进场动画就是从最右侧到屏幕中央出场动画是从屏幕中央到左侧移出这样看起来的效果就是图片从右边一直往左移动,但是这个不一样的地方是,我们每一个元素都有这个进场动画和离场动画,我们根本.

2020-09-10 08:53:11 1916

原创 JavaScript Promise 完整指南

这篇文章算是 JavaScript Promises 比较全面的教程,该文介绍了必要的方法,例如 then,catch和finally。 此外,还包括处理更复杂的情况,例如与Promise.all并行执行Promise,通过Promise.race 来处理请求超时的情况,Promise 链以及一些最佳实践和常见的陷阱。1.JavaScript PromisesPromise 是一个允许我们处理异步操作的对象,它是 es5 早期回调的替代方法。与回调相比,Promise 具有许多优点,例如:让异步代

2020-09-10 08:50:30 215

转载 PanDownload复活了!60MB/s

PanDownload是一款百度网盘高速下载工具。无需会员功能即可享受高速下载功能,并且提供很多实用小功能,完全可以替代百度客户端作为日常使用。自从PanDownload事件之后,一直也没有找到合适的替代工具。可是,最近,意外发现,PanDownload又复活了!而且,这次复活之后的速度更快了,60MB/s!这次复活的版本叫:卢本伟修改版,尼玛大神啊,太牛了。相关介绍地址:https://kurukurumi.tk/本次复活版本的特点如下:1.允许最高使用1024线程下载2.允许最高32

2020-09-09 14:28:59 31212 6

原创 ES模块知识详解

ES 模块是什么?ECMAScript模块(简称ES模块)是一种JavaScript代码重用的机制,于2015年推出,一经推出就受到前端开发者的喜爱。在2015之年,JavaScript 还没有一个代码重用的标准机制。多年来,人们对这方面的规范进行了很多尝试,导致现在有多种模块化的方式。你可能听说过AMD模块,UMD,或CommonJS,这些没有孰优孰劣。最后,在ECMAScript 2015中,ES 模块出现了。我们现在有了一个“正式的”模块系统。ES 模块无处不在?理论上,ES 模块应该在所有

2020-09-09 10:14:11 4787

原创 实现 Vuex 无限层级类型推断(TS 4.1 新特性)

前言前几天,TypeScript 发布了一项 4.1 版本的新特性,字符串模板类型,还没有了解过的小伙伴可以先去这篇看一下:TypeScript 4.1 新特性:字符串模板类型,Vuex 终于有救了?。本文就利用这个特性,简单实现下 Vuex 在 modules 嵌套情况下的 dispatch 字符串类型推断,先看下效果,我们有这样结构的 store:const store = Vuex({ mutations: { root() {}, }, modules: { car

2020-09-09 10:11:02 518 1

原创 从Https破解角度分析Https

这篇文章跟大家讨论一个比较有意思的问题:怎么破解https?大家都知道,现在几乎整个互联网都采用了https,不是https的网站某些浏览器还会给出警告。面试中也经常问到https,本文会深入https原理,一直讲到https破解思路。HTTPS要想破解https,必须先知道https原理,下面我们先来讲讲https原理。公私钥https的公私钥经常在面试中出现,各种面经也会给出答案:https有两个秘钥,公钥和私钥,网站自己持有私钥,用户持有公钥,网站用自己的私钥加密数据发给用户,用户用公钥解密数

2020-09-07 20:45:48 1032 1

原创 Java高并发面试之volatile与synchronized

在深入理解使用Volatile与Synchronized时,应该先理解明白Java内存模型 (Java Memory Model,JMM)Java内存模型(Java Memory Model,JMM)Java内存(JMM)模型是在硬件内存模型基础上更高层的抽象,它屏蔽了各种硬件和操作系统对内存访问的差异性,从而实现让Java程序在各种平台下都能达到一致的并发效果。JMM的内部工作机制主内存:存储共享的变量值(实例变量和类变量,不包含局部变量,因为局部变量是线程私有的,因此不存在竞争问题)工作

2020-09-07 10:40:05 116

原创 好用的Android Studio插件

Android Studio是JetBrains公司开发的一款功能强大的开发工具,它具有构建出色Android应用所需要的一切。借助基于IntelliJ IDEA的强大的功能,插件非常丰富。正确的使用插件可以帮助你提高工作效率,更智能,更快。但是,不断增长的插件列表可能也会让人不知所措。考虑到这一点,我在这里盘点了一个Android Studio 插件列表,以减轻选择的麻烦。对于使用其他IDE(例如WebStorm)的开发人员也同样适用。让我们开始吧!1. CodeGlance与Sublime或Xc

2020-09-03 15:39:37 817

原创 前端学习路线分享

交作业了这篇让小伙伴们久等了。本篇来梳理一下前端开发方向的学习路线和知识点,包括前端开发到底要学什么、有哪些重要知识、现在的主流的技术点有哪些,希望能给之前很多问过该类问题的小伙伴们一个交代。在正式开始之前,先聊两个常见的问题吧。前端和后端到底该怎么选?不得不说,前端开发现在确实很火,学的人也炒鸡多,如果仅从岗位需求、工资水平等市场就业这个角度来看,其实基本上已经与后端开发不分伯仲了,而且这几年前端技术的发展也非常繁荣。所以到底选哪个方向就看大家自己的兴趣和自身的境况了,谁也没有办法说哪个就一..

2020-09-03 15:34:06 176

原创 常用Javascrip代码片段

废话不多话,在本文中,列出了一些比较常用或者实用的的 JavaScript 代码片段,希望对你们有所帮助。1.三元运算符let someThingTrue = trueif(someThingTrue){ handleTrue()}else{ handleFalse()}****** 以下是简短版本 ******let someThingTrue = truesomeThingTrue ? handleTrue() : handleFalse()2.短路或运算co

2020-09-01 15:17:30 123

原创 文件下载解密

今天带来的主题是关于文件下载,在我之前曾经发过一篇文件上传的文章(一文了解文件上传全过程(1.8w字深度解析,进阶必备 200+点赞),反响还不错,时隔多日,由于最近有研究一些媒体相关的工作,因此打算对下载做一个整理,因此他的兄弟篇诞生了,带你领略文件下载的奥秘。本文会花费你较长的时间阅读,建议先收藏/点赞,然后查看你感兴趣的部分,平时也可以充当当做字典的效果来查询。不整不知道,一整,居然整出这么多情况,我只是想简单地做个页面仔。前言一图览全文,可以先看看大纲适不适合自己,如果你喜欢则继续往下阅读。

2020-09-01 11:48:38 1339

原创 面试iOS招聘题 机会在自己手中

前言面试是我们工作的敲门砖,正好现在也到了我们金九银十的招聘季,在这我汇出32个面试题希望能帮到正在面试的你。 加油(同样有不足的地方还望指出我们一起商讨,有兴趣的可以加我的iOS交流群:642363427,因为我自始至终相信没有解决不了的问题只有逃避困难的软弱)1. 简单介绍下NSURLConnection类及+ sendSynchronousRequest:returningResponse:error:与– initWithRequest:delegate:两个方法的区别?答: NSURLCo

2020-09-01 11:40:42 480

原创 js数组相关API以及使用方式

整理了以下数组方法join()push()和pop()shift() 和 unshift()sort()reverse()concat()slice()splice()indexOf()和 lastIndexOf() (ES5新增)forEach() (ES5新增)map() (ES5新增)filter() (ES5新增)every() (ES5新增)some() (ES5新增)reduce()和 reduceRight()join()join,就是把数组转换成字符串

2020-09-01 11:31:48 138

转载 2020年中大厂前端面试总结

前言本次面试面试了很多家公司,包括 360,美团,猿辅导,小米,腾讯地图,头条,新东方,快手,知乎等几家公司,刚开始去面试的时候那段时间状态不是很好(基本每天都加班到很晚,周六日也没有休息的那种,而且当时心态真的是差到爆,很多平时自己很会的东西,被问到居然答不上来),基本一面就挂的那种(360,美团,猿辅导),越面越失望,后来就直接不面试了,调整自己的状态,请假休息,好好睡了两天两夜之后,调整自己的心态...

2020-09-01 11:07:50 845

原创 提高前端布局效率的技巧

在布局中,对于每块功能的 DOM 结构,我们一般使用一个带有 wrapper 类元素把它包裹起来,让代码或者网页内容更易于阅读。为此,我们一般使用wrapper 或者 container。在CSS 中使用wrapper可能有多种方式,这些方式中,有些会带来一些问题。在本文中,将介绍 CSS中 的 wrapper 布局,它们如何工作,如何使用它们以及何时不使用它们。 请注意,在本文中,可能会提到wrapper 和container这两个术语,它们的含义相同。wrapper 简介当我们说到 wrapper

2020-08-31 15:37:32 329

原创 深入Node.js的模块加载机制(手写require函数)

模块是Node.js里面一个很基本也很重要的概念,各种原生类库是通过模块提供的,第三方库也是通过模块进行管理和引用的。本文会从基本的模块原理出发,到最后我们会利用这个原理,自己实现一个简单的模块加载机制,即自己实现一个require。本文完整代码已上传GitHub:https://github.com/dennis-jiang/Front-End-Knowledges/blob/master/Examples/Node.js/Module/MyModule/index.js简单例子老规矩,讲原理前我.

2020-08-31 15:29:00 575

原创 60亿次for循环,原来这么多东西

起因有人在思否论坛上向我付费提问当时觉得,这个人问的有问题吧。仔细一看,还是有点东西的问题重现编写一段Node.js代码var http = require('http'); http.createServer(function (request, response) { var num = 0 for (var i = 1; i < 5900000000; i++) { num += i } response.end('H

2020-08-31 15:22:54 824

转载 Flutter自定义控件之_自定义弹框

在Flutter应用开发中,经常会遇到自定义弹框的开发需求,如下图所示。对于这种样式,我们可以选择自定义Dialog,具体的样式可以根据自己的需要进行修改。 例如,下面是我的实现,由于文本是一个列表,所以我需要新建一个实体类,如下所示。class IntroduceModel { int code; List<Data> data; IntroduceModel({this.code, this.data}); IntroduceModel.fromJson(Map&

2020-08-30 10:09:43 686

原创 php截取段落中指定区域的内容

我这里以淘宝联盟的文案为例,下面是淘宝联盟的文案。文案网红水洗棉四件套ins风宿舍床上用品单人学生床单被套被子三件套4 【包邮】【在售价】69.90元【券后价】39.90元【下单链接】https://m.tb.cn/h.VELwTd9 注意,请完整复制这条信息,$Ru63cdkXWSC$,到【手机淘宝】即可查看<?phpheader("Content-type:text/html;c...

2020-08-30 09:59:43 340

转载 再见:深拷贝、浅拷贝问题!

对象拷贝在我们日常写代码的时候基本上是刚性需求,经常遇到,只不过很多人天天忙于写业务,忽视了一些细节问题和理解,有时候这方面一旦出了问题,就不太容易排查了。所以本篇好好梳理一下。注:本文已收录于Github开源项目:github.com/hansonwang99/JavaCollection ,里面有详细自学编程学习路线、面试题和面经、编程资料及系列技术文章等,资源持续更新中...值类型 vs 引用类型...

2020-08-28 10:15:44 163

翻译 Flutter 1.20正式版发布,带来多个新特性

前两天,Google发布了Flutter 1.20 的正式版,这是继Flutter 1.17 版本之后又一重要的版本。一直以来,Google都在致力于 Flutter 的快速,美观,高效和开放地四个方面来不断的开发产品,围绕这四个方面,此次版本带来了性能提升、移动端自动补全、新的功能小部件等众多特性。为了使开发者能够构建更加精美的 Flutter 应用程序,1.20 版本提供了多项 UI 增强功能,包括...

2020-08-27 14:13:38 304

转载 深入理解vue中的slot与slot-scope

转载地址:https://segmentfault.com/a/1190000012996217转载作者/云荒杯倾写在前面vue中关于插槽的文档说明很短,语言又写的很凝练,再加上其和methods,data,computed等常用选项使用频率、使用先后上的差别,这就有可能造成初次接触插槽的开发者容易产生“算了吧,回头再学,反正已经...

2020-08-27 12:31:48 177

转载 拿来主义之_app与后台的token、sessionId、RSA加密登录认证与安全解决方案

一、 登录机制粗略地分析, 登录机制主要分为登录验证、登录保持、登出三个部分。登录验证是指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确认。 登录认保持是指客户端登录后, 服务器能够分辨出已登录的客户端,并为其持续提供登录权限的服务器。登出是指客户端主动退出登录状态。容易想到的方案是,客户端登录成功后, 服务器为其分配sessionId, 客户端随后每次请求资源时都带上sessionId。1.1 登录验证上述简易的登录验证策略存在明显的安全漏洞,需要优化。.

2020-08-26 17:22:03 333 1

原创 拿来主义之_非对称加密RSA

RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年7月首次在美国公布,当时他们三人都在麻省理工学院工作实习。RSA就是他们三人姓氏开头字母拼在一起组成的。 今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在分布式计算和量子计算机理论...

2020-08-26 17:19:46 233 1

转载 拿来主义之_AES加解密(CBC模式)

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。 密码说明 严格地...

2020-08-26 17:13:51 463 1

转载 拿来主义之_AES加解密(ECB模式)

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。密码说明 严格地...

2020-08-26 17:07:48 573 2

转载 拿来主义之_AES自动生成base64密钥加密解密

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。密码说明 严格地...

2020-08-26 14:27:54 940 1

空空如也

空空如也

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

TA关注的人

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