博文

目前显示的是 2018的博文

成为编程巨星的唯一秘诀(其他领域同样适用)

本文是从《The Singular Secret of the Rockstar Programmer》这篇文章翻译而来. 译文来自外刊 IT 评论《编程巨星的唯一秘诀》,我做了些调整。 抛开软件开发定律、设计用途,设计哲学,决定一个软件开发者是成是败的因素只有一个。为什么一个资深程序员只花一天功夫就能上手一门新的编程语言,而一个初级码农需要努力十年才能得到一份养家糊口的薪资,永远只能在他人设计的框架上编程,也绝不足以得到真正的成长。这个因素将差的程序员和好的程序员,好的程序员和伟大的程序员,伟大的程序员和能通过自己的技术创造出一个亿万美元价值的程序帝国的超级程序员区分开来。 它一点都不复杂,也不难懂。编程不是需要有什么编程天赋或者「编程超能力」才能做的事。能否成为一个优秀的程序员还是一个很烂的程序员跟你的出身一点关系都没有。 真正的因素只有一点,它就是: 你对你所做的事情理解越深,你就能做的更好。 编程大神对自己做的事情的理解,远超于那些平庸的程序员们。事实就是如此。 为了成为一名优秀的程序员,你所需做的事情去是理解你现在所在做的东西。 有人会说,该知道的我都知道了。而对说这话的人的验证就是看他们能否有应用他们知道的知识的能力。他是否能够构建出完美的系统架构,让人们能轻松的维护?是否能在不皱眉头的情况下把一个普通程序员毫无可能解决的问题轻松解决掉?是否能在被询问时能用最简单的概念把任何问题都阐述明白?如果能够,那他就是一个杰出的程序员,他能很好的理解了他在做的事情。 然而,尽管这些人看起来已经“无所不知”,很多的程序员(包括我)都感觉他们仍然在知识的海洋里奋斗不已。有如此多的东西需要去学习,一个人几乎要花费他毕生的心力去学习,但仍然很难说能掌握计算机知识的 90%。 而这场持久战中的秘密武器、战胜计算机知识的亚瑟王的神剑,就是 透彻理解 。对你的领域里的基础知识理解的越好,你就越容易提升到更高的层次。你对这一层次的知识理解的越好,你就更容易掌握下一层次,以此类推。一旦你从最简单最基础的知识走到最高级最复杂的理论,你可以从头再过一遍,此时你会惊奇的发现,在最低最底的底层,竟然还有那么多知识需要学习。 看起来这个道理实在是太简单,难以受到重视,但事实就是这样。通往杰出的程序员的道路就是完全的深入的理解,从掌握精通最基本的知识开始,从而

新点亮视频,聚合全网视频资源的看片神器

图片
瞎讲 受百度网盘离线功能失效波及,我最近打开了躺在电脑深处吃灰的 qBittorrent,发现下载老资源的速度慢到感人。 同时体验了微云和黑科云的离线下载之弱,我转向了另一个方向——在线观看。我们应该都或多或少有听过关于「5G 网络商用」的新闻。据说,在 5G 网络情况下,下载一部 10G 的电影只消几秒。我相信,在未来,在线观看视频将成为主流,下载的需求将不断萎缩,现在的趋势也是这个方向。 正文——新点亮视频 简介 因有如上需求,我在酷安上找到一款与众不同的视频播放应用——新点亮视频。 吐槽:这个名字感觉好奇怪。 应用信息: 应用名:新点亮视频 开发者信息: 酷安 id:dianliang 官方Q群:856088449 版本号:6.4.1 应用大小:4.90 M 支持平台:Android 应用类型:视频聚合类应用 特点 聚合了大量视频网站 从上图的第一个界面截图可以看到,作者内置了大量的视频网站地址。这是这个软件的最与众不同之处,我们点击其中一个网站,就可以进行搜索,观看操作。 这个让我想起了「爬小说」这款应用,它们都不是自己提供内容,而是去爬取其他网站的内容,化为己用,充当一个内容过滤器。这样既有丰富的素材,也不用担心服务器的开销问题,只要那些被爬取的网站还在,那么这个应用就可以用。 观看的过程中,不会出现视频网站的广告。 如果你有访问过这些视频网站的经历,那么你肯定会对网站所投放的广告印象深刻。即使是打了马赛克,依然盖不住广告的色气。 而,「新点亮视频」它可以像夸克浏览器的轻应用功能一样,对这些网站进行再排版,以及去除视频中的广告。不会有让你面红耳赤的情况出现,当然,难免偶尔会有漏网之鱼。 VIP 视频解析功能 这个内容在「 全网 VIP 视频免费观看 | 极客 」中讲过。有兴趣的可以去看看。VIP 视频解析的问题主要还是在解析接口的稳定性上。 聚合了电视、直播及资源搜索功能 同样的,也是借用了其他网站的功能。我使用了直播和电视两个功能,操作流畅,视频加载迅速,体验还是很不错的。 支持第三方浏览器播放以及悬浮窗播放 部分网站支持调用第三方浏览器播放,如 mxplayer。 悬浮窗播放效果如下图。 缺点 夜间模式不完善,

我常用的 ADB 命令

收集一下自己常用的 adb 命令,方便查找使用。 建议阅读: 通过 adb 实现未 root 机器的应用冻结和权限管理操作 Google 提供了 Windows、macOS 以及 Linux 下的 adb 工具包的直接下载地址,内容如下: https://dl.google.com/android/repository/platform-tools-latest-darwin.zip https://dl.google.com/android/repository/platform-tools-latest-linux.zip https://dl.google.com/android/repository/platform-tools-latest-windows.zip 空调狗 应用冻结类应用,会注册为设备管理员,需要预先清除手机里面的账户。只需执行一次命令,后续手机重启对其无影响。 adb shell dpm set-device-owner me.yourbay.airfrozen/.main.core.mgmt.MDeviceAdminReceiver 黑域 强行停止应用,防止应用持续运行。手机无 root 时,效果好于绿色守护。博主已入正。 adb -d shell sh /data/data/me.piebridge.brevent/brevent.sh Shizuku Manager 配合 App Ops 管理应用权限。 adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/files/start.sh

通过 adb 实现未 root 机器的应用冻结和权限管理操作

图片
对于已经 root 的安卓手机来说,我们很容易对这些国产应用流氓进行全方位的调教,让它们占用的内存小、权限申请合理、不会应用之间相互唤醒等等,进而达到增强手机续航能力、使用时不会卡顿的目的。 而对于未 root 的机子而言,想要达到上述的目的,步骤就比较麻烦些了。 (系统)应用冻结 为什么需要把应用冻结起来呢?其一,这是因为应用会未经你的允许,偷偷地在后台运行,还会把他家其他兄弟挨个叫醒(应用/全家桶唤醒),这样手机在待机时,电池的电量就会很快消耗完,且你在用手机时,也可能会发现「诶!手机怎么变得这么卡」。 不过,现在,国内各家深度定制的安卓系统,比如 MIUI、Color OS、EMUI 都会对应用的后台合理的管控,所以你会觉得上述问题在自己的手机可能并不明显。 其二,如果你想要卸载手机系统内置的软件时,比如自带的浏览器,你会发现我们不能像卸载其他应用一样卸载它们,根本找不到卸载的入口。 幸运的是,我们可以把它们关进小黑屋,眼不见为净。应用冻结类的优秀应用,诸如冰箱、空调狗之类,都支持在手机未 root 情况下,实现应用冻结的功能。 总结一下,什么样的应用需要冻结: 功能必需,但只是偶尔使用 系统自带,经常弹窗广告骚扰 在安装前还需要将手机中的账号(设置-账号)删除,因为需要将冰箱 / 空调狗设置为设备管理员(下面的 App Ops 不需要此步骤)。 安装过程只需要几步就可完成: 安装冰箱 / 空调狗 启用手机 USB 调试模式,并用数据线连接到电脑 在电脑上下载 adb 工具包,解压至一文件夹 在该文件夹下按住 Shift 键,同时右击鼠标,选择 powershell / cmd 窗口 在打开的窗口中输入 .\adb devices,若输出一串代码,说明电脑与手机连接成功 最后一步,输入形如:.\adb -d shell sh /data/data/…sh 的代码(每个应用有特定的代码),输出内容提示成功即可。 注:如果你在上述的过程中遇到了困难,请善用搜索引擎来解决问题。或者在留言区留言。 应用权限管理(App Ops) 同样,每个手机系统都会有应用权限管理功能。我们为什么有需要多此一举呢? 举一个典型的例子,对于微信,如果你不给他「电话 / 读取手机状态及身份」这个权限的话,那么它就不给你使用,强制退出应用

我的书籍排版初体验

图片
今天我要写的是我的初次书籍排版体验。从我第一次接到任务开始到书籍印刷出厂结束,期间经历了约莫有两个月的时间。我从一开始对书籍排版的生涩,到后来的略懂一二。经历无数次改稿,挑灯修改,终于在今天结束了。 在这期间我学到了不少东西,故将其记录下来,留个脚印。 我所使用的排版软件是 InDesign,和 Photoshop 一样,是 Adobe 全家桶的一员。ID 主要用于各种印刷品的排版编辑。在这之前,我是从未接触过这个软件的,好在有使用过 Photoshop 的经验,再囫囵看了一些教程后,就开始了我的书籍排版之旅了。 如果你要排版一本书,你可以思考一下,你需要什么信息呢? 纸张大小:是要 16 开、还是 8 开?16 开、8 开等的规格还有所不同。在排版之前,一定要先确认纸张的大小,这个非常重要。 书的风格:最好能有个参考,可以在网上或图书馆里找找相应的书籍。 其余要求。书的页数要控制多少页…… 我能想到就是这么多,不知道你是不是和我一样。 我看了什么教程 我看的教程是: Doyoudo 的 InDesign 入门教程 高高手的 InDesign 教程 以上两个视频教程都可以在 B 站找到。 第一个,它可以帮你快速入门,了解软件的使用。 第二个,讲的非常详细,它可以帮助你更了解排版、印刷行业里的专业知识,且也会手把手教你使用软件。另外,如果你想学 Photoshop 的话,这两家的教程也是入门首选哦。 书籍的组成 封面、勒口、扉页、章前页、腰封… 你可以拿起周边的一本书,对应着上图,来找找自己手上的书是由哪些元素组成的。 对于「出血」的了解 出血,是平面设计中常被提及到的一个概念。设计师在新建画板时,就应第一时间将版面大小和预留出血的尺寸给考虑进去,然后开始设计。 让我们用两张张动图简单了解一下什么是出血吧? 无出血的设计稿,在印刷时,由于钢刀裁切的误差,可能会留下白边。 若有设置出血部分,则裁切时不会产生白边现象。 上面内容可归纳为,出血是为了印刷裁切时不会出现白边而所设置的多余部分。出血预留的范围一般为 3 mm,且还有区分为外出血和内出血,这两个概念也很重要,但在此不再深入。 版心设计 版心的设计很大程度上决定了书籍的印刷页数,如果你想控制页数的话,可在版心上调整一番。 版心的大小与否,给人

使用 Javascript 删除 Blogger 博文 页面链接的日期时间

图片
在谷歌 Blogger 交流群里有一位博友提出这个问题: 如何将 Blogger 文章链接的 /Year/Month/ 给删除掉?就像是 Wordpress、Typecho 等博客程序一样。 我使用英文搜索关键词后,发现国外也有人有同样的需求。从 Blogger 官方论坛人员的回复中可以知道:Blogger 文章链接一经发布,便不可修改,且在 Blogger 后台设置中也没有删去链接中日期时间的选项。 接着,我在 Youtube 上看到一个印度小哥 1 说可以实现这个功能。我硬着头皮听了几分钟的印度英语(应该是吧),发现他是用 Javascript 方法来解决这个问题的。从小哥给出的代码中,我得到了该源码的 Github 地址 2 。它的作者是墨西哥人,这就是互联网的魅力吧,让素不相识的人跨越国界产生联系。 代码的实现效果如下: 如何使用? 你需要在你的 Blogger 主题模板的 <head> 标签后面添加如下代码即可。 < script type = "text/javascript" > // BloggerJS v0.4.0 // Licensed under the MIT License // Copyright (c) 2017-2018 Kenny Cruz // github.com/jokenox // Configuration var config = { postsDatePrefix : false , accessOnly : false , useApiV3 : false , apiKey : "YOUR-API-KEY-HERE" } var postsOrPages = [ "pages" , "posts" ] , blogId = "<data:blog.blogId/>" , urlTotal , fetchIndex = 1 , ampChar = "&amp;" [ 0 ] , secondRequest = ! 0 , feedPriority = 0 , nextPage

为 Blogger 自定义域博客启用 HTTPS & 支持国内访问技巧

图片
写在前面,本人不是专业的,仅是因为对 Blogger 感兴趣而写。本文内容只涉及到 DNS 方面的设置,在 Blogger 后台中的设置并未具体谈到,请参考其他文章,步骤很简单的,相信我。 大概在 2017 年末的时候,Blogger 发布了针对自定义域的免费SSL(https)证书。 原先只有是 Blogspot 子域的博客支持 https,如果自定义域的博客如果想启用 https 的话,只能通过 Cloudflare 或者 Nginx 反向代理来实现。两种方法各有缺点,使用 Cloudflare,网站打开速度会变慢;而使用 Nginx 则需要一台位于国外的 VPS。 所以,起初我知道的这个消息后,感到十分激动,赶紧照着谷歌给出的方法设置了一番。可没想象中的那么简单。在「 Blogger国内访问心得 」中,我们为了实现博客可以正常地在国内访问,需要将域名 A 记录解析到 ghs.google.com 在国内可访问的 IP 地址。正是因为这个设置,所以即使按下图设置后,我们也无法正常开启 https 。 若是我们将 A 记录解析改为 CNAME 解析到 ghs.google.com ,则可以正常开启 https,但是我们的博客就无法正常的国内访问,这是我们不愿意见到的。 去年,我为此苦恼了许久,就在前几天,我脑海萌生了一个想法:A 记录解析不能启用 https,CNAME 解析可以启用,但是无法指定博客解析到国内可访问的 IP 地址。那我能不能在上面做些变通呢? Blogger 之所以需要我们将自定义域 CNAME 解析到 ghs.google.com ,是为了当我们的读者访问博客时,Blogger 的可以根据读者 IP 地理位置自动跳转至最近的服务器来传输网站的数据(个人猜测)。 我的做法是将上图中间一步的 ghs.google.com 改为一个自己控制的域名,这个域名可解析到一个国内可访问的 IP 地址。(初步做法,后面有更简单的,现在只是展示我的思考过程) DNS 设置如下: blog.iljw.me CNAME get.afree.life get.afree.life A 216.58.1**.*** 当我按上面设置好后,输入 https://blog.iljw.me ,就可以正常访问了,证明

GeekUninstaller 好用简单的卸载神器

今天给大家介绍一款 Windows 系统上的卸载程序 —— Geek Uninstaller。 最新版本 1.4.5.126 (2018年2月21日) 程序名称: Geek Uninstaller 兼容32位和64位Windows 10/7/8 / 8.1 / XP / Vista / 2003/2008 / Server 支持多国语言(包括中文) 软体性质:免费软体,另有付费的Pro版 官方网站:https://www.geekuninstaller.com/ 解决的痛点: 当我们卸载软件时,可能会因为软件本身卸载软件做的不完善或者软件保留了一些用户设置文件,常常会有卸载残留、注册表未清理干净。长时间下来,系统 C 盘便会残余大量的冗余文件,注册表也会变得臃肿起来,不仅浪费硬盘空间,而且还拖慢了系统的运行速度。 还有,我碰到一个情况是,遇到重装软件时,原软件卸载不干净,重装也重装不来,需要手动去修改注册表才可以。Geek Uninstaller 正是解决上述问题的利器。 软件特点介绍 简单轻量、免安装 最新版本(1.4.5.126)大小仅为 5.80 MB,无需安装,打开即用。外观美观,支持四十多种语言。 快速即时搜索 Geek Uninstaller 支持键盘随打即找功能,无需特别点击搜索框,只需输入软件名称便可即时搜索。这个功能对电脑装了许多软件的人特别方便。 更干净、快速的卸载 打开 Geek Uninstaller ,右键选择软件卸载(或者直接双击需要软件)。Geek Uninstaller 首先会使用软件本身自带的卸载工具卸载,完成后会继续快速扫描电脑中残余的文件、文件夹和注册表等。 然后再点击一下「完成」,便 OK 了。 支持卸载Windows应用商店应用 Geek Uninstaller 支持卸载 Windows 应用商店下载的应用,只需在菜单栏选择「查看」-「Windows Store Apps」即可,或者直接使用快捷键 「Ctrl + Tab」切换视图。 强制删除 当软件安装不完全或者卸载不干净,又无法找到卸载的方法时,可以使用「强制删除」功能。Geek Uninstaller 会强制删除软件的文件夹、注册表。这个功能对付某些流