代码人生的小狗窝

一行行枯燥的代码,却描绘出人生的点点滴滴

推荐文章

Kubernetes(一)Introduction and etcd

    Kubernetes(1)Introduction and etcd Kubernetes(1)Introduction and etcdetcd - zookeeperhttps://github.com/coreos/etcd/releases/Install etcd on Mac Book>brew install etcdStart the Service>etcdClient command to test >etcdctl member list8e9e05c52164694d: name=default peerURLs=http://localhost:2380 clientURLs=http://localhost:2379 isLeader=trueCheck API version>etcdctl --versionetcdctl v

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(922

2019-09-27

2018 RabbitMQ(二)RPC Use Case and Cluster on MAC

    2018 RabbitMQ(2)RPC Use Case and Cluster on MAC 2018 RabbitMQ(2)RPC Use Case and Cluster on MACRemote Procedure Call(RPC)http://sillycat.iteye.com/blog/1582971http://www.rabbitmq.com/tutorials/tutorial-six-java.html2 important thing: correlationId and replyToRPCServer.javapackage com.sillycat.easytalker.plugins.rabbitmq.rpc;import java.io.IOException;import com.rabbitmq.client.AMQP;import com.

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(1327

2019-09-24

分享小弟我在阿里8年,是怎么一步一步走向架构师的

    分享我在阿里8年,是如何一步一步走向架构师的 前言 成为优秀的架构师是大部分初中级工程师的阶段性目标。优秀的架构师往往具备七种核心能力:编程能力、调试能力、编译部署能力、性能优化能力、业务架构能力、在线运维能力、项目管理能力和规划能力。 这几种能力之间的关系大概如下图。编程能力、调试能力和编译部署能力属于最基础的能力。不能精通掌握这三种能力,很难在性能优化能力和业务架构能力方面有所成就。具备了一定的性能优化能力和业务架构能力之后,才能在线运维能力和项目管理能力方面表现优越。团队管理能力是最高能力,它对项目管理能力的依赖度更大。 基本知识 1.学会分析源码 程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这种怪状,真要追究起来,怪不得程序员这个

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(856

2019-09-28

dubbo源码学习(4):暴露服务的过程

    dubbo源码学习(四):暴露服务的过程 dubbo采用的nio异步的通信,通信协议默认为 netty,当然也可以选择 mina,grizzy。在服务端(provider)在启动时主要是开启netty监听,在zookeeper上注册服务节点,处理消费者请求,返回处理后的消息给消费者,消费者使用服务时主要是订阅服务的节点,监听zookeeper节点目录,服务端的变化时zookeeper会推送给消费者,消费者重新缓存服务地址等。服务者、消费者、zookeeper三者之间都是长连接。下面看dubbo源码来看服务暴露的过程,服务暴露的入口为:com.alibaba.dubbo.config.ServiceConfig#export 方法,代码如下://是否延时暴露          if (delay != n

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(1258

2019-09-26

springboot配置全部信息demo

    springboot配置所有信息demo # ===================================================================# COMMON SPRING BOOT PROPERTIES## This sample file is provided as a guideline. Do NOT copy it in its# entirety to your own application.    ^^^# ===================================================================# ----------------------------------------# CORE PROPERTIES# ----------------------

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(2121

2019-09-27

惯用软件架构模型中必知的三种架构模型

    常用软件架构模型中必知的三种架构模型 常用的软件架构模型可以归类为三种架构模型:3/N层架构、“框架+插件”架构、地域分布式架构。 一.三种架构模型 1.3/N层架构 这是经典的多层架构模型,对于稍微复杂一点或特别复杂的系统,不使用分层架构是很难想象的。下图是经典的3层架构: 如今,凡是个程序员都能侃侃而谈3/N层架构,这确实是解决系统复杂性的一种主流模式,但是,只要采用了3/N层架构是不是就一定能解决系统的复杂性了?不一定,关键在于你在你的系统中如何实作你的3/N层结构。 在采用了3/N层架构后,我们还是要解决以下非常重要的问题:系统的可扩展性(能从容地应对变化)、系统的可维护性(因为系统并不是使用一次就被抛 弃)、方便部署(在需求变化时,方便部署新的业务功能)、还有等等其它系统质量属性。然而系统的可扩展性和可维护性是大多数软件系统必须解决的重中之重, 这是由于当前需求复杂多

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(833

2019-09-24

AMAZON and serverless(二)TypeScript

    AMAZON and serverless(2)TypeScript AMAZON and serverless(2)TypeScriptCurrent serverless version> serverless --version1.26.1We are not using this plugin https://github.com/graphcool/serverless-plugin-typescriptFollow this example, have better understanding of TypeScript Serverlesshttps://www.jamestharpe.com/serverless-typescript-getting-started/https://gregshackles.com/getting-started-with-s

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(607

2019-09-28

Mybatis中的 ${ } 跟 #{ }的区别

    Mybatis中的 ${ } 和 #{ }的区别   动态 SQL 是 mybatis 的强大特性之一,也是它优于其他 ORM 框架的一个重要原因。mybatis 在对 sql 语句进行预编译之前,会对 sql 进行动态解析,解析为一个 BoundSql 对象,也是在此处对动态 SQL 进行处理的。在动态 SQL 解析阶段, #{ } 和 ${ } 会有不同的表现 select * from user where name = #{name}; #{} 在动态解析的时候, 会解析成一个参数标记符。就是解析之后的语句是: select * from user where name = ?;     那么我们使用 ${}的时候 select * from user where name = '${name}'; ${}在动态解析的时候,会将我们传入的参数当做Stri

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(1222

2019-09-27

AMAZON SNS(一)Serverless Lambda Send Message to SNS

    AMAZON SNS(1)Serverless Lambda Send Message to SNS AMAZON SNS(1)Serverless Lambda Send Message to SNSI will need AWS-SDK to send message to SNS> npm install aws-sdkIt will put the dependency there"dependencies": {    "aws-sdk": "^2.224.1"}I create a SNS Topic manually first, named meeting-clientapi-int-crudI create a SQS named meeting-cssgateway-int-crud it will subscribe fro

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(2116

2019-09-26

Spring管理事务默认回滚的错误是什么

    Spring管理事务默认回滚的异常是什么?   问题: Spring管理事务默认(即没有rollBackFor的情况下)可以回滚的异常是什么? 回答: RuntimeException或者Error。 抛出运行时异常,是否回滚?Yes @Transactional public boolean rollbackOn(Throwable ex) { return new RuntimeException(); }   抛出错误,是否回滚?Yes @Transactional public void testTransationB(){ throw new Error(); }   抛出非运行时异常,是否回滚?No @Transactional publ

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(999

2019-09-24

关于CAS 负载均衡 无状态部署改建点

    关于CAS 负载均衡 无状态部署改造点。 废话不多说,直接进入正题CAS 版本:5.2.x 采用overlay的方式建的项目。无状态多节点部署改造主要涉及到两点:1. 持久化CAS TICKET到共享区域(如数据库、redis等官方提供很多种存储就不一一说明了)2. 持久化CAS Session (经过验证,可以不做这一步,但是由于我这边的验证码存放到了session中所以还是做了持久化)参考官方文档我们先做第一点(需准备好redis):a. 引入mavne依赖包 <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-redis-ticket-registry</artifactId> <ve

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(1078

2019-09-24

需学习东西(面试有关问题) -backup

    需学习东西(面试问题) -backup 记2017.3.21阿里面试经历,java方向 历年阿里面试题汇总(2017年不断更新中) 阿里电面   《JAVA并发编程艺术》面试题    JDK8新特性 http://www.runoob.com/java/java8-new-features.html http://www.importnew.com/11908.html   G1回收器和其他回收器有什么区别? 【有序数组】写一个二分查找法(小米) 写一个二叉树遍历(小米+微博) 前根左右 中左根右 后左右根   写一个链表反转(小米) TCP与UDP区别 10.10万个整数中找出排序后的前10个数(Top N 问题),及其对应算法复杂度 10万个整数中,每个整数取值[0,99],找出排序后的中间位置的数(中位数) Top K堆实现 找出某日访问网站次数最多的那K个IP   堆排序

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(1062

2019-09-24

海量数据处理(三)—海量数据处理的基本方法总结

    海量数据处理(3)—海量数据处理的基本方法总结 来源:https://blog.csdn.net/lili0710432/article/details/48142791 海量数据处理集锦   所谓海量数据处理,就是数据量太大,无法在较短时间内迅速解决,无法一次性装入内存。本文在前人的基础上总结一下解决此类问题的办法。那么有什么解决办法呢? 时间复杂度方面,我们可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit-map/堆/数据库或倒排索引/trie树。空间复杂度方面,分而治之/hash映射。 海量数据处理的基本方法总结起来分为以下几种: 分而治之/hash映射 + hash统计 + 堆/快速/归并排序; 双层桶划分; Bloom filter/Bitmap; Trie树/数据库/倒排索引; 外排序; 分布式处理之Hadoop/Mapreduce

    阅读全文>>

作者:coody分类:【_软件架构设计浏览(798

2019-09-25
上一页 1/1909页 下一页