当前位置: 首页 > news >正文

当然我在扯淡

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

最近被各种琐事缠身,也没怎么学习新东东填充自己。本文为阶段性总结,扯一扯最近遇到的以及接下来打算做的事儿吧。

工作和生活是两码事

最近一次出差,和老大在车站候车室等车时聊天,他告诉我:“要重视工作效率,所学到的东西大多都在一天八小时的上班时间里”。说心里话,当时没怎么赞同这个观点,因为在此之前,我最充实的时间是在下班后回到家里:上网络培训课,看书,写博客。

然而,不久我就改变了这个想法。上上个礼拜回老家参加一好哥们婚礼,顺便把媳妇也接到了上海。本以为可以好好过二人世界,谁料原先一个人的生活规律完全被打乱了。下班回来后总有各种各样的琐事缠身,做饭洗碗,洗澡拖地,和媳妇说说话...... 总之,当忙完一切发现时间已经 22:00 左右了,完全没心思再开机倒腾。

当然,这并不是抱怨什么,生活本该如此。工作是为了更好的生活,回到家里就该多陪陪家人,相信那些结过婚有了孩子的兄弟们更能体会。直到此时此刻,我才发自内心的赞同老大在车站对我说的话。写这篇博文也是在公司午休时间码出来的。

开发之外的事儿

最新关注两个词:测试持续集成,下面内容为我对于它们的初认识,层次不深,纯属扯淡,如表达有误,望不吝指教。

测试

我在看一些开源项目时发现他们都会使用一些测试框架,刚好我的项目最近不那么忙,我也想选择一种测试框架集成到我的项目里。

在此之前,我只接触过 java 里的单元测试,就是那种给定参数,测试某个方法的返回值与想要的值是否一致。对于前端测试,我一直处于意识模糊状态,到底测啥子??我理解的前端测试就是人工点击页面的某个按钮,出来某个页面。这也能用代码测吗??

可别说,测试里竟然还真有这东东,叫 e2e (端对端)测试。(突然感觉好神奇,只是还不会玩)

这里有篇介绍 e2e 的文章,我推荐感兴趣的阅读:[从入门到不放弃]多浏览器的自动化测试(1)-本地测试

除此之外,还有 单元测试接口测试。对于接口测试,我暂时的理解是发出某个 http 请求,判断响应是否成功,以及响应的数据格式与我们想要的是否一致(不知道是不是这样子)。至于单元测试,我还不知道在前端里它测的啥。

关于前端测试框架,网上有很多种,我也阅读了其中一些文档,但是具体实践还是无从下笔,希望有经验的朋友可以指导一二。关于测试框架的选择与适用场景,我觉得也得花时间系统的学习一下。

前端测试框架

持续集成

前面说了测试,我也只是认为有必要在有时间的时候学习一下,直到我发现了 持续集成 这个东东,我有必要更改一下我的措辞:测试是项目进程中必不可少的一个东东。

我是在 《持续集成是什么?》 这篇文章中知道 持续集成 这个词的。

我的理解是项目开发有个流程:

  • 开发代码
  • 测试代码
  • 打包代码(前端里如 npm run build)
  • 发布到服务器(将打包的 dist 目录扔到 tomcat 或者 nginx 里)

最初,上面四个步骤都需要我们手动去操作。想一想,如果我们只是改了一个小功能,就得重复上述四个步骤,这得多恶心人呀。

持续集成 帮助我们完成后面三个步骤:当我们开发完把代码上传到代码仓库中时,持续集成就开始自动的做后面三个步骤了。倘若测试阶段发现问题,整个过程就会停止,这也方便我们快速发现问题,解决问题。如果没有 测试 这个守门员,即便代码打包成功,发布到服务器上,逢年过节也会心里发虚的。

持续集成 怎么自动做后面三个步骤呢?就我目前的理解:需要先搭建持续集成环境,可以参考:持续集成服务 Travis CI 教程。具体做什么事应该是使用脚本完成的。这部分后面也会花时间系统学习一下。

初探移动端

一直以来,都在做 Web 端的开发,有时有个好点子,就想用 app 怼出来,毕竟在手机上查看比打开电脑在网页上查看方便的多得多。

我了解到使用 react-native 可以做移动端开发,但我不理解为什么 js 代码就能在手机上运行成 app 呢?js 在 Web 端浏览器中能运行那是因为浏览器内置 js 引擎;计算机系统是用 c 写的,所以各种应用程序基本也是 c 写的;安卓系统不是用 java 写的吗,所以之前手机上的 app 不都是用 java 开发的吗?关于这种种关系我还很迷惑,在知乎上提问 app在移动端的运行原理是什么? 也没人搭理。

搞不清楚原理,先开发者也成。于是乎一鼓作气将 react-native 的文档读完了,但安装 Anstroid Studio 时却遇到各种奇葩问题。下载 sdk 包总是卡死,本机上明明已经翻墙了,开发工具上还要配置代理。于是乎,我的移动端初探又提前夭折了。在此,对广大人民群众“招聘”移动端师傅带我这个小白入门。

关于吐槽

最近发现一本书《程序员的呐喊》,谷歌员工写的,可谓是吐槽界的精髓,不吐槽不痛快,越吐槽越进步。想要呐喊心里郁闷的可以下载看看。

总结

  • 合理安排好工作时间与生活时间
  • 跳入测试这个大熔炉
  • 蹑手蹑脚得探究持续集成
  • 鼓舞士气,准备二次向移动端进军

转载于:https://my.oschina.net/dkvirus/blog/1634523

相关文章:

  • 另类起床提示 模仿iPod的数字时钟
  • 《2017年人工智能行业发展研究报告白皮书》发布 以数洞见行业未来
  • 【315打假】去信任的区块链技术 难以阻止的失信项目
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • iOS 实现语音边录边传
  • chrome离线包出现的小问题
  • Linux运维学习笔记-定时任务知识总结
  • 购物车程序练习
  • 使用Promise链式调用解决多个异步回调的问题
  • JetBrains发布Kotlin 1.2.30
  • MySQL和Java数据类型对应
  • [NBIoT]NBIoT相关知识
  • 常用算法总结
  • 人工智能带动 嵌入式深度学习芯片激增
  • io、free、ps 命令
  • 【翻译】babel对TC39装饰器草案的实现
  • 2017年终总结、随想
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • crontab执行失败的多种原因
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • E-HPC支持多队列管理和自动伸缩
  • Nacos系列:Nacos的Java SDK使用
  • PV统计优化设计
  • SpriteKit 技巧之添加背景图片
  • vue-loader 源码解析系列之 selector
  • 当SetTimeout遇到了字符串
  • 设计模式走一遍---观察者模式
  • 实习面试笔记
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 源码安装memcached和php memcache扩展
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (2)STM32单片机上位机
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (31)对象的克隆
  • (LeetCode) T14. Longest Common Prefix
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (三)docker:Dockerfile构建容器运行jar包
  • (顺序)容器的好伴侣 --- 容器适配器
  • (循环依赖问题)学习spring的第九天
  • (一)基于IDEA的JAVA基础1
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)linux下的时间函数使用
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET 指南:抽象化实现的基类
  • .net与java建立WebService再互相调用
  • @Import注解详解
  • @JsonSerialize注解的使用
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [ai笔记9] openAI Sora技术文档引用文献汇总