图片批量压缩python脚本

 

挺稳定的一段代码,文件在500k以上的对半分辨率压缩。

深度学习神经网络相关参考资料

对CNN中pooling的理解

https://blog.csdn.net/jiejinquanil/article/details/50042791

池化方法总结(Pooling)

https://blog.csdn.net/mao_kun/article/details/50507376

pooling的几种形式

https://blog.csdn.net/lijunweiyhn/article/details/52539851

keras入门实战:手写数字识别

http://www.mamicode.com/info-detail-1881972.html

CNN笔记:通俗理解卷积神经网络

https://blog.csdn.net/v_july_v/article/details/51812459

全连接层的作用是什么?

https://www.zhihu.com/question/41037974

10分钟训练一个神经网络

http://xrazor.org/post/10%E5%88%86%E9%92%9F%E8%AE%AD%E7%BB%83%E4%B8%80%E4%B8%AA%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/

Tensorflow之MNIST解析

https://www.cnblogs.com/lizheng114/p/7439556.html

YJango的卷积神经网络——介绍

https://zhuanlan.zhihu.com/p/27642620

欧氏距离与余弦相似度

https://blog.csdn.net/lin00jian/article/details/51209715

如何写一个简单的手写识别算法?

https://www.zhihu.com/question/29238666

总结:Bias(偏差),Error(误差),Variance(方差)及CV(交叉验证)

https://blog.csdn.net/MrLevo520/article/details/53128297

如何简单形象又有趣地讲解神经网络是什么?

https://www.zhihu.com/question/22553761

https://www.tensorflow.org/tutorials/

深层学习为何要“Deep”(上)

https://zhuanlan.zhihu.com/p/22888385

https://cs.stanford.edu/people/karpathy/convnetjs//demo/classify2d.html

https://github.com/csuldw/MachineLearning/tree/master/dataset/MNIST

机器学习中的目标函数、损失函数、代价函数有什么区别?

https://www.zhihu.com/question/52398145

深度学习的基本概念框架及90个基本概念词条

https://mp.weixin.qq.com/s/MjyL1ACxOOYWUzBrTyitrA?from=singlemessage&isappinstalled=0

通俗理解神经网络中激活函数作用

https://mp.weixin.qq.com/s/ADnhQT7yMU3p9WZs7xuHHQ?from=singlemessage&isappinstalled=0

多层神经网络BP算法 原理及推导

https://www.cnblogs.com/liuwu265/p/4696388.html

使用keras实现简单的前向全连接神经网络

https://blog.csdn.net/lujiandong1/article/details/54847084

Keras-2 Keras Mnist

https://blog.csdn.net/weiwei9363/article/details/78570390

使用Tensorflow和MNIST识别自己手写的数字

https://blog.csdn.net/sparta_117/article/details/66965760

linux-批量替换文件内容,批量执行脚本命令

 

5本书顺序

我们之前出了一本《剑谱》,火了;
后来我们紧接着出了一本《剑谱-实践篇》,
再后来我们发现很多看完实践篇的人有很多问题,我们把问题和解决方式收集起来,又出了一本《剑谱-实践篇2》,
再后来我们发现只有少部分人通过看《剑谱》练成了高手,当我们观察这些高手时,发现他们和其他没成功的人相比,在意识方面都有一些不一样,
所以又出了本《剑谱-心灵篇》来解释怎么才能练成武功。

你的公司到底是技术驱动还是业务驱动?如何权衡?(转)

这篇文章对公司内部所有单位都能找到清晰的定位。

是什么在驱动公司的发展?带着这个问题,我跑去问技术,技术说“这是互联网时代,当然是技术,科学是第一生产力嘛”。我跑去问市场,市场说“没有市场,哪来的业务,要技术有何用”。我又跑去问运营,运营说是他们自己。最后我碰巧遇到人事,人事说是“人”在驱动着公司的发展。应该说他们都是正确的,但不够全面。这如同盲人摸象一样,引发了不少的争论,也直接或间接地导致了技术与业务的矛盾。

技术对业务的抱怨常有:

  • 需求不明确,都搞不清楚他们想要什么;
  • 业务做不好怪技术,技术是背黑锅的;
  • 什么功能都想要,没有优先级;
  • 我们加班加点开发出来了,他们最后不用。

同样,业务对技术的抱怨常有:

  • 我们明天就想要,技术却说要开发2个月;
  • 问题这么多,系统真垃圾;
  • 功能这么少,别人有的我们没有;
  • 速度那么慢,竞争对手那么快。

我相信这不仅存在于我所在的公司,同样也存于你的公司,而其它的跨部门沟通如人事、财务、法务,或多或少都会存在诸如此类的问题。

问题出在哪里?

业务是什么?市场不是业务,运营不是业务,技术也不是业务,那业务到底是什么?维基百科的解释是“企业运用科学方法和生产工艺生产出可交付用户使用的产品与服务,并以此为企业带来利益的行为”。所以,业务应该是属于公司的,而不是属于某个部门的,运营和市场是业务方,而不是业务。

我们在一起,是为了一个共同的理想、共同的业务目标,我们叫同事。运营、市场、技术三者互相依赖,缺一不可,不可分割,如果任何一环出现问题,就会影响整体业务目标的实现,也会引起互相的抱怨。

每一个人眼中的对方是不一样的,在市场眼里技术是网吧,在产品眼里技术是工人,但在技术眼里自己是科研工作者。换个角度看,在市场眼里自己是超人,在产品眼里市场会吹水,在技术眼里却是美腿。可是,他们在竞争对手的眼中,也许都是“一坨屎”。每一个人都有自己的优点,研发逻辑性强,市场灵活,懂公关,运营则更加接近用户,做事也比较细。 我们彼此都需要放下傲慢与偏见,然后了解和沟通才能更好的分工合作,分工就是每一个人做好自己的本质工作,然后跨进半步就是合作。

理解源于彼此的了解

理解源于彼此的了解,我们要遵循事物的发展规律,要了解业务的发展规律,要了解技术的发展规律,以及彼此对对方的要求。

以下是业务的自身的发展规律,分为4个阶段:

  1. 起步阶段:这个阶段要快速验证商业逻辑、商业idea;
  2. 发展阶段:这个阶段需要快速地开拓市场,需要资本的注入,需要大量的钱来做推广;
  3. 成熟阶段:精细化运营,提高效率节约成本,还有风险控制;
  4. 衰退阶段:需要转型,需要创新,需要快速的退出。

以下是技术的特征与发展规律:

  • 提前布局:“业务说我明天就想要,研发说要开发2个月”;
  • 反馈修正:”刚上线就有这么多问题”,刚上线才那么多问题;
  • 系统观:“我的建议很好却没被采纳”,多方调研与评估;
  • 批量化:万一呢?技术擅长于批量化,“万一”的研发成本很高。

以业界为例,微软的产品一般到了V3.0才能用,1.0版、2.0版都不好用,但微软还是要发布。iPhone在2010年之前不好用,Android在2012年时也不好用,但是它们现在都很好用。同样Apple Watch 2现在不好用,我相信以后还是会好用的。整个行业都是这样,如果业务不认识到这一点,不了解技术的特征,不了解技术的工作流程,那自然就会对技术有误解,说不配合他们的工作。

业务规律对技术的要求。在起步阶段要新、要快,只开发核心功能MVP,然后快速迭代,快速验证商业逻辑;在发展阶段要有营销功能、粗放式运营功能,一定要有订单量,做技术才有价值;在成熟阶段要精细化运营、要大数据和分析功能、以及自动化功能。有了数据然后才需要分析,以自动化来节约成本和提高效率;在衰退阶段要转型、需要功能创新,减少系统维护。以上总结为四个字:销量、服务、管控、沉淀。即先以销量功能为主,然后做服务功能,接下来是管控功能,最后沉淀为基础业务服务,如以机+X的形式存在,机票作为基础业务,X作为创新点。

扩展开来,业务规律对其它方面及部门的要求。在人才方面,早期需要创业开拓型,中后期需要管理运营型,不同的阶段不同的情景需要不同的人才;在财务方面,早期宽、灵活,后期要标准化、管控,如果早期就有各种复杂的报销流程,会阻碍公司快速的发展;在法务方面,也是如此;在管理方面,创业阶段要多折腾,要多破多立,当发展到一定阶段乱了才需要管理,如果你一开始就管得过于严厉,可能把它管死了;在流程方面,创业是找路,流程是修路,现在有不少组织提倡去KPI、去流程、去级别,原因就是要创造,先找到路然后才修路。

