等等。
标签里可带有各类属性,最基本的就是class和id。class属性的作用是引用css样式;id的作用是配合javascript使用,具有唯一性。下面举几个例子说明
l 图片标签 的主要属性有src,alt。src是引用图片的网络地址(必要);alt是对这张图片的描述,如果图片加载不成功,则会显示alt的文字。
l 超链接的主要属性有href,target。href是指链接要跳转的网址(必要);target是告诉浏览器点击这个链接后要以哪种形式找开窗口,target=”_blank”是指打开一个新窗口。
css介绍
css的官方名字叫层叠样式表,它的出现是为了解决内容和表现分离的问题,一般存放在.css文件里。
使用css。
可在html的头元素
里书写,或者书写在CSS文件并在html里引用该文件。
css优先权。
多个css样式可集中在单个html标签里,出现这种情况时,一般按优先权划分
浏览器默认设置 (最低)
外部样式表
内部样式表(写在html的标签内部)
内联样式(写在html的标签里,即style属性)(最高)
css的语法。
css由两个主要部分组成,选择器,一条或多条声明。
选择器是指css样式的名字“.seletor”,名字前面要带上一点“.”。声明是由属性和值组成,给个例子“margin: 0 auto”,冒号前面是属性,后面是值,该例子是定义元素居中显示。
javascript介绍
javascript是脚本语言,它是连接前台(html)和后台服务器的桥梁,它是操纵html的能手,本文用js代替javascript进行说明。
平时听到原生js,js库,js框架,js插件等等,下面简单说明一下。
l 原生js,是指最基础的js,没有封装过,但因为各浏览器对js的支持不同,就导致用基础的js编程需要为不同的浏览器写兼容代码。
l Js库,js框架,是指集成一系列dom操作,API封装,界面UI封装的的库类,常见的有jQuery,extjs等等,这方面的定义比较难区分,暂不误导大家
l Js插件,就是集成了帮助程序员轻松完成功能的程序。Js插件用得比较多,网页制作上随处可见。如图片轮换功能,导航制作,上传图片等等。
前端编程的难点
前端开发主要面向的是页面上的呈现效果,从以上介绍中可以发现,这么语言并不困难。而且近几年来,前端的就业形势特别喜人,各大公司都开始加强了前端人才的招聘力度。但是学习前端,其实也还是有些难点要事先交代一下的。
1. 要有同大众一样的审美能力和标准
这一点很容易理解,前端是整个开发体系里,最直接面向用户的。一定要有良好的审美能力,这样才能做出来一个能够吸引用户并有可能把用户留下来继续浏览的页面。
前端开发人员一定要具备跟大多数人一样的审美标准,要做到你认为好看的页面,80%以上的人都认为好看才行。如果你的审美是大家所不能理解的,那么,你可能就要考虑不要贸然选择前端开发了。
2. 多平台兼容,很可能会把你逼疯
在我的开发经验中,前端开发工作的一个大的挑战来自于多平台的兼容性问题。
前端开发完成的页面,最后其实是需要依托于浏览器展示出来的。现在为我们所熟知的浏览器平台其实有很多,有Chrome(谷歌浏览器),FireFox(火狐浏览器),IE,QQ浏览器,360浏览器等。这些浏览器因为内核不同,对同样的前端代码可能会做出不同的理解,所以呈现出来的效果也不一样。这就给我们的前端开发带来了很大的难度,因为我们无法预知用户会使用什么工具,我们的开发一定会要求适配所有的浏览器平台,不能只针对特定的浏览器。
面对多种多样的浏览器版本,已经够大家受的了。而在进入到移动互联网时代之后,手机上的浏览器也相应的给开发带来了更多的挑战,不同尺寸,不同型号的手机,也给前端的开发增加了不少的乐趣。
3. 前端技术日新月异,要时刻保持技术敏感,不停学习
这一点,可能是所有的开发语言中都会存在的难点。
以前的前端其实真的很容易,只要学会最基础的语法,能够切图将页面做出来就是一个出色的前端开发者。但是到了现在,全都不一样了。
到了移动互联网时代之后,很多事情都发生了改变。html变成了html5,css变成了css3,javascript就更夸张了,好端端的前端语言非要学后端语言,也开始讲究框架,讲究设计模式。从原生的javascript到后来的JQuery,再到现在的ReactJs,Vue,Angular。在移动互联网兴起之后,前端开发的清单里又出现了公众号开发和小程序开发。技术的发展总是很快的,我们如果想要学好技术,成为一个合格的程序员,就一定要做好快速学习的准备。
后端开发语言
后端开发语言的代表就很多了,而且每一种语言都有着各自适合的应用场景,也有着无数用户者。我们经常能够看到关于那种编程语言更好的争辩,其实这真的没办法说明哪一种语言就比其他语言更好,只能在特定的情景下,判定哪一种语言更适合。
接下来,我就逐个讲解一下这几门常用的编程语言的特点。
C/C++
概括起来,大多数中国程序员的第一个语言。
C语言是面向过程语言的一个代表,常用于编写操作系统。C++是C语言的一个超集,既有指针又有对象使它成为最复杂的语言。
几乎所有现代编程语言都脱胎于C/C++,因此了解了C/C++,就了解了关于编程语言的一切,非常有利于快速掌握其他各类编程语言。C/C++可以被嵌入任何现代处理器中,几乎所有操作系统都支持C/C++,跨平台性非常好。
C/C++的不足:据说C/C++发明的时候为了提高入行门槛和行业收入水平刻意制造了学习难度。尽管C语言体型小巧,可最常使用的C++规模可观且拥有大量极为复杂的功能交互方式,容易造成资源浪费。总结起来说,C/C++语言的学习成本十分高昂,更加偏向计算机底层。如果没有信心或者不是立志于去做计算机底层开发,还是不要贸然去学习这门语言了。
职业路线:
(1)首推Unix/Linux等操作系统软件的开发和嵌入式开发。
(2)Android ROM的定制,以及android App的NDK开发。
(3)用Cocos2d-x开发游戏也是C++程序员的好出路。
Java
这是最长寿的语言。
Java是最典型的面向对象语言。Java不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等坑爹概念。Java积极推动了面向对象的编程理念,极大的改善了编写代码的易读性,可维护性。让大型编程,多人维护,变得越来越容易。
Java平台不断迎来新功能,比如移动互联网时代的Android,大数据时代的Hadoop,人工智能时代的TensorFlow。因为Java不断进取,能够不断的跟时代趋势保持同步,Java成为了世界上使用范围最广的语言——Java环境安装时那句“3 Billion Devices Run Java”谁没见过?桌面应用,网络编程,游戏编程,移动端编程,基本上只要有代码的地方,我们都能见到Java的身影。
Java同样也是一门面向底层的语言,它适用于大型项目的开发,本身推从的面向对象,多线程,包管理等特性,让Java成为了一门性能强大且安全性极高的开发语言。也正是这些特点,决定了Java开发项目往往开发成本高昂,每次开发都要进行大量的预先设计,过于重视标准化,也让Java开发项目的开发周期被无形拉长。
职业路线:
(1)招聘网站上常见的“招聘Java开发”指的就是狭义的Java开发——基于JavaEE的后台开发,以前一度流行过SSH框架和SSM框架,现在入门建议学习SpringMVC框架。
(2)在移动互联网时代,Java可用于Android App开发。但Java之于Android的地位可能被Kotlin取代。
(3)在大数据时代,Java可用于Hadoop的开发,前景非常广阔,但可能有泛滥的趋势。
(4)在人工智能时代,Java可用于TensorFlow深度学习的开发。
C#
自称不是Java的Java语言
C#是微软看到Java太火了而发明的和Java语法差不多的语言。
C#的优势:C#的最大优势在于全面集成.Net库,提供出色的功能与完美的库访问能力。VR时代的到来让Unity-3d开发者有很好的发展前景。
C#的不足:只能在windows环境下运行,跨平台能力太差。目前.Net在国内就业环境不太好,收入较低。
职业路线:
(1)招聘网站上常见的“招聘C#开发”和“招聘.net开发”指的都是狭义的C#开发——基于.Net框架的后台开发。
(2)Unity-3d也用C#作为开发语言,除了能开发3D游戏,在VR时代也会大放光芒。
Python
需要拿着游标卡尺学习的语言
python是一款服务器端解释型开源非编译脚本语言。学习简单,被誉为“最易学习的语言”。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。因为Python中预置了大量的数据相关的模块,在做数据分析,爬虫处理等场景里被大量应用。
职业路线:
(1)用Django框架进行web开发:和Java没什么两样。
(2)用PIL框架进行图形处理
(3)物联网:Raspberry Pi等物联网平台都选择了Python作为开发语言
(4)Python有一个无所不能的Hack库,如果认为“打工时不可能打工的”就去当一个自由的黑客吧
PHP
我们经常能够听到一句话,PHP是世界上最好的语言。它是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。号称“世界上最好的语言”。
PHP学习简单,易于快速上手。历久弥新的PHP拥有庞大而活跃的官方社区,开发者面临的大部分难题都有现成的解决方案,很多十几年前的解决方案在当代也有指导意义。相比较Java,C这些编译型语言,PHP开发速度快,而且不需要编译,可以快速完成项目开发并即刻运行的特点,成为了大量创业团队初始项目的首选。但是随着用户量上升,性能问题也会逐渐体现,通常在项目达到一定规模之后,企业都会将选用其他语言来作为PHP的替代方案。
随着近几年,前端技术的突起,NodeJs开始被广大开发者所接受,加上新型开发语言Golang的出现,PHP不可避免的出现了下滑。但是PHP7的出现,下降的势头有所缓解,加上前些年市场上出现了大量的用PHP开发的项目,这些项目仍然需要大量的PHP程序员来维护,所以PHP这们语言还是具有着很大的市场前景。
NodeJS
NodeJs其实是一种面向后端的前端语言。它的本质就是Javascript,但是却拥有了一颗后端开发的决心。
NodeJS也是一门脚本语言,同PHP一样,也是为了Web而生的。因为它的语言同Javascript一摸一样,所以为前端开发工程师转向后端,提供了可能,带动了“全栈工程师”的概念迅速兴起。再加上设计之初,它引入了异步调用的方式,极大的改善了性能。在近些年来,上升势头极为明显。如果你对前端开发感兴趣,也想尝试后端开发,NodeJs将会是你的首选。
Golang
Go语言是近几年才最新兴起的一门web编程语言。因为是最新出现的,而且还能被广大用户所接受。一定是在一定程度上代表了当前时代的最佳。Go语言基本上集成了以上所有语言的有点。相比较C或Java,它简单易学,成本极低,拥有良好的语言设计,预置了大量的适用于Web开发的功能,简化了开发成本。相比较PHP,Python,NodeJs,它又具备编译型语言的特点,代码直接编译成机器码,运行速度快,性能突出。
但是Golang也有它的缺陷,毕竟是一门新出现的语言,它的最大的问题在于平台还不成熟。虽然全世界都很看好它,但还是有很多方面需要完善。比如相关论坛,开源项目的数量。而且还没有成熟的被大家所接受的官方框架,版本的稳定性也有待进一步加强。
目前go语言主要的应用场景是集中在运维开发方面。大家所熟知的docker,k8s就是使用go来开发的。但是还没有其他的知名的大型项目完全使用golang,但是这们语言未来可期,如果要想以后投身于web开发的学员门,这么语言一定不能错过。
Objective-C和Swift
这两门语言都是基于IOS系统的移动端专用语言。Objective-C在几年前是国内收入最高的语言。
苹果公司提供了丰富的工具和库以便开发者使用Objective-C开发软件。
但是Objective-C拥有自己独特的编程方法思路,与其他编程语言思路差别较大。而且OC的用户也在逐年流失。
正式因为OC与其他主流语言的差异性比较大,苹果公司后期推出了swift。随着时间推移,Swift在iOS和OS X软件中占的代码比例会越来越多。
但是Swift也有不足。它的版本更迭太快,不同版本差别过大,近年发生过几次“从精通到重新入门”的情况。这就给用户带来了极大的不变。而且企业出于稳定性考虑,在做出开发决定的时候,也会对选用Swift采用保守考虑。
结论
目前主流的一些开发语言,在这里都已经有所介绍了。大家如果有意向进入到互联网开发领域,看了这篇文章应该也有会一个概括性的认识了。
希望这篇文章能够对大家的选择有所帮助,如果大家尚有疑问,欢迎联系我同我交流。
你可能感兴趣的:(主流互联网编程语言介绍,想要学习编程的你,不容错过)
ts学习笔记
瑾清在努力
学习 笔记 javascript typescript
1.介绍ts是js的超集,他融合了其他语言的优势,将js带到了一个新的高度js,es,ts的关系:ECMAScript是JavaScript的标准,TypeScript是JavaScript的超集2.为什么使用ts?1.发现问题js---运行后报错ts---运行之前可检查出错误(静态类型检查)2.非异常故障错别字,未调用函数,基本逻辑错误constuser={name:'小明',age:26}us
C++快速排序算法详解与实现
小小的博客
排序算法 c++ 算法 排序算法 c++ 排序算法
快速排序(QuickSort)是一种高效的排序算法,由英国计算机科学家东尼·霍尔(TonyHoare)于1960年发明。本文将详细讲解快速排序算法的原理和实现,并通过C++语言展示其代码实现。1.快速排序算法原理快速排序算法的基本思想是分治法(DivideandConquer),其核心步骤如下:1.选择一个基准元素(pivot),通常选择序列中的第一个或最后一个元素。2.将序列分为两部分,一部分是
(转载)20个JavaScript重点知识点(11)this机制
lzhdim
javascript 前端 vue.js 开发语言 ecmascript
this是JavaScript中最容易让人困惑的概念之一。它的指向取决于函数的调用方式而非定义位置,且在不同场景下表现不同。一、this的本质this是一个动态绑定的执行上下文对象,指向当前函数运行时的“所有者”。它的值在函数被调用时确定,而非定义时。理解this的关键在于分析函数是如何被调用的。二、绑定规则1.默认绑定(独立函数调用)当函数作为独立函数调用时(非方法、构造函数等),非严格模式下t
LangChain入门教学:(1)LangChain表达式
LangChain表达式LangChain表达式语言(LCEL)使得从基本组件构建复杂链条变得容易,并且支持诸如流式处理、并行处理和日志记录等开箱即用的功能LCEL基本示例:提示+模型+输出解析器将提示模板和模型链接在一起,让它为我们实现一个语言翻译的功能首先需要安装库文件pipinstall--upgrade--quietlangchain-corelangchain-communitylang
数组中出现次数超过一半的数字
hixiaoyang
python 算法 数据结构
问题描述给定一个大小为n的数组,找出其中出现次数超过⌊n/2⌋的元素(即多数元素)。假设数组非空,且多数元素一定存在。关键结论:多数元素出现的次数比其他所有元素出现次数之和还要多常见解法分析1.哈希表统计法核心思想:使用哈希表统计每个数字出现的次数,当某个数字的计数超过n/2时立即返回。时间复杂度分析时间复杂度:O(n)空间复杂度:O(n)java实现publicintmajorityElemen
工厂模式深度解析:工厂方法 vs 抽象工厂
hixiaoyang
设计模式
1.核心概念对比1.1工厂方法模式(FactoryMethod)工厂方法模式定义一个创建对象的接口,但让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。关键结论:工厂方法是"单个产品等级结构"的创建解决方案,通过子类化实现具体创建逻辑1.2抽象工厂模式(AbstractFactory)抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。关键结论:抽象工厂是
Pydub音频处理库核心API详解
滕娴殉
Pydub音频处理库核心API详解pydubManipulateaudiowithasimpleandeasyhighlevelinterface项目地址:https://gitcode.com/gh_mirrors/py/pydub概述Pydub是一个功能强大的Python音频处理库,它提供了简洁直观的API来处理各种音频操作。本文将深入解析Pydub的核心功能,帮助开发者快速掌握音频处理的关键
数组中重复的数字-数据结构
hixiaoyang
python 开发语言
问题描述在一个长度为n的数组里,所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。关键要求:时间复杂度O(n),空间复杂度O(1)解题思路方法一:哈希表法(不符合空间要求但容易理解)使用哈希表存储已经遍历过的数字,当遇到重复数字时返回。时间复杂度:O(n)空间复杂度:O(n)方法二:原地交换法(最优解)利用
揭秘STP:消除二层环路的关键技术
Honey\
网络 网络协议 tcp/ip 信息与通信
STP(生成树)背景二层环路:原因:人为疏忽导致/二层网络的冗余性危害:引起广播风暴/MAC地址漂移STP工作原理:运行该协议的设备通过彼此交互信息发现网络中的环路,并对某些接口进行阻塞来消除环路STP工作过程:一开始,所有交换机都会认为自己是根桥,所有交换机之间交互BPDU进行比较,选举根桥。选举根桥后,再选举根接口,通过比较根桥发送的BPDU来比较大小,小的优选举根接口之后,选举指定接口,也是
解密TCP/IP模型:网络通信的全景指南
Honey\
服务器 网络 运维 信息与通信 网络协议 tcp/ip 智能路由器
一、网络参考模型OSI参考模型TCP/IP参考模型应用层(数据):为应用程序提供网络服务传输层(段):建立端到端的连接网络层(包):IP寻址和路由选择数据链路层(帧):将数据封装成帧,提供点到点、点到多点的连接物理层(比特):定义接口规格上层依赖下层提供服务。对等通信:发送方通过哪一层什么协议发送的数据报文,接收方也同样再哪一层及协议处理数据报文。二、TCP/IP每一层详解(1)应用层作用:为应用
Matplotlib 库来可视化频谱泄漏和加窗的效果
Mark White
matplotlib
前言很多朋友学习音频技术的时候,不理解这个频谱泄漏是什么,我们这次写个小代码直观地感受一下代码演示:频谱泄漏与加窗我们将生成一个简单的正弦波信号,然后分别用**不加窗(矩形窗)和加窗(汉明窗)**的方式对其进行傅里叶变换,并对比它们的频谱图。你会清晰地看到加窗如何减少了频谱泄漏。importnumpyasnpimportmatplotlib.pyplotaspltfromscipy.fftimpo
DeLorean联手Sui网络推出最新区块链订车,XBIT平台xaut今日价格行情飙升引热议
caijingshiye
区块链
币界网6月24日讯,全球豪华汽车领域迎来颠覆性变革!DeLorean汽车公司今日宣布,基于SuiNetwork打造的全球首个区块链汽车预订市场正式上线,用户可通过加密货币直接预订其旗舰电动跑车Alpha5,并在等待交付期间通过质押资产赚取收益。这一创新模式不仅解决了传统汽车预订的退款难、周期长等痛点,更将区块链技术的透明性与金融属性深度融合。受此消息刺激,去中心化交易所XBIT平台上的黄金稳定币x
使用LangChain构建智能应用:从入门到实战
afTFODguAKBF
langchain python
引言在当今的人工智能时代,构建智能应用程序已经成为越来越多开发者的目标。LangChain是一个强大的工具,可以帮助我们快速开发基于大型语言模型(LLM)的应用。本篇文章将带你了解如何从零开始使用LangChain,构建一个简单的LLM应用程序,并逐步探索更复杂的功能。主要内容构建简单的LLM应用使用LangChain,我们可以快速构建一个简单的LLM应用程序。接下来,我将带你一步步实现。什么是L
PCB走线宽度和走过的电流对照表
小猫不吃鱼1202
单片机 嵌入式硬件 pcb工艺
厚度[um]线宽[mm]70um[2OZ]50um[1.5OZ]35um[1OZ]2.50mm[98mil]6.00A5.10A4.50A2.00mm[78mil]5.10A4.30A4.00A1.50mm[59mil]4.20A3.50A3.20A1.20mm[47mil]3.60A3.00A2.70A1.00mm[40mil]3.20A2.60A2.30A0.80mm[32mil]2.80A2
端侧开发详解 初赛收官盛宴 | 2025高通边缘智能创新应用大赛第九场公开课来袭!
阿加犀智能
人工智能 智能硬件
各位开发者、技术爱好者,2025高通边缘智能创新应用大赛即将迎来初赛阶段的最后一堂重磅公开课!诚邀大家于7月3日(星期四)晚8点,准时收看由瑞莎的嵌入式开发工程师张子烽(Morgan)带来的专题分享,共同探索端侧智能应用开发的创新技术路径。聚焦前沿平台掌握端侧智能开发流程本次课程将聚焦基于瑞莎DragonQ6A开发板的端侧人工智能应用开发。该开发板搭载高通跃龙™QCS6490平台(由阿加犀提供开发
后端技术:利用 MySQL 实现数据加密
大厂资深架构师
Spring Boot 开发实战 mysql 数据库 ai
后端技术:利用MySQL实现数据加密关键词:MySQL数据加密、AES加密、数据库安全、数据保护、加密算法、密钥管理、SQL注入防御摘要:本文深入探讨如何在MySQL数据库中实现数据加密,保护敏感信息免受未授权访问。我们将从加密的基本原理出发,详细讲解MySQL支持的多种加密方式,包括AES、SHA等算法的实现方法。文章包含完整的代码示例和最佳实践,帮助开发者在实际项目中应用数据加密技术,同时讨论
JS学习日记(jQuery库)
红中马喽
javascript 学习 jquery 笔记 开发语言
前言今天先更新jQuery库的介绍,它是一个用来帮助快速开发的工具介绍jQuery是一个快速,小型且功能丰富的JavaScript库,jQuery设计宗旨是“writeless,domore”,即倡导写更少的代码,做更多的事,它封装JavaScript常用的功能代码,提供一种简便的方式进行使用,大大提高了开发效率,jQuery目前支持的浏览器包括Chrome,edge,firefox,ie9+,S
DAO模式
红中马喽
java 数据库 开发语言 笔记 学习 后端 设计模式
前言DAO(DataAccessObject)模式是一种常用的设计模式,主要用于将数据访问逻辑与业务逻辑分离。它提供了一种抽象层,使得应用程序可以与不同的数据源(如数据库、文件系统等)进行交互,而无需了解底层数据存储的细节。DAO模式的核心思想是将数据访问操作封装在独立的类中,从而提高代码的可维护性、可扩展性和可重用性。如何使用DAO模式1.首先导入这个包(有需要的可以私聊我)然后添加配置文件,为
番外:MySQL的一些事务处理
红中马喽
mysql 数据库 学习 笔记 开发语言 后端
前言因为前天没更新,多补一更,简单介绍一下后端数据库MySQL的事务处理什么是事务处理事务(Transaction):事务是一组SQL语句的执行单元,这些语句被视为一个单独的工作单元。事务的主要目的是保证数据库操作的原子性,即这些操作要么全部执行,要么全部不执行简单来说,事务是用来保证数据库的一致性,完整性的,关于事务处理我们需要提到ACID性A.原子性(Atomicity):事务中的所有操作要么
Pydub
AI小译
Github精选 ffmpeg python 音频
文章目录关于Pydub快速入门调试错误和问题安装依赖性回放设置ffmpeg重要注意事项Ogg导出和默认编解码器示例使用再举一个例子怎么样?关于PydubPydub让您可以以一种不愚蠢的方式对音频进行处理。github:https://github.com/jiaaro/pydub官网:https://pydub.com/API文档:https://github.com/jiaaro/pydub/b
【LeetCode】滑动窗口相关算法题
在成都搬砖的鸭鸭
Golang刷LeetCode 算法 leetcode
目录1、介绍2、核心思想3、算法题【1】长度最小的子数组1、介绍滑动窗口算法是一种高效处理数组/字符串子序列化问题的技术,它通过维护一个动态的窗口来避免不必要的重复计算。2、核心思想1、窗口定义:使用两个指针表示当前考察的子序列2、窗口移动:右指针扩张,扩大窗口范围,包含新元素;左指针收缩,缩小窗口范围,排除旧元素3、状态维护:在窗口移动过程中维护关键状态信息3、算法题【1】长度最小的子数组Lee
快速排序(快排)实现及原理
hixiaoyang
排序算法 算法 java
一、算法概述快速排序(QuickSort)是由TonyHoare在1960年提出的一种分治算法,平均时间复杂度为O(nlogn),最坏情况下为O(n²)。它是目前实践中最高效的通用排序算法之一。核心思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后递归地对这两部分记录继续进行排序。二、算法原理1.基本步骤选择基准(pivot):从数组中选择一个元素作
后端开发的新选择:Spring Cloud 事件驱动架构
大厂资深架构师
Spring Boot 开发实战 spring cloud 架构 spring ai
后端开发的新选择:SpringCloud事件驱动架构关键词:事件驱动架构、SpringCloudStream、微服务解耦、消息中间件、异步通信摘要:传统微服务架构中,服务间的直接调用常导致紧耦合和扩展性瓶颈。本文将以“快递物流”为类比,从事件驱动架构(EDA)的核心概念出发,结合SpringCloudStream等工具,详细讲解如何用SpringCloud构建松耦合、高弹性的事件驱动系统。涵盖概念
TS泛型笔记
红中马喽
笔记
1.泛型基础概念定义:泛型是TypeScript中允许创建可复用组件的特性,这些组件可以支持多种数据类型,而非单一特定类型。核心优势:代码复用性:同一组件可处理不同类型数据类型安全:在编译阶段捕获类型错误灵活性:保持代码的灵活性同时提供强类型支持泛型函数//基础泛型函数语法functionidentity(arg:T):T{returnarg;}//使用方式constresult=identity
对于高考边界的理解以及未来就业层级的学习与思考
如果你想拥有什么先让自己配得上拥有
方法认知思考 高考 总结
目录一、2024年高考全国多少考生,文化课,文科理科,分别总分多少分?清北得多少分能上?二、1342万人里面,有多少人能上清北,多少能上985,多少能上211,多少能上二本,多少能上专科?三、2024年高考的人,是那一年出生的,当年全国的出生人口是多少人?四、每年的补习生占高考的比例是多少?五、那也就是2024年高考当年出生的1560万,应届参加高考的900万左右,其余的700万左右的人,没参加高
tcpdump 抓取icmp数据包
洪大宇
Linux tcpdump 网络 linux
#eth1可以替换成你的网卡名称-nn显示IP地址和Mac地址tcpdump-nn-ieth1icmp今天正好有时间做一个简单的补充tcpdump其实和wireshark一样都会识别BPF语法所以做一个简单的补充:BPF语法:dst//目的地址src//原地址host//主机名称port//端口号icmp//icmp协议tcp//tcp协议udp//udp协议一般情况下我们只做一些简单的数据包分析
布线后优化(PostRoute Optimization)解析
weixin_45371279
innovus
AboutPostRouteOptimization一、PostRoute优化的核心功能与默认行为在PostRoute模式下,软件默认执行以下操作(除非手动指定其他目标):违规修复优先级:首先处理寄存器到寄存器(Reg2Reg)路径及寄存器到时钟(Reg2Clock)路径组。其次处理默认路径组的建立时间(Setup)违规和设计规则违规(DRV)。技术流程:RC参数提取:计算布线后的寄生电阻(R)和
机器视觉_图像算法(六)——形状矩(Hu)
智能之心
# 机器视觉_图像算法 形状矩 opencv
图像形状矩:一个从一幅数字图形中计算出来的矩集,通常描述了该图像形状的全局特征,并提供了大量的关于该图像不同类型的几何特性信息,比如大小、位置、方向及形状等。一阶矩与形状有关,二阶矩显示曲线围绕直线平均值的扩展程度,三阶矩则是关于平均值的对称性的测量。由二阶矩和三阶矩可以导出一组共7个不变矩。而不变矩是图像的统计特性,满足平移、伸缩、旋转均不变的不变性,在图像识别领域得到了广泛的应用。一般由mom
【Flutter】时间轴高度自适应最佳实践
Tech Ranger
Flutter Android flutter
1使用部件画圆圈:使用canvas.drawCircle和属性为_paint.style=PaintingStyle.fill;画笔画两个实心圆;画竖线:使用canvas.drawLine和属性为_paint.style=PaintingStyle.stroke;的画笔画直线,通过p1和p2两个端点使直线为竖线在Container中调用decoration组件使用BorderTimeLine类。d
Flutter 中封装 Dio 网络请求的详细步骤
Larry_zhang双栖
flutter
在Flutter中,通过封装Dio网络请求,可以将请求、响应处理和错误处理的逻辑集中在一起,减少代码重复并提升代码的可维护性。我们将在RequestClient类中创建一个通用的请求方法,支持GET和POST请求,并结合EasyLoading和Lottie动画,实现更好的用户体验。步骤1:创建RequestConfig基础配置类首先定义请求的基本配置。RequestConfig类负责存放API的b
html
周华华
html
js
1,数组的排列
var arr=[1,4,234,43,52,];
for(var x=0;x<arr.length;x++){
for(var y=x-1;y<arr.length;y++){
if(arr[x]<arr[y]){
&
【Struts2 四】Struts2拦截器
bit1129
struts2拦截器
Struts2框架是基于拦截器实现的,可以对某个Action进行拦截,然后某些逻辑处理,拦截器相当于AOP里面的环绕通知,即在Action方法的执行之前和之后根据需要添加相应的逻辑。事实上,即使struts.xml没有任何关于拦截器的配置,Struts2也会为我们添加一组默认的拦截器,最常见的是,请求参数自动绑定到Action对应的字段上。
Struts2中自定义拦截器的步骤是:
make:cc 命令未找到解决方法
daizj
linux 命令未知 make cc
安装rz sz程序时,报下面错误:
[root@slave2 src]# make posix
cc -O -DPOSIX -DMD=2 rz.c -o rz
make: cc:命令未找到
make: *** [posix] 错误 127
系统:centos 6.6
环境:虚拟机
错误原因:系统未安装gcc,这个是由于在安
Oracle之Job应用
周凡杨
oracle job
最近写服务,服务上线后,需要写一个定时执行的SQL脚本,清理并更新数据库表里的数据,应用到了Oracle 的 Job的相关知识。在此总结一下。
一:查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行
多线程机制
朱辉辉33
多线程
转至http://blog.csdn.net/lj70024/archive/2010/04/06/5455790.aspx
程序、进程和线程:
程序是一段静态的代码,它是应用程序执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的单位,一个进程执行过程中可以产生多个线程,每个线程有自身的
web报表工具FineReport使用中遇到的常见报错及解决办法(一)
老A不折腾
web报表 finereport java报表 报表工具
FineReport使用中遇到的常见报错及解决办法(一)
这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、address pool is full:
含义:地址池满,连接数超过并发数上
mysql rpm安装后没有my.cnf
林鹤霄
没有my.cnf
Linux下用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,
至于为什么没有这个文件而MySQL却也能正常启动和作用,在这儿有两个说法,
第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动,
第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于r
Kindle Fire HDX root并安装谷歌服务框架之后仍无法登陆谷歌账号的问题
aigo
root
原文:http://kindlefireforkid.com/how-to-setup-a-google-account-on-amazon-fire-tablet/
Step 4: Run ADB command from your PC
On the PC, you need install Amazon Fire ADB driver and instal
javascript 中var提升的典型实例
alxw4616
JavaScript
// 刚刚在书上看到的一个小问题,很有意思.大家一起思考下吧
myname = 'global';
var fn = function () {
console.log(myname); // undefined
var myname = 'local';
console.log(myname); // local
};
fn()
// 上述代码实际上等同于以下代码
m
定时器和获取时间的使用
百合不是茶
时间的转换 定时器
定时器:定时创建任务在游戏设计的时候用的比较多
Timer();定时器
TImerTask();Timer的子类 由 Timer 安排为一次执行或重复执行的任务。
定时器类Timer在java.util包中。使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定
JDK1.5 Queue
bijian1013
java thread java多线程 Queue
JDK1.5 Queue
LinkedList:
LinkedList不是同步的。如果多个线程同时访问列表,而其中至少一个线程从结构上修改了该列表,则它必须 保持外部同步。(结构修改指添加或删除一个或多个元素的任何操作;仅设置元素的值不是结构修改。)这一般通过对自然封装该列表的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedList 方
http认证原理和https
bijian1013
http https
一.基础介绍
在URL前加https://前缀表明是用SSL加密的。 你的电脑与服务器之间收发的信息传输将更加安全。
Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后
【Java范型五】范型继承
bit1129
java
定义如下一个抽象的范型类,其中定义了两个范型参数,T1,T2
package com.tom.lang.generics;
public abstract class SuperGenerics<T1, T2> {
private T1 t1;
private T2 t2;
public abstract void doIt(T
【Nginx六】nginx.conf常用指令(Directive)
bit1129
Directive
1. worker_processes 8;
表示Nginx将启动8个工作者进程,通过ps -ef|grep nginx,会发现有8个Nginx Worker Process在运行
nobody 53879 118449 0 Apr22 ? 00:26:15 nginx: worker process
lua 遍历Header头部
ronin47
lua header 遍历
local headers = ngx.req.get_headers()
ngx.say("headers begin", "<br/>")
ngx.say("Host : ", he
java-32.通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小(两数组的差最小)。
bylijinnan
java
import java.util.Arrays;
public class MinSumASumB {
/**
* Q32.有两个序列a,b,大小都为n,序列元素的值任意整数,无序.
*
* 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
* 例如:
* int[] a = {100,99,98,1,2,3
redis
开窍的石头
redis
在redis的redis.conf配置文件中找到# requirepass foobared
把它替换成requirepass 12356789 后边的12356789就是你的密码
打开redis客户端输入config get requirepass
返回
redis 127.0.0.1:6379> config get requirepass
1) "require
[JAVA图像与图形]现有的GPU架构支持JAVA语言吗?
comsci
java语言
无论是opengl还是cuda,都是建立在C语言体系架构基础上的,在未来,图像图形处理业务快速发展,相关领域市场不断扩大的情况下,我们JAVA语言系统怎么从这么庞大,且还在不断扩大的市场上分到一块蛋糕,是值得每个JAVAER认真思考和行动的事情
安装ubuntu14.04登录后花屏了怎么办
cuiyadll
ubuntu
这个情况,一般属于显卡驱动问题。
可以先尝试安装显卡的官方闭源驱动。
按键盘三个键:CTRL + ALT + F1
进入终端,输入用户名和密码登录终端:
安装amd的显卡驱动
sudo
apt-get
install
fglrx
安装nvidia显卡驱动
sudo
ap
SSL 与 数字证书 的基本概念和工作原理
darrenzhu
加密 ssl 证书 密钥 签名
SSL 与 数字证书 的基本概念和工作原理
http://www.linuxde.net/2012/03/8301.html
SSL握手协议的目的是或最终结果是让客户端和服务器拥有一个共同的密钥,握手协议本身是基于非对称加密机制的,之后就使用共同的密钥基于对称加密机制进行信息交换。
http://www.ibm.com/developerworks/cn/webspher
Ubuntu设置ip的步骤
dcj3sjt126com
ubuntu
在单位的一台机器完全装了Ubuntu Server,但回家只能在XP上VM一个,装的时候网卡是DHCP的,用ifconfig查了一下ip是192.168.92.128,可以ping通。
转载不是错:
Ubuntu命令行修改网络配置方法
/etc/network/interfaces打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载.
1. 以D
php包管理工具推荐
dcj3sjt126com
PHP Composer
http://www.phpcomposer.com/
Composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
中文文档
入门指南
下载
安装包列表
Composer 中国镜像
Gson使用四(TypeAdapter)
eksliang
json gson Gson自定义转换器 gsonTypeAdapter
转载请出自出处:http://eksliang.iteye.com/blog/2175595 一.概述
Gson的TypeAapter可以理解成自定义序列化和返序列化 二、应用场景举例
例如我们通常去注册时(那些外国网站),会让我们输入firstName,lastName,但是转到我们都
JQM控件之Navbar和Tabs
gundumw100
html xml css
在JQM中使用导航栏Navbar是简单的。
只需要将data-role="navbar"赋给div即可:
<div data-role="navbar">
<ul>
<li><a href="#" class="ui-btn-active&qu
利用归并排序算法对大文件进行排序
iwindyforest
java 归并排序 大文件 分治法 Merge sort
归并排序算法介绍,请参照Wikipeida
zh.wikipedia.org/wiki/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F
基本思想:
大文件分割成行数相等的两个子文件,递归(归并排序)两个子文件,直到递归到分割成的子文件低于限制行数
低于限制行数的子文件直接排序
两个排序好的子文件归并到父文件
直到最后所有排序好的父文件归并到输入
iOS UIWebView URL拦截
啸笑天
UIWebView
本文译者:candeladiao,原文:URL filtering for UIWebView on the iPhone说明:译者在做app开发时,因为页面的javascript文件比较大导致加载速度很慢,所以想把javascript文件打包在app里,当UIWebView需要加载该脚本时就从app本地读取,但UIWebView并不支持加载本地资源。最后从下文中找到了解决方法,第一次翻译,难免有
索引的碎片整理SQL语句
macroli
sql
SET NOCOUNT ON
DECLARE @tablename VARCHAR (128)
DECLARE @execstr VARCHAR (255)
DECLARE @objectid INT
DECLARE @indexid INT
DECLARE @frag DECIMAL
DECLARE @maxfrag DECIMAL
--设置最大允许的碎片数量,超过则对索引进行碎片
Angularjs同步操作http请求with $promise
qiaolevip
每天进步一点点 学习永无止境 AngularJS 纵观千象
// Define a factory
app.factory('profilePromise', ['$q', 'AccountService', function($q, AccountService) {
var deferred = $q.defer();
AccountService.getProfile().then(function(res) {
hibernate联合查询问题
sxj19881213
sql Hibernate HQL 联合查询
最近在用hibernate做项目,遇到了联合查询的问题,以及联合查询中的N+1问题。
针对无外键关联的联合查询,我做了HQL和SQL的实验,希望能帮助到大家。(我使用的版本是hibernate3.3.2)
1 几个常识:
(1)hql中的几种join查询,只有在外键关联、并且作了相应配置时才能使用。
(2)hql的默认查询策略,在进行联合查询时,会产
struts2.xml
wuai
struts
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache