首页
学习
活动
专区
工具
TVP
发布

偏前端工程师的驿站

专栏作者
274
文章
340465
阅读量
58
订阅数
petite-vue源码剖析-逐行解读@vue-reactivity之Map和Set的reactive
本篇我们会继续探索reactive函数中对Map/WeakMap/Set/WeakSet对象的代理实现。
^_^肥仔John
2022-05-09
1.1K0
TypeScript Crash Course: Property Access Modifiers
There is no other great moment to head into the world of TypeScript instead of right now. Angular is in TypeScript, React is in TypeScript, and even Vue3 is in TypeScript. That means it's a skill we must equip with rather than wait and see.
^_^肥仔John
2021-12-01
2470
Java魔法堂:调用外部程序
Java虽然五脏俱全但总有软肋,譬如获取CPU等硬件信息,当然我们可以通过JNI调用C/C++来获取,但对于对C/C++和Windows API不熟的码农是一系列复杂的学习和踩坑过程。那能不能通过简单一些、学习成本低一些的方式呢?答案是肯定的,在功能实现放在首位的情况下,借他山之石是最简洁有力的做法。
^_^肥仔John
2021-02-25
1.6K0
SpringBoot魔法堂:应用热部署实践与原理浅析
前言 后端开发的同学想必每天都在重复经历着修改代码、执行代码编译,等待……重启Tomcat服务,等待……最后测试发现还是有bug,然后上述流程再来一遍(我听不见) 能不能像前端开发的同学那样,修改代码保存文件后自动编译、重新加载应用呢?Spring Boot给了我们一个大大的Yes! 本文我们就一起来探索Spring Boot的热部署功能提升开发效率吧! 长话短说 热部署作为开发阶段的特性,由spring-boot-devtools模块提供,用于在修改类、配置文件和页面等静态资源后,自动编译Spring
^_^肥仔John
2020-12-18
7670
CSS魔法堂:重拾Border之——不仅仅是圆角
前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-top-left/right-radius的水平半径之和大于元素宽度时,实际值会按比例分配元素宽度时,不禁会问"我真的懂border吗?"。本系列将稍微深入探讨一下那个貌似没什么好玩的border! 《CSS魔法堂:重拾Border之——解构Border》 《CSS魔法堂:重拾Border之——图片作边框》
^_^肥仔John
2018-01-18
1.3K0
JS魔法堂:彻底理解0.1 + 0.2 === 0.30000000000000004的背后
Brief                                 一天有个朋友问我“JS中计算0.7 * 180怎么会等于125.99999999998,坑也太多了吧!”那时我猜测是二进制表示数值时发生round-off error所导致,但并不清楚具体是如何导致,并且有什么方法去规避。于是用了3周时间静下心把这个问题搞懂,在学习的过程中还发现不仅0.7 * 180==125.99999999998,还有以下的坑   1. 著名的 0.1 + 0.2 === 0.30000000000000004
^_^肥仔John
2018-01-18
1.3K0
Java魔法堂:解读基于Type Erasure的泛型
一、前言                               还记得JDK1.4时遍历列表的辛酸吗?我可是记忆犹新啊,那时因项目需求我从C#转身到Java的怀抱,然后因JDK1.4少了泛型这样语法糖(还有自动装箱、拆箱),让我受尽苦头啊,不过也反映自己的水平还有待提高,呵呵。JDK1.5引入了泛型、自动装箱拆箱等特性,C#到Java的过渡就流畅了不少。下面我们先重温两者非泛型和泛型的区别吧! // 非泛型遍历列表 List lst = new ArrayList(); lst.add(1); lst
^_^肥仔John
2018-01-18
1.1K0
Java魔法堂:解读基于Type Erasure的泛型
一、前言                               还记得JDK1.4时遍历列表的辛酸吗?我可是记忆犹新啊,那时因项目需求我从C#转身到Java的怀抱,然后因JDK1.4少了泛型这样语法糖(还有自动装箱、拆箱),让我受尽苦头啊,不过也反映自己的水平还有待提高,呵呵。JDK1.5引入了泛型、自动装箱拆箱等特性,C#到Java的过渡就流畅了不少。下面我们先重温两者非泛型和泛型的区别吧! // 非泛型遍历列表 List lst = new ArrayList(); lst.add(1); lst
^_^肥仔John
2018-01-18
9770
Design Pattern: Not Just Mixin Pattern
Brief                                 从Mix-In模式到Mixin模式,中文常用翻译为“混入/织入模式”。单纯从名字上看不到多少端倪,而通过采用Mixin模式的jQuery.extend我们是否可以认为Mixin模式就是深拷贝的代名词呢?     本文试图从继承机制入手对Mixin模式进行剖析,若有纰漏请大家指正,谢谢。 The Fact of Inheritance                         首先让我们一起探讨一下继承机制吧。作为OOP的三个重
^_^肥仔John
2018-01-18
7360
Java魔法堂:枚举类型详解
一、前言                                   Java的枚举类型相对C#来说具有更灵活可配置性,Java的枚举类型可以携带更多的信息。 // C# enum MyColor{ RED = 0, BLUE = 1 } Console.Write(MyColor.RED); // Java enum MyColor{ RED("Hot", 4), BLUE("SAD",8); private String mood; public String get
^_^肥仔John
2018-01-18
9130
意译:《JVM Internals》
译者语                                  为加深对JVM的了解和日后查阅时更方便,于是对原文进行翻译。内容是建立在我对JVM的认识的基础上翻译的,加上本人的英语水平有限
^_^肥仔John
2018-01-18
8480
ClojureScript魔法堂:搭建开发环境
一、前言                                 当看到Lisp等函数式编程语言的语法是 (say (concat "hello" "world")) 这样的时候,我就有种深入学习的冲动,因为它的语法和自己一直使用的Java、C#都不同,酷比了!(我承认我是语法控^_^)又由于我主要玩的是JavaScript,恰好ClojureScript就是纯函数式的JS超集,于是决定以ClojureScript作为函数式编程的起点。(虽然JavaScript具有函数式语言的特点:函数为一等公民,
^_^肥仔John
2018-01-18
1.1K0
Java魔法堂:四种引用类型、ReferenceQueue和WeakHashMap
一、前言                               JDK1.2以前只提供一种引用类型——强引用 Object obj = new Object(); 。而JDK1.2后我们多另外的三个选择分别是软引用 java.lang.ref.SoftReference 、弱引用 java.lang.ref.WeakReference 和虚引用 java.lang.ref.PhantomReference 。下面将记录对它们和相关连的引用队列 java.lang.ref.ReferenceQueue 
^_^肥仔John
2018-01-18
6140
Java魔法堂:类加载器入了个门
一、前言                               《Java魔法堂:类加载机制入了个门》中提及整个类加载流程中只有加载阶段作为码农的我们可以入手干预,其余均由JVM处理。本文将记录
^_^肥仔John
2018-01-18
7390
Java魔法堂:内部类详解
一、前言                                 对于内部类平时编码时使用的场景不多,比较常用的地方应该就是绑定事件处理程序的时候了(从C#、JS转向Java阵营的孩子总不不习惯用匿名内部类来做事件订阅:()。本文将结合Bytecode对四种内部类作介绍,当作一次梳理以便日后查阅。   首先要明确的是内部类是编译器提供的特性,编译器会将含内部类的java文件编译成外部类和内部类的N个文件(N>=2) ,然后JVM就按普通类的方式运行。就如下面的源码会被编译为Outer.class和和
^_^肥仔John
2018-01-18
7790
Java魔法堂:URI、URL(含URL Protocol Handler)和URN
一、前言                                 过去一直搞不清什么是URI什么是URL,现在是时候好好弄清楚它们了!本文作为学习笔记,以便日后查询,若有纰漏请大家指正! 二、从URI说起                              1. 概念   URI(Uniform Resource Identifier,统一资源标识符)以字符串来表示某种资源的统一资源标识。   格式为: [scheme:]scheme-specific-part[#fragment] [
^_^肥仔John
2018-01-18
1.4K0
前端构建:Source Maps详解
一、前言                            当使用CoffeeScript、ClojureScript编写前端脚本时,当使用Less、Sacc编写样式规则时,是否觉得调试时无法准确找到源码位置呢?当使用jquery.min.js等经压缩后的工具库时,是否觉得连调试的门都不不知道在哪呢?   针对上述问题,google为我们提供了Source Maps这一解决方案,以下内容为对Source Maps的学习记录,以便日后查阅。   由于篇幅较长,特设目录一坨!   二、示例 三、Sou
^_^肥仔John
2018-01-18
1.4K0
Java魔法堂:类加载机制入了个门
一、前言                                 当在CMD/SHELL中输入 $ java Main<CR><LF> 后,Main程序就开始运行了,但在运行之前总得先把Main.class及其所依赖的类加载到JVM中吧!本篇将记录这些日子对类加载机制的学习心得,以便日后查阅。若有纰漏请大家指正,谢谢! 以下内容均基于JDK7和HotSpot VM。 二、执行java的那刻                            大家都知道通过java命令来启动JVM和运行应用程序,
^_^肥仔John
2018-01-18
8830
Java魔法堂:JVM的运行模式
一、前言                                 JVM有Client和Server两种运行模式。不同的模式对应不同的应用场景,而JVM也会有相应的优化。本文将记录JVM模式的信息,以便日后查阅。 二、介绍                                 在$JAVA_HOME/jre/bin下有client和server两个目录,分别代表JVM的两种运行模式。 client运行模式,针对桌面应用,加载速度比server模式快10%,而运行速度为server模式的1
^_^肥仔John
2018-01-18
5830
Java魔法堂:finalize函数
一、finalize与GC                               在GC第一次进行可达性分析时会将不可达而且该对象所属类重写finalize方法和finalize方法重未被执行过的对象追加到F-Queue当中,然后JVM会自动开启一个低优先级的守护线程Finalizer执行F-Queue中元素的finalize方法。此时可通过finalize方法重新将不可达对象与引用链关联起来,那么在GC第二次进行可达性分析时,则可逃离被回收的名单。 class FinalizeEscapeGC{
^_^肥仔John
2018-01-18
4420
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档