有时候不是技术不响应,也不是业务提的功能需求不对,而是所处阶段不对。您不能要求一个成年人做小孩子的事情,也不能要求一个小孩子做成年人的事情。一个阶段要做一个阶段的事情,不清晰或产生矛盾,可能是因为没有定好位。

如何去匹配与融合?

仅仅了解彼此是不够的,技术与业务需要去匹配和融合。那什么是匹配?又如何匹配?匹配是阶段性的匹配,是以时间为轴。先有商业逻辑,然后有产品逻辑,最后才有程序逻辑。如果没有商业逻辑,或没有表达好,研发自然是不知道如何下手。技术与业务步调要一致,把大公司的系统拿过来直接就能用吗?系统是大脑,市场是手,运营是脚,如果只有灵魂,没有手和脚,业务也应该很难运作起来。我们先需要确定一个阶段性业务目标,然后提前布局进行技术研发,最后快速反馈和改进产品,这样才是正确的路径。

先匹配再融合,融合是阶段内的融合,先把大方向确定了,然后在阶段内进行细节的融合。技术与业务该如何去融合呢?方法很多,以下是我们尝试过的4个。第一个是互训,各部门互训,你了解我的工作流程,我了解你的工作流程,互相了解各部门的输入输出;第二个是轮岗,去别的部门轮岗,执岗。做其它部门做的事,做几遍才能真正的了解;第三个是活动,如打羽毛球、户外爬山,业务与技术人员交朋友,鼓励多一些非正式的沟通。第四个是思想突破和自我要求,这是最重要的一点,是思考的提升和自律。

思想突破,改变传统观念,我们借助5个问题来引发不同的思想。

第一个是业务人员要懂技术吗?财务懂金蝶,人事懂打卡系统,研发也不懂这两个系统,所以业务人员也需要懂技术。

第二个是研发与技术的区别?技术是第一生产力,研发中心是技术的重要部分,但不是全部。在互联网时代,技术如同电,这个能用那个也能用,每个人都需要了解技术。

第三个是研发是职能部门吗?什么是职能部门?财务和人事在电子商务公司是职能部门,但在财务公司和猎头公司呢? IT部门在IT公司是业务部门,但在传统公司一定是职能部门,那电子商务公司呢?

第四个是业务和技术的矛盾能否彻底解决?一山容不得二虎,你家里是谁来做主?简单的调和不能真正的解决问题。轮流执政也是有好处的,特朗普的胜利是工人阶级的胜利,希拉里的失败是精英的失败。良性的矛盾,不同的视角能够促进公司的发展!

第五个是领导说各部门要多配合,那多配合就好吗?配合=匹配+融合,配合有配合不足、配合过渡,配合恰当之分,过多的配合会导致职责不清,交互频率高,效率变低,会产生3个和尚没水喝的情况。过少配合的会有缝隙,恰当的配合则是每人做好自己的,再向前半步。

对他人的抱怨转化为对自己的反思,对他人的要求转化为对自己的要求,业务和技术都应该有一些自我要求,以下是业务方应有的自我要求:

  • 在电子商务公司,业务人员也要懂技术,但可以不会写代码。业务经理也需要了解研发的基本流程,梳理并表达好自己的业务逻辑。
  • 懂得如何向研发中心提需求和反馈问题,懂得如何借助技术,来提高市场的推广效果和运营管理。
  • 业务经理及其以上级别应该每月到研发中心走动一次,至少每季度需要一次。

研发中心应有的自我要求:

  • 树立只有业务发展了,研发才能发展的理念。“淘宝”为什么做得那么牛,是因为他们有那么大的体量和业务场景。
  • 以服务为导向,强调技术价值的输出,产品没有人用就没有用,因为不生产价值。研发人员应该主动了解公司业务,学习公司业务。鼓励研发的帅哥“泡”运营的妹妹,鼓励跨部门组织活动如羽毛球活动、户外爬山活动,这些非正式的沟通有利于彼此的了解。
  • 产品经理是媒婆,在研发部门要说业务的好,业务的难,在业务部门要说研发的好,研发苦,只有当好了这个媒婆,才能做一个合格的产品经理。产品经理每周要到业务部门至少跑3次,呆4个小时以上,到业务部门执岗、轮岗,跑市场,搞运营。

