Outsourcing

What is GSE? GSE is a complex phenomenon that unites many different collaboration models and project organization models. Reason for GSE? Reduce overheads, free up resources Improve efficiency Offload non-core functions Get access to specialized skills Get access to a specific market Differences between co-located team and global team According to What, When, Where to determine whether the supplier is suitable ...

June 21, 2019 · 5 min

Spring Boot 简化分页查询Page接口的JSON响应

多余的分页信息 Spring Data 的 Page 接口进行数据分页返回了很多很多垃圾信息: { "status": 0, "data": { "content": [ { "goodsId": 1, "producerId": 1, "categoryId": 4, "name": "耐克sb滑板鞋", "price": 500, "stock": 500, "status": "正常", "createTime": "2019-02-02T03:48:33.000+0000", "updateTime": null }, { "goodsId": 2, "producerId": 1, "categoryId": 4, "name": "阿迪达斯小白鞋", "price": 500, "stock": 300, "status": "正常", "createTime": "2019-02-02T03:48:59.000+0000", "updateTime": null } ], "pageable": { "sort": { "sorted": false, "unsorted": true, "empty": true }, "offset": 0, "pageSize": 10, "pageNumber": 0, "paged": true, "unpaged": false }, "last": true, "totalPages": 1, "totalElements": 2, "size": 10, "number": 0, "numberOfElements": 2, "sort": { "sorted": false, "unsorted": true, "empty": true }, "first": true, "empty": false } } 实际需要的分页信息 实际上我只需要下面这些分页信息: ...

February 2, 2019 · 2 min

Spring Cloud Eureka

Spring Cloud Eureka 基于 Netflix Eureka 做了二次封装 两个组件组成: Eureka Server 注册中心 作为具有服务注册功能的服务器,是服务注册中心,系统中的其他微服务使用 Eureka Client 连接到Eureka Server ,并维持心跳连接以监控各个微服务是否正常运行。 Eureka Client 服务注册 用于简化与服务器的交互,作为轮询负载均衡器,并提供服务的故障切换支持。 启动 Eureka Server 1. 创建Spring项目 2. 填充项目信息 3. 选择项目类型为 Cloud Discovery 中的 Eureka Server 4. 完成创建 5. 添加注解 @EnableEurekaServer @SpringBootApplication @EnableEurekaServer public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } } 6. 配置 application.yml eureka: client: service-url: defaultZone: http://localhost:8761/eureka/ register-with-eureka: false spring: application: name: eureka server: port: 8761 7. 启动 Eureka Server ...

January 31, 2019 · 1 min

微服务简介

images 定义 The microservice architectural style is an approach to developing a single application running as a suite of small services, each running its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. ...

January 31, 2019 · 1 min

CentOS jar包后台运行

运行jar包命令 java -jar application.jar 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口让程序退出。 那如何让窗口不被锁定? 方法一 java -jar application.jar & &代表在后台运行。 当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。 继续改进,如何让窗口关闭时,程序仍然运行? 方法二 nohup java -jar application.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。 那怎么不打印该程序输出的内容,而写入某个文件中呢? 方法四 nohup java -jar application.jar >out.txt & 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件,如 out.txt。 command >out.txt是将command的输出重定向到out.txt文件,即输出内容不打印到屏幕上,而是输出到out.txt文件中。 通过jobs命令查看后台运行任务 jobs 那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。 如果想将某个作业调回前台控制,只需要 fg + 编号即可。 fg 23 查看某端口占用的线程的pid netstat -nlp |grep :9181

January 30, 2019 · 1 min

Applied Software Project Management

General characteristics of a project A project is a temporary endeavour undertaken to create a unique product or service. It is specific, timely, usually multidisciplinary, and always conflict ridden. Projects are parts of overall programs and may be broken down into tasks, subtasks, and further if desired. Vary in size Vary in type Have desired completion dates Requires various kinds of knowledge Requires domain knowledge Requires team work Requires responsibilities and authorities Do not exist in isolation General management vs. Project management General management Organizational management Portfolio management Program management Not time limited? No completion dates? No managerial hierarchy? Routine activities Annual budgeting Project management Project management is the application of knowledge, skills, tools, and techniques to project activities to meet the project requirements Five categories of activities Initiating Planning Executing Monitoring and Controlling Closing How does the world look like? Uncertainty Plans go awry Even the closest future is unpredictable Chance events occur frequently The life is a rough road We need to do trade-offs every day We constantly negotiate We need flexibility Risk management “Project management is risk management” Identify potential problems before they occur Put preventive actions in place before unrecoverable harm occurs Risks possible events that may affect the project negatively Problems events that have or will affect the project negatively Stages in risk management: Risk identification; project, product and business risks Risk analysis; probability and consequences, triggers Risk planning; how to address risks – eliminate, reduce, ignore Risk monitoring; controlling and updating the risks ...

January 20, 2019 · 11 min

Software Architecture and Quality

CH 1. What is software architecture? What is software architecture The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both. To find out what users of the system think about the system. × To assist in marketing activities. × To make estimate for projects planning purposes. √ To use as input for dividing up the work into tasks. √ To analyze and predict characteristics of the implemented system. √ To present the future development of the product. × Categories of structures First, some structures partition systems into implementation units called modules. Other structures are dynamic, meaning that they focus on the way the elements interact with each other at runtime to carry out the system’s functions. we will call runtime structures component-and-connector (C&C) structures. A third kind of structure describes the mapping from software structures to the system’s organizational, developmental, installation, and execution environments. These mappings are called allocation structures. Three Kinds of Structures Module structures embody decisions as to how the system is to be structured as a set of code or data units that have to be constructed or procured. ...

January 19, 2019 · 12 min

Team Collaboration and Career Development

Career decision making cycle Know the elements Communication, Analysis, Synthesis, Valuing, Execution Know the definition Communication: Identifying the gap Analysis: Thinking about alternatives Synthesis: Creating likely alternatives Valuing: Prioritizing alternatives Execution: Taking action to narrow the gap Be able to elaborate the elements Communication: • Become aware of the gap • Discomfort, not so much fear of change • Seek assistance if needed • Emotions Analysis: • Clarify your knowledge • Clarify gap • Understand how you make decisions • Understand what influences you • What do you want? • What have you learned? • What are your values, interests and skills? • Do you want to take responsibility? • Self-awareness Synthesis: • Solve the gap • Avoid missing alternatives • Reduce to a manageable amount of options. • Brainstorm and reduce. Valuing: • Judge the benefit (and cost) • Rank • What´s the best choice? • Select an option Execution: • Convert decisions into action • Formulate a goal and a plan • Execute the plan • Plan, try, evaluate ...

January 19, 2019 · 21 min

Team Collaboration and Career Development for Exam

During the lectures we defined three different areas important for every individual: Values, Interests and Skills. These should be described regarding your internal focus in a resume. a. Describe, explain, these three areas, including at least two examples from each area. (15) Values are what is important for you, what you really care about, and which give you a sense of purpose. Example: High Income, Helping others. Interests are what is fun for you, what enjoys you, and those work activities which hold your attention and fire your enthusiasm. Example: Technical, Scientific. Skills are things you can do well, things you have learned, special talent and special abilities. Example: Technical skills, Leadership. b. What is a GAP? Give at least one example of a possible GAP relating to your own experiences, one example from each area. (6) A GAP is where you are and where you want to be. The GAP for me: I hope that I can enter a big company like Alibaba to work as a Java developer. The GAP for me is that my understanding of the Java virtual machine is not deep enough, I don’t have enough knowledge of multithreading, don’t know enough about the principle and implementation of the database, and don’t know much about the distributed architecture. 2. Name the 5 elements of the Career Development Cycle. Draw the model of the cycle. Describe shortly, 1-2 sentences, every action in the cycle. (12) Communication, Analysis, Synthesis, Valuing, Execution Communication: Become aware of the gap and feel discomfort about the gap. Seek assistance if needed. Analysis: Clarify your knowledge, what do you want, what are your values, interests and skills and so on. Synthesis: Solve the gap, avoid missing alternatives and reduce to a manageable amount of options. Valuing: Judge the benefit (and cost) and rank them to find the best choice. Select an option. Execution: Convert decisions into action, formulate a goal and a plan, and execute the plan. Communication: Review the state and think has the gap been closed. It is an on-going process. 3. Brown talks about four general role categories of people in teams. Name these roles and describe them shortly? (12) Designers: People responsible for generating and documenting ideas about how the product works, looks, or behaves. Managers: People responsible for ensuring the project team delivers on its obligations, creates plans to do so, and successfully executes against those plans. Subject Matter Experts: People responsible for contributing information to the design process. Stakeholders: People ultimately accountable for the success of the project. 4. Consider the following questions among individuals where we have different characteristics. Select three of them. Describe how people (individuals), can have different characteristics. Describe pros and cons, and possible consequences to a characteristic. Comments if the characteristics you choose are good characteristics or not. a. Can I interrupt you? b. Do you attend agreed meetings? c. Are you late to meetings? d. Are you focusing on details or the big-picture? e. Which tasks do you prefer to commit to? f. How quickly do you respond to e-mail? g. Do you treat others how you would like to be treated yourself? h. Can she/he say no? Can you say no? i. Does she/he usually say no/yes? (12) ...

January 19, 2019 · 4 min

The Design and Analysis of Algorithms for Exam

This question tests your knowledge on algorithms and algorithm construction: (a) A function that is defined in terms of itself is called a recursive function. Describe the purpose of a base case in a recursive function.(3p) A base case is an (input) value for which the function can be calculated without recursion. There needs to be at least one base case, which can be solved without recursion. For the cases that are solved using recursion, the recursive calls must progress towards a base case. ...

January 19, 2019 · 4 min