- 动手实践OpenHands系列学习笔记11:现代开发流程
笔记11:现代开发流程一、引言现代软件开发流程是确保高质量代码交付和团队协作的关键基础。随着软件开发复杂度的增加,自动化工具链和规范化流程变得尤为重要。本笔记将探讨CI/CD管道设计原理,分析OpenHands项目的开发流程,并通过实践搭建一个简化版的OpenHands开发环境。二、CI/CD管道设计理论2.1持续集成(CI)基本概念定义:频繁地将代码集成到主分支,并自动化验证每次集成核心原则:频
- 第5章:Python编码规范:遵循PEP8打造高质量代码
DogDog_Shuai
python运维数据库
第5章:Python编码规范:遵循PEP8打造高质量代码作者:Python进阶者阅读时间:约30分钟难度:入门目录1.引言2.PEP8是什么3.代码布局4.命名规范5.编程建议6.注释与文档字符串
- 软件开发工程师使用 DeepSeek 的实用指南
在软件开发领域,效率与创新是推动项目成功的核心动力。DeepSeek作为一款具备深度代码理解能力的AI工具,能为开发工程师提供全流程技术支持,显著提升研发效能与交付质量。以下从实际应用场景出发,详细说明如何将DeepSeek深度融入开发工作流。一、代码编写与优化1.智能代码生成编码环节中,DeepSeek可基于精确需求描述生成高质量代码片段,大幅减少重复劳动。例如:基础功能:输入"Java实现两个
- 深入理解 Spring 单元测试:@SpringBootTest、@Value 注入、@MockBean 使用实战与陷阱
drebander
springspring单元测试
Spring是目前最流行的Java企业级开发框架之一,而良好的单元测试是高质量代码的重要保障。尤其在实际开发中,我们经常会碰到诸如@Autowired空指针、Nacos配置项@Value注入失败、Mapper测试困难等问题。本文将围绕Spring单元测试的完整体系,结合以下关键要点进行讲解:@SpringBootTest的作用与最佳实践@Autowired注入空指针的常见原因与解决@Value注入
- C#最佳实践:仅暴露必须暴露的成员
阿蒙Armon
C#最佳实践microsoftc#javajavascripttypescript
C#最佳实践:仅暴露必须暴露的成员在C#编程的复杂生态中,类成员的合理暴露是构建高质量代码的重要一环。“仅暴露必须暴露的成员”这一原则,如同守护代码城堡的卫士,能有效减少不必要的耦合,提升系统的安全性和稳定性。接下来,我们深入探讨这一原则在C#编程中的内涵、优势、应用场景及实践要点。一、理解“仅暴露必须暴露的成员”在C#中,一个类可以包含字段、属性、方法等多种成员。当我们将类的成员设置为publi
- 软件设计与软件工程(1)-优秀代码
yyc_audio
软件工程
优质代码的外部特征好的代码特征可以分为外部特征和内部特征。其中,外部特征是高质量代码应有的外在表现,从结果角度衡量。对这些特征的判断无须深入代码,即使是一个不懂软件的人,也能从外部感知到。内部特征则体现了代码是否“专业”,从代码的内部质量角度衡量。经验丰富的软件工程师,只需要大致读一下代码,就能感知到代码的大致质量。优质代码的外部特征可以概括为以下5条。.实现了期望的功能。(实现了需求要求的功能)
- AlphaCode:人工智能编程的突破性进展
亿只小灿灿
人工智能人工智能AlphaCode
AlphaCode是DeepMind开发的人工智能系统,专注于解决编程挑战和生成高质量代码。它代表了AI在代码生成领域的重大突破,能够理解问题描述并生成高效、正确的解决方案。本文将深入探讨AlphaCode的技术原理、应用场景及代码实现示例。1.AlphaCode技术原理AlphaCode基于Transformer架构,采用了大规模无监督预训练和有监督微调相结合的方法。其核心创新点包括:大规模代码
- Java编码标准的深度解析:构建高质量代码的艺术与科学
墨夶
Java学习资料1javapython开发语言
在当今竞争激烈的软件开发领域,编写既高效又易于维护的Java代码已成为每个开发者的追求。良好的编码标准不仅能提升团队协作效率,还能确保项目在未来几年内保持健壮性和可扩展性。本文将深入探讨Java编程语言中的编码规范,包括命名约定、代码布局规则、注释习惯等方面的最佳实践,并结合具体示例展示如何应用这些原则来创建清晰、一致且高效的程序。Java编码标准的重要性随着Java应用程序变得越来越复杂,遵循统
- 提升 Python 代码质量的 7 大工具
真智AI
python代码规范
你是否遇到过这些问题?代码终于跑通了,但上线后却发现了Bug?代码审查时,难以理解团队成员的编码风格?编写“可运行的代码”只是第一步,真正的挑战是编写易维护、可扩展的高质量代码。幸运的是,有一系列工具可以帮助你提升代码质量,让你专注于实际应用开发。在本文中,我们将介绍7款Python工具,它们能帮助你优化代码风格、检测错误、提升安全性,并确保代码质量。1.Pylint或Ruff–代码风格检查&错误
- 谷歌的 Gemini Code Assist:革新 GitHub 上的开发者工作流程
李孟聊人工智能
AIAgents实战github人工智能AIgooglegeminipython
在当今快速发展的技术领域,开发者面临着以前所未有的速度交付高质量代码的巨大压力。谷歌的GeminiCodeAssist正是应运而生—一款强大的AI编程助手,现已在GitHubMarketplace上推出,正在改变开发者编写、审查和维护代码的方式。什么是GeminiCodeAssist?GeminiCodeAssist代表着谷歌在竞争激烈的AI编程助手领域的最新尝试。它基于谷歌先进的Gemini大型
- JVM 探秘:我的 Java 虚拟机深度学习之旅(架构、内存、GC 全解析)
Wilson Chen
jvmjava架构
很多Java开发者可能每天都在写着newObject(),运行着SpringBoot应用,但对支撑这一切的底层基石——JVM却不甚了解。为什么要深入学习JVM呢?对我而言,理解它意味着:性能调优有的放矢:不再是玄学调优,而是知道瓶颈在哪。疑难杂症快速定位:遇到OOM、StackOverflow不再手足无措。编写高质量代码:理解内存模型,写出更健壮高效的代码。面试加分利器:JVM是大厂面试高频考点,
- 如何用好“对话式编程”?牢记这十二条策略
编者按:如何有效利用大语言模型(LLMs)生成高质量代码?这是当下开发者们比较关心的一个问题。在生成代码的过程中,提示词的设计是否精确,直接决定了模型输出的质量。本文深入探讨了提示词优化的12条策略,给出了清晰的操作指南和示范案例,读者可以了解到如何通过精准编写提示词引导模型生成性能优越、符合实际需求的代码。作者|AyushThakur@Potpie(https://github.com/potp
- Python核心编程深度解析:作用域、递归与匿名函数的工程实践
Python×CATIA工业智造
pythonpycharm
引言Python作为现代编程语言的代表,其作用域管理、递归算法和匿名函数机制是构建高质量代码的核心要素。本文基于Python3.11环境,结合工业级开发实践,深入探讨变量作用域的内在逻辑、递归算法的优化策略以及匿名函数的高效应用,助力开发者掌握专业级编程技巧。一、变量作用域机制与内存模型1.1作用域层次与LEGB规则Python采用四层作用域模型(LEGB),按优先级顺序解析变量:L(Local)
- 从初级到高级前端:如何写出高质量代码,迈向职业新高度
小贺要学前端
前端vue
作为初级前端,你是否遇到过这样的尴尬:辛辛苦苦写的代码,被同事吐槽“看不懂”?改个Bug,结果改出三个新Bug?入职一年后,感觉自己停滞不前,职业方向一片迷雾?别慌!从初级到高级前端,关键在于写出高质量代码和明确职业路径。这篇文章带你一步步进阶,告别迷茫!初级前端:写出“能跑”的代码刚入行的你,可能还在苦练HTML、CSS、JavaScript,或者刚学会React/Vue的基本用法。初级前端的目
- Python 代码质量:最佳实践与工具(3)
CS创新实验室
Pythonpython开发语言
之前已经就本文话题写了两篇:Python代码质量:最佳实践与工具(1)Python代码质量:最佳实践与工具(2)本篇内容是接着《Python代码质量:最佳实践与工具(2)》的【在Python中应用高质量代码的最佳实践】继续列举最佳实践项目。代码检查工具(Linters)Python社区开发了一些工具,称为代码检查工具(linters),你可以设置并使用它们来检查代码的不同方面。代码检查工具会分析代
- Python 代码质量:最佳实践与工具(1)
CS创新实验室
Pythonpython
定义代码质量谁都希望能写出高质量的代码,但什么是代码质量?事实证明,对这个术语可谓是仁者见仁、智者见智。一种理解方式是从质量的两个极端来分析:低质量代码:它具有最低限度要求的特性以实现功能性。高质量代码:它具备所有必要的特性,能够可靠、高效且有效地运行,同时还易于维护。在接下来的内容中,将就这两种质量分类及其定义特征给予详细讨论。低质量代码低质量代码通常仅具备最低限度的功能性特征。它可能不够优雅、
- 设计模式六大原则,带你看懂编程的底层逻辑
coderzpw
算法+数据结构+设计模式设计模式设计模式
设计模式六大原则,带你看懂编程的底层逻辑一、单一职责原则(SRP)[各司其职,简洁高效]二、开闭原则(OCP)[拥抱扩展,拒绝修改]三、里氏替换原则(LSP)[子类上位,无缝衔接]四、依赖倒置原则(DIP)[面向抽象,解耦神器]五、接口隔离原则(ISP)[按需定制,拒绝冗余]六、迪米特法则(LoD)[保持距离,降低耦合]总结设计模式六大原则是构建高质量代码的基石,但很多教材中的例子过于抽象,导致理
- DeepSeek-R2模型传闻解析:技术突破与官方辟谣背后的AI竞赛
每天做一点改变
人工智能
2025年3月,人工智能领域因一则传闻掀起波澜:中国AI公司深度求索(DeepSeek)或将于3月17日提前发布下一代模型DeepSeek-R2。尽管官方已紧急辟谣,但技术细节和市场反应仍值得深入探讨。一、传闻中的技术突破多家媒体报道称,DeepSeek-R2在以下领域实现显著提升:编程能力:可高效生成高质量代码,支持算法优化与复杂软件开发,降低开发者负担。多语言推理:突破英语限制,支持跨语言复杂
- 深入解析 JVM —— 从基础概念到实战调优的全链路学习指南
总是学不会.
JVMjvmjava开发后端
文章目录一、为什么要学习JVM?1.面试必备与技能提升2.性能优化与问题诊断3.编写高质量代码二、JVM基础概念与体系结构1.JVM简介2.JDK、JRE与JVM三、JVM内存模型1.线程私有区2.线程共享区四、类加载机制与双亲委派1.类加载过程2.双亲委派模型3.动态加载与反射五、垃圾回收机制与调优策略1.分代收集思想2.常见垃圾回收算法3.主流垃圾收集器4.JVM调优六、JIT编译与代码优化1
- 【设计原则】依赖倒置(DIP):构建松耦合的高质量代码
OpenSeek
#设计原则编程基础依赖倒置原则设计原则
依赖倒置构建松耦合的高质量代码一、从紧耦合的代码说起二、依赖倒置原则的核心要义三、C#实现DIP的三步实践步骤1:定义抽象接口步骤2:实现具体细节步骤3:通过依赖注入实现控制反转四、依赖注入的三种实现方式1.构造函数注入(推荐)2.属性注入3.方法注入五、ASP.NETCore中的最佳实践六、DIP带来的四大优势七、避免常见误区八、设计原则的平衡艺术九、总结一、从紧耦合的代码说起让我们从一个典型的
- Visual Studio插件大全推荐
ysdysyn
visualstudioide
给大家推荐一下VisualStudio插件,它们能够提升开发效率、改善代码质量,并增强开发体验:开发效率提升类Resharper一款强大的生产力工具,提供代码自动完成、重构、代码检查、导航等功能。能深入理解代码结构,给出更准确的补全建议和错误检查,帮助开发者编写高质量代码,但比较占用内存.CodeRush具有丰富的代码生成模板和快捷方式,可快速生成属性、方法、构造函数等代码结构,还提供智能代码导航
- 【PromptCoder】使用 package.json 生成 cursorrules
正宗咸豆花
jsonprompt人工智能个人开发
【PromptCoder】使用package.json生成cursorrules在当今快节奏的开发世界中,效率和准确性至关重要。开发者们不断寻找能够优化工作流程、帮助他们更快编写高质量代码的工具。Cursor作为一款AI驱动的代码编辑器,正在彻底改变我们的编程方式。但如果我告诉你,有一种方法可以让Cursor变得更加智能,更加贴合你的项目需求呢?这就是CursorRules的作用。我们将探讨如何利
- 个人职业发展——AI赋能,高效提升代码质量
前端
在快速发展的软件行业,程序员的职业发展面临着巨大的挑战。技术更新迭代日新月异,竞争异常激烈,程序员需要持续学习和提升自身技能,才能保持竞争力。而高质量代码则是程序员职业发展的基石,它直接影响着工作效率、项目成功率以及个人职业口碑。本文将探讨如何利用AI写代码工具,例如AI代码生成器等,来提升代码质量,从而促进个人的职业发展。代码质量提升的困境与AI的解决方案程序员在日常工作中常常会遇到一些痛点,这
- Go语言初上手(三)编码规范与性能优化 | 青训营
余cos
笔记golang开发语言后端
本节课讲了如何写出更简洁清晰的代码,每种语言都有自己的特性,也有自己独特的代码规范,对于Go来说,有哪些性能优化的手段、趁手的工具,也都进行了介绍。高质量代码需要具备正确可靠、简洁清晰的特性正确性:各种边界条件是否考虑完备、错误的调用能否被处理可靠性:异常情况或错误处理明确,依赖的服务异常能够及时处理简洁:逻辑是否简单、后续新增功能是否能够快速支持清晰可读:其他人阅读理解代码时是否能清楚明白、重构
- 高质量代码的原则
前端后端运维程序员安全
原文链接:编程的原则:改善代码质量的101个方法简单性原则What:追求简单自始至终都以最简单的逻辑编写代码,让编程初学者一眼就能看懂。在编程时我们要重视的是局部的完整性,而不是复杂的整体关联性。Why:Bug喜欢出现在复杂的地方软件故障常集中在某一个区域,而这些区域都有一个共同的特点,那就是复杂。编写代码时如果追求简单易懂,代码就很难出现问题。不过,简单易懂的代码往往给人一种不够专业的感觉。这也
- 掌握这些方法,你的代码一定会在变废的路上一去不复返~
沐森老师
用手机写编码,绝对不用电脑编码。电脑可以用的为什么手机不能用?即使运行不了,你也不要在电脑上写代码,这样你的代码才能变成垃圾代码。学习时不要预习提前预习所要学的知识只是浪费时间而已,你应当利用更多的时间敲垃圾代码。什么都学一点省下预习的时间,你也可以在各个领域涉猎,在基础未打扎实之前,多学习不同的知识。看到题目就直接写代码编写高质量代码是这样一个流程:先想好思路、规划可行性、编写代码、验证、修改。
- 设计模式学习笔记 - 学前简述
陈建111
设计模式-实战设计模式
1.为什么学习设计模式?学习设计模式的原因:应对面试中的设计模式相关问题;写出高质量代码,告别让人吐槽的烂代码;提高复杂代码的设计和开发能力让读源码、学习框架爱事半功倍;为职场发展铺垫。设计模式作为一门与编码、开发有着直接关系的基础知识,是你现在就要开始学习的。早点学习,以后的项目就都可以拿来锻炼,每写一行代码都是对内功的利用和加深,是可以收益整个事业生涯的一个技能。2.如何写出高质量代码,如何评
- 03 - 面向对象、设计原则、设计模式、编程规范、重构
舍是境界
要具备编写高质量代码的能力,你需要学习一些编程方法论,其中就包含面向对象(我们可以把它看成一种设计思想)、设计原则、设计模式、编程规范、重构技巧等接下来的内容围绕着这几块展开讲解,本文先来简单介绍一下这几个概念,并且说一说它们之间的联系面向对象主流的编程范式或者是编程风格有三种,它们分别是面向过程、面向对象和函数式编程。面向对象这种编程风格又是这其中最主流的。现在比较流行的编程语言大部分都是面向对
- 【从Jest入门到 TDD,BDD双实战】整体学习介绍①
不停喝水
#【Jest自动化测试】react.js前端vue.jsjest自动化测试
一:前端要学的测试Jest入门TDD实战BDD实战二:前端工程化的一部分前端自动化测试高质量代码设计高质量代码实现三:前端自动化测试的例子VueEchartsReactAnt-Design这些都有使用到了自动化测试1.比如Lodash2.比如Redux四:前端为什么需要自动化测试?1.该需求时,代码重构:导致修复时间长,成本高2.自动化测试,修复时间少,难度低五:涵盖内容2.学习安排六:学习前置需
- 2018W1 | 5.14-5.20 | 周总结
Levi段玉磊
工作主要完成了大部分UI方面的工作,完成游戏结算页面的功能以及UI。做了一个H5游戏下载器,并与客户端以及服务端同事进行联调。读完《编写高质量代码的52个有效方法》这本书。对KVO/KVC机制有了更加深度的理解电影黑衣人1最打动人的情节,莫过于K探员为自己的工作奔劳了30多年,最终为了家庭,放弃所有,哪怕是30年的记忆,只因为爱,不忘初心。那我们工作的目的是为了什么?阅读精进:如何成为一个很厉害的
- 戴尔笔记本win8系统改装win7系统
sophia天雪
win7戴尔改装系统win8
戴尔win8 系统改装win7 系统详述
第一步:使用U盘制作虚拟光驱:
1)下载安装UltraISO:注册码可以在网上搜索。
2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文
- BeanUtils.copyProperties使用笔记
bylijinnan
java
BeanUtils.copyProperties VS PropertyUtils.copyProperties
两者最大的区别是:
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp
- MyEclipse中文乱码问题
0624chenhong
MyEclipse
一、设置新建常见文件的默认编码格式,也就是文件保存的格式。
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。
Window-->Preferences-->General -
- 发送邮件
不懂事的小屁孩
send email
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
- 动画合集
换个号韩国红果果
htmlcss
动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程
1 transition 制作鼠标滑过图片时的放大效果
css
.wrap{
width: 340px;height: 340px;
position: absolute;
top: 30%;
left: 20%;
overflow: hidden;
bor
- 网络最常见的攻击方式竟然是SQL注入
蓝儿唯美
sql注入
NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占
- java笔记2
a-john
java
类的封装:
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据)
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。
4,封装的特性:
4.1设置
- [Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”
aijuans
学习Android遇到的错误
最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。
我就看了一下,和她要了psd的文件,还好我有一点
- 自己写的一个繁体到简体的转换程序
asialee
java转换繁体filter简体
今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。
实现的思路是重载request的调取参数的几个方法,然后做下转换。
- android意图和意图监听器技术
百合不是茶
android显示意图隐式意图意图监听器
Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图;不指明调用的名称,根据设
- spring3中新增的@value注解
bijian1013
javaspring@Value
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:
1.首先在applicationContext.xml中加入:
<beans xmlns="http://www.springframework.
- Jboss启用CXF日志
sunjing
logjbossCXF
1. 在standalone.xml配置文件中添加system-properties:
<system-properties> <property name="org.apache.cxf.logging.enabled" value=&
- 【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码
bit1129
centos
编译必需的软件
Firebugs3.0.0
Maven3.2.3
Ant
JDK1.7.0_67
protobuf-2.5.0
Hadoop 2.5.2源码包
Firebugs3.0.0
http://sourceforge.jp/projects/sfnet_findbug
- struts2验证框架的使用和扩展
白糖_
框架xmlbeanstruts正则表达式
struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式:
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述;
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。
本文介绍一下struts2通过xml文件进行校验的方法并说
- 记录-感悟
braveCS
感悟
再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。
2015-1-11 1. 能在工作之余学习感兴趣的东西已经很幸福了;
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展;
3. 多反省多思考;要会用工具,而不是变成工具的奴隶;
4. 一天内集中一个定长时间段看最新资讯和偏流式博
- 编程之美-数组中最长递增子序列
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class LongestAccendingSubSequence {
/**
* 编程之美 数组中最长递增子序列
* 书上的解法容易理解
* 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
* 然后求排序后的数组与原数
- 读书笔记5
chengxuyuancsdn
重复提交struts2的token验证
1、重复提交
2、struts2的token验证
3、用response返回xml时的注意
1、重复提交
(1)应用场景
(1-1)点击提交按钮两次。
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。
(1-3)刷新页面
(1-4)使用浏览器历史记录重复提交表单。
(1-5)浏览器重复的 HTTP 请求。
(2)解决方法
(2-1)禁掉提交按钮
(2-2)
- [时空与探索]全球联合进行第二次费城实验的可能性
comsci
二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验
至今给我们大家留下很多迷团.....
关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了
在这里,我的意思是,现在
- easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
daizj
oracleORA-12154
用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下:
C:\Users\Administrator>sqlplus username/
[email protected]:1521/orcl
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012
Copyright (c) 198
- 简单排序:归并排序
dieslrae
归并排序
public void mergeSort(int[] array){
int temp = array.length/2;
if(temp == 0){
return;
}
int[] a = new int[temp];
int
- C语言中字符串的\0和空格
dcj3sjt126com
c
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们
- 解决Composer国内速度慢的办法
dcj3sjt126com
Composer
用法:
有两种方式启用本镜像服务:
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1”
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2”
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下 1 2 3 4 5
- 高效可伸缩的结果缓存
shuizhaosi888
高效可伸缩的结果缓存
/**
* 要执行的算法,返回结果v
*/
public interface Computable<A, V> {
public V comput(final A arg);
}
/**
* 用于缓存数据
*/
public class Memoizer<A, V> implements Computable<A,
- 三点定位的算法
haoningabc
c算法
三点定位,
已知a,b,c三个顶点的x,y坐标
和三个点都z坐标的距离,la,lb,lc
求z点的坐标
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求
但是,由于三个点的距离可能不准,不一定会有结果,
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1
运行
gcc -lm test.c
test.c代码如下
#include "stdi
- epoll使用详解
jimmee
clinux服务端编程epoll
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu
- Hibernate对Enum的映射的基本使用方法
linzx0212
enumHibernate
枚举
/**
* 性别枚举
*/
public enum Gender {
MALE(0), FEMALE(1), OTHER(2);
private Gender(int i) {
this.i = i;
}
private int i;
public int getI
- 第10章 高级事件(下)
onestopweb
事件
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- 孙子兵法
roadrunners
孙子兵法
始计第一
孙子曰:
兵者,国之大事,死生之地,存亡之道,不可不察也。
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校
之以计,而索其情,曰
- MySQL双向复制
tomcat_oracle
mysql
本文包括:
主机配置
从机配置
建立主-从复制
建立双向复制
背景
按照以下简单的步骤:
参考一下:
在机器A配置主机(192.168.1.30)
在机器B配置从机(192.168.1.29)
我们可以使用下面的步骤来实现这一点
步骤1:机器A设置主机
在主机中打开配置文件 ,
- zoj 3822 Domination(dp)
阿尔萨斯
Mina
题目链接:zoj 3822 Domination
题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。
解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理