[笔记] Alpha Camp 第三学期 期末回顾 关于自学

章节连结

学写程式的过程旅途上,“自学”在不知不觉中就成为身体中记忆的一部分。毕竟写程式卡关的问题有百百种,有时只是单纯打错字、也有可能是一开始的逻辑设计就出了毛病。这时,运用搜寻“关键字”和用“关键字找关键字”,爬遍各大论坛(如:Stack Overflow)、众多部落格内文,可以帮助你在无形中养成一种写程式的语感,就像是说自己的母语那样。

每一次遇到的无论大小问题,只要自己觉得值得记录,就会写下一篇文章。这个习惯是参考梅问题这网站所得到的灵感。这样短小一篇、字数不多的文章,很适合繁忙且资讯量爆炸的现代人阅读。

reflective and reflection

P.S. 由于文章排程的缘故,案例1的连结会在 2019/7/29 的 09:30 以后可以浏览;案例2的连结会在 2019/7/30 的 09:30 以后可以浏览。


案例分享

1. Heroku 布署问题:如何将 Git 的子资料夹专案推上云端?

头一次运用 Heroku 布署自己的本机端专案到云端,扣除掉教材内一时疏忽所造成的错误后,最后发现 Heroku 始终读不到 package.json 的档案。这时便开始海量搜寻众多关键字,如 “heroku deployment error” 或是将 heroku 在终端机上显示的错误讯息一行行贴到 Google 上爬文。在经过了两个小时的尝试后,最后在 Deploy Git subdirectory to Heroku 找到可能的解答。

在这两小时的挣扎中,其实也一度想要直接求教于助教群,不过若要让助教群可以理解你卡关的地方,势必得先说明已经试过的方法、猜测可能的问题。我记得那天应该尝试了将近不下30次吧,最后发现问题往往出在你想不到的地方 – 你的资料夹架构和教案有一点点不同。同时也更了解了 Git 的使用和设定方式。

详细的指令和完整过程,可以点右边网址观看:Heroku 布署问题:如何将 Git 的子资料夹专案推上云端?

2. JavaScript 双层选单筛选连动

这个问题是在设计筛选器时发现的。当前端传送参数到后端查找资料时,要同时回传使用者所得的资料和原先传递出来的参数才行。换言之,当你在设计网址的时候,就要预先留下他们的位置。
原先我一直以为只要在后端将传入的值储存成一个全域变量,这样就可以随时调用的到。殊不知,事情没有想像中那么简单。由于 JavaScript 语言本身又具有异步处理的特性,这样一来事情就变得更棘手了。
在尝试了将近四个小时后,外加上都无法进行成功筛选的情况下,决定看一下同学的作法:
1. 运用事件监听的方法:当使用者点选下拉按钮时,将网址改变
2. 每次都将使用者前次提供的参数一同回传。这样一来,只要你的网址设计时多留字段就好
经由这个过程,又将原先的前端语法复习了一下。另外也理解到要设计给非英语母语的人使用的网站,运用 JSON 的格式将资料建立起来放在后端取用会是比较方便的作法。

详细的指令和完整过程,可以点右边网址观看:JavaScript 双层选单筛选连动


好用资源分享

陈之藩曾经说到:“得之于人者太多,出之于己者太少。因为需要感谢的人太多了,就感谢天罢。”以下整理出一些常常自己搜寻的文章和网站:
1. JavaScript 阵列处理:找东西 – indexOf、$.inArray 与 filter
2. JavaScript:使用 Array.map、Object.values 和 Object.keys 处理一连串的资料
3. Bootstrap 4 繁体中文手册
4. 程式前沿
5. CSDN
6. MDN Web Docs


展望

在社群网络发达的时代,人们已经很幸运的不需要背下那么多的资料于脑海中,可以透过线上发问、社群协作平台来找你要的答案。写程式时所遇到的问题自然也不例外。不过,如何抽丝剥茧自己的问题真正卡关的位置,需要靠每一次遇到问题时的经验累积。同时,不要吝于分享自己的解题经验于网络上。部落格会是一个我认为比较好的方式,毕竟在社交媒体平台(如Facebook, ptt, Line) 等分享的文字,是很难被搜寻引擎收录完整的。若真的要在网络时代下留下的自身的一点学习痕迹,那么写点记录并发表在能被搜寻引擎完整收录的平台才是长久之策。


程式自学记录

  • [指南] npm 安装操作教学
  • [笔记] 运用 Heroku 布署的初始化步骤
  • [笔记] 线上正规表示式测试器
  • [笔记] TinyURL 服务串接
  • 运用 Node.js 建网站的初始化步骤
  • [笔记] Terminal 终端机上的文字编辑器 VIM Editor 操作指南
  • [笔记] JavaScript 双层选单筛选连动
  • [笔记] Heroku 布署问题:如何将 Git 的子资料夹专案推上云端?
  • [指南] RSS 检测与故障排除
  • [笔记] MongoDB 在运用正则表达式使用变量
  • [笔记] Google, Facebook, Github OAuth 认证设定申请
  • [笔记] Homebrew Mac 上的好用套件管理工具
  • Mongo DB 条件操作符
  • Express Validator 操作介绍
  • 安装 MongoDB 出现 SocketException: Address already in use 错误
  • [笔记] Handlebars Register Helper 自定义 Helper 用法
  • [笔记] Google Place API 串接 (Google Map 系列服务)
  • [笔记] JavaScript Disabled 属性
  • [笔记] Bootstrap Modal 互动视窗 操作指南和除错
  • [笔记] Pagination 分页功能 实作 JavaScript
  • [笔记] RWD 自适应版型 汉堡选单实作与故障排除
  • [笔记] Git 忽略 .DS_Store 等排除档案
  • [笔记] Git 更新分支、解除冲突方法一览
  • [笔记] KeyCode & querySelectorAll 全部加上事件
  • [笔记] Can I Use 查询语法在各浏览器上可否正常使用
  • [笔记] JavaScript 将两个 array 合并一个 array
  • [笔记] 纯 CSS 制作图片轮拨效果
  • [笔记] API 串接, Axios 和绑定DOM事件
  • [笔记] CSS ul li 水平置中方法
  • [笔记] Async 异步处理和 JSON Object 取值
  • [笔记] textContent, event.target 和 innerHTML
  • [笔记] BootStrap Card + Grid System + Modal 弹出视窗
  • [笔记] Lorem Picsum 网页开发自动生成缩图
  • [笔记] Visual Studio 网页前端开发新手套件
  • [部落格经营] Contact form 7 表格自动缩放

  • 按赞加入粉丝团

    延伸阅读