编程有意思

啊,代码我都能大概读懂,构造了一个数组……不过这是什么语言,JavaScript么?用什么执行?

是的,大部分时候在浏览器里执行。

启动服务器这种需要 node.js 环境,但语法啥的完全 js

我觉得我们某种程度上比较像~


我自学了不少编程语言,目的都是为了满足平时生活中产生的各种小需求

这些小需求可能在有技术的人眼里不值一提,但是我不习惯求别人(也不知道求谁…),我喜欢自给自足的成就感,于是一旦遇到什么需求,我都会尽量自己解决,哪怕要为此学一门新的编程语言。


我自学编程语言的方式也很简单粗暴

因为一开始就是奔着实现一个小目标去的,因此压根不在乎学的是否基础牢固,只要能实现小目标就行。一开始直接就去看一遍基础教程(语法、格式什么的),然后就边查边写、复制粘贴,就愣是短时间内(大都是几个小时内)解决掉自己的小需求~

一些会经常用到的编程语言(如 JavaScript、Shell )会随着时间而慢慢提高技术,还有些后续一直用不上的,可能就会随着时间慢慢遗忘了。。。

因此,我虽然学了很多、很杂,但实际上算得上精通的没几个。。。
不过好在,触类旁通,学的编程语言多了,学新编程语言就会越来越容易入门~


果然需求/兴趣才是学习第一推动力
如果没有兴趣,我真的是一点学习的念头都提不起来。。。


而且我还很喜欢分享,因此很多小需求我解决后,就会把一些适合的开源分享出来~
不知不觉我的 Github 账号 2 年多时间就累计了 :star: 20.1 k,所有项目全都是这么来的~


虽然平时经常会有人喊我大佬、大神,但我清楚自己是什么水平,写的代码在真正大佬、大神的眼里怕是丑的一批,但够用就好,至少在几年前我的眼里,确实是个大佬~~

4 个赞

这提交量真的好强!

主要是有个自动更新的项目在保底,才实现了首页全绿。。。

不过这个自动更新的 :star:10.8 k 项目,偏偏还是我自认为最没有技术含量的,但却因为和我有同样需求的人很多,导致其 Star 的发展完全出乎我意料,用的人越多,我就越虚。。。

果然,一个项目火不火并不完全取决于其技术水平,而是其是否正好满足了多数人的需求~

哈哈哈,我有一个类似的观点 :

单纯追求会多少技术没意思,掌握、精通,大家心里都明白这种形容代表啥。把自己会的技术应用到极致才叫有趣,我们常常很难想象一些很基础的东西居然可以很巧妙的解决某些难题。

我现在也加了一个自动更新脚本,额,其实还只是自动提交,反正自己省心不少。

1 个赞

学习了多门语言(c语言,c#,python,js,一点点go),我个人觉得最适合入门的编程语言应该是python,语法不难,第三方库丰富,各种项目很多(方便参考学习),可以直接互动式编程(不需要编译运行),不是强类型语言,比较随意,初学也没有像指针这种涉及计算机深层次的内容。
但现在最实用的编程语言大概是javascript,不需要安装环境(直接浏览器控制台运行),应用广泛,网页前端,浏览器脚本,node.js,各种无服务器(severless)平台也大多使用js(node.js),例如cloudflare worker、比ifttt更强大的pipedream。

个人看法,一家之言

1 个赞

这些用来讲 js 也没啥毛病 :joy:

那不一样,js或者说前端那一套工具链我到现在都没搞明白,还是搞不明白怎么打包js。
js比python更像是脚本语言,到处都有,但到处都可能是不一样的运行环境,做东西难度大多了。

python只要安装包一装,pip install 安装包就好了,环境配置太简单了,能保证较为统一的环境

js 就是脚本,越是小需求,越是要求快速实现的需求,越是贴近网页的需求,它的优势就越明显。

大项目,性能和稳定性要求高,数据量大……js 就比较趴窝。

普通人的多数需求都属于前者,所以……

突然想到,没说js最适合入门,是因为js的实际应用要学习js以外的东西(这里只谈论在浏览器上的应用),html,css,浏览器API这些

是的。

但是操作什么都得相关 api,反过来其他语言想做网页相关的事情基本也得学 HTML,css,甚至 js。

其实 js 的问题还是在于太随意了,先学它可能感觉能写东西了,但其实连编程的基础知识都没了解。

不懂就问,文本编辑中如何同时匹配多个关键字进行替换继续讨论:

批量查找替换

这东西要多简单有多复杂,如帖子 #11 提到的模糊匹配和语义分析问题。我们简化一下问题,就现在有十个名字,以此换成另外十个名字,做个列表,方便大家理解问题:

  • 刘一 替换成 赵甲
  • 陈二 替换成 钱乙
  • 张三 替换成 孙丙
  • 李四 替换成 李丁
  • 王五 替换成 周戊
  • 赵六 替换成 吴己
  • 孙七 替换成 郑庚
  • 周八 替换成 王辛
  • 吴九 替换成 冯壬
  • 郑十 替换成 陈癸

写名字累死我了,我应该去找一个姓名生成器的。

传统方法我们怎么做,逐个搜索替换,虽然每次替换都是全文替换,但是这件事情重复做十次,依旧让人很烦。万一是更多词语需要替换……

我们继续简化情况,不考虑读取文件内容的问题,就直接把内容复制出来写道程序里,像这样:

var content = `内容放这里,左右用反引号,就是一般再数字 1 左边那个按键。但这样用的前提是内容中没有这个符号,咱们简化情况嘛,暂时不考虑这种小概率例外`

然后我们对这个字符串(就是这一串字符)进行 replace


content.replaceAll('刘一', '赵甲')
       .replaceAll('陈二', '钱乙')
       .replaceAll('张三', '孙丙')
       .replaceAll('李四', '李丁')
       .replaceAll('王五', '周戊')
       .replaceAll('赵六', '吴己')
       .replaceAll('孙七', '郑庚')
       .replaceAll('周八', '王辛')
       .replaceAll('吴九', '冯壬')
       .replaceAll('郑十', '陈癸')

console.log(content)

就还是逐个进行替换呢,只不过许多重复的操作都由程序代劳了,我们只不过复制粘贴一下……(搭配一些编辑器技巧会更舒适,不展开

这个脚本在浏览器的 控制台(Console)里就可以直接使用,日常还是很可能用得上的。

其实有更加简短的代码,但是那会用到更多知识,本着用最少的知识办最多的事情,就这样吧,挺好的。

Android 哔哩哔哩自动播放并全屏

前几天小青蛙介绍了这个 https://www.appinn.com/bili-auto-full-screen/ 。想想我也有类似的需求,不过是在手机上,我点进一个视频,就是想观看嘛,干嘛还要再点击一次播放键?我既然想观看,又是在手机上,当然要全屏啦,不然观看体验很差欸。但是,全屏按钮不太好点诶。

确实,在有的版本下是有类似功能的,但是有的版本又取消了,唉。

小青蛙给我的建议是:

image

大家帮我一起踹死他!

反正解决一下吧,小事情,我就是懒……

工具

工具 FooView,这个有点强哦。具体使用不介绍,今天主要是思路。用它的自定义任务,可以实现类似 tasker 的功能。

自动执行

这当然应该是一个自动任务,我希望在 B 站 App 下面进入视频页面就执行。

image

选应用,选页面就对了。

做什么

啥也别做,先间隔 1 喵(1000 毫喵),因为进入视频后得等一下加载:

image

然后点击视频播放按钮,我用开发者工具没找到合适的按钮,那就点位置(不同手机屏幕尺寸不一样,自己选合适的位置,就是那个播放按钮的地方):

image

接下来点击全屏按钮,这是有按钮的,按钮文字:“展开全屏”:

image

下面的 1000 是超时时间,如果 1 喵后没成功就算了。为啥呢?因为如果播放工具条隐藏,那是点击不到这个按钮的,就只能算了,别耽误时间。

image

做一个判断,如果上面这一条执行结果为假,就是没成功,就是没找到按钮。那就在屏幕上面视频的位置点一下(显示出播放工具条),然后再尝试点击全屏按钮。

就这样,我现在用起来流畅无感,非常舒适,懒惰的大老鼠感觉又偷懒成功了呢~~

我也一直想找个类似的工具。
每次都有很多吐槽想说,发在朋友圈又怕打扰别人,但又不想仅自己可见,想让别人尤其是熟人看到我在吐槽什么。很纠结。
为此,临时的解决办法是把吐槽都集合起来,隔一段时间在朋友圈发一个大大的吐槽

Obsidian 的 QuickAdd 插件可以实现类似的功能,写完直接进笔记。

不过设置好一切以后,因为最近没写代码,所以一直没吐槽,闲置了。

另一个方案,在 TG 开个自己的频道,然后弄个机器人,然后弄个小书签,无需科学就可快速吐槽,可爽快了(

来啊,一起学go语言。 :thinking:

有点想学,看它打包二进制文件好像很方便,而且体积超小

对于业余爱好者.最重要的是兴趣以及合适的项目.

合适的项目代表能容易的完成并且学到新东西,通过正反馈给兴趣续1s.

所以我推荐<笨办法学python>这本书,

前提是脑子里还能塞得进东西…
:face_holding_back_tears: