收获往往在努力背后 2017-04-02 事件 在过去的半个月当中作为一个职场新人,经历了一次完整的项目从需求定义到最后的上线,这期间需求改了n多次,会议开了n多场,就连上线前夕都还在线上调bug😤。这期间虽然问题多多,波折不断,但是还好有同事的支持和老大的信任。因为这次项目是个附属项目,老大完全放开手让我自己搞,整个流程从不干涉,只把控大局。我知道这是老大再考验我,锻炼我的能力,对此真的很感激😄。 这次的收获还是很大的,这种成长是以前所没有的,很欣慰。另外还要感谢自己,已经好几周没有好好休息,好多天中午都没睡着过,这段时间有点过度紧张了,辛苦啦😉。 其实在一开始接手这个项目的时候心里还是有点畏惧的,因为这个项目还是我在公司实习的时候立项的,当时虽然立项的时候我参与了,但是毕竟当时没有当回事,而且那个时候什么事也轮不到一个实习生的头上来。更何况我后来还回学校了,并没有参与实际开发,正真参与开发的人已经离职了。想想事情到了这个地步,硬着头皮也要上,再怎么说也是一个锻炼自己的机会。 感悟 经历了这么一次实战过后,我深刻地体会到什么叫需求天天变以及求人办事难 产品和运营从来都不知道自己想要的是什么,需求总是想一出是一出,代码是....
IDEA远程调试配置 2017-03-29 背景 开发的时候经常会出现某些现象,就是本地的代码跑的好好的,没有问题,可是一放到beta上面就有各种无法解释的现象,代码明明是一样的代码数据也是一样,可是就是不知道问题出在哪里。 这种现象有很多种可能,可能是代码没有更新,上一次部署失败,这种情况往往重新部署一遍就可以了,可往往有时候并不是这样的,重新部署是解决不了问题得,这个时候我们就不能这么单纯了, 就需要通过远程调试来找原因了。 配置说明 远程调试配置其实很简单,主要有两个地方配置一下就好。第一个是客户端工具配置(本文用IDEA),第二个是tomcat配置。 1、 IDEA配置 tomcat配置选择远程remote,端口自己指定 2、 配置tomcat 将复制的那句放到JAVA_OPTS这里。 3、 重启tomcat 4、 在本地打断点调试吧
虚拟机中配置静态ip地址 2017-03-28 背景 前段时间在进行视频转码的时候需要Linux环境,可是一直不能搞到服务器来操作,运维那边没有提供,老大也不在意,身为一个新人又不好自己去找运维要服务器。没办法,只能自己搭虚拟机装centOS来用。其实自己搭很容易也没啥,最大的不好就是占用一点电脑空间(对于只有256G大小的硬盘表示伤不起。。。),所以自己就搭建了centOS。 搭建完了后,虽然说可以在里面可视化操作,但是毕竟身为一个有逼格的Iter,这不是我的风格,所以就准备用iTerm2进行远程登录。可以慢慢发现,虚拟机里面的主机的ip地址总是会变化,经常登录的时候都需要重新配置ip,甚是麻烦。。。所以就想到了将虚拟机ip配置成静态的。 配置静态ip 配置静态ip主要是修改文件/etc/sysconfig/network-scripts/ifcfg-eno16777736 将图中几处进行修改。 注意一点网关的配置最后一位要是'2',虚拟机默认网关最后一位是'2'。之前在配置的时候并不知道配置为2,其实配置成1或者255都可以,但是会出现在虚拟机中无法联上网,只要配置2时才能通过NAT正常联网。
Redis批量导入数据——Pipe 2017-03-27 这段时间有点忙(懒),没有写blog了,其实这几天也准备开始写写, 刚好今天有个同事在问我为什么最近都没有写了,想想不能再懒了,不然时间长了就该忘记要写的东西了。最近有几个点想写,第一个就是这次文章的主题,Redis的Pipe批量数据导入;第二个是虚拟机中静态ip的配置;第三个是IDEA远程调试线上代码。准备分三篇blog来写,今天先写第一部分。 背景 前端时间老大提了个需求,想把以前手动报备的一些数据改成现在自动报备。在一开始手动报备的时候是出现一台机器都要手动填写一个表单,进行redis的存储进行报备,现在想做成生产一个文件,定时将文件自动导入redis进行报备。经过查询,了解到redis的批量导入用到了redis的Pipe功能。 文件格式 Redis的Pipe功能,原理是将所有的数据按照Redis规定的协议,根据官网提供的文档,了解到文件的格式应该如下: *3 $3 set $17 1004_ea6d1a37c50d $179 {"barcode":"","city":0,"firstvisit":"2017-03-17","model":"55PUF7102_T3","pro.....
Linux的rm -rf 2017-02-19 集群惨剧 上周也就是年后上班的第一周,整个人都是恍恍惚惚的不在状态,加上老大还没来上班整个人就更懒散了。如果人处在这个状态,那是很危险的,如果还在上班。。那就更危险了。 是的,上周的我是很危险的,原本跑的好好的Kafka和Zookeeper集群,被我删了个文件夹,然后就没有然后了。不要问我为什么要删除那个文件夹,因为我也不知道(至少我自己是这样认为的)。。。还好是测试环境的服务器。在QQ上把情况告诉了老大,老大估计在家玩嗨了并没有理我, 转战找运维老大,运维老大还在高速上。。。这边测试人员已经在追问我数据为什么不对了。。。此时我的心情很复杂,恩,真的很复杂 这个时候需要静下心来,不能自己乱了阵脚,其实仔细想想问题也不是很大,因为首先这是测试环境,并不会影响正式,其次刚开始上班使用这个环境的人并不多,另外最多也就是把集群重新搭建下而已。怀着这样的心情就准备自己搞起,然而苦逼的是自己没有这集群服务器的账号。。。这个时候不得不求人了(这是最尴尬的部分) 运维有个同事有集群的账号,原本以及他只要轻松的敲几行命令就可以挽救,但是不知道为什么,,集群总是起不来,每次重启成功一段时间后又自动down....
FFmpeg视频解码简单使用 2017-01-12 这周主要在解决视频转码的问题,其实原本也没有什么问题,只是因为出现了部分开机视频文件在部分机器上卡死不能正常播放的问题,导致了外面一大批机器死机。对于一个做互联网电视的公司来说,电视死机那是致命的。所以最近才要严格限制视频格式以及进行主动转码测试验证,确保完全没问题的视频文件,才能进行投放。 ffmpeg是一款免费的,高效的视频转码工具,网上关于ffmpeg的使用有很多的介绍,这里我就不提了(主要是我也不知道。。。(@ο@)~ 😁),可以参考 雷神 的技术博客。天妒英才,希望天堂没有代码,雷神走好。 这次的转码工具是Linux系统下的sh脚本,主要有两个部分 1、基本配置 基本配置主要根据项目的实际需求配置相应的参数,比如帧率,比特率,分辨率,时长,采样率,声道。。。具体数据就不对外公布了。 2、执行命令 echo "--------------------------------------" echo "intput file : "${infile} echo "output file : "${outfile} echo "output file format : "${ou....
物理机与虚拟机共享文件夹 2017-01-08 最近有个任务需要在Linux环境下完成,原本计划在公司搞个服务器,但是周末又没 人搞,然后就决定自己装个CentOS,在本地上跑。 装虚拟机没什么好说的,以前在Windows上就装过,在Mac上也不会有什么问题,而 且网上的教程。。还一大堆。。所以就不说了,这次主要记录一下,物理机和虚拟机 是如何共享数据的,因为有很多文件需要共享,总是通过FTP或者其他通信工具传输太麻 烦,就在网上找了一个简单的方法,刚好以前也没用过,所以就记录一下。 其实网上教程也有很多,但是主要自己以前没动手实践过,所以就做个简单的记录, 毕竟学无止境了 主要有两步 1、虚拟机软件启用共享软件,在虚拟机软件设置,共享下面启动共享文件夹配置 2、启动虚拟机 虚拟机里面的系统会提示需要安装VMware Tools ,根据提示安装即可。 这里如果虚拟机里面是Windows系统的话,会提示安装setup.exe,直接双击, 一直next即可 如果虚拟机里面是Linux系统的话,会提示运行一个vmware-install.pl的perl脚本文件 打开过后在终端打开目录 将目录下的VMwareTools-10.0.10-43....
通过Spring上下文获取指定名称的Bean 2016-12-28 通过Spring上下文获取指定名称的Bean 在进行Spring或者SpringBoot项目开发的时候,往往有很多情况我们需要在工具类或者其他 非Spring注解的类中用到某个注解类(Service),这个时候就比较麻烦了,因为当前类不是 通过Spring注解来的,也就是类名上面没有配置注解,如果现在要用到其他注解类就不行了。 很多人第一反应就是new一个需要的注解类,但是这样是不行的,运行的时候会报空指针异常 所以这里就需要先获取Spring的上下文了,通过Spring的上下文,然后在上下文中就可以拿到 指定名称的注解类了。。。示例如下 package com.coocaa.salad.node.interceptor; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springfra....
工作后第一个圣诞 2016-12-27 工作后第一个圣诞 总想写点什么,但是感觉也没有什么可写的。 总想用文字记录点东西,不管是帮助自己成长还是用于记录以后回忆。 刚好最近圣诞节,又是工作以来第一个圣诞节,虽然说不是什么重大的节日,但是 毕竟是工作以后第一个圣诞节,而且也是这么多年第一个不用在学校过圣诞节的日 子。。。。感觉超级棒。24号上午睡到自然醒,然后去吃了个饭,下午没事去公司 加了一下午的班,晚上平安夜的时候和几个同事玩狼人杀玩到了半夜两点(大伙太 拼了) 25号那天和几个好友一起去吃烧烤了,木屋烧烤,来深圳以后第二次吃,味道不错, 哈哈哈,没去之前,室友就说怀念他家的烤猪蹄 (@ο@) 哇~,吃完烧烤买了 个电影票准备去看个电影,电影是4.20开始,时间还长,我们就找了个地方喝杯奶 茶聊了会天,因为其中有个朋友是跟从公司离职的,就互相交流了一下各自的想法, 以及她现在 所在公司的环境。四点多的时候去看电影了,说实话那个电影其实真不怎么样。。。 电影名叫《绝对控制》,看完没什么特别的感觉,实在不怎么好看。
ES6之Set和Map 2016-12-24 随着ES6的发布,JS渐渐走向成熟化,统一化,多数现代浏览器都支持ES6的语法,这大 大给程序员节省了时间和提高了效率,也提高了软件的性能。 在新的ES6标准中Set和Map结构有了很大的用途。以下内容摘自网络。 ####1. set #####基本用法 ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set本身是一个构造函数,用来生成Set数据结构。 var s = new Set(); [2, 3, 5, 4, 5, 2, 2].map(x => s.add(x)); for (let i of s) { console.log(i); } // 2 3 5 4 上面代码通过add方法向Set结构加入成员,结果表明Set结构不会添加重复的值。 Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。 // 例一 var set = new Set([1, 2, 3, 4, 4]); [...set] // [1, 2, 3, 4] // 例二 var items = new Set([1, 2, 3, 4, 5, 5, 5,.....
第一份工作试用期结束的感悟 2016-12-22 不知不觉工作都快六个月了,毕业也大半年了,这段时间经历了一个从学生到职场新人的转变,除了离家更远了之外,另一个最大的转变就是成熟了。经历了这段时间,已经不再是一个学生了,慢慢的成为一个职场新人。 职场上与学校最大的不同,就是没有人会为你的错买单,没有人会迁就你,没有人会无私的帮助你。再也不会有老师盯着你做作业,要你好好听课;再也不会有什么期末考试,也不用担心挂科;再也不能睡到自然醒然后再去吃个丰盛的早餐;再也没有时间做很多自己想做的事情。。。 但是这是每个人都要经历的一个过程,人都需要成长,只有经历了职场才能真正的成长起来,在职场中体会人生,学习本领,毕竟社会才是真正的老师,教导你怎么去成长去进步。 在上班的这段日子,其实感悟还是挺深的,不管是自身技术能力的提升还是说与人相处的能力都有了很大的提高,虽然说自己平时也并不是一个非常活跃气氛的人,属于那种技术宅,但是现在跟公司领导和同事相处的还是很愉悦的,平时也会参加很多活动。另外感受最深的就是身边的这群跟自己一起进来的同一届的小伙伴,小伙伴都是非常优秀的人,其中有各个岗位的,有前端,有后端,有UI,有运营,有设计大家都各有所长,平时不仅在....
CentOs创建桌面快捷方式 2016-12-21 编写快捷方式文件 vim idea.desktop [Desktop Entry] Name=IntelliJ IDEA 2016.3 #名称 Icon=/home/silence/idea/idea-IU-163.7743.44/bin/idea.png #图片 Exec=/home/silence/idea/idea-IU-163.7743.44/bin/idea.sh #脚本路径 Terminal=false Type=Application StartupNotify=true Categories=Application:Development;Java;IDE 复制文件到桌面
测试MarkDown语法 2016-12-21 MaHua是什么? 一个在线编辑markdown文档的编辑器 向Mac下优秀的markdown编辑器mou致敬 MaHua有哪些功能? 方便的导入导出功能 直接把一个markdown的文本文件拖放到当前这个页面就可以了 导出为一个html格式的文件,样式一点也不会丢失 编辑和预览同步滚动,所见即所得(右上角设置) VIM快捷键支持,方便vim党们快速的操作 (右上角设置) 强大的自定义CSS功能,方便定制自己的展示 有数量也有质量的主题,编辑器和预览区域 完美兼容Github的markdown语法 预览区域代码高亮 所有选项自动记忆 有问题反馈 在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流 邮件(dev.hubo#gmail.com, 把#换成@) QQ: 287759234 weibo: @草依山 twitter: @ihubo 捐助开发者 在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。 感激 感谢以下的项目,排名不分先后 m.....