- 嵌入式硬件篇---核心板制作
Atticus-Orion
嵌入式硬件篇单片机嵌入式硬件
自制以ESP32为核心的电路板时,需要兼顾电气性能、功能完整性、调试便利性和实际使用场景,同时需特别关注ESP32的射频特性(Wi-Fi/蓝牙)和电源需求。以下从“必须包含的部分”和“需考虑的关键问题”两方面详细说明:一、自制ESP32电路板必须包含的核心部分ESP32作为主控(集成Wi-Fi、蓝牙、MCU),其电路板设计需围绕“供电-核心-通信-交互-扩展”展开,至少包含以下部分:1.核心控制模
- 【ESP32设备通信】-使用Modbus RTU读取传感器数据
视觉与物联智能
物联网全栈开发实战嵌入式硬件ModBusModBusRTUESP32物联网传感器单片机
使用ModbusRTU读取传感器数据文章目录使用ModbusRTU读取传感器数据1、什么是Modbus2、什么是ModbusRTU3、用于RS-485通信的MAX485模块4、RS485温湿度传感器5、硬件准备与接线6、代码实现在本文中,我们将深入研究ModbusRTU协议,并学习如何使用ESP32实现该协议,以便通过RS485从从设备读取传感器数据。为了简化和加深理解,我们将重点介绍一个基于Mo
- C#进行串口应用开发如何处理串口的异常情况
openwin_top
c#串口应用开发问题系列c#开发语言串口通讯上位机
python编程示例系列python编程示例系列二python的Web神器Streamlit如何应聘高薪职位C#视觉应用开发问题系列c#串口应用开发问题系列microPythonPython最小内核源码解析NI-motion运动控制c语言示例代码解析在C#中进行串口应用开发时,处理串口的异常情况是非常重要的。常见的串口异常包括端口不可用、数据传输错误、超时等
- 【ESP32设备通信】-ESP-Now多对一通信
视觉与物联智能
物联网全栈开发实战ESP32单片机ESPNow嵌入式硬件物联网网络
ESP-Now多对一通信文章目录ESP-Now多对一通信1、ESP-Now通信协议介绍2、硬件准备3、代码实现3.1查询MAC地址3.2发送方代码实现3.3接收方代码实现在本文中,我们将了解如何使用ESP-NOW和ArduinoIDE从多块ESP32板向一块ESP32板发送数据。换句话说,我们将从多块ESP32板向一块ESP32板传输数据(多对一通信)。之前,我们通过ESP-NOW单向通信将数据从
- 3D打印遥控投喂船:用ESP32C3打造低成本水上机器人
iotzgq
机器人
项目缘起:从脚踏船到智能投喂的创新转身在创客圈,灵感往往源于意外的"灵光一闪"。这个3D打印遥控投喂船的项目最初只是想做一艘普通的遥控脚踏船,直到开发者突发奇想:为什么不增加一个自动投喂装置?这个改动让项目瞬间具备了实用价值——不仅能在湖面操控小船畅玩,还能精准投放鱼食或鱼药到人工难以到达的水域。最令人称道的是其无线通信方案:放弃了传统遥控模块,采用ESP-NOW协议实现船与遥控器的通信。这种方案
- 用ESP8266和MicroPython打造WiFi智能遥控小车:从入门到实战
项目概述:WiFi控制的创新体验在物联网技术飞速发展的今天,传统遥控小车早已无法满足创客们的探索欲望。本文将介绍一个基于ESP8266和MicroPython的WiFi遥控小车项目,通过两个ESP8266模块实现无线通信,让你摆脱传统遥控器的束缚,体验物联网控制的乐趣。核心功能亮点WiFi无线控制:无需传统射频模块,通过WiFi网络实现远程操控双ESP8266架构:一个作为车载接收端,一个作为手持
- ESP32和nrf mesh实现子节点共用,即蓝牙mesh设备的跨网关控制
众所周知,同一个mesh网络即netkey,netkey_idx相同,appkey,appkey_idx相同。在此前提下,想要实现跨网关控制就比较容易了。我选用的方案是nrfmesh是网关一,ESP32作为网关二,TLSR8258作为子设备。首先通过nrfmesh将子设备配置到mesh网络中,然后将nrfmesh中的net_key和appkey通过蓝牙辅助配网(蓝牙直连的方式)传给ESP32从而实
- 【ESP32设备通信】-ESP-Now节点作为Web网关
视觉与物联智能
物联网全栈开发实战ESP32单片机嵌入式硬件物联网网关ESPNow
ESP-Now节点作为Web网关文章目录ESP-Now节点作为Web网关1、ESP-Now通信协议介绍2、硬件准备及项目介绍3、代码实现3.1查询MAC地址3.2接收方代码实现3.3发送方代码实现4、总结在本文中,我们将使用ESP-NOW通信协议和Wi-Fi同时创建一个ESP32web服务器。这个web服务器将显示由一个ESP32服务器板接收到的传感器读数,这些读数将通过ESP-NOW单向通信协议
- stm32与ESP32-C3通过串口连接
林内克思
stm32嵌入式硬件单片机
ESP32-C3是一款安全稳定、低功耗、低成本的物联网芯片,搭载RISC-V32位单核处理器,支持2.4GHzWi-Fi和Bluetooth5(LE)。ESP32-C3本身就可以作为一个单片机使用,但是我们这里只是把ESP32-C3作为一个Wi-Fi/蓝牙模块使用。STM32与ESP32-C3使用串口进行通讯。STM32可以给ESP32-C3发送命令,这种命令叫ESP-AT指令。首先通过pc串口E
- 低成本作弊神器?使用ESP32将通义千问AI接入学生计算器
前因:IT之家9月24日消息,YouTube频道ChromaLock于9天前发布视频,介绍了名为TI-32的改造电路板,加装在德州仪器TI-84Plus图形计算器上,可以接入ChatGPT。IT之家查询公开资料,在PSAT、SAT和ACT大学入学考试、IB和AP考试中,标准化组织已经批准考生使用TI-84Plus图形计算器。ChromaLock探索了该计算器的连接端口,设计了名为TI-32的改造电
- BOOT_KEY按键(学习笔记)
小高Baby@
学习笔记
先来让我们了解一下GPIO是什么吧,它在单片机中也有很重要的作用,接下来我们来看看吧。esp32C3是QFN32封装(一种集成电路(IC)封装类型),GPIO引脚一共有22个,从GPIO-0到GPIO-21。从理论上来说,所有的IO引脚都可以复用为任何外设功能,但有些引脚用作连接芯片内部FLASH或者外部FLASH功能时,官方不建议用作其它用途。esp32c3的GPIO,可以用作输入、输出,可以配
- 给出一个基于 ESP-IDF 且不占用硬件 UART 的“软串口”实现,利用 RMT 外设 来模拟第三路 UART
qq_41126242
四博智联ESP32-C3模组单片机嵌入式硬件DOIT四博智联
下面给出一个基于ESP-IDF且不占用硬件UART的“软串口”实现,利用RMT外设来模拟第三路UART(全双工需额外参考开源库,下面示例只给出TX与初始化思路,RX可参考esp32-rmt-uart项目):#include"driver/rmt.h"#include"driver/gpio.h"#include"esp_log.h"staticconstchar*TAG="soft_uart_rm
- 针对esp32-c5写一个示例程序,此程序主要是扫描2.4G+5.8Gwifi,然后链接,可能通过自定义的at指令
包含:自定义AT命令(AT+SCAN=2G,AT+SCAN=5G,AT+CONN=ssid,pwd,2G/5G)2.4GHz与5GHz扫描逻辑,并按频段过滤并打印结果STA模式初始化、事件回调处理连接指定SSID/密码的示例详细的中文注释,帮助理解每个模块的设计与实现#include#include#include"freertos/FreeRTOS.h"#include"freertos/eve
- 基于 esp32-s3,结合私有化大模型,集asr语音识别、llm大模型、tts语音合成,设计一个技术方案,要求用websocket保持长链接,
以下方案演示了如何基于ESP32-S3,通过私有化大模型组合ASR(语音识别)、LLM(语言大模型)和TTS(语音合成)来构建一个语音交互系统,并且通过WebSocket保持与服务器的长连接通讯。整体方案分为以下几个部分:系统整体架构与数据流协议设计与消息格式服务器端实现示例ESP32-S3端实现示例运行流程与示例下面将对各部分进行详细说明。ESP32-S3没想到私有化大模型速度也能这么快ESP3
- 从零构建智能ai语音助手:ESP32s3+Python+大语言模型实战指南
从零构建智能ai语音助手:ESP32s3+Python+大语言模型实战指南一、项目概述大家好!今天给大家带来一个干货满满的实战项目——基于ESP32S3硬件和Python后端的智能语音助手系统。这个项目将物联网技术与AI技术完美结合,打造一个可以实时对话、意图识别的智能语音交互系统。相比传统的离线语音系统只能识别固定命令词,我们这套系统可以:实现自然语言理解,支持多种表达方式无需预设固定命令词,更
- ESP32 S3音频开发
1.音频硬件框架Codec:音频编解码芯片,一种低功耗单声道音频编解码器,包含单通道ADC、单通道DAC、低噪声前置放大器、耳机驱动器、数字音效、模拟混音和增益功能。它通过I2S和I2C总线与ESP32-S3-WROOM-1模组连接,以提供独立于音频应用程序的。PA:音频功率放大器,用于放大来自音频编解码芯片的音频信号,以驱动扬声器。2.音频软件框架ESP32提供了几个简单的高级API,可以参考例
- ESP32-S3 I2S音频开发实战指南
薛慕昭
音视频
目录前言I2S简介TDM通信模式(标准)PDM通信模式.对比总结为什么要学习I2SPCM原始数据I2S录制声音I2S播放声音WAV音频WAV文件头结构(44字节)解析wav格式数据struct.unpack的基本用法格式化字符串(fmt)示例1:解析单个值示例2:解析多个值示例3:解析混合类型示例4:解析字符串示例5:解析WAV文件头注意事项总结实操演练保存wav格式数据结语前言在智能硬件和物联网
- ESP32 S3 OV2640 camera显示到LCD上出现:cam_dma_config(300): frame buffer malloc faile;cam_dma_config failed
问题现象:E(894)cam_hal:cam_dma_config(300):framebuffermallocfailedE(901)cam_hal:cam_config(384):cam_dma_configfailedE(907)camera:Cameraconfigfailedwitherror0xffffffffE(5869)task_wdt:Taskwatchdoggottrigger
- 【esp32-s3】7.2 I2S——播放wav文件
飞鸟厌鱼
esp32esp32s3
文章目录1前言2硬件3代码4结果1前言本章实现了播放和录制功能。2硬件3代码/*I2SDigitalMicrophoneRecordingExampleThisexamplecodeisinthePublicDomain(orCC0licensed,atyouroption.)Unlessrequiredbyapplicablelaworagreedtoinwriting,thissoftware
- ESP32设备驱动——使用I2S播放音频的物联网应用
JmwvOverflow
音视频物联网
在物联网应用中,使用嵌入式设备进行音频播放是一个常见的需求。ESP32是一款功能强大的嵌入式开发板,它集成了Wi-Fi和蓝牙功能,适用于物联网应用。本文将介绍如何在ESP32上使用I2S(Inter-ICSound)接口来播放音频。I2S是一种串行音频接口,用于高质量音频数据的传输。ESP32的I2S接口可以直接与音频编解码器、数字信号处理器(DSP)等设备连接,实现音频的输入和输出。下面我们将逐
- ESP32播放网络音乐与麦克风接收
魔法少女郭德纲*
单片机iot物联网
本文使用esp32结合MAX98357音频放大器模块播放网络音乐,同时用INMP441模块作为语音输入进行测试第一部分:播放网络音乐需要用到esp32开发板、MAX98357模块、喇叭、连接线一、准备工作库安装1,首先到GITHUB下载「ESP32-audioI2S」https://github.com/schreibfaul1/ESP32-audioI2S/2,解压。3,把解压的文件放进Ardu
- 从点子到原型只需10分钟:用 Copilot 快速验证产品功能
网罗开发
AI大模型Python技术汇总人工智能copilot
网罗开发(小红书、快手、视频号同名) 大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO
- STM32第十七天ESP8266-01Swifi模块
Do vis824
stm32嵌入式硬件单片机
ESP8266-01Swifi模块1:ESP8266是实现wifi通讯的一个模块种类,有很多分类包含esp8266-12、esp8266-12E、ESP8266-01S、esp32等等。esp8266-01S由一颗esp8266作为主控再由一块flash作为存储芯片组成,带有板载芯片供电采用3.3V电压使用串口进行烧写程序和AT指令集调试,注意芯片一旦烧写了程序使不可使用AT指令集,需要重新刷回A
- stm32 micropython vscode_VS Code 上最硬核的 MicroPython 插件
weixin_39968309
stm32micropythonvscode
介绍VSCode上最硬核的MicroPython插件——RT-ThreadMicroPython,为MicroPython开发提供了强大的开发环境,主要特性如下:设备快速连接(串口、网络、USB)支持基于MicroPython的代码智能补全与语法检查支持MicroPythonREPL交互环境提供丰富的代码示例与demo程序提供工程同步功能支持下载单个文件或文件夹至开发板支持在内存中快速运行代码文件
- 【Arduino 动手做】由操纵杆控制的 SCARA 机械臂
驴友花雕
Arduino动手做嵌入式硬件单片机c++Arduino动手做由操纵杆控制的SCARA机械臂
《Arduino手册(思路与案例)》栏目介绍:在电子制作与智能控制的应用领域,本栏目涵盖了丰富的内容,包括但不限于以下主题:ArduinoBLDC、ArduinoCNC、ArduinoE-Ink、ArduinoESP32SPP、ArduinoFreeRTOS、ArduinoFOC、ArduinoGRBL、ArduinoHTTP、ArduinoHUB75、ArduinoIoTCloud、Arduin
- 【Arduino 动手做】DIY Arduino 机器人手臂,带智能手机控制
驴友花雕
Arduino动手做机器人智能手机嵌入式硬件单片机c++机器人手臂带智能手机控制Arduino动手做
《Arduino手册(思路与案例)》栏目介绍:在电子制作与智能控制的应用领域,本栏目涵盖了丰富的内容,包括但不限于以下主题:ArduinoBLDC、ArduinoCNC、ArduinoE-Ink、ArduinoESP32SPP、ArduinoFreeRTOS、ArduinoFOC、ArduinoGRBL、ArduinoHTTP、ArduinoHUB75、ArduinoIoTCloud、Arduin
- 【ESP32最全学习笔记(基础篇)——7.ESP32 ADC – 使用 Arduino IDE 读取模拟值】
「已注销」
ESP32学习笔记学习ESP32单片机嵌入式硬件Arduino
关于本教程:ESP32基础篇1.ESP32简介2.ESP32Arduino集成开发环境3.VS代码和PlatformIO4.ESP32引脚5.ESP32输入输出6.ESP32脉宽调制7.ESP32模拟输入☑8.ESP32中断定时器9.ESP32深度睡眠
- 写测试太烦?Copilot + Jest 让你 3 分钟搞定单元测试
网罗开发(小红书、快手、视频号同名) 大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO
- ESP32-S3开发板麦克风录音到SD卡存储测试
xu_wenming
mcu嵌入式硬件物联网
硬件版本:ESP32-S3-EYE-MB_V2.2软件版本:esp-idf-v5.4.1实测ESP的DEMO,无法正常运行。测试修改验证:实现麦克风录音到SD卡存储。#include#include#include#include#include#include"esp_log.h"#include"esp_err.h"#include"esp_system.h"#include"esp_vfs_
- ESP32-S3驱动RGB屏幕显示飘移问题
为什么驱动RGBLCD屏幕时出现偏移(显示画面整体漂移)?原因PCLK设置过高,PSRAM带宽跟不上。Listitem受写flash操作影响,期间PSRAM被禁用。配置方面提高PSRAM和flash带宽,设置flash为QIO120M,PSRAM为Octal120M。开启CONFIG_COMPILER_OPTIMIZATION_PERF。降低data_cache_line_size到32Byte。
- 算法 单链的创建与删除
换个号韩国红果果
c算法
先创建结构体
struct student {
int data;
//int tag;//标记这是第几个
struct student *next;
};
// addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
if(h==NULL) //??????
- 《大型网站系统与Java中间件实践》第2章读后感
白糖_
java中间件
断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。
看完整章内容,
- zeus持久层spring事务单元测试
deng520159
javaDAOspringjdbc
今天把zeus事务单元测试放出来,让大家指出他的毛病,
1.ZeusTransactionTest.java 单元测试
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import
- Rss 订阅 开发
周凡杨
htmlxml订阅rss规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。
RSS
- 分页查询实现
g21121
分页查询
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据
- spring jms异步消息处理
510888780
jms
spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下:
- highCharts柱状图
布衣凌宇
hightCharts柱图
第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController { private UserServi
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
springmvcSpring 教程spring3 教程Spring 入门
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- TLS java简单实现
antlove
javasslkeystoretlssecure
1. SSLServer.java
package ssl;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import
- Zip解压压缩文件
百合不是茶
Zip格式解压Zip流的使用文件解压
ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
&n
- underscore.js 学习(一)
bijian1013
JavaScriptunderscore
工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。 学
- java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)
bijian1013
javajvmjstatd
1.介绍
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
jstatd是基于RMI的,所以在运行jstatd的服务
- 【Spring框架三】Spring常用注解之Transactional
bit1129
transactional
Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义:
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version
- 我(程序员)的前进方向
bitray
程序员
作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....
- nginx lua开发经验总结
ronin47
使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下 1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa
- java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶
bylijinnan
java
import java.util.Stack;
public class ReverseStackRecursive {
/**
* Q 66.颠倒栈。
* 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
* 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
*1. Pop the top element
*2. Revers
- 正确理解Linux内存占用过高的问题
cfyme
linux
Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total,&nb
- [JWFD开源工作流]当前流程引擎设计的一个急需解决的问题
comsci
工作流
当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。
而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。
- 自定义类的equals函数
dai_lm
equals
仅作笔记使用
public class VectorQueue {
private final Vector<VectorItem> queue;
private class VectorItem {
private final Object item;
private final int quantity;
public VectorI
- Linux下安装R语言
datageek
R语言 linux
命令如下:sudo gedit /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke
- 如何修改mysql 并发数(连接数)最大值
dcj3sjt126com
mysql
MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass
- 单一功能原则
dcj3sjt126com
面向对象的程序设计软件设计编程原则
单一功能原则[
编辑]
SOLID 原则
单一功能原则
开闭原则
Liskov代换原则
接口隔离原则
依赖反转原则
查
论
编
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有
- POJO、VO和JavaBean区别和联系
fanmingxing
VOPOJOjavabean
POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被
- SpringSecurity3.X--LDAP:AD配置
hanqunfeng
SpringSecurity
前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。
将配置文件中的如下部分删除:
<!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->
- mac mysql 修改密码
IXHONG
mysql
$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-
- 设计模式--抽象工厂模式
kerryg
设计模式
抽象工厂模式:
工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,
- 评"高中女生军训期跳楼”
nannan408
首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。
孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军
- scala如何读取和写入文件内容?
qindongliang1922
javajvmscala
直接看如下代码:
package file
import java.io.RandomAccessFile
import java.nio.charset.Charset
import scala.io.Source
import scala.reflect.io.{File, Path}
/**
* Created by qindongliang on 2015/
- C语言算法之百元买百鸡
qiufeihu
c算法
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
代码如下:
#include <stdio.h>
int main()
{
int cock,hen,chick; /*定义变量为基本整型*/
for(coc
- Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
wyz2009107220
NameNode
正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。
1. Secondary NameNode
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image
优点:Hadoop较早的版本都自带,