精华内容
下载资源
问答
  • 据说短期内没项目了,虽然还有个小项目维护,不过也是很小的, 想自己看点东西,却知道看什么,可怕啊.... 有点没目标.....
  • 学校里学不到的东西(一)

    千次阅读 2012-05-31 20:46:06
    ”当我们出身社会之后,才发现有很多东西是在学校里面学不到的。  在学校里面,大家都是学生,地位平等,或者说是根本没有等级观念。在一个宿舍里,大家可以畅所欲言,心灵也没有隔阂。我们可以谈天说

          已经到公司报到将近两周了,今天没有加班,所以回来得比较早。虽然才进公司不久,但我还是见到了不少之前没见过的东西。现在,我最想说的一句话就是:“在学校里面,我们的生活真的是太幸福了!”当我们出身社会之后,才发现有很多东西是在学校里面学不到的。


            在学校里面,大家都是学生,地位平等,或者说是根本没有等级观念。在一个宿舍里,大家可以畅所欲言,心灵也没有隔阂。我们可以谈天说地,可以敞开心扉,可以开“卧谈会”,可以一起出去逛街,甚至是去“包夜”。我们是很自由的,觉得天下就是我们自己最大,根本不会觉得有什么负担。如果你不想去上课了,可以逃课,可以去干自己喜欢做的事情。

      

           但真正上班之后,情况完全改变了。我们失去了“自由”,做事情再也不能这么随心所欲了。我举几个这段时间发生在我身上的例子。

     

           第一个例子是在我到公司报到的当天。科长和项目经理把我带到了一个会议室里面询问了一些情况,主要是为了了解我的水平怎样。当听说我在学校里面考试成绩很好时,他们流露出了不屑的表情,说那些都是很水的,根本看不出什么来。之后他们又问了我一些专业相关的知识,主要是涉及到计算机方面的知识。因为我本科是通信工程专业的,而研究生阶段的时间又比较的短,所以在这方面的底子肯定不是很好。他们见我有很多答不出来,便下结论说我不一定看得懂代码,要好好努力。的确,在学校里面,极少有人严格要求自己,很多人混混也就过去了,而真正在社会上,我们还是要对自己要求严格一点。我举这个例子是想说,大家在学校里面也不要那么懒散,一定把知识掌握牢靠,否则到了工作岗位上还得要学很多东西!


           第二个例子是有关做事情的。单位为每个实习生指派了老师来带,就像学校为每个人分配了导师一样。他们负责将项目工作相关的东西交给我们。大家不要以为有了老师就万事大吉了,如果你以为他们会把所有的东西都交给我们,那就大错特错了。如果你不主动问,他们是不会开口的。即使他们主动来帮你,那也是很简单的问题。对于有一定深度的问题,需要自己积极主动地去想,要厚着脸皮去问,不要坐在那里等。不要等事情找上门,要主动去解决问题。我想到了大家在学校里面,很少有主动去学习、科研的,基本上都是导师催了很多次才去做。这在单位是绝对不行的。如果你做事拖拉,那么就会被人看不起。在《高效能人士的七个习惯》中,作者也将“积极主动”列为第一个习惯,可见其重要性!“万事开头难”,只要我们勇敢地跨出第一步,后面的事情就简单多了。


           在单位里面,大家是有等级之分的。里面的老员工觉得自己资格老,看不起新员工的事情也常有发生。例如,我到单位几周了,也没有参加过会议,基本上都是项目经理在每天开会。在社会上,名誉是靠自己努力争取的,要想被别人尊敬,自己就得有所付出!


           在单位里面,我们能够学到的东西要远远多于学校。好了,时间也不早了,今天就说这么多吧。希望自己的所感所悟能够对大家有所触动!为了更加美好的明天,我们一定要奋力拼搏!

    展开全文
  • Spring已经是我们Java Web开发必可少的一个框架,其大大简化了我们的开发,提高了开发者的效率。同时,其源码对于开发者来说也是宝藏,从中我们可以学习到非常优秀的设计思想以及优雅的命名规范,但因其体系庞大、...

    前言

    Spring已经是我们Java Web开发必不可少的一个框架,其大大简化了我们的开发,提高了开发者的效率。同时,其源码对于开发者来说也是宝藏,从中我们可以学习到非常优秀的设计思想以及优雅的命名规范,但因其体系庞大、设计复杂对于刚开始阅读源码的人来说是非常困难的。所以在此之前首先你得下定决心,不管有多困难都得坚持下去;其次,最好先把设计模式掌握熟练;然后在开始阅读源码时一定要多画UML类图和时序图,多问自己为什么要这么设计?这样设计的好处是什么?还有没有更好的设计?当然,晕车是难免的,但还是那句话,一定要持之以恒
    image.png

    基础知识

    RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,它是使用Erlang语言来编写的,并且是基于AMQP协议的;

    RabbitMQ高性能的原因

    • Erlang语言在交换机的交互方面性能优秀的(Erlang语言最初在于交换机领域的架构模式,这样使得RabbitMQ在Broker之间进行数据交互的性能是非常优秀的)
    • Erlang有着和原生Socket一样的延迟

    AMQP协议

    什么是AMQP高级消息队列协议

    AMQP(Advanced Message Queueing Protocol)定义:具有现代特征的二进制协议。是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计

    AMQP协议模型:

    Publisher 推送消息前先与Server建立连接,找到Virtual host,然后将消息推送至Exchange交换机。而交换机与Message Queue有绑定关系(一个交换机相当于一个独立的虚拟机,而这个虚拟机内的各种独立的应用就相当于一个Queue,这个Queue与交换机绑定),Consumer通过绑定的对队列,而交换机也绑定了队列。发送者将消息发送给交换机,这样就能完成消息的推送了

    整体架构图

    基本概念

    Broker

    消息队列服务进程,接收客户端的连接,实现AMQP实体服务。

    Connection

    连接,应用程序与Broker的网络连接。

    Producer

    消息生产者,即生产方客户端,生产方客户端将消息发送到MQ。

    Consumer

    消息消费者,即消费方客户端,接收MQ转发的消息。

    Channel

    网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道。客户端可建立多个Channel,每个Channel代表一个会话任务

    Message

    消息,服务器和应用程序之间传送的数据,由Properties和Body组成。Properties可以对消息进行修饰,比如消息的优先级、延迟等高级特性;Body则就是消息体内容。

    Virtual Host

    虚拟地址,用于进行逻辑隔离,最上层的消息路由。一个Virtual Host里面可以有若干个Exchange和Queue,同一个Virtual Host里面不能有相同名称的Exchange或Queue

    Exchange

    交换机,接收消息,根据路由键转发消息到绑定的队列。

    常见的有4种不同的交换机类型:

    • 直连交换机:Direct exchange
    • 扇形交换机:Fanout exchange
    • 主题交换机:Topic exchange
    • 首部交换机:Headers exchange

    扇形交换机

    扇形交换机是最基本的交换机类型,扇形交换机会把能接收到的消息全部发送给绑定在自己身上的队列。因为广播不需要思考,所以扇形交换机处理消息的速度也是所有的交换机类型里面最快的

    直连交换机

    直连交换机是一种带路由功能的交换机,一个队列会和一个交换机绑定,除此之外再绑定一个routing_key,当消息被发送的时候,需要指定一个binding_key,这个消息被送达交换机的时候,就会被这个交换机送到指定的队列里面去。同样的一个binding_key也是支持应用到多个队列中的

    这样当一个交换机绑定多个队列,就会被送到对应的队列去处理

    适用场景:有优先级的任务,根据任务的优先级把消息发送到对应的队列,这样可以指派更多的资源去处理高优先级的队列

    主题交换机

    直连交换机的routing_key方案非常简单,如果我们希望一条消息发送给多个队列,那么这个交换机需要绑定上非常多的routing_key,假设每个交换机上都绑定一堆的routing_key连接到各个队列上。那么消息的管理就会异常地困难。

    所以RabbitMQ提供了一种主题交换机,发送到主题交换机上的消息需要携带指定规则的routing_key,主题交换机会根据这个规则将数据发送到对应的(多个)队列上。

    主题交换机的routing_key需要有一定的规则,交换机和队列的binding_key需要采用*.#.*.....的格式,每个部分用.分开,其中:

    • *表示一个单词
    • #表示任意数量(零个或多个)单词

    当一个队列的绑定键为#的时候,这个队列将会无视消息的路由键,接收所有的消息

    首部交换机

    首部交换机是忽略routing_key的一种路由方式。路由器和交换机路由的规则是通过Headers信息来交换的,这个有点像HTTPHeaders

    将一个交换机声明成首部交换机,绑定一个队列的时候,定义一个Hash的数据结构,消息发送的时候,会携带一组hash数据结构的信息,当Hash的内容匹配上的时候,消息就会被写入队列。

    绑定交换机和队列的时候,Hash结构中要求携带一个键x-match,这个键的Value可以是any或者all,这代表消息携带的Hash是需要全部匹配(all),还是仅匹配一个键(any)就可以了

    相比直连交换机,首部交换机的优势是匹配的规则不被限定为字符串

    • any: 只要在发布消息时携带的有一对键值对headers满足队列定义的多个参数arguments的其中一个就能匹配上,注意这里是键值对的完全匹配,只匹配到键了,值却不一样是不行的;
    • all:在发布消息时携带的所有Entry必须和绑定在队列上的所有Entry完全匹配

    Binding

    Exchange和Queue之间的虚拟连接,Exchange在与多个Message Queue发生Binding后会生成一张路由表,路由表中存储着Message Queue所需消息的限制条件即Binding Key。当Exchange收到Message时会解析其Header得到Routing Key,Exchange根据Routing Key与Exchange Type将Message路由到Message Queue。Binding Key由Consumer在Binding Exchange与Message Queue时指定,而Routing Key由Producer发送Message时指定,两者的匹配方式由Exchange Type决定

    Routing Key

    一个路由规则,虚拟机可用它来确定如何路由一个特定消息。

    Queue

    也称为Message Queue,消息队列,保存消息并将它们转发给消费者。

    消息发布流程:

    1. 生产者和Broker建立TCP连接。
    2. 生产者和Broker建立通道。
    3. 生产者通过通道消息发送给Broker,由Exchange将消息进行转发。
    4. Exchange将消息转发到指定的Queue(队列)

    消息接收流程:

    1. 消费者和Broker建立TCP连接 。
    2. 消费者和Broker建立通道。
    3. 消费者监听指定的Queue(队列)
    4. 当有消息到达Queue时Broker默认将消息推送给消费者。
    5. 消费者接收到消息。

    消息流转过程

    生产者生产出Message并投递到Exchange

    一个Exchange可以绑定多个Message Queue,它根据路由策略(routing key)路由到指定的队列,最后由消费端去监听队列

    工作模式

    队列模式:

    对于任务过重或任务较多情况使用工作队列可以提高任务处理的速度。

    1、一条消息只会被一个消费者接收;

    2、rabbitmq采用轮询的方式将消息是平均发送给消费者的;

    3、消费者在处理完某条消息后,才会收到下一条消息。

    发布订阅模式:

    1、每个消费者监听自己的队列。

    2、生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将接收到消息

    对应交换机中的fanout类型

    路由模式:

    1、每个消费者监听自己的队列,并且设置routingkey。

    2、生产者将消息发给交换机,由交换机根据routingkey来转发消息到指定的队列。

    对应交换机中的direct类型

    通配符模式:

    对应交换机中的topics类型

    Header转发器模式:

    对应交换机中的header类型

    远程过程调用模式:

    RPC即客户端远程调用服务端的方法,使用MQ可以实现RPC的异步调用,基于Direct交换机实现,流程如下:

    1. 客户端即是生产者就是消费者,向RPC请求队列发送RPC调用消息,同时监听RPC响应队列。
    2. 服务端监听RPC请求队列的消息,收到消息后执行服务端的方法,得到方法返回的结果。
    3. 服务端将RPC方法的结果发送到RPC响应队列。
    4. 客户端(RPC调用方)监听RPC响应队列,接收到RPC调用结果。

    最后

    做任何事情都要用心,要非常关注细节。看起来不起眼的、繁琐的工作做透了会有意想不到的价值。
    当然要想成为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。

    更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务

    如何获得这套优质的资料呢?

    备的一整套面试体系,上到集合,下到分布式微服务**

    [外链图片转存中…(img-MffFzZCZ-1620135545753)]

    [外链图片转存中…(img-kGYzxYjI-1620135545754)]

    [外链图片转存中…(img-jjTMQ8HA-1620135545754)]

    [外链图片转存中…(img-EYcppG0w-1620135545755)]

    如何获得这套优质的资料呢?

    Java面试精选题、架构实战文档传送门:戳这里免费领取

    展开全文
  • 优化模型:想耗时的重头训练,或只想针对别的模型做的差的再挑出来学习一遍(典型的基于SVM的增量学习,先挑出SVM不好的边界点,再次学习提升) 现实需求:用户增加、用户删减,适合数百、数万的用户都重来一...

    需求

    1. 流式数据:如果数据不是收集好的一整块,而是流式(非批量数据),我又确实需要一点点学习,而不是数据准备齐全了再学
    2. 优化模型:不想耗时的重头训练,或只想针对别的模型做的差的再挑出来学习一遍(典型的基于SVM的增量学习,先挑出SVM学不好的边界点,再次学习提升)
    3. 现实需求:用户增加、用户删减,不适合数百、数万的用户都重来一遍。运营中修正
    4. 模拟人类:人是渐进式学习的,一天天课堂、业余式时间。模式是一个个知识点,效果未必比学个大纲,整本吃下要差

    做法

    典型的方式:

    Created with Raphaël 2.2.0开始取得既有的模型(结构、参数表等等)构建新模型,训练,测试,存储达到要求或截止门槛?结束yesno

    实例

    借花献佛:有个可以跑通的一个例子,分三个; 代码可跑
    note: line29,config.read(trainning_task_file, encoding = ‘UTF-8’)
    原文的未指定编码,用gbk出错,强制为utf-8可借;

     1 模型配置:
    link:配置表
     2 模型首次跑动
    link:TF首次跑起来
     3 模型再次取得网络结构、权重值,再次训练
    link:再次取得神经网络和参数表ckpt并再次训练

    核心操作就一个:
    line:85-88,原本加图后,init改为 保存点加载模型和参数表后 restore恢复TF-NN神经网络

    sess = tf.Session(graph=graph)
    sess.run(init)          # Very important
    

    Changed to:

    sess = tf.Session(graph=graph)
    check_point_path = 'saved_model/' # 保存好模型的文件路径
    ckpt = tf.train.get_checkpoint_state(checkpoint_dir=check_point_path)
    saver.restore(sess,ckpt.model_checkpoint_path)
    

    说白了,这里所谓“增量学习”还是很粗浅的,就是将一次完整训练打断,中间saver保存现场,下次有了新数据再重新启动训练。
    这里并没有涉及到,新小量数据的灌入、训练不好的地方的查漏补缺的“人的智能”的实现的。机器还是比较傻的,需要我辈更努力去改进。

    展开全文
  • 1.详略得当:前端知识太多,抓重点,不要像背字典一样。 2.不要急着写代码,先理清流程(以一个函数为单位,可以先写注释)再写代码。 3.看视频看讲解是会误以为自己会了,其实并没有。 4.学会总结:一句话可以讲...

    1.详略得当:前端知识太多,抓重点学,不要像背字典一样。
    2.不要急着写代码,先理清流程(以一个函数为单位,可以先写注释)再写代码。
    3.看视频看讲解是会误以为自己会了,其实并没有。
    4.学会总结:一句话可以讲清楚的事情,不要多说一句。减少心智负担。
    5.不介意复制代码,但是要知道这个代码里面大致实现原理。感兴趣自己重写一个。
    6.较大的项目,不要急着看代码。可以先把项目跑起来。通过改代码里面的参数来理解里面的核心流程。
    7.demo 式编程。 对于新框架,参考demo来上手更快更容易理解。
    8.渐进式编程。对于比较复杂的功能/需求。不要想着一气呵成。先实现一个核心,每次往上面加细节,有点像绘画。
    9.断点单步调试很有用,定位bug会更快。当然有些不易调试的应用选择打log。一次打 log 要多打点,免得打完log,有得再加。
    10.黑盒太多的项目,实在找不到bug原因。发给同事帮忙看。可能很快就能看出来。当局者迷,旁观者清。(很多时候是拼写的问题)

    展开全文
  • 学习Python这门技术,你需要保持一颗敬畏的心态去...很多人想要自学Python,想要吃Python这碗行业饭但是又想付出什么,但是越是这种愿意付出什么就想得到大收获的人,越是容易掉别人精心布置的坑里面去。那么...
  • 这个网站的反爬比较初级,页面上有一个滑动验证码,但是存在js加密反爬之类的东西,所以只需要识别出来验证码图片的缺口位置,以Post参数的形式返回给服务端就可以请求到数据了。 本次流程有两种方式来实现,一种...
  • 怎么说呢,最近几年的时间里,对于java开发人员来说,都知道java生态诞生了很多东西.每半年更新一次版本,发布了很多的流行的框架,像Spring5,Spring Security 5,Spring Boot 2等,这些都给我们带来了很多的挑战,但是也...
  • 正则表达式学习-

    千次阅读 2007-12-17 11:21:00
    说一点题外话,进阶果然不是那么容易的,光是在零度断言那里就停留了好长时间, 然后在自己写例子的时候也耽误了不少时间,不过好在也弄懂了不少东西,对正则表达式的掌握也更深了一步。若有好的意见或建议,请给我...
  • 如何学习一个新东西

    2008-07-09 09:20:00
    不要因为一个地方懂而耐烦,把问题记下来,在继续学习的过程中体会这个东西为什么会懂,一定要花点心思去理解. 不要同时看很多资料,那会让人觉得很累,该慢下来的地方一定得慢.切记勿囫囵吞枣.细嚼慢咽对身体有...
  • 大象冰箱案例学习Java(一)通过大象冰箱案例学习Java面向对象思想第一版...我们这学期开始Java语言,上课老师讲的有点快,所以总是跟上老师!造成好多东西理解。学习Java时,有一个很经典的例子就是大...
  • 学习怎么办呢

    2019-02-28 15:33:57
    很久没有来这里了,最近几年一直在学习原创歌曲的创作,...网站也变化很大,看来很多东西都是循序渐了,只有不停的学习,才不会落后。 今年去新加坡参加了亚洲国际艺术节,也看到了很多老艺术家辛勤的付出,感动...
  • 很久没有写blog,这很长的一段时间杂事很...真的需要好好的规划一下学习的方式了,初步打算每1-2周内完成一个新方面的学习,如果在这段时间内有新的东西出现,那就排学习列表中,采用FIFO的方式进行。 初步的计划:
  • 在几个月之前我是个连linux是什么都知道的人,我来之前也没有拿到视频,所以我对我要东西是一片的模糊。其实在来老男孩培训班之前我7月份才刚职校毕业,我还在考虑我到底是读大专还是去一门技术。那时的我还...
  • 【循序渐进学Python】Python——模块(Module)和包(Package) 今天我们来学习Python中的模块(Module)和包(Package),说起这两个东西,相信大家并陌生.在程序中应该都用过,今天我就带大家看看这两个东西究竟是什么? ...
  • 讲解ES5(2009版本),包括ES6 (2015版本) ,ES5里面几乎全部的东西现在都有用 学习方法: -细化目标:正面反馈, 一定要有小目标每天都要余力的完成每天的小目标;不要好高骛远; 重视练习:学习时长10个小时,练习时间...
  • 有些东西,是我们人生中所敢正视的。 正如我们在本章第二节所讲述的那个美国佬的缺德实验。 在那个实验中,一百个心智尚未成熟的孩子被丢了冰冷的实验室,就象扔开水里的小白鼠,等待他们的,是如同活体解剖...
  • 擦美女的小游戏,帮你学习图像处理,BMP,透明效果,有兴趣的保持联系啊,我这里东西多呢,知道你们喜好什么
  • 1.大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以了很多东西而难忘,也会因为什么都没到而难忘! 2.计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力,也会发现其中的乐趣的。 3....
  • 今年的面试形势不容乐观,竞争愈发激烈,大厂的难度又增加了。 但是,梦想还是要有的,万一实现了呢?这就有一只幸运鹅。 我的一个朋友,几天前,他百年不见更新的朋友圈有了新动态,他居然晒了他的offer,配的...
  • 以下有三个版本的memcpy,对于版本3,很多人都很熟悉,它很经典,很多人面试都写这个,可是我不得说一句,对于类似的问题,最好的回答有两个:一是调用c库,二是使用汇编。用这一类的问题来考察应聘者的...
  • 往往会在那里抱怨,这家公司很烂,我学不东西。好多技术他们都不用,公司里的那些家伙,水平又很次。用的框架又很垃圾,等等等等。 问题在于,你们有没有想过,学了技术来是干什么用的呢? 难道不是提高自己...
  • 悬崖的小白,python时被拉函数漩涡,参数类型灌入脑中,学会复用代码 DRY,局部变量和全局变量的冲突解决。猜数游戏,数字转换大写汉字,随机赋重复值。 函数(function) 函数论: 广义: 为获得某种东西...
  • 今天我们来学习Python中最最基本的东西,注释和命名规则这两个东西以后用的地方随处可见. Python注释 注释的作用? 解释说明代码 避免以后代码错误,方便寻找错误 注释需要注意的地方: 并不是所有的代码都需要注释...
  • 且有些并具备普遍性,有合适的地方,全当我在吹牛逼就行。 一开始我们得谈谈为啥要 docker?在 17/18 年,有两个东西在业内特别火,一个是区块链比特币,但是现在似乎凉的差不多了。另外一个就是 docker。 ...
  • 柠檬哥作为一个普通大学、非计算机专业,自学后端技术进入腾讯做后端开发工作,我自己也是非科班自学计算机成功转行软件开发(有想听柠檬哥转行之路经历的吗,可以留言告诉我,人多就写写),体会过当初想又不知从...
  • 做的东西简单,给你们看看成果的一部分,具体内容如下图: 这里欠你们一张效果图 ********* ********* ********* 前面应该有一篇文章叫 ios学习第七天第三方的使用 但是我没有写,是因为那天我并没有成功引入第...
  • 学不下去更多是因为想学的东西很多,却不知道从哪下手,并且发现那些东西自己一点都不会,慢慢积累越来越多,最后就会很容易放弃。所以你需要什么?给你制定一条路线规划图,然后每个部分知识点都树立好,然后你按照...
  • 早年灌输头脑的虚幻的东西和由此产生的偏见所造成的损害是令人难以置信的。如果教育真的有某些用处的话——就大体而言,也无法在拓宽我们精神眼界方面给人带来大的帮助。人为的教育就是在我们还没有对这一直观世界...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,005
精华内容 802
关键字:

学不进东西