我的代码日程 强烈推介IDEA2020.2破解激活,IntelliJ IDEA...打印100~200 之间的素数 2. 输出乘法口诀表 3....判断1000年---2000年之间的闰年 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 。。。
若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。...写在开头 在今年初,我就打算迁移我的博客了,主要原因是ueditor编辑器不支持go代码的高亮,所以打算换,但是由于本人比较懒,同时事情又多,就耽搁了下来 此次迁移,跨度半年,实际消耗了3,4天左右,使用到了.../ueditor2markdown/ 通过分析,找到了ueditor2markdown.js的相关代码: 修改包的document的,改为jsdom 库实现,该代码已经开源:https://github.com.../tioncico/ueditor2markdown 修改步骤为: 先通过go,将ueditor html代码写入到文件 func writeArticleFile() { path := "....= nil { log.Fatal(err) } } } 整理博客配置项,优化博客的路由兼容 这个比较简单,不做额外说明 引入highlight 高亮代码
上篇文章介绍了我博客的一个架构,这里具体说下我是如何快速的通过git和fabric来持续部署我的博客的。...先来说一个场景,我前几天上线了一个 OSQA _ 系统,为了方便以后来的网友在博客留言里提问时看到我有这样的一个系统,所以我决定在留言框上方加一句话,也就是现在在留言上方看到的那个文案...简单的背后一定是有复杂的支撑,不过我这小小的博客不用很复杂。下面开始阐述下背后的原理 搭建git服务器 不要被题目吓到,只是一个简单的git仓库,基于本地协议(文件系统)。...到此你的git服务器就搭建好了,你本地可以直接push代码到服务器上。 用fabric快速部署 所谓部署,其实就是把你最新的代码放到运行的环境中去,然后重启服务。...上篇文章有提到,我用supervisor来管理我的Django进程,所以我需要做的就是在部署代码的地方pull一下最新的代码然后重启supervisor,不需要考虑virtuanlenv的事情。
即使是免费的 Babel(JavaScript编译器),也无法阻挡我对函数声明的喜爱。...我对箭头函数绝对是真爱,但要声明一个顶级函数时,我仍用“土气”的函数声明。 为什么呢?“Uncle Bob” Martin 是这么说的: 花1小时写代码,就要花10小时检查代码。...所以不论何时进行函数声明,代码开始执行时,语法都是符合其作用域的。 ? Professor JavaScript,out! 刚说的问题让代码不得不从低级开始,一步一步往上走。...但我的意见是:代码就是用来交流的。好的代码就是一则精彩的故事。 我会用编译器、转译器、压缩工具等来优化机器的代码。但是优化代码对我来说就是让其更简单易懂。 3 关于箭头函数 是的,箭头函数是真爱啊。...我一般会用箭头函数来通过一个小函数,将其作为更高阶函数的值。使用箭头函数时,还会使用地图、过滤器等,它们都是我的好朋友。
这篇文章分享了我编写 JavaScript 代码时遵循的一套规则。但在我们深入探讨之前,我必须告诉您,我使用 JavaScript 的方式有点不同寻常。...我的主要目的是仅使用一种编程语言进行高级开发,而不是 C#、F#、Java、Scala、Python 等。因此,我尽量避免非通用的 JavaScript 框架和特定于平台的工具。...请改用标准的 JavaScript 对象和数组;它们可以仅通过一个函数调用进行序列化和反序列化。JavaScript 符号具有与类相同的可扩展性问题。函数式编程尽可能多地使用函数式编程和纯函数。...直接 I/O 是副作用的主要来源。您可以使用依赖注入。不要直接写入文件,而是使用传递的函数来写入文件。这将使您更轻松地测试代码。避免可变性,或尝试将数据变异限制在局部范围内。...使用箭头函数和柯里化而不是多个参数。您可以在这篇文章中了解更多关于 JavaScript 中的函数式编程。
JavaScript是一门单线程,解释型,弱类型的动态语言,解释一行执行一行。 JavaScript执行过程首先先语法分析,就是分析一遍代码有没有语法错误,解析期间不会执行代码。...接着就开始预编译,预编译完了就开始一行一行执行代码。 预编译过程会创建两个对象,一个是全局的Global Object对象,简写GO,另一个是函数的Activation Object对象,简写AO。...有个点要注意,JavaScript在预编译阶段, 会解释函数声明, 但却会忽略表式。...比如一个自执行函数: (function fn() { }()) 当执行到有()的时候,JavaScript会去对这个表达式求解得到返回值,返回的是一个函数且有(),所以直接执行了,其它的自执行函数原理都是这样的...,就算+号得到的最终结果是NaN,但是在隐式转换之前却要先执行函数。
Demos: https://github.com/jiangheyan/JavaScriptBase 一、函数传参 1、参数=js数据类型 数字、字符串、对象、函数、布尔、未定义...二、代码重用 1、尽量保证HTML代码一致,不仅仅是可维护性,还有能够通过父级选取子元素 2、把核心的主程序先实现,再用函数包装 3、把每组中不同的值(需要传的参数...)找出并传参调用函数
更具体地讲,“经过充分优化的 C++,确实比具有同等优化水平的 JavaScript 跑得更快”,毕竟 JavaScript 有着无法避免的执行开销(即便如此,我们也可以把代码编译成静态程序来获得高度接近...意外的是,JavaScript 代码确实要比 C++ 版本更快一点,而且从架构设计的角度来看,JS 版本可以由当前团队一力维护、不需要借助其他部门的技术能力。...或者,他也可以用给栈分配缓冲区之类的设计来进一步提高性能,这种办法在实际生产中其实经常用到。 另外还有如何选择性能基准的问题。一般来说,大家比较的就是每秒操作数量。...步入现代:有请 Rust 上场 Rust 是我目前最喜欢的语言之一。它提供了很多现代特性、速度很快,而且具备良好的内存模型,生成的代码也相当安全。...虽然先让代码跑起来、再对代码做优化确实没啥毛病,但在 C++ 这种“快”语言上输给了 JavaScript 肯定让人非常沮丧。而我之所以敢当场梭哈,靠的就是对明显瓶颈的基本判断。
加固软件主要做的两件事,对软件中关键代码的保护以及提高对软件逆向反编译的门槛。 那么软件安全性防护墙的第一道门那就是反调试。反调试技术又细分为静态反调试和动态反调试。...如果程序处于调试状态的情况下,那么这个函数的返回返回真,否则返回假。...此函数在内部调用NTDLL模块的导出PROCESSINFOCLASS设置为NtQueryInformationProcess函数7(进程调试端口)。...NtQueryInformationProcess 检测 这个是微软未公开的函数,下面是这个函数的参数信息,可以利用这个函数的第三个参数值,也就是利用PROCESSINFOCLASS值,进行判断是否处于调试状态...CloseHandle 检测 利用异常捕获机制,给CloseHandle函数一个无效的句柄作为输入参数,在程序在没有被调试时,将会返回一个错误代码;而程序被调试器调试时,将会触发一个EXCEPTION_INVALID_HANDLE
(value in obj) { keys.push(value) } // good let keys = Object.keys(obj) // ['a', 'b'] 巧用解构简化代码...let person = { name: 'LiMing', age: 18 } // bad function sayHi (obj) { console.log('大家好,我叫...,我叫${person.name},我今年${person.age}了`) } // best function sayHi ({name, age}) { console.log(`大家好,...我叫${name},我今年${age}了`) } 19.函数使用箭头函数 let arr [18, 19, 20, 21, 22] // bad function findStudentByAge...num === age }) } // good let findStudentByAge = (arr, age)=> arr.filter(num => num === age) 20.函数参数校验
再来看下面代码: int a=l; if(O==D) a=O1; else l=o1; 上面这串代码整的傻傻分不清O和0,l和1。简直亮瞎我的眼。...有足够特殊的理由才能用三个以上参数(多参数函数)——所以无论如何也不要这么做。 试想如果一个方法参数过长,也不利于其他开发者阅读,不利于测试编写测试用例。...行动起来 下面这段话摘至《Clean Code》作者: ❝我写函数时,一开始都冗长而复杂。有太多缩进和嵌套循环。有过长的参数列表。名称是随意取的,也会有重复的代码。...不过我会配上一套单元测试,覆盖每行丑陋的代码。 然后我打磨这些代码,分解函数、修改名称、消除重复。我缩短和重新安置方法有时我还拆散类。同时保持测试通过。...最后,遵循本章列出的规则,我组装好这些函数我并不从一开始就按照规则写函数。我想没人做得到 ❞ 就像写作文一样,好的代码也不是一次性写出来的,需要反复琢磨。
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 ? 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。...关于怎么用,完全可以生搬硬套我总结的使用设计模式的四个步骤: 业务梳理 业务流程图 代码建模 代码demo 业务梳理 我通过历史上接触过的各种抽奖场景(红包雨、糖果雨、打地鼠、大转盘(九宫格)、考眼力、...------------ //我的代码没有`else`系列 //模板模式 //@auhtor TIGERB //------------------...//------------------------------------------------------------ //我的代码没有`else`系列 //模板模式 //@auhtor TIGERB...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2.
嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 ? 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。...满足如下要求的所有场景: Get请求获取页面数据的所有接口 前端大行组件化的当今,我们在写后端接口代码的时候还是按照业务思路一头写到尾吗?我们是否可以思索,「后端接口业务代码如何可以简单快速组件化?」...关于怎么用,完全可以生搬硬套我总结的使用设计模式的四个步骤: 业务梳理 业务流程图 代码建模 代码demo 业务梳理 按照如上某东的订单结算页面的示例,我们得到了如下的订单结算页面模块组成图: ?...我的代码没有`else`,只是一个在代码合理设计的情况下自然而然无限接近或者达到的结果,并不是一个硬性的目标,务必较真。 2....---- 我的代码没有else系列 更多文章 代码模板 | 我的代码没有else 链式调用 | 我的代码没有else 点击https://github.com/TIGERB/easy-tips/tree
大家好,又见面了,我是你们的朋友全栈君。 我的世界游戏中,/tp 玩家id,开启了作弊模式与朋友联机时可以使用,作用是传送到该玩家身边。...在命令方块中输入: /tp @a 坐标 (将全部玩家传送到该坐标,@a表示全部玩家,@p表示最近的玩家,@r表示随机玩家) /tp @e[type=生物的ID,name=你给生物取的名字] 坐标 服务器的...id (需要有op权限) /tpa 玩家id (请求传送到该玩家身边,需要该玩家需要输入tpaccept回复) /res tpa 某领地 (传送到某领地,要有领地插件) /spwan (回到出生点) 我的世界...《我的世界》是一款3D的第一人称沙盘游戏,所呈现的世界并不是华丽的画面与特效,而是注重在游戏性上面。...玩家在游戏中做着「建设」与「破坏」两件事,但是透过像乐高一样的积木来组合与拼凑,轻而易举的就能制作出小木屋、城堡甚至城市,但是若再加上玩家的想像力,空中之城、地底都市都一样能够实现。
一位朋友,在咨询了我一阵子后,开始学习 Python ,但是在坚持了2个月的时候,他逐渐减少学习时间,并最终放弃了。...因为,他觉得代码要学习的知识太庞大了,不知如何入手,一旦有新问题解决不了学习进度就卡在那里,从而越学越觉得难。...学习编程,应该掌握其运行的逻辑,试试回答以下几个问题: 1 我们是如何通过一个个的指令给计算机安排任务的? 2 计算机如何按照我们设定的条件,执行任务? 3 计算机是如何执行重复执行任务的?...4 计算机完成任务的时候,是如何反馈给我们的? 代码最难的是逻辑 引一位Oracle程序员在Hacker News上吐槽自己的工作的讨论。...入门级,会一门编程语言,会写一点点代码,但是无法自己完成一个项目从0到1构建的。 以下是给初学者如何学习代码的指南。
接下来,我将为各位列举9种我个人工作中高频遇到的不整洁代码行为,并提出针对性优化建议。...过长的函数和方法:编写过长的函数和方法,导致代码难以阅读和理解。过长的行:编写超过50字符的代码行,导致代码难以阅读。...例如: int num1, num2, result; // 具有描述性的变量名 float price; // 清晰明了的变量名 1.2 长函数和复杂逻辑 长函数和复杂逻辑是另一个常见的错误和坏习惯...为了避免代码重复,我们可以将相同的代码复用,封装成一个函数或者方法。...例如: def sum(numbers): return sum(numbers) 这段代码使用了内置的 sum 函数来计算列表的和,虽然它可能比上面的代码慢一点,但是它更清晰、易读。
那么,这些低代码平台是如何降低软件开发的学习曲线呢?我个人的感受是以下几个方面。 可视化工具 首先,降低开发门槛的一大利器是提供动动手拖拖拽拽就可以完成主要 UI 界面的可视化工具。...今年年中的时候,我对 deno 比较着迷,试图通过 Rust 构建一系列 javascript API 提供给 deno,让用户的 javascript 代码可以通过简单的 API 访问 KV / document...我对低代码开发平台的浅见 出于职业习惯,我对不少低代码平台都做了一些肤浅的尝试。它们在各自的细分领域都有不俗的表现,但没有特别让我眼前一亮的通用开发平台。...编解码,数据加解密,生成和校验 JWT 这样的单一函数。...通过 deno 或者 pyo3 这样的库,我们可以很方便地把 Rust 构建的组件暴露给 javascript/python 代码。
/* 2008 4 25 更新 */ 我的数据访问函数库的源码。整个类有1400多行,原先就是分开来写的,现在更新后还是分开来发一下吧。 第一部分:内部成员,初始化设置等。... cm.Dispose(); } #endregion public DataAccessLayer() //构造函数... #region 内部函数 //设置初始值 /// /// 设置 errorMsg = "0"... /// /// 函数名称 /// <param name... errorMsg = FunctionName + "函数出现错误。
需要在修改函数中加入一个去除空字符串的函数. /** * 去除数组中的空字符串 */ function removeEmpty($arr) { $array = $arr; foreach
我将借此机会,与您分享我那段令人难忘的编程初体验,那段充满了繁复、愚蠢和迷茫,却也锻造了我如今的编程能力。让我们一同走进我的编程时光隧道,重温那个曾让我笑与泪交加的糟糕时光。...我还记得那天,我迫不及待地想要用编程解决一个简单的问题:判断一个给定的整数是否为素数。对于一个编程新手来说,这似乎是一个令人兴奋的挑战,但我的完美主义倾向却导致了我写下了一段极度繁复而愚蠢的代码。...我的代码开始于一个庞大的 if 语句,里面包含了各种条件,以确定一个数是否为素数。我试图在一个函数中完成这一任务,但不幸的是,我的代码很快就失控了。...这个代码的问题在于,我试图手动检查了所有可能的除数,但却忽略了素数的基本定义:只有两个正除数,1 和自身。我的愚蠢代码反映了我对问题的过度复杂化,以及对基础知识的不足。...这段修正后的代码更加简洁和高效,而且在正确性上也毫无问题。但是,我却花费了大量时间和精力在一个愚蠢而繁复的代码上。 这个故事告诉我们,编程不是追求繁复和复杂性的游戏,而是要注重简洁和正确性。
领取专属 10元无门槛券
手把手带您无忧上云