- 【嵌入式DIY实例-Arduino篇】-DIY便携式粉尘分析仪
视觉与物联智能
物联网全栈开发实战嵌入式硬件嵌入式电子工程物联网DIY
DIY便携式粉尘分析仪文章目录DIY便携式粉尘分析仪1、硬件准备2、硬件接线3、代码实现细粉尘分析仪是一种用于监测废气通过管道、烟囱或烟道时悬浮在废气中的粉尘或细颗粒浓度的装置;通常,来自工业燃烧过程或空气过滤系统的废气。悬浮在大气中一段时间的固体颗粒构成尘埃。这些颗粒可以由玻璃、石头或金属等无机材料或细菌、木材、真菌孢子或面粉等有机材料形成。空气中的微粒是可吸入的,这意味着它们非常小,可以穿透人
- HarmonyOS鸿蒙-@State@Prop装饰器限制条件
@福者
harmonyOS鸿蒙鸿蒙状态管理State装饰器
一、组件Components级别的状态管理:@State组件内状态限制条件1.@State装饰的变量必须初始化,否则编译期会报错。//错误写法,编译报错@Statecount:number;//正确写法@Statecount:number=10;2.嵌套属性的赋值观察不到。//嵌套的属性赋值观察不到this.title.name.value='ArkUI';3.数组项中属性的赋值观察不到。//嵌套
- flutter开发工程师面试(偏android)
孤独的跑者2024
flutter工作笔录
android:点击桌面APP的图片,APP是如何启动的,谈谈APP启动流程及优化说说常见的性能优化(启动优化、卡顿优化、耗电优化、网络优化等等)android是单线程还是多线程线程通信多进程通信方式android图形绘制机制说说你对MVC、MVP、MVVM的理解android事件分发机制android消息机制android如何自定义控件Activity生命周期说下Activity的四种启动模式、
- 「iOS」通过CoreLocation Framework深入了解MVC架构
小鹿撞出了脑震荡
iosmvc架构
「iOS」通过CoreLocationFramework重新了解多界面传值以及MVC架构文章目录「iOS」通过CoreLocationFramework重新了解多界面传值以及MVC架构前言CoreLocation了解根据需求建模设计属性方法设计协议传值Block传值KVONotification通知方式总结参考文章前言在这个学期的前段时间进行了MVC的相关学习,并且使用MVC完成了知乎日报奥的项目
- 用 Python 实现经典的 2048 游戏:一步步带你打造属于你的小游戏!
一位小说男主
pythonpython游戏
用Python实现经典的2048游戏:一步步带你打造属于你的小游戏!(结尾附完整代码)简介2048是一个简单而又令人上瘾的数字拼图游戏。玩家通过滑动方块使相同数字的方块合并,目标是创造出数字2048!在这篇博客中,我们将用Python的Tkinter库从零开始实现这款游戏,涵盖从界面设计到逻辑实现的每一个细节,帮助你全面了解背后的开发思路。游戏特点经典玩法:滑动合并相同数字,尽可能达到2048。随
- webview_flutter_wkwebview 3.17.0使用指南
LuiChun
flutter
文档一lib\inserted_web_seven\tell_to_ai\my_summary\webview_flutter_wkwebview_3.17.0_guide.txtwebview_flutter_wkwebview3.17.0使用指南日期:2025年1月26日==================================================一、核心作用======
- VScode开发STM32
predestination836
vscodestm32单片机
由于keil5的界面太差(太丑),而VScode的界面,代码提醒等基本完杀keil5,所以VScode负责写代码,keil5负责代码的下载和调试VScode的下载和安装官网地址:https://code.visualstudio.com/但官网下载太慢,这里附上某盘的连接:链接:https://pan.baidu.com/s/10hL0aqUOlbe10fuSSDFS4w?pwd=3ouk提取码:
- download-git-repo 一款命令行下载仓库依赖
yqcoder
gitjavascript前端开发语言node.js
`download-git-repo`是一个用于从Git仓库下载代码的Node.js工具,它可以从GitHub、GitLab或Bitbucket等Git托管平台下载仓库。一、安装`download-git-repo`npminstalldownload-git-repo二、基本用法1.简单下载//引入`download-git-repo`模块constdownload=require("downl
- uniapp 底部菜单_uniapp 实现底部导航栏 - tabBar的使用方法
解压猫咖研究所
uniapp底部菜单
开发环境:HbuilderXtabBar参数说明color:导航栏字体颜色selectedColor:选中后字体的颜色backgroundColor:底部背景颜色borderStyle:底部的border颜色,只能是“black”或者“white”list:对象,包含以下这些选项{pagePath:页面路径text:底部导航文字iconPath:没选中前的图标路径selectedIconPath:
- ESP32-CAM导入ino项目编译和烧录
Android小码家
LinuxESP32
文章目录ESP32Cam模式接线图导入ino项目选择INO打开目录结构手动转换成C++源代码编译效果图搞猛一点其他实验ESP32Cam模式接线图导入ino项目选择INO打开目录结构platformio.ini;PlatformIOProjectConfigurationFile;;Buildoptions:buildflags,sourcefilter;Uploadoptions:customup
- C# PDF操作之-PDF转EXCEL
Diamond 、
C#C#PDFPDF转EXCELPDF操作
特别说明:需引用Aspose.PDF.dll代码案例:OpenFileDialogopenFileDialog1=newOpenFileDialog();//显示选择文件对话框openFileDialog1.Filter="Allfiles(*.*)|*.*|pdffiles(*.pdf)|*.pdf";openFileDialog1.FilterIndex=2;openFileDialog1.R
- 调用wx.openDocument,文件或文件夹不在白名单中, 上传时会被忽略, 在真机上可能无法读取
黑云压城After
微信uni-app前端微信小程序
1.这个问题可能是由于微信小程序的安全策略导致的。微信小程序对于网络请求和文件读取都有一些限制,其中包括白名单机制。如果你的小程序中的文件不在白名单中,那么在真机上可能无法读取。怎么解决这个问题,我们先使用uni.downloadFile把后台接口或者本地的PDF以及其他格式转为获取到本地临时路径。然后再使用uni.openDocument就可以了。[代码]复制就能用。Click(){//this
- 使用Vue3来实现一个倒计时器以及倒计时任务
记得开心一点嘛
JavaWeb前端开发技术栈vue.jselementuijavascriptvueHtml
本内容使用Vue3,以及element-plus辅助开发。首先展示倒计时器的功能:手动设置倒计时器的倒计时时间开始倒计时按钮暂停倒计时按钮重新开始倒计时按钮其次展示倒计时任务管理界面功能:创建倒计时任务选择任务并进行倒计时删除任务目录一.倒计时器:1.html:2.script:(1)状态变量:(2)格式化显示时间:(3)初始化倒计时:(4)开始按钮startCountdown->启动倒计时器:(
- 导出地图为pdf文件
pianmian1
pdfarcgis
有时我们只是想创建能共享的pdf文件,而不是将地图打印出来,arcpy的ExportToPDF()函数可以实现该功能.操作方法:1.在arcmap中打开目标地图2.导入arcpy.mapping模块importarcpy.mappingasmapping3.引用当前活动地图文档,把该引用赋值给变量mxd=mapping.MapDocument('')4.使用ExportToPDF()函数导出页面布
- uniapp --- 配置文件
记得开心一点嘛
UniAppuni-app前端typescript
目录一.pages.json文件:1.组件自动导入规则(easycom):2.页面配置(pages):3.全局样式(globalStyle):4.底部TabBar配置(tabBar):二.manifest.json文件:1.应用基本信息:2.App-Plus特有配置:3.QuickApp特有配置:4.小程序特有配置:5.UniStatistics配置:6.vueVersion配置:三.App.vu
- 电脑(伪)大神装B必备,来学几个windows脚本命令
zyxgtwsjgzs
资源分享官方教程
作为一个经常使用电脑的人来说,掌握一些脚本命令以备在别人面前装B是很有必要的。看完这篇文章,你就学会了基础常用的装B命令,让装B轻松自如。其实脚本命令没什么新鲜的,属于低级的操作,所谓的电脑大神也是伪大神。想当年,我小时候,把一堆CMD命令抄在纸上来回背,研究各种批处理,脚本操作,就为了装一波B。大家都熟悉windows图形操作界面,其实windows还有一套cmd命令同样可以实现基本的操作。wi
- Python pdf转word
树上灵溪
python
最新在翻译英文文档,但都是pdf的,有点不方便,花了点时间做了一个小工具,分享一下,希望对大家有所帮助。这里录了一个视频传到B站了,比较详细可以看一下:传送门。最终结果是生成了一个可执行文件,可以批量转换文件夹中的pdf文件,包含图片和简单的格式转换(复杂的就不用考虑自己搞了QAQ)下面简单描述一下大概思路:1.引用pdf2docx库:frompdf2docximportConverter2.找到
- 微信聊天记录批量导出
小软件大世界
微信
是否曾因为WX聊天记录太多无法导出而苦恼?在手机上导出时间太长,还占用手机使用?网络还不稳定?或者想保存某些重要对话,却发现操作复杂,甚至需要额外工具?今天给大家推荐一款非常实用的PC端WX聊天记录导出神器:wechatDataBackup!功能亮点wechatDataBackup提供了一个类似微信的简易操作界面,让导出聊天记录变得像聊天一样简单。以下是它的核心功能:1、一键导出多类型信息支持的内
- python对word文档与PDF的操作
深海里的盐汽水
python
python操作word文档与PDF对word文档的操作在操作前需要安装第三方库pipinstallpython-docxpillow。用python创建一个word文档创建一个对象添加一个大标题添加段落保存文件fromdocximportDocumentfromdocx.sharedimportInchesfromdocx.documentimportDocumentasDoc#创建一个对象do
- <Python><ffmpeg>基于python使用PyQt5构建GUI实例:音频格式转换程序(MP3/aac/wma/flac)(优化版2)
机构师
python编程实例pythonffmpegqtpyqt5vscode
前言本文是基于python语言使用pyqt5来构建的GUI,功能是使用ffmpeg来对音频文件进行格式转换,如mp3、aac、wma、flac等音乐格式。UI示例:环境配置系统:windows平台:visualstudiocode语言:python库:pyqt5、ffmpeg概述本文是建立在之前的博文的基础上的优化版,前文链接:1、python使用ffmpeg来制作音频格式转换工具(优化版)2、利
- html2canvas导出pdf模糊,vue实现pdf导出,解决生成canvas模糊等问题
轮王寺宫
1、我们要添加两个模块第一个.将页面html转换成图片npminstall--savehtml2canvas第二个.将图片生成pdfnpminstalljspdf--save2、定义全局函数..创建一个htmlToPdf.js文件在指定位置.我个人习惯放在('src/utils/htmlToPdf')//导出页面为PDF格式importhtml2Canvasfrom'html2canvas'imp
- 探索前端的未来:深度使用 SolidJS 构建高性能用户界面
桂月二二
前端ui
SolidJS是近年来前端开发领域的一颗新星,它结合了React的思维模式和Vue的性能优势,提供了一种高效且轻量的框架解决方案。本文将带你深入了解SolidJS的实际使用,并探索如何利用其核心特性构建现代化的高性能应用。为什么选择SolidJS?相比于其他框架,SolidJS有以下独特优势:超高性能:基于fine-grainedreactivity(细粒度反应性)机制,仅更新必要的DOM节点。零
- Phaser引擎开发:UI设计与音效实现all
chenlz2007
游戏开发2ui命令模式游戏音视频linux
UI设计与音效实现在Phaser引擎开发中,UI设计和音效实现是两个非常重要的方面,它们直接影响到玩家的体验和游戏的整体质量。本节将详细介绍如何在Phaser中设计和实现UI元素,以及如何添加和管理音效。UI设计UI设计是指用户界面的设计,包括按钮、文本、进度条、图标等各种元素。Phaser提供了一系列的API来帮助开发者创建和管理UI元素。我们将从以下几个方面来探讨UI设计:创建和管理UI元素P
- Phaser引擎开发:UI设计与音效实现_音效与UI的结合
chenlz2007
游戏开发2ui游戏性能优化运维nginx
音效与UI的结合在开发动作游戏时,音效和UI的设计是提升玩家体验的两个重要方面。音效可以增强游戏的沉浸感,而UI则负责向玩家传递关键信息和提供交互手段。将音效与UI有效结合,可以使游戏更加生动、有趣,同时也能提升游戏的可玩性和用户界面的友好性。本节将详细介绍如何在Phaser引擎中实现音效与UI的结合,包括音效的加载、播放和控制,以及UI元素的创建和管理。音效的加载与播放在Phaser引擎中,音效
- Phaser引擎开发:UI设计与音效实现_音效控制与管理
chenlz2007
游戏开发2ui游戏计算机外设网络前端
音效控制与管理在Phaser引擎开发中,音效控制与管理是提升游戏沉浸感和用户体验的重要环节。本节将详细介绍如何在Phaser中实现音效的加载、播放、停止、暂停、音量控制等基本功能,并介绍如何管理多个音效文件,确保游戏音效的高效和协调。音效加载在Phaser中,音效文件通常通过preload函数加载。preload函数是Phaser游戏生命周期中的一个阶段,用于预先加载所有需要的资源,包括图像、动画
- Vue组件开发-使用 html2canvas 和 jspdf 库实现PDF文件导出 设置页面大小及方向
LCG元
前端vue.jspdf前端
在Vue项目中实现导出PDF文件、调整文件页面大小和页面方向的功能,使用html2canvas将HTML内容转换为图片,再使用jspdf把图片添加到PDF文件中。以下是详细的实现步骤和代码示例:步骤1:安装依赖首先,在项目中安装html2canvas和jspdf:npminstallhtml2canvasjspdf步骤2:创建Vue组件以下是一个完整的Vue组件示例,包含导出PDF、调整页面大小和
- Electron: 跨平台桌面应用开发框架概览
百态老人
人工智能笔记
Electron的背景Electron是一个开源框架,允许开发者使用Web技术构建跨平台的桌面应用程序。它最初由GitHub开发,用于构建Atom编辑器,后来发展成为一个独立的项目,支持构建各种桌面应用程序,如VisualStudioCode、Slack、WhatsApp等。Electron的核心优势在于它结合了Chromium的UI能力和Node.js的后端功能,使得前端开发者可以使用熟悉的HT
- Vue.js 如何塑造现代网络体验
清风孤客
vue.js网络前端
Vue.js已迅速成为JavaScript框架中的热门之选,以其简洁的设计、灵活性和强大功能而闻名。全球的开发者被Vue.js所吸引,是因为它能极为轻松地构建动态且引人入胜的用户界面。但Vue.js究竟有何用途,又为何如此受欢迎呢?本文将探讨Vue.js及其在各个领域的关键应用。我们将展示开发者如何利用它构建从交互式网络应用、单页应用(SPA)到复杂电子商务网站等各种项目。我们还将讨论其核心特性、
- ESP32-CAM实验集(WebServer)
Android小码家
LinuxESP32
WebServer效果图已连接web端platformio.ini;PlatformIOProjectConfigurationFile;;Buildoptions:buildflags,sourcefilter;Uploadoptions:customuploadport,speedandextraflags;Libraryoptions:dependencies,extralibrarysto
- FragPipe: 一个强大的蛋白质组学数据分析平台
2401_87189860
数据分析数据挖掘
FragPipe简介FragPipe是一个由Nesvizhskii实验室开发的综合性蛋白质组学数据分析平台。它以MSFragger搜索引擎为核心,集成了多种功能强大的分析工具,为研究人员提供了从原始数据处理到生物学解释的一站式解决方案。FragPipe具有用户友好的Java图形用户界面(GUI),同时也支持命令行模式,可以在Windows、Linux或云环境中运行。FragPipe的主要特点快速高
- tomcat基础与部署发布
暗黑小菠萝
Tomcat java web
从51cto搬家了,以后会更新在这里方便自己查看。
做项目一直用tomcat,都是配置到eclipse中使用,这几天有时间整理一下使用心得,有一些自己配置遇到的细节问题。
Tomcat:一个Servlets和JSP页面的容器,以提供网站服务。
一、Tomcat安装
安装方式:①运行.exe安装包
&n
- 网站架构发展的过程
ayaoxinchao
数据库应用服务器网站架构
1.初始阶段网站架构:应用程序、数据库、文件等资源在同一个服务器上
2.应用服务和数据服务分离:应用服务器、数据库服务器、文件服务器
3.使用缓存改善网站性能:为应用服务器提供本地缓存,但受限于应用服务器的内存容量,可以使用专门的缓存服务器,提供分布式缓存服务器架构
4.使用应用服务器集群改善网站的并发处理能力:使用负载均衡调度服务器,将来自客户端浏览器的访问请求分发到应用服务器集群中的任何
- [信息与安全]数据库的备份问题
comsci
数据库
如果你们建设的信息系统是采用中心-分支的模式,那么这里有一个问题
如果你的数据来自中心数据库,那么中心数据库如果出现故障,你的分支机构的数据如何保证安全呢?
是否应该在这种信息系统结构的基础上进行改造,容许分支机构的信息系统也备份一个中心数据库的文件呢?
&n
- 使用maven tomcat plugin插件debug关联源代码
商人shang
mavendebug查看源码tomcat-plugin
*首先需要配置好'''maven-tomcat7-plugin''',参见[[Maven开发Web项目]]的'''Tomcat'''部分。
*配置好后,在[[Eclipse]]中打开'''Debug Configurations'''界面,在'''Maven Build'''项下新建当前工程的调试。在'''Main'''选项卡中点击'''Browse Workspace...'''选择需要开发的
- 大访问量高并发
oloz
大访问量高并发
大访问量高并发的网站主要压力还是在于数据库的操作上,尽量避免频繁的请求数据库。下面简
要列出几点解决方案:
01、优化你的代码和查询语句,合理使用索引
02、使用缓存技术例如memcache、ecache将不经常变化的数据放入缓存之中
03、采用服务器集群、负载均衡分担大访问量高并发压力
04、数据读写分离
05、合理选用框架,合理架构(推荐分布式架构)。
- cache 服务器
小猪猪08
cache
Cache 即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期开发的项目中有所体会,写下来当作总结也希望能跟大家一起探讨探讨,有错误的地方希望大家批评指正。
1.Cache 是怎么样工作的?
Cache 是分配在服务器上
- mysql存储过程
香水浓
mysql
Description:插入大量测试数据
use xmpl;
drop procedure if exists mockup_test_data_sp;
create procedure mockup_test_data_sp(
in number_of_records int
)
begin
declare cnt int;
declare name varch
- CSS的class、id、css文件名的常用命名规则
agevs
JavaScriptUI框架Ajaxcss
CSS的class、id、css文件名的常用命名规则
(一)常用的CSS命名规则
头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体布局宽度:wrapper
左右中:left right
- 全局数据源
AILIKES
javatomcatmysqljdbcJNDI
实验目的:为了研究两个项目同时访问一个全局数据源的时候是创建了一个数据源对象,还是创建了两个数据源对象。
1:将diuid和mysql驱动包(druid-1.0.2.jar和mysql-connector-java-5.1.15.jar)copy至%TOMCAT_HOME%/lib下;2:配置数据源,将JNDI在%TOMCAT_HOME%/conf/context.xml中配置好,格式如下:&l
- MYSQL的随机查询的实现方法
baalwolf
mysql
MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,
- JAVA的getBytes()方法
bijian1013
javaeclipseunixOS
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同OS下,返回的东西不一样!
String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如:
byte[] b_gbk = "
- AngularJS中操作Cookies
bijian1013
JavaScriptAngularJSCookies
如果你的应用足够大、足够复杂,那么你很快就会遇到这样一咱种情况:你需要在客户端存储一些状态信息,这些状态信息是跨session(会话)的。你可能还记得利用document.cookie接口直接操作纯文本cookie的痛苦经历。
幸运的是,这种方式已经一去不复返了,在所有现代浏览器中几乎
- [Maven学习笔记五]Maven聚合和继承特性
bit1129
maven
Maven聚合
在实际的项目中,一个项目通常会划分为多个模块,为了说明问题,以用户登陆这个小web应用为例。通常一个web应用分为三个模块:
1. 模型和数据持久化层user-core,
2. 业务逻辑层user-service以
3. web展现层user-web,
user-service依赖于user-core
user-web依赖于user-core和use
- 【JVM七】JVM知识点总结
bit1129
jvm
1. JVM运行模式
1.1 JVM运行时分为-server和-client两种模式,在32位机器上只有client模式的JVM。通常,64位的JVM默认都是使用server模式,因为server模式的JVM虽然启动慢点,但是,在运行过程,JVM会尽可能的进行优化
1.2 JVM分为三种字节码解释执行方式:mixed mode, interpret mode以及compiler
- linux下查看nginx、apache、mysql、php的编译参数
ronin47
在linux平台下的应用,最流行的莫过于nginx、apache、mysql、php几个。而这几个常用的应用,在手工编译完以后,在其他一些情况下(如:新增模块),往往想要查看当初都使用了那些参数进行的编译。这时候就可以利用以下方法查看。
1、nginx
[root@361way ~]# /App/nginx/sbin/nginx -V
nginx: nginx version: nginx/
- unity中运用Resources.Load的方法?
brotherlamp
unity视频unity资料unity自学unityunity教程
问:unity中运用Resources.Load的方法?
答:Resources.Load是unity本地动态加载资本所用的方法,也即是你想动态加载的时分才用到它,比方枪弹,特效,某些实时替换的图像什么的,主张此文件夹不要放太多东西,在打包的时分,它会独自把里边的一切东西都会集打包到一同,不论里边有没有你用的东西,所以大多数资本应该是自个建文件放置
1、unity实时替换的物体即是依据环境条件
- 线段树-入门
bylijinnan
java算法线段树
/**
* 线段树入门
* 问题:已知线段[2,5] [4,6] [0,7];求点2,4,7分别出现了多少次
* 以下代码建立的线段树用链表来保存,且树的叶子结点类似[i,i]
*
* 参考链接:http://hi.baidu.com/semluhiigubbqvq/item/be736a33a8864789f4e4ad18
* @author lijinna
- 全选与反选
chicony
全选
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>全选与反选</title>
- vim一些简单记录
chenchao051
vim
mac在/usr/share/vim/vimrc linux在/etc/vimrc
1、问:后退键不能删除数据,不能往后退怎么办?
答:在vimrc中加入set backspace=2
2、问:如何控制tab键的缩进?
答:在vimrc中加入set tabstop=4 (任何
- Sublime Text 快捷键
daizj
快捷键sublime
[size=large][/size]Sublime Text快捷键:Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+Shift+L:
- php 引用(&)详解
dcj3sjt126com
PHP
在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 复制代码代码如下:
<?
$a="ABC";
$b =&$a;
echo
- SVN中trunk,branches,tags用法详解
dcj3sjt126com
SVN
Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
- 对软件设计的思考
e200702084
设计模式数据结构算法ssh活动
软件设计的宏观与微观
软件开发是一种高智商的开发活动。一个优秀的软件设计人员不仅要从宏观上把握软件之间的开发,也要从微观上把握软件之间的开发。宏观上,可以应用面向对象设计,采用流行的SSH架构,采用web层,业务逻辑层,持久层分层架构。采用设计模式提供系统的健壮性和可维护性。微观上,对于一个类,甚至方法的调用,从计算机的角度模拟程序的运行情况。了解内存分配,参数传
- 同步、异步、阻塞、非阻塞
geeksun
非阻塞
同步、异步、阻塞、非阻塞这几个概念有时有点混淆,在此文试图解释一下。
同步:发出方法调用后,当没有返回结果,当前线程会一直在等待(阻塞)状态。
场景:打电话,营业厅窗口办业务、B/S架构的http请求-响应模式。
异步:方法调用后不立即返回结果,调用结果通过状态、通知或回调通知方法调用者或接收者。异步方法调用后,当前线程不会阻塞,会继续执行其他任务。
实现:
- Reverse SSH Tunnel 反向打洞實錄
hongtoushizi
ssh
實際的操作步驟:
# 首先,在客戶那理的機器下指令連回我們自己的 Server,並設定自己 Server 上的 12345 port 會對應到幾器上的 SSH port
ssh -NfR 12345:localhost:22
[email protected]
# 然後在 myhost 的機器上連自己的 12345 port,就可以連回在客戶那的機器
ssh localhost -p 1
- Hibernate中的缓存
Josh_Persistence
一级缓存Hiberante缓存查询缓存二级缓存
Hibernate中的缓存
一、Hiberante中常见的三大缓存:一级缓存,二级缓存和查询缓存。
Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存是由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存
- 对象关系行为模式之延迟加载
home198979
PHP架构延迟加载
形象化设计模式实战 HELLO!架构
一、概念
Lazy Load:一个对象,它虽然不包含所需要的所有数据,但是知道怎么获取这些数据。
延迟加载貌似很简单,就是在数据需要时再从数据库获取,减少数据库的消耗。但这其中还是有不少技巧的。
二、实现延迟加载
实现Lazy Load主要有四种方法:延迟初始化、虚
- xml 验证
pengfeicao521
xmlxml解析
有些字符,xml不能识别,用jdom或者dom4j解析的时候就报错
public static void testPattern() {
// 含有非法字符的串
String str = "Jamey친ÑԂ
- div设置半透明效果
spjich
css半透明
为div设置如下样式:
div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;}
说明:
1、filter:对win IE设置半透明滤镜效果,filter:alpha(Opacity=80)代表该对象80%半透明,火狐浏览器不认2、-moz-opaci
- 你真的了解单例模式么?
w574240966
java单例设计模式jvm
单例模式,很多初学者认为单例模式很简单,并且认为自己已经掌握了这种设计模式。但事实上,你真的了解单例模式了么。
一,单例模式的5中写法。(回字的四种写法,哈哈。)
1,懒汉式
(1)线程不安全的懒汉式
public cla