没有配套的市场推广和运营计划,产品基本没戏。没有技术支持的市场推广和运营管理,那是劳动力,不是生产力。所以,只有技术和业务的匹配与融合,公司才有大的发展,科技才能转化为生产力。

什么在驱动公司发展?

谈了这么多,我们再次回到最初的问题,到底是什么在驱动公司的发展?3种不同的看法,3种不同的境界。第1种是老子天下第一,我来驱动,这是我最怕的一种,很难沟通,无知者无畏。第2种是不同阶段不同做法,早期产品,中期市场,后期运营。第3种是投资人的要求,是竞争对手,是行业,是社会需求。竞争对手是友商,竞争对手与你一起前行,逼着你改进。社会需求是企业存在根本, 创业就是要解决别人的一个问题,社会共同的问题,问题越大越好。另外,关于市场、运营、技术哪一个驱动好的问题,这个要看行业,要看业务自身的规律,老板的出身和喜欢,各方力量的博弈。每一种做法都很多成功的案例,以BAT为例,百度应该算是技术驱动,阿里是运营驱动,腾讯是产品驱动,它们都有各自成功的理由。没有标准答案,存在即合理,有利于公司和社会的发展就好。

另外,关于市场、运营、技术哪一个驱动好的问题,这个要看行业,要看业务自身的规律,老板的出身和喜欢,各方力量的均衡。每一种做法都很多成功的案例,以BAT为例,百度应该算是技术驱动,阿里是运营驱动,腾讯是产品驱动,它们都有各自成功的理由。没有标准答案,存在即合理,有利于公司和社会的发展就好。

作者介绍

张辉清,中青易游CTO,曾先后就职于携程架构、古大集团,在古大集团任首席架构师及高级技术总监。个人现阶段关注是技术价值的输出、工程效率、技术与业务的匹配与融合以及创新。

 

Idea Community使用tomcat运行

由于IDEA社区版(Community)无法直接New一个Web Appplication 所以要使用maven来创建

1.创建一个Project

2.

3.

4.这里在Properties中添加一个参数archetypeCatalog=internal,不加这个参数,在maven生成骨架的时候将会非常慢,有时候会直接卡住。

来自网上的解释:

archetypeCatalog表示插件使用的archetype元数据,不加这个参数时默认为remote,local,即中央仓库archetype元数据,由于中央仓库的archetype太多了,所以导致很慢,指定internal来表示仅使用内部元数据。

5.

6.配置Tomcat

7.点击左上角的加号,选择Maven

8.

9.先在pom.xml中加入tomcat7的插件(注意我在其中的port标签里设置了端口号是9090)

[html] view plain copy

  1. <build>
  2.     <finalName>TestArtif</finalName>
  3.     <plugins>
  4.       <plugin>
  5.         <groupId>org.apache.tomcat.maven</groupId>
  6.         <artifactId>tomcat7-maven-plugin</artifactId>
  7.         <version>2.1</version>
  8.         <configuration>
  9.           <port>9090</port>
  10.           <path>/</path>
  11.           <uriEncoding>UTF-8</uriEncoding>
  12.           <server>tomcat7</server>
  13.         </configuration>
  14.       </plugin>
  15.     </plugins>
  16.  </build>

然后点击右上角的绿色三角形箭头,等待tomcat启动,可以在下方看到tomcat的启动信息。(如果是第一次启动,可能要等待从Maven仓库下载插件)

10.tomcat启动成功后,在浏览器输入localhost:9090

转自:http://blog.csdn.net/u012364631/article/details/47682011

Debian 9 安装备注

Debian 9 默认取消root账户远程访问权限,开启:

Debian 9 默认不支持ifconfig,查看网卡改用ip a,其他命令对照:

Debian 9 默认网卡不再是eth0的规则,改名了。设置静态ip的规则:

Debian 9 默认不支持官方Mysql,首先按照一下官方源:

https://dev.mysql.com/get/mysql-apt-config_0.8.7-1_all.deb

maven多module项目编译优化:只编译一个模块和依赖项

使用maven的高级参数:

 

-pl, –projects
只编译一个指定的项目

-am, –also-make
强制编译所有的依赖module

在parent P 文件夹里运行:

mvn install -pl B -am
这会编译module B和B所有的依赖项。

-T 4/1C
maven3支持指定并行运行的进程数,1C表示一个CPU内核开启一个进程。