1、先来看淘宝无线wiki要求在页面中添加的meta标签。
第一个meta标签表示:强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览;尤其要注意的是content里多个属性的设置一定要用分号+空格来隔开,如果不规范将不会起作用。
第二个meta标签是iphone设备中的safari私有meta标签,它表示:允许全屏模式浏览;
第三个meta标签也是iphone的私有标签,它指定的iphone中safari顶端的状态条的样式;另有default(白色),black-translucent(灰色半透明);
第四个meta标签表示:告诉设备忽略将页面中的数字识别为电话号码;
第五个meta标签表示:判断页面是否在本地Native(本地APP)环境中;
2.放弃float使用display:inline-block属性代替;因为float不适用于反向停靠和无法接受水平间隙;
3.大胆使用HTML5和CSS3因为这些高端智能手机(Iphone、Android)的内置浏览器都是基于webkit内核的;
4.使用自适应模式布局apple webapp api已经明确说明了:我们为了让用户在safari中正常的浏览网页,我们必须保证用户的设备处于任何一个方位时,safari都能够正常的显示网页内容(也就是自适应),所以我们禁止开发者阻止浏览器的orientationchange事件;在Android平台,虽然没有那个文档说明,确实也是无法阻止此事件的。所以自使用布局模式十分必要,而且自适应之后也不用考虑分辨率的问题。
5.学会使用webkit-box称之为:流体盒模型,这是一种自适应的解决方案。提供的关于盒模型的几个属性:
box-orient //子元素排列 vertical or horizontal
box-flex //兄弟元素之间比例,仅作一个系数
box-align //box 排列
box-direction //box 方向
box-flex-group //以组为单位的流体系数
box-lines
box-ordinal-group //以组为单位的子元素排列方向
box-pack
比较常用的是前三个,当然还有display:-webkit-box;
6.隐藏IOS和Android上输入URL的控件条你的老板或者PD或者交互设计师可能会要求你:能否让我们的webapp更加像nativeapp,我不想让用户看见那个输入url的控件条?答案是可以做到的。
我们可以利用一句简单的javascript代码来实现这个效果->
setTimeout(function(){
window.scrollTo(0, 1);
},0);
请注意,这句代码必须放在window.onload里才能够正常的工作,而且你的当前文档的内容高度必须是高于窗口的高度时,这句代码才能有效的执行。
7.如何检测用户是通过主屏启动你的webapp看过Apple webapp API的同学都知道iOS为safari提供了一个将当前页面添加主屏的功能,按下 iphoneipodipod touch底部工具中的小加号,或者ipad顶部左侧的小加号,就可以将当前的页面添加到设备的主屏,在设备的主屏会自动 增加一个当前页面的启动图标,点击该启动图标就可以快速、便捷的启动你的webapp。从主屏启动的webapp和浏览器访问你的webapp最大的区别 是它清除了浏览器上方和下方的工具条,这样你的webapp就更加像是nativeapp了,还有一个区别是window对像中的navigator子对 象的一个standalone属性。iOS中浏览器直接访问站点时,navigator.standalone为false,从主屏启动webapp 时,navigator.standalone为true, 我们可以通过navigator.standalone这个属性获知用户当前是否是从主屏访 问我们的webapp的。在Android中从来没有添加到主屏这回事!
8.如何关闭iOS中键盘自动大写我们知道在iOS中,当虚拟键盘弹出时,默认情况下键盘是开启首字母大写的功能的,根据某些业务场景,可能我们需要关闭这个功能,移动版本webkit为 input元素提供了autocapitalize属性,通过指定autocapitalize=”off”来关闭键盘默认首字母大写。
9.iOS中如何彻底禁止用户在新窗口打开页面有时我们可能需要禁止用户在新窗口打开页面,我们可以使用a标签的target=”_self“来指定用户在新窗口打开,或者target属性保持空,但 是你会发现iOS的用户在这个链接的上方长按3秒钟后,iOS会弹出一个列表按钮,用户通过这些按钮仍然可以在新窗口打开页面,这样的话,开发者指定的 target属性就失效了,但是可以通过指定当前元素的-webkit-touch-callout样式属性为none来禁止iOS弹出这些按钮。这个技 巧仅适用iOS对于Android平台则无效。
10.iOS中如何禁止用户保存图片\复制图片我们在第13条技巧中提到元素的-webkit-touch-callout属性,同样为一个img标签指定-webkit-touch-callout为none也会禁止设备弹出列表按钮,这样用户就无法保存\复制你的图片了。
11.iOS中如何禁止用户选中文字我们通过指定文字标签的-webkit-user-select属性为none便可以禁止iOS用户选中文字。
12.iOS中如何获取滚动条的值桌面浏览器中想要获取滚动条的值是通过document.scrollTop和document.scrollLeft得到的,但在iOS中你会发现这两 个属性是未定义的,为什么呢?因为在iOS中没有滚动条的概念,在Android中通过这两个属性可以正常获取到滚动条的值,那么在iOS中我们该如何获 取滚动条的值呢?通过window.scrollY和window.scrollX我们可以得到当前窗口的y轴和x轴滚动条的值。
13.如何解决盒子边框溢出当你指定了一个块级元素时,并且为其定义了边框,设置了其宽度为100%。在移动设备开发过程中我们通常会对文本框定义为宽度100%,将其定义为块级元 素以实现全屏自适应的样式,但此时你会发现,该元素的边框(左右)各1个像素会溢了文档,导致出现横向滚动条,为解决这一问题,我们可以为其添加一个特殊 的样式-webkit-box-sizing:border-box;用来指定该盒子的大小包括边框的宽度。
14.如何解决Android 2.0以下平台中圆角的问题如果大家够细心的话,在做wap站点开发时,大家应该会发现android 2.0以下的平台中问题特别的多,比如说边框圆角这个问题吧。在对一个元素定义圆角时,为完全兼容android 2.0以下的平台,我们必须要按照以下技巧来定义边框圆角: 1\-webkit这个前缀必须要加上(在iOS中,你可以不加,但android中一定要加); 2\如果对针对边框做样式定义,比如border:1px solid #000;那么-webkit-border-radius这属性必须要出现在border属性后。 3\假如我们有这样的视觉元素,左上角和右上角是圆角时,我们必须要先定义全局的(4个角的圆角值)-webkit-border- radius:5px;然后再依次的覆盖左下角和右下角,-webkit-border-bottom-left-radius:0;-webkit- border-bottom-right-border:0;否则在android 2.0以下的平台中将全部显示直角,还有记住!-webkit这个前 缀一定要加上!
15.如何解决iOS 4.3版本中safari对页面中5位数字的自动识别和自动添加样式新的iOS系统也就是4.3版本,升级后对safari造成了一个bug:即使你添加了如下的meta标签,safari仍然会对页面中的5位连续的数字进行自动识别,并且将其重新渲染样式,也就是说你的css对该标签是无效的。 我们可以用一个比较龌龊的办法来解决。比如说支付宝wap站点中显示金额的标签,我们都做了如下改写:
95009.00
16.新增事件复制代码
// 手势事件
touchstart //当手指接触屏幕时触发
touchmove //当已经接触屏幕的手指开始移动后触发
touchend //当手指离开屏幕时触发
touchcancel // 触摸事件
gesturestart //当两个手指接触屏幕时触发
gesturechange //当两个手指接触屏幕后开始移动时触发
gestureend// 屏幕旋转事件
onorientationchange // 检测触摸屏幕的手指何时改变方向 orientationchange //
touch事件支持的相关属性
touches
targetTouches
changedTouches
clientX // X coordinate of touch relative to the viewport (excludes scroll offset)
clientY // Y coordinate of touch relative to the viewport (excludes scroll offset)
screenX // Relative to the screen
screenY // Relative to the screen
pageX // Relative to the full page (includes scrolling)
pageY // Relative to the full page (includes scrolling)
target // Node the touch event originated from
identifier // An identifying number, unique to each touch event
touch事件替代了PC端的mouse事件,需要注意的就是touchmove!=mousemove,应该是touchmove==mousemove+mousedown;
17.link
// 设置开始页面图片
// 在设置书签的时候可以显示好看的图标
// 肖像模式样式
#landscape { display: none; }//横屏时使用的样式
18.屏幕旋转事件
// 判断屏幕是否旋转
function orientationChange() {
switch(window.orientation) {
case 0:
alert("肖像模式 0,screen-width: " + screen.width + "; screen-height:" + screen.height);
break;
case -90:
alert("左旋 -90,screen-width: " + screen.width + "; screen-height:" + screen.height);
break;
case 90:
alert("右旋 90,screen-width: " + screen.width + "; screen-height:" + screen.height);
break;
case 180:
alert("风景模式 180,screen-width: " + screen.width + "; screen-height:" + screen.height);
break;
};};
// 添加事件监听
addEventListener('load', function(){
orientationChange();
window.onorientationchange = orientationChange;
});
19.双手滑动事件
// 双手指滑动事件
addEventListener('load',function(){
window.onmousewheel = twoFingerScroll;
},false)
// 兼容各浏览器,表示在冒泡阶段调用事件处理程序 (true 捕获阶段));
function twoFingerScroll(ev) {
var delta =ev.wheelDelta/120; //对 delta 值进行判断(比如正负) ,而后执行相应操作
return true;
};
20.判断是否为iphone
// 判断是否为 iPhone :
function isAppleMobile() {
return (navigator.platform.indexOf('iPad') != -1);
};
21.localStorage
var v = localStorage.getItem('n') ? localStorage.getItem('n') : "";
// 如果名称是 n 的数据存在 ,则将其读出 ,赋予变量 v 。
localStorage.setItem('n', v);
// 写入名称为 n、值为 v 的数据
localStorage.removeItem('n');
// 删除名称为 n 的数据
22.使用特殊连接如果你关闭自动识别后 ,又希望某些电话号码能够链接到 iPhone 的拨号功能 ,那么可以通过这样来声明电话链接
打电话给我
发短信
或用于单元格:
23.锁定
viewportontouchmove="event.preventDefault()" //锁定viewport
任何屏幕操作不移动用户界面(弹出键盘除外)。
24.被点击元素的外观变化,可以使用样式来设定-webkit-tap-highlight-color: 颜色
25.阻止旋转屏幕时自动调整字体大小
html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {-webkit-text-size-adjust:none;}
26.iPhone才识别的
CSS@media screen and (max-device-width: 480px) {}
27.touch对象属性client / clientY:// 触摸点相对于浏览器窗口viewport的位置 pageX / pageY:// 触摸点相对于页面的位置 screenX /screenY:// 触摸点相对于屏幕的位置
你可能感兴趣的:(移动前端开发常用小技巧)
Java学习的知识笔记
世间万物皆对象
Java java 学习 开发语言
不会改变原始对象的方法reverse函数,作用:排序使用小技巧判断string是否相等可以使用equals来进行判断。判断string是否是空字符串可以用isBlank()进行判断对于超大的整数加减使用对应的函数进行操作,比如加,使用add函数参考bignum.java因为math类的构造方法是private修饰,所以无法建立实例使用String.charAt(index)方法,返回在index位
d2-crud-plus 使用小技巧(八)—— 分页旁边添加功能按钮(添加批量删除按钮)
xuelong-ming
d2-crud-plus 前端
需求在分页模块左边添加一个批量删除按钮,取消表格左上方的批量删除按钮。逻辑效果代码...
【Python实用技巧】爬取数据保存到Excel中
「已注销」
python python 爬虫 开发语言
嗨嗨,大家好~今天来给你们分享一个小技巧如何用python爬取数据保存到Excel中话不多说,马上开始需要源码、教程,或者是自己有关python不懂的问题,都可以来这里哦https://jq.qq.com/?_wv=1027&k=s5bZE0K3这里还有学习资料与免费课程领取开发工具Python版本:3.6相关模块:importrequestsfromlxmlimportetreeimportti
【python学习】深度解析 Python 的 .env配置与最佳实践:温格高的环境变量配置之道
NLP仙人
python python 学习 开发语言 人工智能
1.文章简介在开发和部署Python项目时,环境变量配置对于管理敏感信息如数据库连接字符串、API密钥至关重要。本文将以温格高(2023年环法冠军)的项目为例,详细介绍如何通过.env文件简化环境配置,并分享多环境管理、Docker集成等热门功能。我们还将覆盖一些小技巧和常见错误,帮助你避免开发中的踩坑。2.使用.env文件的好处温格高团队正在开发一个记录自行车赛事的应用,涉及多个开发环境和敏感信
[失业前端恶补算法]JavaScript leetcode刷题top100(六):字母异位词分组、最长连续序列、找到字符串中所有字母异位词、最大子数组和、除自身以外数组的乘积
摸鱼老萌新
失业前端恶补算法 前端 javascript 动态规划 算法 哈希
专栏声明:只求用最简单的,容易理解的方法通过,不求优化,不喜勿喷49.字母异位词分组题面给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。知识点:哈希表、排序思路这里用了js语言的一个小技巧,我们可以使用split这个api将字符串变成字符的数组,之后我们对得到的数组进行排序,这样字母异位词得到了结果字符串的一致的,
新手做短视频,再也不用担心重复度过高,一个短视频有收益352
大 周 网 络
相信很多做短视频的新手小伙伴们会经常遇到视频无法通过平台审核,出现重复度过高、有高度类似作品已发布的情况发生。短视频无法发布成功,就没有播放量,没有播放量就没有收益,更不可能涨粉,长此以往账号的权重会降低不说,还会打击自己的自信心。应该怎样做才能避免类似的情况再次发生,提高作品的原创度和播放量呢?今天大周就来分享几个实用的小技巧,也是我自己常用的方法。一、镜像翻转把原视频内容做镜像翻转,等于是把视
学生福利:畅享 Adobe 全系列软件的小技巧
reddingtons
adobe
作为一名学生,我有幸通过学生邮箱免费使用Adobe的全系列软件。这意味着我可以使用包括Photoshop、Illustrator、PremierePro和AfterEffects在内的所有收费软件。这些工具为我的学习和创作提供了巨大的便利。接下来,我将分享五个冷门的Adobe软件小技巧,帮助大家更高效地使用这些强大的工具。(以下有可能包含收费软件的内容,不适用于免费用户,请谅解)1.Photosh
Python小技巧:运行目录或ZIP文件
weixin_30652879
python json
在写Python程序时,将不同功能代码写在不同文件中是一个好习惯,但是对于某些情况。如需要将脚本提供给别人运行使用,如若将程序写在几个文件中,则需要将文件都发给他人。别人就需要管理不同文件,这样对于别人来说会显得杂乱,麻烦。如果将代码都写在一个文件中,对于简单的脚本没啥毛病,但如果复杂了代码量多了,都写在一个文件,则对自己而言不好维护。如果能将不同文件代码放在一个目录中,直接运行目录,不就能解决了
DeepSeek 使用小技巧
終不似少年遊*
人工智能 deepseek ds 使用技巧 大模型 AI ai工具
目录前言DeepSeek简介DeepSeek的特点DeepSeek的功能DeepSeek的应用场景如何使用DeepSeekDeepSeek的推理模型推理模型与通用模型的对比快思慢想:效能兼顾全局视野提示语策略差异关键原则前言笔者此前也有更新一篇deepseek的落地分析:国产之光DeepSeek架构理解与应用分析-CSDN博客AI工具的使用:AI工具使用技巧-CSDN博客本系列将主要围绕deeps
解锁罗技键盘新技能:轻松锁定功能键(罗技K580)
HeLLo_a119
经验分享
在使用罗技键盘的过程中,你是否曾因F11、F12功能键的默认设置与实际需求不符而感到困扰?别担心,今天就为大家分享一个简单实用的小技巧——锁定罗技键盘的F11、F12功能键,让你的操作更加得心应手!通常情况下,罗技键盘的F11键被赋予了连接电脑的功能,F12键则用于连接手机或iPad,方便用户在不同设备间快速切换。但有时,当我们需要使用F11键的全屏功能,或是通过F12键打开开发者工具时,默认的连
【权重小技巧(2)】模型权重文件总结: .bin、.safetensors、.pt的保存、加载方法一览
多恩Stone
编程学习 模型部署 人工智能 pytorch python 机器学习 AI
.bin文件通常是通过torch.save(state_dict)来保存的,因此需要使用torch.load()进行加载。这是因为.bin文件存储的是模型权重的state_dict(即参数的字典),而不是完整的模型对象。你需要先加载state_dict,然后将其加载到模型中,类似于.pt或.pth文件。常见的权重文件格式(如.bin、.safetensors、.pt等)的保存和加载方法:文件类型保
CSS 小技巧 —— CSS 实现 ... 的 loading 加载中动画
CSS小技巧——CSS实现...的loading加载中动画1.前言需求中想做出个这种效果,这个页面又是一个单独的html页面,没必要再单独引入其他模块了就想着用CSS动画来实现2.实现效果3.实现思路3.1.项目要求...不能使所在的dom元素宽度变化,不然加个.变宽,少个点变窄,不好看需要使用animation动画的infinite才行,因为我们需要一直动,直到加载完成可以不限于三个点,五个点或
Android从入门到精通——学习笔记:Chapter05-高级UI组件
Ly.-.
android 学习 笔记
Chapter05高级UI组件本章介绍Android开发常用的一些高级UI组件,主要包括列表类组件、切换类组件以及通用组件。本章主要学习一些可以滑动的列表或是切换类的组件,通过此类组件可以实现动态UI界面的效果。5.1列表类组件在Android中提供了两种列表类组件:一种是下拉列表框,通常用于弹出一个下拉菜单供用户选择,用Spinner表示;另一种是列表视图,通常用于实现在一个窗口中只显示一个列表
安卓/IOS脚本开发按键精灵滑动命令小技巧
ii_best
android ios 编辑器 开发语言
写脚本的时候,总有一些事与愿违的地方,一个不经意的小地方,可能会令我们寻找半天才发现并且解决,将我们平时碰到的积累起来,是一笔不小的财富,积少成多。划动的技巧无论是游戏或者应用软件,我们都常常用的一个功能----划动,但是你真的了解滑动吗?使用他的过程中有没有碰到同样的代码,但是划动的距离不一样,又或者想拖动一个物品之类的东西,却无法成功。这都是对于划动,也就是Swipe的应用不当产生的问题。一个
python listnode类_一小波DOM骚操作:querySelectorAll和classList
weixin_39667398
python listnode类
虽然现在MVVM框架带来了诸多便利,但你真的就不再需要操作DOM了吗?本文通过几个小例子来介绍一些DOM操作的小技巧场景一:querySelectorAll陆小鸡最近遇到了这样一个问题,他引用了一个第三方的表格组件,他引入组件的代码如下:组件渲染后的结构大致如下:为了获取tbody这个dom节点,他写下了如下代码:varel=document.getElementsByClassName('tab
python 物理引擎_第十六章:物理引擎
weixin_39730671
python 物理引擎
物理引擎物理引擎概述物理引擎是一种用于模拟真实物理现象的中间件,可以用来创建虚拟的物理环境,并在其中运行来自物理世界的规则。物理引擎应用的最多的地方就是动画和游戏行业,例如3D游戏开发常用的三大物理引擎:Havok引擎的授权则比较昂贵和严格,光环4、上古卷轴5等游戏大作使用的都是这款引擎。PhysX虽然现在不开源,但也实行免费推广政策,是Unity3D、CryEngine等游戏引擎的首选。Bull
全网最详细的 Node.js 卸载和安装教程
m0_74824123
面试 学习路线 阿里巴巴 node.js
Node.js是开发者进行前端和后端开发常用的工具之一,但由于不同版本的需求,开发者有时需要重新安装、升级或降级Node.js。本教程将详细介绍如何彻底卸载旧版本的Node.js,并安装最新的Node.js和npm。一、卸载Node.js1.Windows系统在Windows系统中卸载Node.js有几种方法,这里我们介绍两种常见方法。方法1:通过“控制面板”卸载打开控制面板,选择程序和功能。找到
解锁 Adobe 系列软件的潜能:5 个冷门小技巧
shelby_loo
adobe
在数字创作的世界中,Adobe系列软件无疑是最受欢迎的工具之一。拥有Edu教育邮箱的用户可以免费使用这些强大的软件,确保安全和稳定。入手edu邮箱,可以参考s3.tebi.io/edu-stuff/edu%E7%AC%94%E8%AE%B0.pdf。分享5个冷门的Adobe系列软件小技巧Photoshop的快速选择工具使用Photoshop时,快速选择工具不仅可以用来选择复杂的对象,还可以通过按住
开发常用指令
瑶瑶领先_
git elasticsearch 大数据
git相关回退提交内容gitreset—hard[id]gitpushorigin[分支]—forcegitrebase[分支]删除远程分支gitpushorigin—delete[分支]删除本地分支gitbranch-D[分支]更改用户名/邮箱/密码gitconfig--globaluser.name/user.email/user.password[内容]撤回本地mergegitmerge--
mac m1 安装开发常用软件
miyahejuzi
工具的设置笔记 mac
文章目录0x00折腾了一天,难受0x01你喜欢的软件0x02开发用-无窗口的软件0x03图形化界面0x00折腾了一天,难受0x01你喜欢的软件QQ,微信,网易云音乐,咪咕音乐,QQ音乐,钉钉0x02开发用-无窗口的软件0,安装githttps://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git当你使用git时,系统会
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(协议层封装)
charlie114514191
OLED驱动开发记录 驱动开发 c语言 学习 教程 OLED 单片机
目录协议层设计,以IIC为例子关于软硬件IIC设计的一些原则完成协议层的抽象刨析我们的原理如何完成我们的抽象插入几个C语言小技巧完成软件IIC通信开始我们的IIC通信结束我们的IIC通信发送一个字节(重要)完成命令传递和数据传递最终一击,完成我们的IIC通信硬件IIC关于架构设计概述等内容,笔者放到了:从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架-CSDN博客,任何疑问可以到这里看
超详细!Python当中的pip常用命令大全!
程序媛小本
python pip 开发语言
相信对于大多数熟悉Python的人来说,一定都听说并且使用过pip这个工具,但是对它的了解可能还不一定是非常的透彻,今天小编就来为大家介绍10个使用pip的小技巧,相信对大家以后管理和使用Python当中的标准库会有帮助。安装当然在Python3.4版本之后以及Python2.7.9版本之后,官网的安装包当中就已经自带了pip,用户直接在安装完Python之后就可以直接使用,要是使用由virtua
结构化提示词实践:提升大模型意图识别的精准度
有才不一定有德
chatgpt AIGC
大家好!我是第一次写博客,可能会有一些不够专业或者细节上的错误,请大家多多指正!今天的主题是“结构化提示词”,我将结合我在学习LangGPT结构化提示词时的心得,分享一些如何编写清晰、准确的提示词的小技巧。这些技巧不仅帮助我提高了与大模型的互动效率,也使得任务的执行更加精准。希望这篇文章对大家有所帮助。为什么要使用结构化提示词?在与大模型的交互中,我们往往希望能够快速得到准确的回答。如果提示词不清
Python内存泄漏排查技巧与编程
代码幻想花园
python 开发语言 编程
在Python编程中,内存泄漏是一个常见的问题。当我们创建对象或分配内存资源时,如果没有正确释放或销毁这些资源,就会导致内存泄漏。长时间运行的程序中的内存泄漏可能会导致内存消耗殆尽,最终导致程序崩溃。本文将介绍一些Python内存泄漏排查的小技巧,并提供相应的源代码示例。使用内存分析工具Python提供了一些内存分析工具,可以帮助我们检测和定位内存泄漏问题。其中一个常用的工具是objgraph库。
免费使用Adobe系列软件的Edu教育邮箱及冷门技巧分享
明 庭
adobe azure photoshop
在数字创意领域,Adobe系列软件因其强大的功能而备受推崇。持有Edu教育邮箱的用户可以免费获取这些软件,避免使用存在诸多问题的破解版,确保使用体验的稳定与安全。若您想了解如何申请Edu邮箱,建议查阅相关资料以获取详细信息。本文将分享五个冷门的Adobe系列软件小技巧,帮助您更高效地使用这些工具。1.Photoshop的智能对象在Photoshop中,将图层转换为智能对象,可以随时编辑其内容而不影
【Pydantic】Python 数据验证入门
山河不见老
python 数据处理 python 运维开发
Pydantic1.什么是Pydantic?2.安装3.基础使用3.1创建基础模型3.2数据验证3.3嵌套模型4.常用验证规则4.1基础验证规则4.2列表验证4.3自定义验证器4.4条件验证4.5常用验证类型5.实际应用示例5.1API请求验证5.2配置管理6.小技巧6.1.数据转换:6.2错误处理:1.什么是Pydantic?Pydantic是一个功能强大的Python数据验证库,它通过Pyth
5. C语言 常量与宏定义
涛ing
C语言基础 c语言 开发语言 ubuntu linux vim vscode c++
本章目录:前言一、什么是常量?1.整型常量2.浮点型常量3.字符常量4.字符串常量二、如何定义常量?1.使用`#define`宏定义2.使用`const`关键字三、`#define`和`const`的区别四、使用建议1.使用场景区分2.避免宏定义的潜在问题五、特殊用法与小技巧1.转义序列的等价性验证2.宏的嵌套与动态计算六、总结前言C语言中,常量是一种固定值,在程序执行期间不会改变。常量可以是整型
【项目初始化】自定义异常处理
阳光阿盖尔
自定义异常 项目初始化 异常 异常处理 Java
我们在项目初始化的工作之一就是要自定义异常处理,用来处理项目中出现的各种异常,如业务异常、系统异常等等。这些属于项目的通用基础代码,在任何后端中都可以复用。1.自定义错误码自定义错误码,对错误进行收敛,便于前端统一处理小技巧:自定义错误码时,建议和主流的错误码含义保持一致,如HTTP错误码错误码不要连续,预留一些间隔,便于后续扩展importlombok.Getter;@Getterpublice
Adobe软件隐藏功能大揭秘:5个冷门小技巧助你效率倍增
shelby_loo
adobe
作为设计师和创意工作者,我们对Adobe系列软件的强大功能一定不陌生。但你是否知道,通过申请Edu教育邮箱,学生和教师可以免费或以极低的价格订阅这些软件,享受专业的创作体验呢?这不仅能让你远离破解软件带来的不稳定和安全隐患,还能让你合法地使用正版软件,充分发挥创意。如果你还没有Edu邮箱,也不用担心。网上有很多关于如何申请Edu邮箱的教程和经验分享。你可以通过搜索引擎查找相关信息,或者参考一些知识
uniapp中<map>地图怎么实现点位聚合?
GoppViper
前端 uni-app uniapp 前端 前端框架 地图 聚合
推荐学习文档golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔记专栏想学习更多前端知识,这里有免费的前端专栏确定聚合条件定义聚合的距离阈值:根据你的需求确定一个合适的距离阈值,当两个标记点之
二分查找排序算法
周凡杨
java 二分查找 排序 算法 折半
一:概念 二分查找又称
折半查找(
折半搜索/
二分搜索),优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而 查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表 分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步
java中的BigDecimal
bijian1013
java BigDecimal
在项目开发过程中出现精度丢失问题,查资料用BigDecimal解决,并发现如下这篇BigDecimal的解决问题的思路和方法很值得学习,特转载。
原文地址:http://blog.csdn.net/ugg/article/de
Shell echo命令详解
daizj
echo shell
Shell echo命令
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo string
您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串:
echo "It is a test"
这里的双引号完全可以省略,以下命令与上面实例效果一致:
echo Itis a test 2.显示转义
Oracle DBA 简单操作
周凡杨
oracle dba sql
--执行次数多的SQL
select sql_text,executions from (
select sql_text,executions from v$sqlarea order by executions desc
) where rownum<81;
&nb
画图重绘
朱辉辉33
游戏
我第一次接触重绘是编写五子棋小游戏的时候,因为游戏里的棋盘是用线绘制的,而这些东西并不在系统自带的重绘里,所以在移动窗体时,棋盘并不会重绘出来。所以我们要重写系统的重绘方法。
在重写系统重绘方法时,我们要注意一定要调用父类的重绘方法,即加上super.paint(g),因为如果不调用父类的重绘方式,重写后会把父类的重绘覆盖掉,而父类的重绘方法是绘制画布,这样就导致我们
线程之初体验
西蜀石兰
线程
一直觉得多线程是学Java的一个分水岭,懂多线程才算入门。
之前看《编程思想》的多线程章节,看的云里雾里,知道线程类有哪几个方法,却依旧不知道线程到底是什么?书上都写线程是进程的模块,共享线程的资源,可是这跟多线程编程有毛线的关系,呜呜。。。
线程其实也是用户自定义的任务,不要过多的强调线程的属性,而忽略了线程最基本的属性。
你可以在线程类的run()方法中定义自己的任务,就跟正常的Ja
linux集群互相免登陆配置
林鹤霄
linux
配置ssh免登陆
1、生成秘钥和公钥 ssh-keygen -t rsa
2、提示让你输入,什么都不输,三次回车之后会在~下面的.ssh文件夹中多出两个文件id_rsa 和 id_rsa.pub
其中id_rsa为秘钥,id_rsa.pub为公钥,使用公钥加密的数据只有私钥才能对这些数据解密 c
mysql : Lock wait timeout exceeded; try restarting transaction
aigo
mysql
原文:http://www.cnblogs.com/freeliver54/archive/2010/09/30/1839042.html
原因是你使用的InnoDB 表类型的时候,
默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,
因为有的锁等待超过了这个时间,所以抱错.
你可以把这个时间加长,或者优化存储
Socket编程 基本的聊天实现。
alleni123
socket
public class Server
{
//用来存储所有连接上来的客户
private List<ServerThread> clients;
public static void main(String[] args)
{
Server s = new Server();
s.startServer(9988);
}
publi
多线程监听器事件模式(一个简单的例子)
百合不是茶
线程 监听模式
多线程的事件监听器模式
监听器时间模式经常与多线程使用,在多线程中如何知道我的线程正在执行那什么内容,可以通过时间监听器模式得到
创建多线程的事件监听器模式 思路:
1, 创建线程并启动,在创建线程的位置设置一个标记
2,创建队
spring InitializingBean接口
bijian1013
java spring
spring的事务的TransactionTemplate,其源码如下:
public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean{
...
}
TransactionTemplate继承了DefaultT
Oracle中询表的权限被授予给了哪些用户
bijian1013
oracle 数据库 权限
Oracle查询表将权限赋给了哪些用户的SQL,以备查用。
select t.table_name as "表名",
t.grantee as "被授权的属组",
t.owner as "对象所在的属组"
【Struts2五】Struts2 参数传值
bit1129
struts2
Struts2中参数传值的3种情况
1.请求参数绑定到Action的实例字段上
2.Action将值传递到转发的视图上
3.Action将值传递到重定向的视图上
一、请求参数绑定到Action的实例字段上以及Action将值传递到转发的视图上
Struts可以自动将请求URL中的请求参数或者表单提交的参数绑定到Action定义的实例字段上,绑定的规则使用ognl表达式语言
【Kafka十四】关于auto.offset.reset[Q/A]
bit1129
kafka
I got serveral questions about auto.offset.reset. This configuration parameter governs how consumer read the message from Kafka when there is no initial offset in ZooKeeper or
nginx gzip压缩配置
ronin47
nginx gzip 压缩范例
nginx gzip压缩配置 更多
0
nginx
gzip
配置
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用
java-13.输入一个单向链表,输出该链表中倒数第 k 个节点
bylijinnan
java
two cursors.
Make the first cursor go K steps first.
/*
* 第 13 题:题目:输入一个单向链表,输出该链表中倒数第 k 个节点
*/
public void displayKthItemsBackWard(ListNode head,int k){
ListNode p1=head,p2=head;
Spring源码学习-JdbcTemplate queryForObject
bylijinnan
java spring
JdbcTemplate中有两个可能会混淆的queryForObject方法:
1.
Object queryForObject(String sql, Object[] args, Class requiredType)
2.
Object queryForObject(String sql, Object[] args, RowMapper rowMapper)
第1个方法是只查
[冰川时代]在冰川时代,我们需要什么样的技术?
comsci
技术
看美国那边的气候情况....我有个感觉...是不是要进入小冰期了?
那么在小冰期里面...我们的户外活动肯定会出现很多问题...在室内呆着的情况会非常多...怎么在室内呆着而不发闷...怎么用最低的电力保证室内的温度.....这都需要技术手段...
&nb
js 获取浏览器型号
cuityang
js 浏览器
根据浏览器获取iphone和apk的下载地址
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" content="text/html"/>
<meta name=
C# socks5详解 转
dalan_123
socket C#
http://www.cnblogs.com/zhujiechang/archive/2008/10/21/1316308.html 这里主要讲的是用.NET实现基于Socket5下面的代理协议进行客户端的通讯,Socket4的实现是类似的,注意的事,这里不是讲用C#实现一个代理服务器,因为实现一个代理服务器需要实现很多协议,头大,而且现在市面上有很多现成的代理服务器用,性能又好,
运维 Centos问题汇总
dcj3sjt126com
云主机
一、sh 脚本不执行的原因
sh脚本不执行的原因 只有2个
1.权限不够
2.sh脚本里路径没写完整。
二、解决You have new mail in /var/spool/mail/root
修改/usr/share/logwatch/default.conf/logwatch.conf配置文件
MailTo =
MailFrom
三、查询连接数
Yii防注入攻击笔记
dcj3sjt126com
sql WEB安全 yii
网站表单有注入漏洞须对所有用户输入的内容进行个过滤和检查,可以使用正则表达式或者直接输入字符判断,大部分是只允许输入字母和数字的,其它字符度不允许;对于内容复杂表单的内容,应该对html和script的符号进行转义替换:尤其是<,>,',"",&这几个符号 这里有个转义对照表:
http://blog.csdn.net/xinzhu1990/articl
MongoDB简介[一]
eksliang
mongodb MongoDB简介
MongoDB简介
转载请出自出处:http://eksliang.iteye.com/blog/2173288 1.1易于使用
MongoDB是一个面向文档的数据库,而不是关系型数据库。与关系型数据库相比,面向文档的数据库不再有行的概念,取而代之的是更为灵活的“文档”模型。
另外,不
zookeeper windows 入门安装和测试
greemranqq
zookeeper 安装 分布式
一、序言
以下是我对zookeeper 的一些理解: zookeeper 作为一个服务注册信息存储的管理工具,好吧,这样说得很抽象,我们举个“栗子”。
栗子1号:
假设我是一家KTV的老板,我同时拥有5家KTV,我肯定得时刻监视
Spring之使用事务缘由(2-注解实现)
ihuning
spring
Spring事务注解实现
1. 依赖包:
1.1 spring包:
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.
iOS App Launch Option
啸笑天
option
iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。
launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 。
1、若用户直接
jdk与jre的区别(_)
macroli
java jvm jdk
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同你
Updates were rejected because the tip of your current branch is behind
qiaolevip
学习永无止境 每天进步一点点 众观千象 git
$ git push joe prod-2295-1
To
[email protected] :joe.le/dr-frontend.git
! [rejected] prod-2295-1 -> prod-2295-1 (non-fast-forward)
error: failed to push some refs to '
[email protected]
[一起学Hive]之十四-Hive的元数据表结构详解
superlxw1234
hive hive元数据结构
关键字:Hive元数据、Hive元数据表结构
之前在 “[一起学Hive]之一–Hive概述,Hive是什么”中介绍过,Hive自己维护了一套元数据,用户通过HQL查询时候,Hive首先需要结合元数据,将HQL翻译成MapReduce去执行。
本文介绍一下Hive元数据中重要的一些表结构及用途,以Hive0.13为例。
文章最后面,会以一个示例来全面了解一下,
Spring 3.2.14,4.1.7,4.2.RC2发布
wiselyman
Spring 3
Spring 3.2.14、4.1.7及4.2.RC2于6月30日发布。
其中Spring 3.2.1是一个维护版本(维护周期到2016-12-31截止),后续会继续根据需求和bug发布维护版本。此时,Spring官方强烈建议升级Spring框架至4.1.7 或者将要发布的4.2 。
其中Spring 4.1.7主要包含这些更新内容。