Soft_Job 板


LINE

各位 端午节快乐! 趁着放假写了篇有趣的心得,最近用 JS 刷 LeetCode ,同时想加上测试与笔记, 可是要一个个手动加上去很麻烦啊!所以这篇文章就诞生了! Medium:https://medium.com/yusong-blog/9a74ca06a7d5 事情是这样子的 最近试着用 JavaScript 写 LeetCode ,每解开一个问题预计会产出 题目的解答、解答的测试案例、解答的笔记并且将这些档案的连结写入专案的描述里, 一共 1 个资料夹加上 5 个档案,如连结所示: https://yusong.page.link/leetcode-in-js-structure 1. src/easy/0001-two-sum/index.js 题目的解答 2. src/easy/0001-two-sum/README.md 解答的笔记 3. src/easy/index.js 给测试案例使用的解答共同的出口 4. __tests__/easy/0001-two-sum.test.js 解答的测试案例,确保解答符合需求 5. README.md 专案的描述,当有新解答时描述最底下的表格应跟着新增一笔 连结上是每次要开始新的一题需要先准备好的档案内容,真的非常枯燥又繁琐, 有时候还会漏了某个档案,尤其是加入新的专案描述… 这时候就会像面对考试时会突然觉得桌面的脏乱到不马上整理不行, 我也突然产生了一股不想办法解决这些重复性高的工作不行的使命感… 教练我只想写 Code 在想要怎麽达成这个使命时,想到 Angular CLI 协助开发的体验挺好的! 只要在指令列输入 ng g c new-cmp 就会帮你把新的档案建立好, 并且连 import module 等等的语法都写好了! 稍微看一下 Angular CLI 的程式码後发现,其实是透过 NodeJS 产生档案, 再来只需要像印出九九乘法表把内容组一组输出成档案就好了! 透过 JavaScript 产生程式码片段 只要知道底下 2 件事即可产生任何客制化的程式码片段: 1. 要在浏览器外执行 JavaScript 可以透过 node index.js 在 NodeJS 上执行 2. 使用 NodeJS 的 File System API 产生档案 首先试着产生一个 hello world 的文字档 https://yusong.page.link/generate-hello-world-in-js 再来把前面提过九九乘法表在 markdown 上实作一次吧! markdown 的表格栏位如果变多了写起来很容易少写或多写, 所以能透过程式自动产生是最理想的 https://yusong.page.link/generate-nine-nine-table-in-js 最後加入一些套件,玩点有趣的花式操作 ,执行後询问使用者问题并将 回覆结果做成 JavaScript Object 的格式写入档案 ans.js 1. npm init 初始化 package.json 2. npm i --save-dev colors inquirer 安装套件 3. JavaScript only ! https://yusong.page.link/generate-complex-file-in-js colors:让执行过程中印在终端机上的 console.log 加上不同色彩 Inquirer:可以写入问题让使用者填写、选择答案、验证回答、修改内容…etc 化繁为简後 现在来看看,能自动产生程式码片段後, 写 LeetCode 前要准备好那些档案变得多麽的轻松 https://youtu.be/j5XeZQNUx2E
加入提问来决定产生的内容,有 3 个原因: 1. 验证资料格式、避免输入错误资讯,结果档案已经被产生出来 2. 内容太多了,问题的长度如果太长,整行指令看起来很不方便 3. 一段时间没开发後可能已经不记得参数要放什麽了 结尾 好了!这下子我终於可以心无旁骛专心地 LeetCode 了! 除非桌面又开始令人感到凌乱不堪 希望这篇文章可以让你把重复性高的工作透过熟悉的 JavaScript 整理後自动产生提高作业的生产力与专注力,并且降低出错与遗漏的机率, 如果有对这篇文章有任何建议或疑问欢迎在底下留言与分享,谢谢 ----- Sent from JPTT on my iPad --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.33.19.17 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1559871236.A.BE0.html ※ 编辑: sky810684 (114.33.19.17 台湾), 06/07/2019 09:54:37
1F:→ chuegou: ?06/07 10:07
※ 编辑: sky810684 (223.138.124.238 台湾), 06/07/2019 10:32:57
2F:→ sky810684: 没有编辑好内文,被截掉了XD06/07 10:33
3F:推 king22649: vscode snippet?06/07 10:58
4F:嘘 pig2014: 题目也没多复杂,要刷不会用cpp吗06/07 13:22
5F:推 CaptainH: js社群的水准真是从来不让人失望06/07 14:15
6F:→ loadingN: 看到别人用ptt发medium 我就pass了06/07 15:16
7F:推 jack42107: 感谢分享 愿意分享就是推06/07 15:34
8F:→ iven00000000: 可能是面试需求吧,我面试写python自然就用python06/07 17:17
9F:→ iven00000000: 练 06/07 17:17
10F:推 lightyen: snippet +106/07 18:16
11F:→ sky810684: vscode 的 snippet 是针对目前的档案所以不太够用,需06/07 21:07
12F:→ sky810684: 求中同时有好几个档案需要新的程式码片段或是更新甚至06/07 21:07
13F:→ sky810684: 移除,这样还是需要一个个手动操作06/07 21:07
14F:推 xxxorc: 若要推广的建议话要包成 command line binary 吧06/07 22:37
15F:→ xxxorc: 然後推到 npm 上, 这样就很好安装06/07 22:37
16F:→ xxxorc: 不懂这跟 js 社群有什麽关系, 楼主是应该把内文直接贴上来06/07 22:38
17F:推 xxxorc: 分享就给推 不然这个版也没什麽有趣的东西06/07 22:42
※ 编辑: sky810684 (122.121.12.100 台湾), 06/07/2019 23:08:31 ※ 编辑: sky810684 (122.121.12.100 台湾), 06/07/2019 23:28:07
18F:→ sky810684: 感谢提醒,没有注意到贴连结要附上内文,这个心得只是 06/07 23:37
19F:→ sky810684: 希望不知道能这样用 NodeJS 的人可以多一些选择,然後06/07 23:37
20F:→ sky810684: 自己写自己客制化的程式码片段,所以没必要放到 npm 上06/07 23:37
21F:→ sky810684: 面 XD06/07 23:37
※ 编辑: sky810684 (122.121.12.100 台湾), 06/07/2019 23:38:40 ※ 编辑: sky810684 (122.121.12.100 台湾), 06/08/2019 00:11:13
22F:推 mepowerlmay: 产生器不是比较好? 06/08 01:42
内文有说明同时有好几个档案,还需要更新现有的程式码,用产生器会少掉一些客制化的弹性
23F:推 WashFreeID: 觉得直接用vscode的leetcode套件会方便很多 06/08 12:02
因为想留下解题的纪录,不只是刷题,所以才会这样做 ※ 编辑: sky810684 (122.121.12.100 台湾), 06/08/2019 16:37:49 ※ 编辑: sky810684 (122.121.12.100 台湾), 06/08/2019 16:39:18







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP