创业需要找对合伙人

郭总,认识你,快两年了,虽然没有见过面,但是给我感觉您是一位挺不错的老板。 我以前也开过一家小公司,做产品研发,做生产,还要自己跑业务,就几个人,天天都忙死了。等我们产品做好了,去推销的时候,我发现产品太LOW了,且市场竞争很大,很难销售。我就和他们商量,不要搞了,再搞下去,很难再有起色。虽然我们赔了10万,但止损及时。我总结了失败的原因,主要是缺少对市场的调查,其次是资金不足,我们耗不起,最后产品设计成本过高。国内没有市场,国外市场我们又进不去。人少,产品更新换代慢。、 我觉得创业首先是选对市场,其次要有专业的销售团队。在初期,可以采用买进卖出办法,让业务部能够自己养活自己。如果卖别人的产品都不行,卖自己的产品就很难说了。业务部活了,消息就灵通了。根据市场反馈,再去设计客户需要的产品,效果可能会更好。 小产品设计力求在两三个月内完成,然后可以花几百元,用3D打印机做个盒子包装一下,拿去给客户试用,看看能否接受。若可以,再去生产。 对于决定公司未来的产品,需要用心去规划,因为这是公司将来的主打产品,它一上市就是要具有市场竞争力,力保五年内不会落伍。 中档次产品通常四五个月完成,不讲多稳定,最起码功能应该能基本成型。首批50套试产,看看产品性能和市场反馈,再改进升级逐步完善。 一年内不求多,做一款可以占领市场的产品,公司就可以活了,关键还是要有钱支撑。 合肥就这么大,每个老板,我都珍惜,进入一家公司,我至少要干满三年,也就是合同期满或者确实因为其他原因才会辞职。上家公司给的薪水也不少,因为我刚来这里才一年多,再回去,不大合适。我离开上家时,第一个就是问你还需要人吗?因为我很眷恋物联网行业。虽然您说暂时不需要人,我就很快找到了两家公司,最后我选择了现在这家公司。 这是上家公司的招聘信息:高薪诚聘电子电路研发工程师 一、岗位职责: 1.熟练掌握物联网行业最新技术动态、尤其是物联网技术温湿度冷链监控、环境参数监控在医疗、工农业、科研行业的应用; 2.能够根据新产品研发计划,独立或带领团队完成市场调研、成品方案设计、成品软硬件研发、工艺质量控制、性能测试验证、售后服务等新产品研发全流程工作; 3.根据市场反馈对公司产品工艺、质量、性能不断优化,推进产品竞争力的提升。 二、任职条件: 1、大学本科以上学历,从事相关行业3年以上工作经验,能够独立主持研发项目; 2、精通数字和模拟电路的设计,熟悉STM32、PIC等单片机应用,至少具有两个完整稳定的项目经验; 3、具有丰富的编程经验,独立完成项目的硬件、软件设计; 4、精通无线通信相关技术,如TCP/IP、LoRaWAN、NB-IOT、Wi-Fi、BLE、LTE、Zigbee等, 有相关工作经验优先; 5、熟悉主流ARM处理器体系架构,精通嵌入式操作系统,熟练掌握任务调度/内存回收等实现原理,有FreeRTOS、linux等系统开发经验者优先; 6、有创新精神和团队合作精神,工作态度积极,责任心强,有良好的沟通能力。 薪资待遇: 年薪:年薪25万元+ ; 福利待遇: 快速晋升通道 股权激励 五险 餐补 租房补贴 交通补贴 成长之路:工程师/高级工程师--电控事业部经理--研发总监---合伙人、高管 我暂时还没有跳槽的打算,至少要等到后年开春,才有打算。谢谢你这么看重我!祝你公司早日发展壮大! 创业不易,也许我会有下岗的一天。

linux右上角的wired图标消失

centos7右上角的wired图标突然没了,很神奇。然后在网上按着很多博客说的去改,都没用,最后终于根据下面参考博客内的方案解决了问题,嘿嘿。 mv /var/lib/NetworkManager /var/lib/NetworkManager.bak 输入完这个,然后重启虚拟机,就发现wired图标又出来 转载于:https://www.cnblogs.com/LeslieForever/p/9354897.html

parallel desktop 17 安装win7 科来抓包 无网络适配器可用

mac 安装parallel desktop 17 后,安装Windows7 SP1虚拟机,在虚拟机内安装 科来网络分析系统 技术交流版 ,安装完成后,启动实时分析时,发现无网络适配器可用,请重新安装本系统。 安装Windows7 补丁 2019-适用于 Windows 7 的 02 更新,适用于基于 x64 的系统 (KB4490511)后,再次启动抓包工具,网络适配器已发现。 补丁下载地址Microsoft Update Catalog 如用Windows7 自带IE浏览器访问,请将浏览器的Internet选项-高级属性的TLS 1.2 ,1.2勾选上。否则会显示网页无法打开

spring boot 访问static下静态资源404

一开始试了好几个官方的目录static,pullic,发现都访问不到,还特意去配置了spring.mvc.static-path-pattern这些,发现都没用。看网上一些情况是由于配了拦截器,但是我没配置拦截器,所以就纳闷怎么默认的就是访问不到,然后新建了一个空白项目,发现一下子能访问到了,那肯定就是我代码里面有配置影响到springboot默认的机制了。尝试删文件看是哪个文件影响的,最后定位到了 @EnableWebMvc @ControllerAdvice public class GlobalExceptionHandler 仔细一看 原来是EnableWebMvc这个注解,这个全局异常处理类是好久之前写的,所以都淡忘了,压根不记得用了@EnableWebMvc这个注解。当时是为了让 ControllerAdvice这个起作用配置的EnableWebMvc。@EnableWebMvc is equivalent to <mvc:annotation-driven /> in XML 那为什么@EnableWebMvc会影响到静态资源的访问呢 springboot默认是在org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration这个类配置默认的static等路径,但是这个类上面配置了@ConditionalOnMissingBean(WebMvcConfigurationSupport.class) ,意识就是如果有WebMvcConfigurationSupport这个类,那就跳过WebMvcAutoConfiguration使用WebMvcConfigurationSupport。恰巧@EnableWebMvc引入了DelegatingWebMvcConfiguration,而DelegatingWebMvcConfiguration继承了WebMvcConfigurationSupport。因此WebMvcAutoConfiguration就失效了。 同理对于httpmessageconverter等一些配置也会由于EnableWebMvc失效。

常见的HTTP Headers有哪些?

最常见的HTTP Headers 在网络抓取领域,大家经常会讨论下面2个问题: 1.如何避免被目标服务器封锁? 2.如何提高检索数据的质量? 在现有阶段,有效的技术可以防止被目标网站封锁,例如代理和实用的IP地址轮换。 然而,还有一项技术也能发挥类似作用,却经常被忽略,那就是使用和优化HTTP Headers。这种方法会大大减少您的网络爬虫被各种数据源封锁的可能性,并确保检索到高质量的数据。 如果您完全不了解HTTP Header或了解较少,不用担心,本文会向您介绍什么是HTTP Header以及在网络抓取过程中它们的作用。 网页抓取5大常用HTTP Headers 在下文中,我们将重点讲解需要使用和优化的5个最常见的HTTP Header,并说明为什么需要使用它们。 以下是这5个HTTP Header的列表: Header 示例 HTTP Header User-Agent Mozilla/5.0(X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0 HTTP Header Accept-Language en-US HTTP Header Accept-Encoding gzip,deflate HTTP Header Accept text/html HTTP Header Referer http://www.google.com/ Header使客户端和服务器都能够在请求或响应中传输更多详细信息。 01 HTTP Header User-Agent User-Agent Header传递的信息包括应用类型,操作系统,软件和版本信息,并允许数据目标来决定使用何种类型的HTML布局来响应,手机、平板电脑或PC均可显示不同的HTML布局。 User-Agent Mozilla/5.0(Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Safari/605.1.15 网络服务器经常会验证User-Agent Header,这是网站服务器的第一重保障,这个步骤可以让数据源识别出可疑请求。例如,网络抓取时,大量请求传输到网络服务器,如果User-Agent Header相同,那么服务器端就会判定是爬虫行为。因此,有经验的网页抓取者会把User-Agent Header修改成不同的字符串,从而让服务器识别成是多个自然用户在发出请求。 因此,当涉及到User-Agent Header时,需要经常更改此Header的信息,这样就不容易因为这个Header而被封锁。

数模学习(3):线性规划(老哥)

一般线性规划问题的(数学)标准型 可以转化为线性规划的问题 在MATLAB中规定的线性规划的标准形式 其中f,x,b,beq,lb,ub为列向量,f称为价值向量,b称为资源向量,A,Aeq为矩阵。 MATLAB官方给出的使用示例 x返回的是决策向量的取值,fval返回的是目标函数的最优值,f为价值向量, A,b对应的是线性不等式约束,Aeq,beq对应的是线性等式约束, lb和ub分别对应的是决策向量的下界向量和上界向量。 ✨实战例题(max转min)👇 ✍MATLAB代码: f=[-2;-3;5]; a=[-2,5,-1;1,3,1];b=[-10;12]; aeq=[1,1,1]; beq=[7]; [x,y]=linprog(f,a,b,aeq,beq,zeros(3,1)); x,y=-y ✨建模实战 ✍开始解题 clc,clear a=0;hold on while a<0.05 c=[-0.05,-0.27,-0.19,-0.185,-0.185]; A=[zeros(4,1),diag([0.025,0.015,0.055,0.026])]; b=a*ones(4,1); Aeq=[1,1.01,1.02,1.045,1.0651]; beq=1;LB=zeros(5,1); [x,Q]=linprog(c,A,b,Aeq,beq,LB); Q=-Q; plot(a,Q, '*k'); a=a+0.001; end xlabel('a'),ylabel('Q') 👇运行结果

matplotlib入门基础(三)画线和标记

这篇文章同样以面向对象风格为主,介绍画线(line)和标记(marker)的方法。 这篇文章只有一项内容:plot()函数的用法 以创建figure,创建axes,用axes画图这三个步骤(面向对象风格),贴出一段基础代码 import matplotlib.pyplot as plt x = [1,3,5,7] y = [4,9,6,8] # 创建figure figure = plt.figure() # 创建axes axes = figure.add_subplot(1,1,1) # 用axes画图 # 可以用fmt简要设置参数,也可以用参数逐一赋值的方式设置参数,这里用参数逐一赋值 # 扩展参数:Line2D属性参数 axes.plot(x,y, scalex=True, #default: True scaley=True, #default: True data=None, # 扩展参数:Line2D属性参数(部分) color='blue', #线的颜色 linestyle='-', #线型 linewidth=2, #线宽 marker='o', #标记 markeredgecolor='black', #标记边缘颜色 markeredgewidth=4, #标记边缘宽度 markerfacecolor='red', #标记内部颜色 markersize=20 #标记大小 ) plt.show() axes.plot()参数中的scalex=True和scaley=True表示控制x轴和y轴的显示范围以便显示出所画的内容,例如,这里x数据的最小值和最大值分别为1和7,那么x轴的显示范围必须为包含1~7的适当范围,否则画的内容无法显示。axes.plot()参数还包括Line2D属性参数,这里只设置部分Line2D属性参数。其余参数参考官网。 (axes.plot()函数完整参数参考官网:matplotlib.axes.Axes.plot — Matplotlib 3.5.2 documentation) 执行可以得到以下图片,图中已经注释所设置的参数对应的效果 此外,设置标记形状、线型、颜色三项时,可以用fmt,即format string,fmt='[marker][line][color]',和参数赋值的方法等效,例如axes.plot(x,y,'o-r'),这里的fmt='o-r',标记形状为'o',表示圆形标记,线型为'-',表示实线,颜色为'r',表示红色,代码省略,效果如下 其他的包含Line2D属性参数的函数也可以参考这里的效果说明,Line2D属性参数的设置方法都是通用的。 所有marker形状可以参考:matplotlib.markers — Matplotlib 3.

解决Butterfly主题图标不显示问题

原文:https://blog.c12th.cn/archives/4.html 前言 五天前 jsdelivr 突然不能用了,导致一些借助cdn加速的资源也用不了了,现在 jsdelivr 也是属于不稳定的状态。 这几天感觉 jsdelivr 变稳定了? 我尝试过换cdn,但除了图标外其他都能正常使用,唯独图标不能正常显示。 这里分享下解决方法。 主题作者在 4.3.0 版本发布了可以换源的方法! 这里分享从 4.2.0 以下 && 4.2.0 及以上 版本的解决方法 解决方法 主题 4.3.0 及以上 作者在 4.3.0 版本发布了 CDN 可一鍵配置 cdnjs 或 unpkg 这一设定,也就是说我们除了可以调回本地外, 还能直接换源 ,换源会比本地调用要快很多。 CDN: # The CDN provider of internal scripts (主題內部 js 的 cdn 配置) # option: local/jsdelivr/unpkg/cdnjs/custom # Dev version can only choose. ( dev版的主題只能設置為 local ) internal_provider: local # The CDN provider of third party scripts (第三方 js 的 cdn 配置) # option: local/jsdelivr/unpkg/cdnjs/custom # when set it to local, you need to install hexo-butterfly-extjs third_party_provider: jsdelivr 这里还是推荐用 unpkg 的加速源

关于电脑开启热点手机却无法连接的解决方法(关于网络连接的问题)

本机为win10系统,接下来直入主题: 进入控制面板\网络和 Internet\网络连接: 查看本地连接是否启用。 启用后按如下操作: 注:此处为有线宽带,因此显示以太网 。其他的网络也可以参考。 主要的问题就是以上两个没有勾选,选择本地连接(后面的数字可能不一样,没有影响),将两个小框勾选,点击确定,再打开热点,手机就可以连接上了! 希望对大家有帮助。

解决Go报错:parsing go.mod :module declares its path as: ××× but was required as: ×××

记录一下学习Go遇到的一些小问题。 问题描述 在go项目中,导入一个包名不等于其包导入路径名的最后一段的包时候发生报错: 原因分析: 认为是import 的包名不对。 修改import 至与go.mod的声明一致: import"git.woa.com/trpcprotocol/test/helloworld 结果还是报错: 解决方案: 所以认为包名跟其文件路径是直接相关的,导入的时候引入的包名其实是需要提供其包所在git上的路径的。 最后修改成: import "git.woa.com/***/helloworld/stub/git.woa.com/trpcprotocol/test/helloworld" module git.woa.com/***/helloworld/stub/git.woa.com/trpcprotocol/test/helloworld 可以成功导入 发现 在修改git上go.mod文件的时候发现,每一次的更新都会有慢一次版本。当我更新go.mod之后,使用go get 无法发现go.mod 的更新。当我再次更新go.mod之后,使用go get 可以发现上次更新的修改。

ubuntu 使用 screen 命令

SSH 连接至远程主机上并执行需要漫长等待的任务时, 如果网络突然终止了, 那么 SSH 会话会结束, 该任务也会被中断, 使用 screen 命令可以解决这个问题 screen 简介 screen 命令可以新建 screen 会话, 在这个会话中执行终端任务, 即使网络断开, 该任务还会在后台继续运行 安装 screen 工具 $ sudo apt install screen 安装完成后可查看版本 $ screen -version Screen version 4.06.02 (GNU) 23-Oct-17 screen 会话 新建 screen 会话 $ screen 可以指定 screen 会话的名称 $ screen -S NAME 分离 screen 会话 进入 screen 会话后, 执行耗时操作, 通过 Ctrl + A, Ctrl + D 的组合键离开 screen 会话, 回到 ssh 会话, 这样即便 ssh 断开, screen 会话仍在后台运行

I.MX6UL核心模块使用连载-TF卡读写测试 (五)

以下内容已经在Iot-6ULX/EVB-6ULX平台上验证通过,Iot-6ULX/EVB-6ULX介绍如下: TF卡读写测试过程中,测试结果根据使用的TF卡的不同,会有所差异。 目前系统暂不支持自动挂载外接设备,所以测试之前,需要先将TF卡挂载到系统。系统启动之后,插入TF卡,系统能识别到TF卡设备mmcblk0: 系统识别TF卡信息 挂载mmcblk0的p1分区: root@embfly ~# mount -t vfat /dev/mmcblk0p1 /mnt/ //将mmcblk0的p1分区挂载到mnt目录 root@embfly ~# df 载设备 挂载TF卡 从图中可以看到,mmcblk0p1已经成功挂载到了mnt目录下,可以在mnt目录下对TF卡进行读写测试了。 4.1 TF卡写速度测试 进入到mnt目录: root@embfly ~# cd /mnt //进到mnt目录 root@embfly mnt# pwd //查看当前所在目录 进入mnt目录 使用dd指令往root目录下写入数据,并生成largefile文件,文件大小为80 MiB,测试写速度。 root@embfly mnt# dd if=/dev/zero of=./largefile bs=8k count=10240 conv=fdatasync TF卡写速度测试 从终端显示的信息中,写入的文件大小为80MiB,速度为9.6MB/s。 4.2 TF卡读速度测 说明:因为Linux的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache内容可以增加文件的读写速度。 测试过程是为了能够测试出从TF卡中读取数据的准确速度,所以需要先清除缓存。 执行以下指令,清除缓存: root@embfly mnt# sh -c "sync && echo 3 > /proc/sys/vm/drop_caches" //清除页面缓存,目录项和inode 清除缓存 再次使用dd指令读取前面用dd指令写入的largefile文件,测试读速度: root@embfly ~# dd if=./largefile of=/dev/null bs=8k TF卡读速度测试 从终端显示的信息中,读取的文件大小为80MiB,速度为19.

I.MX6UL核心模块使用连载-eMMC读写测试 (四)

以下内容已经在Iot-6ULX/EVB-6ULX平台上验证通过,Iot-6ULX/EVB-6ULX介绍如下: 3. eMMC读写测试 3.1 eMMC写速度测试 eMMC根文件系统下包含了多个目录,我们需要选择其中的某个目录进行测试。可以执行以下指令查看根目录下包含的目录。 root@embfly ~# cd / //进入根目录 root@embfly /# pwd //查看当前所在目录 root@embfly /# ls //显示当前目录下的文件和目录 根目录下的内容 从上图中可以看到,根目录下包含了多个子目录。其中,root目录就是系统登陆时的默认所在目录(主目录)。在测试过程中,我们进入到root目录下进行测试。 root@embfly /# cd /root //进到root目录 root@embfly ~# pwd //查看当前所在目录 进入到root目录下 使用dd指令往root目录下写入数据,并生成largefile文件,文件大小为80 MiB,测试写速度。 root@embfly ~# dd if=/dev/zero of=./largefile bs=8k count=10240 conv=fdatasync eMMC写速度测试 从终端显示的信息中,写入的文件大小为80MiB,速度为12.2MB/s。 3.2 eMMC读速度测试 说明:因为Linux的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache内容可以增加文件的读写速度。 测试过程是为了能够测试出从eMMC中读取数据的准确速度,所以需要先清除缓存。 执行以下指令,清除缓存: root@embfly ~# sh -c "sync && echo 3 > /proc/sys/vm/drop_caches" //清除页面缓存,目录项和inode 清除缓存 再次使用dd指令读取前面用dd指令写入的largefile文件,测试读速度: root@embfly ~# dd if=./largefile of=/dev/null bs=8k eMMC读速度测试 从终端显示的信息中,读取的文件大小为80MiB,速度为101MB/s。

【Unity3D】sRGB伽马(gamma)空间和sRGB Frame Buffer线性空间的简单介绍

2022年7月20日更新 线性空间是指物理意义上的真实颜色值,伽马空间是人眼会自动将真实世界进行一个伽马校正运算,即对数据进行1/2.2次幂,提高较暗区域细节,减弱亮区域细节。人眼处理这种细节变化是用了非常多感光细胞去识别较暗色区域的,杆细胞?而且这种存储过程是细胞自动进行的,具体细节很难摸索出来,如果没有伽马空间一说,美术人员制作图片是一直操控着软件去编辑线性空间意义上的图像数据,保存后存储到一张RGBA32位每一个像素的存储空间块,也就是一个像素有32位空间存储,每一个颜色分量8位存储即0~255代表每一个颜色值权重划分256个等级,归一化到(0~1)时它每一份等级步位是1/256,这就是目前最普通的最小色差表达?但肯定比不上人眼对色差敏感度,所以实际上存入到计算机的可能会得到一张不是你理想的图片,会丢失部分细节的问题。 因此,为了弥补这一点,人们想了一个办法,对原始数据进行数学计算,将暗色部分值精度提高,而亮色精度值会降低(为什么会降低亮色精度?我猜测是节省内存空间,毕竟人眼对亮区域敏感度不高,而伽马校正就是为此而设计出来的),那就是伽马校正 —— 所以说伽马校正其实就是让计算机去模仿人眼提高较暗区域细节进行存储起来,但是输出时要进行伽马变换,注意!伽马变换回来的不是原图!它其实依然是将色差拉大后的图片,只是整体恢复到线性空间,不然人眼会对它再次伽马校正(即2次伽马校正),导致整体变亮。 所有想对伽马校正后的图像进行渲染处理,都必须先经过伽马变换回线性空间(物理意义上的真实图像)不然效果会是错误的,因为伽马校正本身就只是为了模拟人眼使用,人眼的数据实际上也是错误的。(可能有点绕,可以说每个生物的眼球渲染出的图像都不同,现实世界的色彩你根本不知道是啥样的,我们只能知道我们所知物种的颜色空间观察情况,毕竟颜色只是波频不同。) 你可以通过对一张有较多暗色区域并且暗色区域细节较多的图片进行伽马校正和伽马变换(反复进行n次),当伽马校正和伽马变换逐渐增多时, 图像的暗色区域会越来越明显,亮色区域细节会越来越模糊。(这就能代表我所说的伽马校正之后再进行伽马变换其实并不是还原,因为这个运算本身就不是线性的!所以才有伽马空间 而非线性伽马空间一说了。) 2022年7月4日更新: 参考:简单理解伽马校正_tkokof1的博客-CSDN博客_伽马校正是什么意思 总结:伽马校正和伽马变换算法的输入和输出值都是浮点数[0,1]范围内的RGBA分量值,按参考文章描述得出结论是两个暗色调范围浮点值,暗色调浮点范围定义在[0,0.218]内,比如0.155和0.164,它们色差是0.009,如果将0.155和0.164进行一次(1/2.02)求幂,会得到0.39735和0.40860,色差变为0.01125,即色差变大了0.00225,色差越大描边细节越明显,因此提升了暗色区域细节!反之,若取较高的2个数值进行如上操作,色差会变小,亮色区域细节会丢失! 注意:浮点数精度要足够大,不然伽马校正对一些只有1位小数的进行操作,可能色差就不是理想情况,理想情况是暗色值色差变大,亮色值色差变小,这个目的就是为了人眼适应暗色值更敏感,亮色值比较弱。 思考:假设如果我对一张图不断地进行伽马校正然后输出颜色到屏幕上,其效果应该是较暗区域的会描边情况越来越明显,较亮区域的会丢失描边(但是不会过曝!,因为即时是1进行伽马校正也还是1) 最终结论:伽马校正就是为了控制不同亮度值区域的色差变化程度,你可以自己写一个类似的伽马算法,来对色差进行控制! 伽马校正:对输入进行(1/2.2)求幂【输入是白虚线,输出是红虚线】可看到[0,0.218]暗部色会整体变化幅度很大,其他则比较小【但这并不能理解成变化幅度大,所以色差变大,反之亦然】。比如我用0.815和0.824去伽马校正(色差原本是0.009保持和暗色值上面的例子一样色差)得出0.90368和0.90861,色差变为0.00493,也就是色差变小了。(亮色值会变小色差 减少细节) 伽马变换:对输入进行(2.2)求幂 原文:原文! 相关文章:Unity Shader 伽马空间与线性空间_火锅肥牛的博客-CSDN博客 伽马空间: 美术出图是在伽马空间下,贴图本身会被进行伽马校正 一般是sRGB伽马空间【gamma = 2.02】 伽马校正算法: output = input^(1/gamma) (^是求幂运算符) 在输出显示器时,显示器会自动对它进行相应的伽马变换。 伽马变化算法:output = input^(gamma) 即在伽马空间下,若美术出图时是在伽马空间下进行的,则会先对图片像素进行(1/gamma)次方运算,在输出时由硬件自动进行gamma次方输出到显示器。 但此时的输出结果是和真实结果略有差异,但也不能说是完全错误的。 线性空间:sRGB Frame Buffer 是常用的线性颜色空间 美术出图时要在线性空间下出图,线性空间出的贴图不会进伽马校正,而是保持原始图片的颜色值输出到贴图。 然后,它会在输出到显示器前,用sRGB Frame Buffer的其中几个API进行伽马校正,然后再传给显示器做伽马变换输出,此时是效果是正确的。 PS:如果美术出的图是sRGB伽马空间下的,可以勾选贴图的sRGB(Color Texture)选项进行反向sRGB操作回到线性空间贴图即可。 为什么线性空间是真正的情况,而伽马空间不是? 我猜测可能是在线性空间时,贴图的像素颜色纸保持原始一样,进入渲染流程进行处理,仅仅在输出显示器前一步,进行了伽马校正, 伽马校正也只是为了抵消之后输出到显示器时的伽马变化,所以这里的伽马校正不会影响渲染流程!而伽马空间的情况恰恰相反,它是在 渲染流程之前就已经对贴图进行了伽马校正,从而将贴图整体颜色值拔高了,然后进行的渲染处理,这里就肯定会影响到渲染情况了,从而并非真正的情况。 为什么会有sRGB伽马空间和sRGB Frame Buffer线性空间? 个人猜测无非以下原因: 原本是只有线性空间的,即不会做伽马变换处理,但后来人们发现人眼识别黑色区域比光亮区域更敏感,所以将在显示到屏幕之前进行了一个伽马变换,伽马变换会将[0,1]的数变得更小, 即整体变暗,从而让视觉效果更好看,但这已经并非真实的效果了,后来好像有了手段不需要做这种伽马变换就能达到同样的视觉效果了,但由因为伽马变换已经根深蒂固地嵌入了硬件里,所以诞生了伽马校正。 伽马校正是伽马变换的反向操作,就是为了抵消掉伽马变换的影响的。 一开始人们想不到办法在输出之前控制渲染流程进行做伽马校正,所以有了sRGB伽马空间的做法,即将贴图的信息提前进行了一次伽马校正,然后再进入渲染流程,输出到屏幕时做伽马变换就能恢复回原图情况,但人们没想到这种效果并非真实,因为上面我所猜的情况可能就是会有影响到渲染细节问题。 紧接着就理所当然地想到了可以在渲染流程最后一步,即显示到显示器前,进行线性空间sRGB Frame Buffer相关处理,简单来说就是贴图保持原样进行渲染,将渲染结果先缓存到这个Buffer然后做伽马校正,然后再传递给显示器进行伽马变换输出到屏幕。

CentOS 环境 ngrep 安装及使用

文章目录 前言1. CentOS 环境安装 ngrep1.1 搜索安装包1.2 安装 ngrep 2. ngrep 使用2.1 ngrep 可选参数列表2.2 ngrep 使用示例 前言 ngrep可以看作网络版的 grep,是一款功能强大的抓包工具。它不但适配各个操作系统,也能识别大量常用网络协议,支持 BPF 过滤规则,提供灵活抓取各类数据包的能力 1. CentOS 环境安装 ngrep 1.1 搜索安装包 执行以下命令搜索 ngrep 的可用安装包,可以看到在 CentOS 系统下一个可以用的安装包是 ngrep.x86_64 sudo yum search ngrep 1.2 安装 ngrep 执行以下命令即可下载安装 ngrep,安装结束后可以使用命令 sudo ngrep -V 查看版本信息 ngrep 依赖 libpcap 库,通常使用下面的命令安装 ngrep 时都会自动下载相关依赖。如果安装出错未自动解决依赖,可尝试使用 sudo yum install libpcap 下载依赖库后重试 sudo yum install ngrep 2. ngrep 使用 2.1 ngrep 可选参数列表 ngrep 常用的参数如下表所示,更多参数可以使用命令 man ngrep 查看详细信息

throw和throws的区别(java)

目录 1、什么是声明异常(throws)? 1.1、声明格式 1.2、代码演示 2、什么是throw? 2.1、声明格式 2.2、代码演示 3、throw和throws的区别? 1、什么是声明异常(throws)? throws方式处理异常又被称之为声明异常,将问题标识出来,报告给调用者。如果方法内通过throw抛出了编译时异常,而没有捕获处理,那么必须通过throws进行声明,让调用者去处理。关键字throws运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常(抛出异常)。 1.1、声明格式 修饰符 返回值类型 方法名() throws 异常类名 {} 1.2、代码演示 public class Demo3 { //抛出异常,如果不知道异常具体是什么 就抛出最大异常Exception public static void main(String[] args) throws ParseException{//抛给调用者 String str="2022-07-19"; DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd"); //parse方法可能会出现异常 Date date = dateFormat.parse(str); System.out.println(date); } } public class Demo4 { //抛出异常 public static void main(String[] args) throws ParseException { Demo3 demo3=new Demo3(); //调用者调用方法 需要抛出异常或者处理异常 demo3.show(); } } 注意事项:throws用于进行异常类的声明,若该方法可能有多种异常情况产生,那么在throws后面可以写多个异常类,用逗号隔开。 2、什么是throw? 在编写程序时,我们必须要考虑程序出现问题的情况。比如,在定义方法时,方法需要接收参数。那么,当调用方法使用接收到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法,就应该告诉调用者,传递合法的数据进来。这时需要使用抛出异常的方式来告诉调用者。在java中,提供了一个throw关键字,它用来抛出一个指定的异常对象。 2.1、声明格式 修饰符 返回值类型 方法名(参数列表) [throws 异常的类型] { if (判断条件) { throw new 异常对象("

IP命令使用指南

iproute2路由配置(ip rule、ip route、traceroute)-云海天教程 (yht7.com) Linux基础命令---IP路由操作 | 路由 (lmlphp.com) ip指令可以显示或操作路由、网路设备,设置路由策略和通道。 此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、语法 ip [选项] OBJECT COMMAND [help] OBJECT对象可以是:link,网络设备;addr,设备的协议地址;route,路由表;rule,策略;neigh,arp缓存;tunnel,ip通道;maddr,多播地址;mroute,多播路由 COMMAND是操作命令,不同的对象有不同的命令配置。 link对象支持的命令:set、show。 addr对象支持的命令:add、del、flush、show。 route对象支持的命令:list、flush、get、add、del、change、append、replace、monitor。 rule对象支持的命令:list、add、del、flush。 neigh对象支持的命令:add、del、change、replace、show、flush。 tunnel对象支持的命令:add、change、del、show。 maddr支持的命令:add、del。 mroute支持的命令:show 2、选项列表 选项 说明 -V | -Version 显示版本信息 --help 显示帮助信息 -s | -stats | -statistics 显示详细的信息 -f | -family 指定协议类型 -4 等同-family inet -6 等同-family inet6 -0 等同-family link -o | -oneline 每条记录输出一行 -r | -resove 使用系统名字解析DNS 3、ip link---网络设备配置 链路是一种网络设备,相应的命令显示和改变设备的状态。 1)ip link set,改变设备属性 devNAME(default),NAME指定要操作的网络设备。配置SR-IOV虚拟功能(VF)设备时,此关键字应指定关联的物理功能(PF)设备。

JAVA最全最细基础知识点

计算机语言发展历史: 第一代(机器语言) 第二代(汇编语言) 第三代(高级语言),其中高级语言又分为 面对过程的语言(c语言)和面向对象的语言(Java语言)。所以我们说Java是一门面向对象的高级计算机语言。 Java语言的历史 Java语言是美国Sun公司(Stanford University Network)斯坦福大学网络公司 在1995年推出的计算机语言。2009年,Sun公司被甲骨文公司(Oracle)收购。Java之父:詹姆斯·高斯林(James Gosling) Java语言的分类 ​ JavaSE: Java 语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。 ​ JavaME: Java 语言的(小型版),用于嵌入式消费类电子设备,现在不用了。 ​ JavaEE: Java 语言的(企业版),用于 Web 方向的网站开发。网站的简单理解= 网页+后台服务器 java语言特点:先编译再解释运行 (我们首先编写点java的源文件,然后通过java编译器进行编译成点class的字节码文件,再通过java解释器运行。) 跨平台 平台:指的是操作系统(Windows,Linux,Mac) 什么是跨平台性? 通过Java语言编写的应用程序在不同的系统平台上都可以运行。 Java跨平台原理 1.不同的硬件平台最终执行的是机器码,不同平台的机器码是不同的 2.java源程序(.java文件)先编译成字节码文件(.class文件),由于字节码文件格式独立,不面向任何具体的平台,只面向虚拟机;因此将字节码文件解释成对应平台机器码并执行; 3.Java虚拟机是可运行Java字节码文件的虚拟计算机,不同平台的虚拟机是不同的,但它们都提供了相同的接口。 4.Java具有一次编译,到处运行的特点.就是说编译后的.class可以跨平台运行,前提是该平台具有相应的Java虚拟机。 软件安装需要注意什么? 安装路径不要包含中文或者空格等特殊字符(使用纯英文目录) 为什么配置环境变量? 在任意目录下使用jdk的bin目录下的java相关命令。 public起到什么作用? 限制类名和文件名必须一致 class起到什么作用? 用来定义一个java类 入口方法起到什么作用? 程序的入口,jvm运行需要找入口方法 字节码文件,操作系统能直接执行吗? 不能,只有JVM认识字节码文件或者说 字节码文件是通过JVM来运行的。 JDK JRE JVM的关系 JDK(Java Development Kit):Java开发工具或者叫做Java开发环境,包含了JRE和开发工具,我们要开发Java程序必须安装JDK。 开发工具:主要有二个,javac.exe 编译工具 java.exe 运行工具 JRE(Java Runtime Environment):Java运行环境,包含了JVM和Java的核心类库(Java API)。我们如果只是单纯运行Java程序,只需要安装JRE即可。 jvm:虚拟机 类库:java类的仓库,里面装的是java提供的写好Java类,我们只需要拿来直接使用。 jdk下载的归档地址。(直接方便进入) https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html

vue中ant-design-vue的安装和使用(vue2安装不了的原因)

使用Ant Design Vue UI组件库的链接: 问题描述 在做vue的项目时想全局导入,但是安装失败(使用的是官网的安装命令) npm install ant-design-vue --save 原因分析: 后来当创建vue3项目时才能使用官网的命令安装,发现是版本不兼容的问题,官网的安装指令只适用于vue3,而在创建选择vue的时候选择的是vue2.x,并不兼容最新版本的ant-desing-vue 解决方案: 1、安装必须要有环境 npm install -g @vue/cli 2、安装指定版本的ant-design-vue UI框架(当项目为vue2项目时) npm i --save ant-design-vue@1.7.2 Vue2的引入 import Vue from 'vue'; import { DatePicker } from 'ant-design-vue'; import 'ant-design-vue/dist/antd.css'; // or 'ant-design-vue/dist/antd.less' Vue.use(DatePicker); Vue3引入 import { DatePicker } from 'ant-design-vue'; import 'ant-design-vue/dist/antd.css'; // or 'ant-design-vue/dist/antd.less' app.use(DatePicker);

如何将 ONLYOFFICE Docs 与 Nextcloud 进行集成

Nextcloud 是 ownCloud 项目的分叉,其为您提供了可供自行管理和控制的云存储服务功能。此外,您还可使用 Nextcloud 应用商店中的多种应用来扩展其功能。其应用商店中提供一款应用 —— ONLYOFFICE。用户可使用该应用来实现 Nextcloud 集成(与 ownCloud 相似),从而使用 ONLYOFFICE 在线文档编辑器来对文本文档、电子表格以及演示文稿进行轻松创建、编辑和协作。 1. 软件要求 您将需要: 11.0.2 或更高版本的 Nextcloud。如需进行安装,请参考这里的说明。 4.2 或更高版本的 ONLYOFFICE 文档服务器。 OwnCloud/Nextcloud ONLYOFFICE 集成应用。 2. 安装 ONLYOFFICE 文档服务器 v.4.2 如需安装最新版本的 ONLYOFFICE 文档服务器,您可选择使用 .deb/.rpm 包或是官方 Docker 镜像。最简单的方法是使用 Docker。 在开始安装之前,请确保您的机器满足以下系统要求: CPU:双核,至少 2 GHz RAM:4 GB 及以上 HDD:至少 2 GB 空闲空间 至少 2 GB swap 空间 OS:amd64 Linux 发行版,内核版本 3.10 或更新 Docker:1.10 或更高版本 然后运行 Docker 并执行以下命令: sudo docker run -i -t -d -p 80:80 onlyoffice/documentserver 这将安装文档服务器及其所需的一切依赖。