摘要: 前言 都说程序员的三大浪漫是:操作系统、编译原理、图形学;最后的图形学确实是特定的专业领域,我们几乎接触不到,所以对我来说换成网络更合适一些,最后再加上一个数据库。 这四项技术如果都能掌握的话那岂不是在 IT 行业横着走了,加上这几年互联网行业越来越不景气,越底层的技术就越不可能被替代;所以为了给自 阅读全文
posted @ 2022-09-07 06:46 crossoverJie 阅读(7153) 评论(41) 推荐(30) 编辑
摘要: 新的一年第一篇技术文章希望开个好头,所以元旦三天我也没怎么闲着,希望给大家带来一篇比较感兴趣的干货内容。 老读者应该还记得我在去年国庆节前分享过一篇《设计一个百万级的消息推送系统》;虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可以运行的源码;这么久了是时候把坑填上了。 阅读全文
posted @ 2019-01-02 08:03 crossoverJie 阅读(16240) 评论(31) 推荐(42) 编辑
摘要: 首先迟到的祝大家中秋快乐。 最近一周多没有更新了。其实我一直想憋一个大招,分享一些大家感兴趣的干货。 鉴于最近我个人的工作内容,于是利用这三天小长假憋了一个出来(其实是玩了两天🤣)。 阅读全文
posted @ 2018-09-25 08:22 crossoverJie 阅读(11878) 评论(33) 推荐(28) 编辑
摘要: 已经记不清有多少读者问过: 博主,你是怎么学习的?像我这样的情况有啥好的建议嘛? 也不知道啥时候我居然成人生导师了。当然我不排斥这些问题,和大家交流都是学习的过程。 阅读全文
posted @ 2018-08-13 08:05 crossoverJie 阅读(3408) 评论(16) 推荐(25) 编辑
摘要: 之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。 本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果,文章较长请准备好瓜子板凳(liushuizhang😂)。 阅读全文
posted @ 2018-07-26 08:02 crossoverJie 阅读(2584) 评论(12) 推荐(14) 编辑
摘要: 前言 闭包对于一个长期写 Java 的开发者来说估计鲜有耳闻,我在写 Python 和 Go 之前也是没怎么了解,光这名字感觉就有点"神秘莫测",这篇文章的主要目的就是从编译器的角度来分析闭包,彻底搞懂闭包的实现原理。 函数一等公民 一门语言在实现闭包之前首先要具有的特性就是:First class 阅读全文
posted @ 2022-10-26 07:42 crossoverJie 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 版本更新 最近 GScript 更新了 v0.0.11 版本,重点更新了: Docker 运行环境 新增了 byte 原始类型 新增了一些字符串标准库 Strings/StringBuilder 数组切片语法:int[] b = a[1: len(a)]; 具体更新内容请看下文。 前言 前段时间发布 阅读全文
posted @ 2022-10-17 08:09 crossoverJie 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 前言 前段时间在《用自己的编程语言实现了一个网站》用介绍了用 GScript 写的一个简单“网站”,虽然是打上引号的;页面长这样: 看起来确实非常的挫,其实之前一直也想做一个 GScript 的在线 playground ,于是国庆期间学了一点 皮毛 Vue 加上老弟的帮忙(他是前端开发),最终完成 阅读全文
posted @ 2022-10-09 08:08 crossoverJie 阅读(1016) 评论(4) 推荐(7) 编辑
摘要: 前言 本篇文章主要是记录一下在 GScript 中实现递归调用时所遇到的坑,类似的问题在中文互联网上我几乎没有找到相关的内容,所以还是很有必要记录一下。 在开始之前还是简单介绍下本次更新的 GScript v0.0.9 所包含的内容: 支持可变参数 优化 append 函数语义 优化编译错误信息 最 阅读全文
posted @ 2022-09-28 08:54 crossoverJie 阅读(1559) 评论(1) 推荐(3) 编辑
摘要: 前言 先带来日常的 GScript 更新:新增了可变参数的特性,语法如下: int add(string s, int ...num){ println(s); int sum = 0; for(int i=0;i<len(num);i++){ int v = num[i]; sum = sum+v 阅读全文
posted @ 2022-09-19 07:47 crossoverJie 阅读(349) 评论(1) 推荐(3) 编辑
摘要: 前言 在上一篇《终于实现了一门属于自己的编程语言》 介绍了自己写的编程语言 GScript ,在文中提到希望最终可以使用 GScript 开发一个网站。 到目前为止确实是做到了,首页地址: https://gscript.crossoverjie.top/index 要称为一个网站确实有点勉强,不过 阅读全文
posted @ 2022-09-14 06:30 crossoverJie 阅读(5825) 评论(25) 推荐(25) 编辑
摘要: 前言 都说程序员的三大浪漫是:操作系统、编译原理、图形学;最后的图形学确实是特定的专业领域,我们几乎接触不到,所以对我来说换成网络更合适一些,最后再加上一个数据库。 这四项技术如果都能掌握的话那岂不是在 IT 行业横着走了,加上这几年互联网行业越来越不景气,越底层的技术就越不可能被替代;所以为了给自 阅读全文
posted @ 2022-09-07 06:46 crossoverJie 阅读(7153) 评论(41) 推荐(30) 编辑
摘要: 前言 在上一个版本实现的脚本解释器 GScript 中实现了基本的四则运算以及 AST 的生成。 当我准备再新增一个 % 取模的运算符时,会发现工作很繁琐而且几乎都是重复的;主要是两步: 需要在词法解析器中新增对 % 符号的支持。 在语法解析器遍历 AST 时对 % token 实现具体逻辑。 其中 阅读全文
posted @ 2022-08-08 12:30 crossoverJie 阅读(457) 评论(2) 推荐(0) 编辑
摘要: 前言 最近在持续优化之前编写的 JSON 解析库 xjson,主要是两个方面的优化。 第一个是支持将一个 JSONObject 对象输出为 JSON 字符串。 这点在上个版本中只是利用自带的 Print 函数打印数据: func TestJson4(t *testing.T) { str := `{ 阅读全文
posted @ 2022-08-02 11:51 crossoverJie 阅读(921) 评论(1) 推荐(0) 编辑
摘要: 前言 在上一篇中介绍了 xjson 的功能特性以及使用查询语法快速方便的获取 JSON 中的值。 同时这次也更新了一个版本,主要是两个升级: 对转义字符的支持。 性能优化,大约提升了30%⬆️。 转义字符 先说第一个转义字符,不管是原始 JSON 字符串中存在转义字符,还是查询语法中存在转义字符都已 阅读全文
posted @ 2022-07-12 17:21 crossoverJie 阅读(449) 评论(0) 推荐(1) 编辑