- C#程序唯一性守护:用互斥锁(Mutex)实现进程级安全控制的实战指南
为什么程序重复启动是个"毒瘤"?在软件开发中,程序重复启动可能导致以下灾难性后果:资源冲突:多个实例争夺数据库连接、文件句柄等有限资源数据污染:并发写入配置文件导致内容错乱界面混乱:多个窗口同时弹出,用户体验崩坏安全漏洞:恶意程序通过伪造实例窃取数据而互斥锁(Mutex)是Windows/Linux系统提供的原生机制,能完美解决这些问题。相比文件锁、注册表标记等传统方案,Mutex具有以下不可替代
- Python设计模式:适配模式
niuguangshuo
python基础python设计模式开发语言
1.适配模式(AdapterPattern)详解适配模式(AdapterPattern)是一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一种接口。适配模式使得原本由于接口不兼容而无法一起工作的类可以协同工作。换句话说,适配模式充当了一个桥梁,允许不同接口的类之间进行交互。在软件开发中,常常会遇到需要使用现有类的情况,但这些类的接口与我们需要的接口不匹配。适配模式提供了一种解决方案,
- C#软件开发规范:从代码到实践的全面指南
jie sherry
本文还有配套的精品资源,点击获取简介:《C#经典软件开发规范》详细介绍了在企业中实行软件开发的最佳实践,包括编码、设计、文档和测试等方面。该规范着重于提升代码质量、可维护性和团队效率。关键知识点包括命名规范、注释规范、代码结构、异常处理、错误检查、代码简洁性、单元测试、版本控制、设计模式、代码审查、性能优化、并发与多线程、日志记录、安全性和持续集成/部署(CI/CD)。遵循这些规范有助于创建健壮的
- 《Google软件测试之道》告诉你什么是测试
程序媛木子
Google软件测试介绍1.Google的测试团队并非雄兵百万,我们更像是小而精的特种部队,我们依靠的是出色的战术和高级武器2.在Google,写代码的开发人员也承担了测试的重任.质量从来就不仅仅是一些测试人员的问题,每个写代码的开发者本身也是测试者,质量在名义上也是由这样的开发测试组合共同承担3.Google团队由SWE(软件开发工程师),SET(测试开发工程师),TE(测试工程师)组成4.在G
- 自己开发QEMU硬件模拟器 - 概念篇
EE工程师
硬件仿真模拟arm开发嵌入式硬件c语言开源软件
前言-独特的软件开发 在正式写这篇博客前,我想给读者分享一篇新思科技SYNOPSYS的文章《虚拟原型设计:加速SoC的关键嵌入式软件开发》中的一段,完整的内容读者可查看链接:虚拟原型设计:加速SoC的关键嵌入式软件开发在现代SoC设计中,整个设计过程中软件开发部分的时间和成本很容易超过硬件部分。除此之外,设计性能直接受到器件上运行的软件的影响,因此验证和优化嵌入式软件的性能和功耗至关重要。但是,
- Excel处理控件Aspose.Cells指南:使用 Python 删除 Excel 中的重复行
CodeCraft Studio
文档管理控件pythonexcel开发语言
在Excel中删除重复行对于维护干净、准确和一致的数据集至关重要。它可以确保一致性,并有助于防止分析或报告中出现错误。重复数据会导致错误的分析和糟糕的决策。因此,识别和消除重复数据的能力对于软件开发人员、数据分析师和Excel用户来说是一项宝贵的技能。在本篇博文中,我们将向您展示如何使用Python以编程方式删除Excel工作表中的重复行。Python库用于删除Excel中的重复行Aspose.C
- 软件测试基础知识总结(超详细的)
天才测试猿
测试工具职场和发展软件测试自动化测试单元测试测试用例功能测试
一、软件测试概述1、什么是软件定义:计算机系统中与硬件相互依存的一部分(程序+数据+相关文档)程序:按事先设计的功能和性能要求执行的指令序列数据:使程序能正常操纵信息的数据结构文档:与程序开发、维护和使用有关的图文资料2、软件工程的内容主要分为软件开发技术(方法+过程+工具+环境)和软件开发管理3、软件的生命周期可行性研究和计划(立项)需求分析概要设计(测试计划)详细设计(测试方案)实现(开发阶段
- Java网络编程基础(TCP/IP协议、Socket编程)
扬子鳄008
Java网络javatcp/ip
Java网络编程是现代软件开发中的一个重要组成部分,尤其是在构建分布式系统和网络服务时。Java提供了丰富的网络编程API,使得开发者能够轻松地实现各种网络通信功能。本文将详细介绍Java网络编程的基础知识,包括TCP/IP协议和Socket编程的基本概念和实现方法。TCP/IP协议简介TCP/IP(传输控制协议/互联网协议)是一组用于网络通信的标准协议集。它由多个层次组成,每个层次负责不同的功能
- 软件工程学概述:从危机到系统化工程的演进之路
耐思nice~
软件工程导论-张海藩软件工程
在数字化时代,软件已渗透到生活的方方面面。可你是否遇到过这样的情况:一款期待已久的软件,上线后却频繁崩溃、漏洞百出,不仅影响使用体验,还可能造成巨大损失?这背后,或许就与“软件危机”有着千丝万缕的联系。今天,我们就一同走进软件工程的世界,探寻其发展脉络与核心知识。一、软件危机1.1软件危机的介绍软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题主要表现在:软件开发成本和进度
- Android高级技能(一):CI/CD与自动化构建
半夜偷你家裤衩子
Androidandroidci/cd自动化
摘要当应用开发进入成熟阶段,手动进行构建、测试和发布将变得效率低下且容易出错。持续集成(CI)和持续部署(CD)是现代化软件开发的标准实践,能极大地提升开发效率和应用质量。本文将深入探讨如何在Android项目中实施CI/CD流程,内容涵盖Git工作流、Gradle高级自动化以及如何利用Jenkins或GitHubActions搭建自动化流水线。目录CI/CD核心理念什么是持续集成(Continu
- 从 C# 转 Python 第三天:文件操作、异常处理与错误日志实践
AI、少年郎
java前端数据库c#文件操作异常处理
在软件开发的广阔领域中,Python和C#作为两种备受瞩目的编程语言,各自凭借独特的特性和强大的功能,在不同的应用场景中展现出卓越的性能。对于开发者而言,深入理解并熟练掌握这两门语言的核心技能,如文件操作与异常处理,不仅是提升个人编程能力的关键,更是在复杂多变的项目开发中应对各种挑战、确保程序稳定运行的必备条件。在日常的编程工作中,文件操作是实现数据持久化存储、读取配置信息以及处理各种数据文件的基
- Python 应用程序分发全指南:从基础到高级工具与实践
面朝大海,春不暖,花不开
Python基础python开发语言
文章大纲引言在现代软件开发中,Python因其简洁的语法和强大的生态系统而广受欢迎。然而,将Python应用程序从开发者手中传递给最终用户并非总是简单的过程。分发Python应用程序涉及到诸多挑战,例如依赖管理、跨平台兼容性以及用户环境的多样性。如果分发不当,用户可能面临安装失败或运行错误等问题,从而影响软件的使用体验。本文将深入探讨Python应用程序分发的各种方法,从最基础的源代码分享到现代标
- 《Python 项目 CI/CD 实战指南:从零构建自动化部署流水线》
清水白石008
课程教程学习笔记开发语言pythonci/cd自动化
《Python项目CI/CD实战指南:从零构建自动化部署流水线》一、引言:为什么Python项目需要CI/CD?在现代软件开发中,CI/CD(持续集成/持续部署)已成为不可或缺的工程实践。它不仅提升了开发效率,还显著降低了部署风险。对于Python项目而言,CI/CD的价值尤为突出:✅自动化测试确保代码质量✅快速部署加速产品迭代✅与云平台、容器技术无缝集成✅支持多版本、多环境的灵活发布Python
- Flutter 入门指南:从基础到实战
介绍FlutterFlutter是Google开发的开源移动应用软件开发工具包(SDK),用于快速在iOS和Android上构建高质量的原生界面。Flutter的一大特点是其跨平台功能,让开发者能够使用同一套代码基础为两个平台构建应用。这一点通过Flutter的核心设计理念“一次编写,处处运行”得以实现。Flutter使用Dart语言进行编程,这是一种由Google开发的现代语言,旨在提供高性能和
- Go 语言开发工具
沐知全栈开发
开发语言
Go语言开发工具引言Go语言,又称Golang,自从2009年由Google发布以来,凭借其简洁、高效、并发性能出色等特性,迅速在软件开发领域崭露头角。Go语言开发工具的丰富性也成为了其受欢迎的重要原因之一。本文将详细介绍Go语言开发过程中常用的一些工具,以帮助开发者提高工作效率。一、Go语言环境搭建1.Go语言安装首先,我们需要下载并安装Go语言环境。从官方网站(https://golang.o
- 最全2025年AI开发工具深度对比分析:程序员的智能编程助手全指南 最新功能、定价策略、使用体验和适用场景 Cursor、GitHub Copilot、Claude 4、Claude Code
wei佳
人工智能aiAI编程webstormideavscode
2025年AI开发工具深度对比分析:程序员的智能编程助手全指南引言(不想看文字可直接看后面图表对比)随着人工智能技术的飞速发展,AI编程助手已经从概念走向现实,成为现代软件开发不可或缺的工具。2025年上半年,AI编程工具市场迎来了前所未有的变革,各大厂商纷纷推出革命性功能,从简单的代码补全演进为能够理解完整项目上下文的智能编程代理。据最新市场研究显示,全球AI代码工具市场在2024年达到67亿美
- 深入理解设计模式之外观模式:简化复杂系统的艺术
vvilkin的学习备忘
设计模式设计模式外观模式
为什么需要外观模式?在软件开发中,我们经常会遇到这样的情况:一个功能需要调用多个子系统或复杂的类结构来完成。随着系统规模的扩大,子系统之间的交互变得越来越复杂,客户端代码需要了解每个子系统的细节才能正确使用它们。这不仅增加了代码的复杂度,也使得系统难以维护和扩展。想象一下,你每次开车都需要手动控制发动机的点火时机、燃油喷射量、气门开闭时间等所有细节,而不是简单地转动钥匙或按下启动按钮,这将是多么繁
- 对象的本质:OOP编程核心揭秘
止观止
计算机科学OOP面对对象编程
引言面向对象编程(OOP)革命性地重塑了软件开发,其核心在于“对象”——一种模拟现实实体的计算模型。对象不仅是数据容器,更是封装了状态和行为的自治单元,使程序从指令序列转变为交互网络。通过本解析,我们将层层递进,揭示对象在OOP中的根本角色:从定义延伸到设计实践,帮助读者跨越语言差异(如Java、Python或C++),掌握这一范式的精髓。章节构建遵循技术演进:先解剖对象本质,再关联OOP支柱,最
- Git submodule - Git子模块简介
SunnyZhou-1024
工具gitsubmodule子仓库版本管理依赖
目录建立仓库1.1创建主仓库1.2创建子仓库提交内容2.1提交到主工程的仓库2.2提交到子模块的仓库克隆带子模块的仓库到本地更新子仓库总结参考文档正文软件开发中有一个DRY(Don’tRepeatyourself)原则,或者说DIE(DuplicationIsEvil)原则,指的是尽可能减少一切重复工作,重用一切可能重用的东西,小到提取重复性代码,大到重用一个模块。时间就是金钱,效率就是生命。使用
- AIGC革命:基于魔搭社区的LLM应用开发实战——从模型微调到系统部署
Liudef06小白
AIGC人工智能特殊专栏人工智能魔搭AIGCLLM
AIGC革命:基于魔搭社区的LLM应用开发实战——从模型微调到系统部署1.AIGC技术演进与魔搭社区生态解析人工智能生成内容(AIGC)正在重塑内容创作、软件开发和人机交互的边界。从OpenAI的GPT系列到StabilityAI的StableDiffusion,生成式AI技术正以惊人的速度发展。在这场技术革命中,魔搭社区(ModelScope)作为中国领先的AI模型开源平台,正成为开发者探索AI
- 深入理解设计模式之模板模式:优雅地定义算法骨架
vvilkin的学习备忘
设计模式设计模式
在软件开发中,我们经常会遇到这样的情况:多个类执行相似的操作流程,但每个类在流程的某些步骤上有自己特定的实现。如果为每个类都完整地编写整个流程,会导致大量重复代码,且难以维护。这时候,模板模式(TemplateMethodPattern)就派上用场了。一、模板模式概述1.1什么是模板模式模板模式是一种行为型设计模式,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中实现。模板方法使得子类可以不
- 全面解析ARMv8架构手册:2020年版要点总结
车英赫
本文还有配套的精品资源,点击获取简介:ARMv8架构作为64位指令集的重要里程碑,提供了详尽的参考指南,包含处理器状态、内存模型、指令集、安全性与虚拟化、多核与并发、浮点与SIMD运算、调试与性能监控、中断与异常处理以及系统级设计等要点。本手册旨在帮助集成电路设计者、软件开发者以及系统架构师深入理解ARMv8架构,促进他们在相关领域的专业技能提升。1.ARMv8架构概述ARMv8架构,作为ARM技
- Python面向对象编程:类、对象与实例方法的深度解析
女码农的重启
python开发语言
在软件开发领域,面向对象编程(Object-OrientedProgramming,简称OOP)是一种极为重要的编程范式。它以对象为核心,通过封装、继承和多态等特性,让代码的组织和管理更加高效、灵活。Python作为一门高级编程语言,对面向对象编程提供了强大且简洁的支持。本文将深入探讨Python中面向对象编程的核心概念——类、对象和实例方法,帮助读者理解并掌握这些重要知识。一、类的概念与定义类(
- 38、未来展望:C数据库编程的发展趋势与挑战
dog123
C#数据库编程:从入门到精通C#数据库编程云原生数据库
未来展望:C#数据库编程的发展趋势与挑战1.引言随着信息技术的快速发展,数据库编程已经成为现代软件开发中不可或缺的一部分。C#作为一种强大的编程语言,在数据库编程领域展现出卓越的表现。本文将探讨C#数据库编程的未来发展趋势,分析当前面临的主要挑战,并提出相应的解决方案。通过这些讨论,我们希望能够为开发者提供有价值的见解,帮助他们在未来的项目中更好地应对变化和技术进步。2.数据库编程的新趋势2.1云
- Jenkins全方位CI/CD实战指南
KENYCHEN奉孝
Devopsjenkinsci/cd运维
Jenkins简介Jenkins是一个开源的持续集成和持续交付(CI/CD)工具,用于自动化软件开发过程中的构建、测试和部署任务。它通过插件扩展支持多种开发、测试和部署技术,帮助团队实现高效的软件交付流程。jenkins安装使用Docker安装Jenkins运行以下命令启动Jenkins容器:dockerrun-d-p8080:8080-p50000:50000-vjenkins_home:/va
- Python 并发调试工具(py-spy、GDB、pyperf)解析
赛博社畜联盟
python开发语言
```htmlPython并发调试工具(py-spy、GDB、pyperf)解析Python并发调试工具(py-spy、GDB、pyperf)解析在现代软件开发中,Python以其简洁的语法和强大的库支持,成为了许多开发者首选的语言。然而,随着程序复杂度的增加,尤其是涉及并发编程时,调试和性能优化变得尤为重要。本文将介绍三个常用的Python并发调试工具:py-spy、GDB和pyperf,并深入
- Python日志终极指南:深入探索logging日志管理模块
c01dkit
pythonpython开发语言
在任何一个严谨的软件开发项目中,日志(Logging)都是不可或缺的一环。它不仅是调试代码的利器,更是线上问题追踪、性能分析和数据监控的重要依据。相比于随处可见的print()语句,Python内置的logging模块提供了更为强大、灵活且标准化的解决方案。[1][2]这篇博客将带你由浅入深,全面掌握logging模块的使用,从基础配置到高级技巧,再到企业级项目的最佳实践。一、告别print():
- python大数据论文_大数据环境下基于python的网络爬虫技术
weixin_39775976
python大数据论文
软件开发大数据环境下基于python的网络爬虫技术作者/谢克武,重庆工商大学派斯学院软件工程学院摘要:随着互联网的发展壮大,网络数据呈爆炸式增长,传统捜索引擎已经不能满足人们对所需求数据的获取的需求,作为搜索引擎的抓取数据的重要组成部分,网络爬虫的作用十分重要,本文首先介绍了在大数据环境下网络爬虫的重要性,接着介绍了网络爬虫的概念,工作原理,工作流程,网页爬行策略,python在编写爬虫领域的优势
- 【自动化从入门到进阶】Playwright 实战指南,提升测试效率必修课!
朱公子的Note
pythonPlaywright自动化
你是否也有过“页面点击没反应,接口明明没问题”的糟心经历?就算写再多单元测试,也无法覆盖复杂的用户交互。而Playwright的出现,正为前端开发者和QA带来一剂“提效良方”:跨浏览器、强校验、自动重试、不再依赖Selenium!在2025年的软件开发浪潮中,Web应用的复杂性和用户期望持续攀升,单页应用(SPA)和跨浏览器兼容性让测试变得更加关键。想象一下,您的电商平台上线后因未发现的UI错误导
- STC15单片机实战笔记一
未来电子机械工程师
单片机STC15实战单片机
新建工程一、新建工程前的准备1、添加型号与头文件到keil第一次新建STC工程时,需要将STC的型号与头文件添加到keil软件中。打开STC-ISP下载工具,切换至keil仿真设置栏,按提示添加即可。2、新建工程文件夹①、在新建工程目录下新建软件开发文件夹用于存放工程文件;②、在软件开发目录下新建user文件夹,用于存放main,public等文件;③、在软件开发目录下新建app文件夹,用于存放应
- 解读Servlet原理篇二---GenericServlet与HttpServlet
周凡杨
javaHttpServlet源理GenericService源码
在上一篇《解读Servlet原理篇一》中提到,要实现javax.servlet.Servlet接口(即写自己的Servlet应用),你可以写一个继承自javax.servlet.GenericServletr的generic Servlet ,也可以写一个继承自java.servlet.http.HttpServlet的HTTP Servlet(这就是为什么我们自定义的Servlet通常是exte
- MySQL性能优化
bijian1013
数据库mysql
性能优化是通过某些有效的方法来提高MySQL的运行速度,减少占用的磁盘空间。性能优化包含很多方面,例如优化查询速度,优化更新速度和优化MySQL服务器等。本文介绍方法的主要有:
a.优化查询
b.优化数据库结构
- ThreadPool定时重试
dai_lm
javaThreadPoolthreadtimertimertask
项目需要当某事件触发时,执行http请求任务,失败时需要有重试机制,并根据失败次数的增加,重试间隔也相应增加,任务可能并发。
由于是耗时任务,首先考虑的就是用线程来实现,并且为了节约资源,因而选择线程池。
为了解决不定间隔的重试,选择Timer和TimerTask来完成
package threadpool;
public class ThreadPoolTest {
- Oracle 查看数据库的连接情况
周凡杨
sqloracle 连接
首先要说的是,不同版本数据库提供的系统表会有不同,你可以根据数据字典查看该版本数据库所提供的表。
select * from dict where table_name like '%SESSION%';
就可以查出一些表,然后根据这些表就可以获得会话信息
select sid,serial#,status,username,schemaname,osuser,terminal,ma
- 类的继承
朱辉辉33
java
类的继承可以提高代码的重用行,减少冗余代码;还能提高代码的扩展性。Java继承的关键字是extends
格式:public class 类名(子类)extends 类名(父类){ }
子类可以继承到父类所有的属性和普通方法,但不能继承构造方法。且子类可以直接使用父类的public和
protected属性,但要使用private属性仍需通过调用。
子类的方法可以重写,但必须和父类的返回值类
- android 悬浮窗特效
肆无忌惮_
android
最近在开发项目的时候需要做一个悬浮层的动画,类似于支付宝掉钱动画。但是区别在于,需求是浮出一个窗口,之后边缩放边位移至屏幕右下角标签处。效果图如下:
一开始考虑用自定义View来做。后来发现开线程让其移动很卡,ListView+动画也没法精确定位到目标点。
后来想利用Dialog的dismiss动画来完成。
自定义一个Dialog后,在styl
- hadoop伪分布式搭建
林鹤霄
hadoop
要修改4个文件 1: vim hadoop-env.sh 第九行 2: vim core-site.xml <configuration> &n
- gdb调试命令
aigo
gdb
原文:http://blog.csdn.net/hanchaoman/article/details/5517362
一、GDB常用命令简介
r run 运行.程序还没有运行前使用 c cuntinue 
- Socket编程的HelloWorld实例
alleni123
socket
public class Client
{
public static void main(String[] args)
{
Client c=new Client();
c.receiveMessage();
}
public void receiveMessage(){
Socket s=null;
BufferedRea
- 线程同步和异步
百合不是茶
线程同步异步
多线程和同步 : 如进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回,同时其它线程也不能调用这个方法
多线程和异步:多线程可以做不同的事情,涉及到线程通知
&
- JSP中文乱码分析
bijian1013
javajsp中文乱码
在JSP的开发过程中,经常出现中文乱码的问题。
首先了解一下Java中文问题的由来:
Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,
- js实现页面跳转重定向的几种方式
bijian1013
JavaScript重定向
js实现页面跳转重定向有如下几种方式:
一.window.location.href
<script language="javascript"type="text/javascript">
window.location.href="http://www.baidu.c
- 【Struts2三】Struts2 Action转发类型
bit1129
struts2
在【Struts2一】 Struts Hello World http://bit1129.iteye.com/blog/2109365中配置了一个简单的Action,配置如下
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configurat
- 【HBase十一】Java API操作HBase
bit1129
hbase
Admin类的主要方法注释:
1. 创建表
/**
* Creates a new table. Synchronous operation.
*
* @param desc table descriptor for table
* @throws IllegalArgumentException if the table name is res
- nginx gzip
ronin47
nginx gzip
Nginx GZip 压缩
Nginx GZip 模块文档详见:http://wiki.nginx.org/HttpGzipModule
常用配置片段如下:
gzip on; gzip_comp_level 2; # 压缩比例,比例越大,压缩时间越长。默认是1 gzip_types text/css text/javascript; # 哪些文件可以被压缩 gzip_disable &q
- java-7.微软亚院之编程判断俩个链表是否相交 给出俩个单向链表的头指针,比如 h1 , h2 ,判断这俩个链表是否相交
bylijinnan
java
public class LinkListTest {
/**
* we deal with two main missions:
*
* A.
* 1.we create two joined-List(both have no loop)
* 2.whether list1 and list2 join
* 3.print the join
- Spring源码学习-JdbcTemplate batchUpdate批量操作
bylijinnan
javaspring
Spring JdbcTemplate的batch操作最后还是利用了JDBC提供的方法,Spring只是做了一下改造和封装
JDBC的batch操作:
String sql = "INSERT INTO CUSTOMER " +
"(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";
- [JWFD开源工作流]大规模拓扑矩阵存储结构最新进展
comsci
工作流
生成和创建类已经完成,构造一个100万个元素的矩阵模型,存储空间只有11M大,请大家参考我在博客园上面的文档"构造下一代工作流存储结构的尝试",更加相信的设计和代码将陆续推出.........
竞争对手的能力也很强.......,我相信..你们一定能够先于我们推出大规模拓扑扫描和分析系统的....
- base64编码和url编码
cuityang
base64url
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
- web应用集群Session保持
dalan_123
session
关于使用 memcached 或redis 存储 session ,以及使用 terracotta 服务器共享。建议使用 redis,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单个对象比较大,而且数据类型丰富,不只是缓存 session,还可以做其他用途,一举几得啊。1、使用 filter 方法存储这种方法比较推荐,因为它的服务器使用范围比较多,不仅限于tomcat ,而且实现的原理比较简
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
dcj3sjt126com
数据库
public function getMinLimit () { $sql = "..."; $result = yii::app()->db->createCo
- solr StatsComponent(聚合统计)
eksliang
solr聚合查询solr stats
StatsComponent
转载请出自出处:http://eksliang.iteye.com/blog/2169134
http://eksliang.iteye.com/ 一、概述
Solr可以利用StatsComponent 实现数据库的聚合统计查询,也就是min、max、avg、count、sum的功能
二、参数
- 百度一道面试题
greemranqq
位运算百度面试寻找奇数算法bitmap 算法
那天看朋友提了一个百度面试的题目:怎么找出{1,1,2,3,3,4,4,4,5,5,5,5} 找出出现次数为奇数的数字.
我这里复制的是原话,当然顺序是不一定的,很多拿到题目第一反应就是用map,当然可以解决,但是效率不高。
还有人觉得应该用算法xxx,我是没想到用啥算法好...!
还有觉得应该先排序...
还有觉
- Spring之在开发中使用SpringJDBC
ihuning
spring
在实际开发中使用SpringJDBC有两种方式:
1. 在Dao中添加属性JdbcTemplate并用Spring注入;
JdbcTemplate类被设计成为线程安全的,所以可以在IOC 容器中声明它的单个实例,并将这个实例注入到所有的 DAO 实例中。JdbcTemplate也利用了Java 1.5 的特定(自动装箱,泛型,可变长度
- JSON API 1.0 核心开发者自述 | 你所不知道的那些技术细节
justjavac
json
2013年5月,Yehuda Katz 完成了JSON API(英文,中文) 技术规范的初稿。事情就发生在 RailsConf 之后,在那次会议上他和 Steve Klabnik 就 JSON 雏形的技术细节相聊甚欢。在沟通单一 Rails 服务器库—— ActiveModel::Serializers 和单一 JavaScript 客户端库——&
- 网站项目建设流程概述
macroli
工作
一.概念
网站项目管理就是根据特定的规范、在预算范围内、按时完成的网站开发任务。
二.需求分析
项目立项
我们接到客户的业务咨询,经过双方不断的接洽和了解,并通过基本的可行性讨论够,初步达成制作协议,这时就需要将项目立项。较好的做法是成立一个专门的项目小组,小组成员包括:项目经理,网页设计,程序员,测试员,编辑/文档等必须人员。项目实行项目经理制。
客户的需求说明书
第一步是需
- AngularJs 三目运算 表达式判断
qiaolevip
每天进步一点点学习永无止境众观千象AngularJS
事件回顾:由于需要修改同一个模板,里面包含2个不同的内容,第一个里面使用的时间差和第二个里面名称不一样,其他过滤器,内容都大同小异。希望杜绝If这样比较傻的来判断if-show or not,继续追究其源码。
var b = "{{",
a = "}}";
this.startSymbol = function(a) {
- Spark算子:统计RDD分区中的元素及数量
superlxw1234
sparkspark算子Spark RDD分区元素
关键字:Spark算子、Spark RDD分区、Spark RDD分区元素数量
Spark RDD是被分区的,在生成RDD时候,一般可以指定分区的数量,如果不指定分区数量,当RDD从集合创建时候,则默认为该程序所分配到的资源的CPU核数,如果是从HDFS文件创建,默认为文件的Block数。
可以利用RDD的mapPartitionsWithInd
- Spring 3.2.x将于2016年12月31日停止支持
wiselyman
Spring 3
Spring 团队公布在2016年12月31日停止对Spring Framework 3.2.x(包含tomcat 6.x)的支持。在此之前spring团队将持续发布3.2.x的维护版本。
请大家及时准备及时升级到Spring
- fis纯前端解决方案fis-pure
zccst
JavaScript
作者:zccst
FIS通过插件扩展可以完美的支持模块化的前端开发方案,我们通过FIS的二次封装能力,封装了一个功能完备的纯前端模块化方案pure。
1,fis-pure的安装
$ fis install -g fis-pure
$ pure -v
0.1.4
2,下载demo到本地
git clone https://github.com/hefangshi/f