- 001第一个flutter文件
ClaNNEd@
FlutteriOS应用构建flutter前端
001_第一个flutter程序hello_flutter_runApp和Text_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1RZ421p7BL?spm_id_from=333.788.videopod.episodes&vd_source=68aea1c1d33b45ca3285a52d4ef7365f&p=149runApp把你传入的Widg
- 【数字】reverse-path timing isolation反向打拍
Lambor_Ma
数字SOC架构硬件架构
针对ready的反向打拍,如果单纯的将ready往后延一拍,有可能会造成数据丢失的情况。例如:假设valid和ready都是一个cycle周期的脉冲时,此时数据与valid一起传输。当经过了反向打拍后,ready晚于valid一拍,在source端看到的情况就是valid-ready没有握手成功。所以在设计的时候与forward-path类似,在module中会有一个reg负责存储payload,
- php事务基本要素,ACID数据库事务正确执行的四个基本要素
不懂就承认
php事务基本要素
ACID数据库事务正确执行的四个基本要素ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性ACID——数据库事务正确执行的四个基本要素ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原
- 编程小白冲Kaggle每日打卡(7)--kaggle学堂:<Python>布尔型和条件形
AZmax01
编程小白冲Kaggle每日打卡python开发语言
Kaggle课程官网链接:BooleansandConditionals本专栏旨在Kaggle官方课程的汉化,让大家更方便地看懂。目录BooleansandConditionalsBooleansComparisonOperationsCombiningBooleanValuesConditionalsBooleanconversionYourTurnBooleansandConditionals
- 数据库事务四大基本要素
Hyhhuang
数据库mysql基础
数据库事务四大基本要素简介这四大基本要素也可以理解成一个事务的四个特点,分别是原子性、一致性、隔离性和耐久性,各自对应的英文是Atomicity、Consistency、Isolation、Durability,所以经常在一些文档或帖子中见到的ACID其实就是指它们。一致性一个事务可以封装状态改变(除非它是一个只读的)。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。比如,
- hyper-v安装飞牛fnOS私有云出现循环安装解决笔记
无痕melody
服务器运维笔记
前言新出的飞牛nas系统想用虚拟机测试一下,安装过程没啥可说就新建虚拟机配置DVD的ISO引导,配置硬盘,常规系统的配置方法。用hyper-v安装完后发现重启后再次进入安装模式,虚拟DVD-ISO弹出会出现无法引导、虚拟机引导顺序调整依旧进入安装模式。最后才发现这个系统之支持IDE解决系统硬盘配置成IDE-0,DVD配置为IDE-1,正常解决
- ISO 3166-1标准国家代码表
眸笑丶
经验分享
ISO3166-1标准国家代码表:下面是ISO3166-1标准两位字母的国家代码、三位字母的国家代码、国家数字编号、及其国家名称表格。二位字母三位字母数字ISO3166-2相应代码国家或地区ADAND20ISO3166-2:AD安道尔AEARE784ISO3166-2:AE阿联酋AFAFG4ISO3166-2:AF阿富汗AGATG28ISO3166-2:AG安提瓜和巴布达AIAIA660ISO31
- 【竞赛专用方法总结】蓝桥杯-ACM比赛参考
JokerSZ.
蓝桥杯算法数据结构竞赛编程
基础部分数位拆分进位模拟最大公约、最小公倍数、质数、素数试除法判定质数——模板题AcWing866.试除法判定质数boolis_prime(intx){if(x1)coutget_divisors(intx){vectorres;for(inti=1;i1)res=res/x*(x-1);returnres;}筛法求欧拉函数——模板题AcWing874.筛法求欧拉函数intprimes[N],cn
- Java与C#语法对比及转换
carcarrot
Javajavac#
转载自:https://blog.csdn.net/eray/article/details/1553731Java(J2SE5.0)andC#ComparisonThisisaquickreferenceguidetohighlightsomekeysyntacticaldifferencesbetweenJavaandC#.Thisisbynomeansacompleteoverviewofe
- 一次线上内存溢出的事故
城南的夏
Linux服务器部署以及运维
内存溢出突然在昨天下午,项目的服务突然抛出来异常信息如下:{“code”:"-1",“msg”:“系统错误:Cannotdeserialize;nestedexceptionisorg.springframework.core.serializer.support.SerializationFailedException:Failedtodeserializepayload.Isthebytear
- cocos creator从零开发简单框架(16)-Panel位移显示
cocos
Panel的位移显示包括从上、下、左、右到中间的移动,因为只有初始点位置不一样,这里抽成一个方法。编辑framework/scripts/view/PanelMgr.ts,增加showSideToCenter方法。/**从四边移动到中间*/privatestaticshowSideToCenter(go:PanelBase,from:cc.Vec3,isOpen:boolean){this.sho
- 【万字长文】开源之播对话白鲸开源CEO郭炜--乐观主义的开源精神走得更远
SeaTunnel
开源
本文为白鲸开源科技CEO郭炜1小时深度访谈全记录来源于:开源之播」·Episode15:对话郭炜–乐观主义的开源精神走得更远大家好,我是郭炜,开源圈的“郭大侠”。作为Apache基金会的成员,我曾参与并孵化了多个开源项目,如早期的ClickHouse,以及ApacheDolphinScheduler(中文名:海豚调度)和ApacheSeaTunnel。这些都是Apache的顶级项目。现在,我创办了
- 【网络安全】OSI网络安全体系结构
Hacker_Fuchen
web安全网络安全
1.OSI安全体系结构概述1.1背景与目的OSI安全体系结构是在开放式系统互联(OSI)参考模型的基础上,为了解决网络通信中的安全问题而提出的。随着计算机网络技术的快速发展,数据传输的安全性变得越来越重要。OSI安全体系结构的提出,旨在为网络通信提供一个标准化的安全框架,确保信息在传输过程中的机密性、完整性和可用性。国际标准化组织(ISO)在20世纪80年代提出了OSI参考模型,随后为了应对日益增
- 制作自己的Linux系统与启动光盘(3)
若水心境
原创linuxmenuunderscorevideo图形border
丰富的isolinux应用本小节讲述如何完美的应用isolinux进行启动光盘的优化。上节我们已经成功的制作好了一个可启动的光盘,但是那仅是一个功能简单的启动盘,如何制作像系统安装盘一样的,功能丰富,画面优美的linux系统盘就是本节的主要内容。3.1添加背景图片首先来看一下带背景图片的启动菜单示例,如下:上图是一个简单的示例,如果您有兴趣可以做得更加精致,当然,这不是本节的重点。下面笔者将详细的
- SPI通信中MISO和MOSI的区别
✧˖‹gσσ∂ иιghт›✧
stm32
在SPI(SerialPeripheralInterface)通信协议中,MOSI和MISO是两个非常重要的信号线,它们分别代表“主设备数据输入(MasterOutSlaveIn)”和“主设备数据输出(MasterInSlaveOut)”。以下是它们的主要区别和作用:MOSI(MasterOutSlaveIn):方向:MOSI是从主设备(Master)到从设备(Slave)的数据传输线。作用:主设
- 虚中断理解
有趣的我
c++
虚中断(VirtualInterrupt)是指在计算机系统中,特别是在虚拟化环境下,虚拟机或虚拟操作系统中使用的一种中断机制。它允许虚拟机监控程序(Hypervisor)或虚拟化管理程序在虚拟机之间进行中断处理和资源管理。虚中断的特点:虚拟化支持:虚中断通常用于支持虚拟化技术,使得多个虚拟机能够共享物理硬件资源,而不会相互干扰。中断管理:虚中断允许虚拟机管理程序管理来自物理设备的中断,并将这些中断
- Bioinformatics exercise
后端
MolecularNutrition:ApplicationofBioinformaticstotheanalysisofgeneexpressionby5’deletionanalysisofpromoterregionsBioinformaticsexercise:Introsession9amMon17/02/2025(A07SB-Gateway).Mon,24/02/2025(14:00–
- '2.587426955E9' in column '2' is outside valid range for the datatype INTEGER.
fan510988896
JAVA2.587426955E9incol
今天在展现人员信息时遇到这个错误,'2.587426955E9'incolumn'2'isoutsidevalidrangeforthedatatypeINTEGER.在网上查了,说是超出了INTEGER的最大长度,后经实践检验后并非如此。原因:因为这里是使用mybatis做的,这个sql的resultMap的返回值是一个实体类于是想到了与该实体类中该属性的类型有关果然,它原来的类型是int修改为
- MySQL事务及实现原理
事业运财运爆棚
1024程序员节
目录一、MySQL事务简单介绍二、事务特性ACID介绍原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)三、事务隔离级别四、MySQL事务实现原理(一)事务原理总述(二)undolog原子性分析(三)redolog持久性分析(四)多版本并发控制(MVCC)隔离性分析(五)MySQL的锁机制一致性与隔离性性分析行锁与表锁意向锁扩展:
- 车辆网络安全ISOSAE 21434解读(一)概述_网络安全21434标准解
网络安全小宇哥
web安全安全网络安全计算机网络安全架构系统安全密码学
ISO/SAE21434《道路车辆网络安全工程》是SAE和ISO共同制定的一项针对道路车辆的网络安全标准,它是一个面向汽车行业全供应链(OEM及各级供应商)的车辆网络安全管理指导文件,其目的是指导行业内相关组织:定义网络安全方针和流程;管理网络安全风险;推动网络安全文化。2020年联合国欧洲经济委员会(UNECE)WP.29工作组发布了网络安全法规**UNECER155,**在其解释文件中明确引用
- 整车厂如何规划构建汽车集成安全团队的软件研发能力
老猿讲编程
Autosar初探汽车安全
(一)、汽车集成安全团队职责汽车集成安全团队肩负着保障汽车整体安全性的重任,从多个维度守护驾乘人员安全与车辆稳定运行,其主要职责如下:功能安全管理标准遵循与流程制定:严格依据ISO26262等功能安全标准,量身定制适合企业产品开发流程的功能安全计划与管理方案。从项目启动的概念阶段,历经系统、硬件、软件设计,直至量产与售后,全程监督流程执行,保证各环节达到安全要求。危害分析与风险评估:联合多部门,如
- Redis7.0 5种基本数据类型及listpack
fuhuan_alone
redisredis
7.05种基本类型的底层结构以下是Redis7.0中五种基本数据类型的底层结构详解,结合其设计优化与性能特点:1、String(字符串)标题底层结构:SDS(SimpleDynamicString):动态字符串结构,支持自动扩容、二进制安全,并预分配冗余空间以减少内存重分配。编码方式:INT:存储64位整数,直接嵌入RedisObject的指针位置。EMBSTR:短字符串(≤44字节)与Re
- Flutter-Android编译报错与解决方案汇总
ShawnRacine
flutterandroid
报错一:java.lang.NullPointerException:Cannotinvoke“String.length()”because“”isnull解决方案:IsolvedthisproblembyupgradingAndroidGradlePlugintoversion8.3.1.YoucanuseTools->AGPUpgradeAssistanttoupgradeAndroidGr
- 下载CentOS 10
明明见自己
CentOS10centoslinux运维
1.进入官网:https://www.centos.org/2.点击右上角的Download进入下载页面。3.选择对应的CPU架构,点击ISOs下面的Mirrors开始下载。
- 沙盒软件无法使用的解决办法
astragin
dos其他
1.卸载windwosSandbox2.重启3.打开命令提示符(管理员)执行下面bcdedit/sethypervisorlaunchtypeAuto4.卸载hyper-v5.重启6.安装hyper-v7.重启,发现hyper-v可以运行8.安装windwosSandbox9.重启,发现可以用Sandbox
- VMware 与 CentOS 安装指南
2401_84653595
centoslinux运维
一、安装前的准备硬件要求:确保你的计算机有足够的硬件资源。一般来说,至少需要2GB以上的内存,20GB以上的硬盘空间,以及支持虚拟化技术的CPU。软件准备:准备好VMwareWorkstation的安装程序,可以从VMware官方网站下载。同时,下载CentOS的ISO镜像文件,你可以在CentOS官方网站获取。二、VMware安装步骤运行安装程序:下载完成后,双击VMwareWorkstatio
- 关于QT中使用QTcpSocket报错
柠檬算不酸
qtc++tcp/ip
bug起因是自己做的C/S客户端方面,会在某些情况自动崩溃且问题不好排查。报错提示Theproxytypeisinvalidforthisoperation最后发现是QT需要改个参数,否则在一些情况下会崩,记录下以免有人遇见。m_tcp_client_=newQTcpSocket(this);//创建socket变量m_tcp_client_->setProxy(QNetworkProxy::No
- 【功能安全】【ISO26262】指南
流动的星
汽车功能安全专栏功能安全ISO26262
目录一、前言二、ISO26262的关键概念三、故障(fault),错误(error)和失灵(failure)的解释四、可控性观念(Notionsofcontrollability)五、安全过程需求结构(Safetyprocessrequirementstructure)-安全需求的流程和序列(Flowandsequenceofthesafetyrequirements)六、产品生产,确认检测,合格
- prometheus+grafana 容器部署方式
背景新增两台物理机用于压测,为了查看资源使用情况,需要对服务器进行监控,所以安装prometheus+grafana来监控服务。准备机器:机器1机器2192.168.1.103192.168.1.102mock服务,压测脚本业务服务prometheus+grafana+node-exporter+cadvisornode-exporter+cadvisor说明:cadvisor:用于收集容器的信息
- Android应用ViewDragHelper详解及部分源码浅析
2401_89224638
android
@OverridepublicvoidcomputeScroll(){if(mTopViewDragHelper.continueSettling(true)){invalidate();}}publicvoidcloseDrawer(){if(mIsOpen){mTopViewDragHelper.smoothSlideViewTo(mDrawerView,mDrawerView.getLeft
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen