腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
Linyb极客之路
专栏作者
举报
1062
文章
1796384
阅读量
128
订阅数
订阅专栏
申请加入专栏
全部文章
java
数据库
spring
sql
编程算法
其他
网络安全
https
缓存
微服务
云数据库 SQL Server
分布式
spring boot
http
linux
api
存储
容器
jvm
网站
云数据库 Redis
git
spring cloud
maven
安全
开源
容器镜像服务
html
github
nginx
腾讯云测试服务
tcp/ip
xml
jdk
kafka
mybatis
数据结构
jar
json
javascript
node.js
ide
消息队列 CMQ 版
架构设计
apache
文件存储
mvc
unix
配置
负载均衡
android
tomcat
全文检索
kubernetes
数据迁移
单元测试
数据
负载均衡缓存
自动驾驶
php
bash
打包
人工智能
aop
大数据
对象存储
jdbc
dubbo
rpc
jenkins
数据分析
mongodb
黑客
压力测试
yum
uml
系统架构
服务
ios
c++
go
nosql
bash 指令
devops
shell
ssh
面向对象编程
dns
hashmap
zookeeper
cdn
windows
Elasticsearch Service
接口
客户端
线程
python
servlet
vue.js
access
搜索引擎
访问管理
rabbitmq
socket编程
nat
mvcc
es
boot
ruby
嵌入式
postgresql
eclipse
命令行工具
云数据库 MongoDB
SSL 证书
cci 持续集成
数据安全
自动化
运维
正则表达式
ftp
grep
zabbix
迁移
ddd
ip
并发
同步
云服务器
比特币
区块链
.net
jsp
bootstrap
react
jquery
ajax
oracle
memcached
svn
centos
海外加速
数据加密服务
日志数据
电商
企业
express
serverless
爬虫
gui
自动化测试
二叉树
udp
gradle
物联网
hbase
任务调度
性能测试
服务网格
bug
public
redis
rest
ribbon
sentry
string
表单
测试
产品
程序员
对象
服务器
集群
监控
脚本
领域驱动设计
模型
权限
数据同步
系统
域名
注解
作用域
ICP备案
费用中心
DNS 解析 DNSPod
官方文档
机器学习
c 语言
c#
lua
scala
css
webview
textview
单片机
web.py
struts
lucene/solr
analyzer
ubuntu
windows server
神经网络
深度学习
云函数
日志服务
TDSQL MySQL 版
全站加速网络
腾讯微服务平台 tsf
腾讯git代码托管(工蜂)
短信
es 2
DevOps 解决方案
数据备份
出行
socket.io
grunt
游戏
html5
erp
sql server
npm
markdown
ddos
敏捷开发
gcc
数据可视化
openapi
nest
云计算
虚拟化
安全治理
sdk
groovy
负载测试
实时监控
数据库管理
应用安全开发
云压测
小程序·云开发
应用性能监控
activiti
admin
architecture
async
boolean
bpmn
chatgpt
com
countdown
cpu
curl
data
driver
dto
feign
free
header
hibernate
io
istio
it
java8
join
lint
log4j
map
memory
nginx-ingress
openai
path
proc
return
send
setter
sh
share
sign
soa
spring-aop
spring-cloud-gateway
target
task
tdd
thread
time
transfer
ui
vi
部署
产品经理
代理
队列
多线程
二进制
服务端
工具
管理
函数式编程
后端
后台
继承
集合
架构
教程
解决方案
跨域
快捷键
浏览器
面试
企业应用
日志
日志分析
软件开发
设计模式
搜索
算法
统计
通信
网关
网络协议
系统设计
协程
性能
异步
异常
优化
原理
重定向
字符串
最佳实践
搜索文章
搜索
搜索
关闭
领域驱动设计简介(上篇)
uml
其他
今天的企业应用程序无疑是复杂的,需要依靠一些专门技术(持久性,AJAX,Web服务等)来完成他们的工作。作为开发人员,我们倾向于关注这些技术细节,这是可以理解的。但事实是,一个不能解决业务需求的系统对任何人都没用,无论它看起来多么漂亮或者如何很好地构建其基础设施。
lyb-geek
2022-03-10
377
0
微服务之间如何进行数据共享
数据库
sql
微服务
其他
有些静态数据库表,比如国家,可能会被很多程序使用,而且程序内部需要对国家表进行连接(join),以生成最终用户显示的数据,这样用微服务调用的方式效率不高,影响性能。一种方法是在每一项微服务中配置一个这样的表格,它只读,这样就可以进行数据库连接。您必须确保数据同步。大多数情况下,这种方案都是可接受的,因为有以下两点:
lyb-geek
2021-11-17
2.4K
0
实战篇:Binlog 的三个业务应用场景
缓存
云数据库 SQL Server
其他
数据库
sql
binlog是mysql的一种二进制日志文件,用来记录数据的变化。mysql使用binlog进行主从复制,如图:
lyb-geek
2019-09-08
812
0
Spring Cloud集中环境中开发如何避免服务冲突
微服务
php
其他
使用中央环境开发Spring Cloud微服务,同时避免服务冲突。开发人员如何在同一个中央弹簧云环境中同时工作并且仍然不会互相干扰?
lyb-geek
2019-05-07
1.2K
0
测试微服务的4个最佳实践
其他
随着微服务架构的出现,应用程序堆栈发生了根本性的变化,这对软件测试产生了连锁反应。每天多次发布微型版本,软件测试更加精细,它与开发同时发生,并且与测试单体应用程序有根本的不同。
lyb-geek
2018-12-28
656
0
6种办法实现精益软件
其他
最近,我浏览了公司的代码库,发现它有三个版本的仪表板,都是用于分析页面,我很确定客户不需要那样做。这引发了我幼稚脑中的一些事情,我开始在互联网上寻找相关的想法。就在那时,我发现了这篇古老的论文:“为精益软件辩护”。 这篇文章提出的观点很大程度上与我共鸣。 介绍 与10年前的类似功能软件相比,我们今天写的软件很大,运行任何现代软件所需的内存和资源都非常高,增强的用户体验和功能只是增加的大小的一部分,原因还有更多。 所有现代设计模式、代码架构等都是教会我们如何应对这种复杂性,而不可能从根本上消灭它。 两条法则非常准确地反映了软件的状态: 1. 内存越来愈大,软件扩展了才能填充可用内存。 2. 硬件却变得越来越快,但是软件变得慢更多。 简化软件的方法在于用训练有素的方法将其返回本质。 “FAT软件”的原因 导致复杂性的一个主要原因是软件拥有的功能太多,这些不一定都是使用时所必需的功能,我们不断添加新功能和扩展,并且与原始系统的任何不兼容性将被忽略或传递无法识别。 当系统的强大到通过功能数量来衡量时, 数量变得比质量更重要 ,每个新版本都必须添加功能,即使它真的不需要添加任何功能。 1.所有功能,所有时间 软件的单体设计是使软件复杂化的主要原因之一,每个可以想象得到的功能都是系统设计的一部分,随着时间的推移,大多数功能都变得无关紧要,但会继续对系统产生影响。 2.对某些人来说,复杂性就是力量。 当我建议将去除一些不必要的灵活性并使事情标准化以降低复杂性和提高可维护性时,PM当时的反应至今记忆犹新。 不可理解性应引起人们的怀疑,而不是钦佩。 3.没有足够的时间 时间压力是笨重软件的首要原因。我们没有足够的时间从代码中删除已弃用的功能并改进我们认为可接受的解决方案。 六种办法帮助保持软件“精益” 1. 强类型语言 使用强类型语言有助于以更简单的方式设计复杂系统,它允许编译器精确定位错误和接口,并且可以更自信地使用和更改抽象。 2.找到适当的分解 系统应该被分解成模块,模块应该被分解成组件,组件应该有单一的责任,整个系统应该在层次结构中进行分解,同时最小化复杂性并且去除重复代码。 3.可扩展性 可扩展性是保持系统从一开始就简化的先决条件。它还允许定制系统以适应新的更改和删除已弃用的扩展。 4.永远不应该构建复杂的软件 认为复杂系统需要设计师和程序员的纪律是不正确的,完全无法理解的系统,至少在单个个体的重要程度上,应该永远不会建立起来。 5.沟通是关键 随着时间的增长,沟通问题变得占主导地位,复杂的团队结构促成复杂的软件。 6.降低复杂性应该是目标 降低软件的复杂性和规模应该是每个开发步骤的目标,在系统规范中,对于详细的编程设计 - 每个步骤都必须有意地消除系统中任何不必要的复杂性。 结论 本主题确实触及了软件团队的敏感神经,当我和我的团队讨论这个时,他们的回答就是“不同意,这是销售需要的功能。“,”现在没有必要保持软件小。我们拥有更大的机器和更好的工具“等借口。 我明白了。我在某种程度上也不会同意,但不是因为保持软件精益是错误的,而是因为它很难,尽管如此,我希望在设计系统时牢记这些想法应该可以减少软件的复杂性。
lyb-geek
2018-12-21
505
0
Web安全漏洞之CSRF
安全
网站
存储
http
其他
在了解 CSRF 之前我们需要科普两个前提。首先是登录权限验证的方式有很多种,目前绝大多数网站采用的还是 session 会话任务的方式。session 机制简单的来说就是服务端使用一个键值对记录登录信息,同时在 cookie 中将 session id(即刚才说的键)存储到 cookie 中。另外我们又知道浏览器中 HTTP(s) 请求是会自动帮我们把 cookie 带上传给服务端的。这样在每次请求的时候通过 cookie 获取 session id,然后通过它在服务端获取登录信息即可完成用户权限的校验。
lyb-geek
2018-12-20
519
0
MySQL索引设计不可忽视的知识点
其他
本文主要讨论MySQL索引的部分知识。将会从MySQL索引基础、索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开。
lyb-geek
2018-12-20
434
0
Java程序性能优化之编程技巧总结
其他
程序的性能受代码质量的直接影响。在本文中,主要介绍一些代码编写的小技巧和惯例,这些技巧有助于在代码级别上提升系统性能。
lyb-geek
2018-12-20
490
0
唯品会架构师是如何实现架构重构的
存储
云数据库 SQL Server
数据库
电商
其他
随着唯品会业务的快速发展,订单量的不断增长,原有的订单存储架构已经不能满足公司的发展了,特别是在大促高峰期,原订单库已经成为抢购瓶颈,已经严重制约公司的发展。
lyb-geek
2018-12-19
945
0
软件设计美学的几个要点
其他
软件的总体设计美学: 1)简单:为了每个人的利益,找到最简单的问题形式。这适用于所有级别。简单意味着专注于一件事。这种关注于一件事的自然结果是紧凑性。您可以通过询问“这个问题的哪些陈述包括我们关心的所有内容并排除我们不关心的所有内容?”来找到问题的简单形式。然后“总结该声明中包含的所有数据的简洁方法是什么?”。如果您的问题有任何“复杂性”,那么我们将要将其缩减为许多可以很好地协同工作的简单部分。 2)模块化:将简单的问题陈述划分为一组广义的子问题,这些子问题最容易自然地表达完整的图像。每个子问题由程序逻辑的一个“模块”解决。这有很多好处,但最突出的是它允许您一次关注问题的一个方面。这使得解决复杂问题成为可能,并且可能是普遍“分而治之”战略的基础。 3)正交性:分离是简单性在问题分解中表达的方式。当两个东西是正交的时,它的字面意思是它们是“平行的”,因此可以独立地改变。软件模块的独立性是以最小的努力产生最大杠杆的手段。这些正交模块也应该简单,再一次意味着集中在一件事上。如果这种关注成功,那么模块应该获得表达,可测试性和可重用性的自然清晰度。 4)可组合性:为正交的简单模块设计干净的接口,使它们可以相互配合,也可以与任何其他系统配合使用。在设计接口时,支持简单和通用的i / o格式,旨在为将来调用模块的程序员提供最不令人惊讶的用户体验。使用简洁描述模块的单一焦点的命名约定。
lyb-geek
2018-12-19
811
0
Spring Boot配置特定属性spring.profiles
其他
SpringBoot能使用application- {你的自定义profile名称myProfileName} .properties模式添加任何你指定配置文件到其属性文件。 要加载特定的配置文件属性文件,我们可以使用命令行选项-Dspring.profiles.active = myProfileName。 缺省默认SpringBoot是加载application.properties,无需任何-Dspring.profile.active选项,或使用-Dspring.profiles.active =
lyb-geek
2018-12-19
1.8K
0
使用Spirng Boot Admin监控Spring Cloud应用项目
其他
Spring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件。每个应用都认为是一个客户端,通过HTTP或者使用 Eureka注册到admin server中进行展示,Spring Boot Admin UI部分使用AngularJs将数据展示在前端。
lyb-geek
2018-12-14
1.5K
0
不要这样写SQL 改掉这些坏习惯
其他
SQL是作为一个程序员接触得非常多的一种语言,但是,很多时候,我们会发现,有些SQL的执行效率异常的差,造成了数据库的负担。我们通过分析这些有问题的SQL,就可以发现很多我们平时在写SQL的时候忽略的问题。
lyb-geek
2018-12-14
408
0
Spring Boot DevTools使用教程
spring
maven
gradle
其他
DevTools通过提供自动重启和LiveReload功能,使您更快、更轻松地开发Spring Boot应用程序。除此之外,它还将各种属性设置为更适合本地开发的值。此外,它允许您远程连接到您的应用程序,并仍然使用其大部分功能。在生产中运行时,不要使用DevTools。 如何使用DevTools进一步加快Spring Boot开发速度?你需要做的就是添加正确的依赖关系,与Spring Boot一样,设置非常简单。 如果您使用Maven:
lyb-geek
2018-12-13
11.1K
0
MySQL锁
云数据库 SQL Server
数据库
存储
其他
MySQL的锁机制,就是数据库为了保证数据的一致性而设计的面对并发场景的一种规则。
lyb-geek
2018-12-12
1.8K
0
springcloud hystrix dashboard使用
其他
什么是hystrix dashboard hystrix dashboard是一款由netfilx提供的,基于hystrix Commond,并将hystrix commond收集到的服务健康信息以图
lyb-geek
2018-12-12
929
0
springcloud turbine与hystrix dashboard集成使用
其他
注:如果是使用新版的eureka客户端依赖,则无需加上@EnableDiscoveryClient注解
lyb-geek
2018-12-12
1.9K
0
如何提高网站的可访问性?
其他
关于可访问性的错误观念 可访问性影响所有用户,而不仅仅是那些有特定障碍的用户。接受这一点意味着实现可访问性就是建立压力案例。压力案例指的是影响任何一个人的任何医疗或任何情境状况,无论是什么场景时间点。一些常见的压力案例原因是:
lyb-geek
2018-12-11
1.4K
0
Spring Boot命令行运行器
其他
CommandLineRunner是一个带有run方法的简单spring引导接口。Spring Boot启动后将自动调用实现CommandLineRunner接口的所有bean的run方法。
lyb-geek
2018-12-11
1.2K
0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档