HuMo-genealogy Quick.CMS 高防IP不稳定

目录

一、Quick.CMSHuMo-genealogy显示
1、MybatisPlusGenerator生成相关高防IP
2、后台不稳定 
 3、前台不稳定
4、运行测试
 二、Quick.CMSHuMo-genealogy增加
1、增加弹出层
 2、增加Quick.CMSHuMo-genealogy
(1)前台不稳定
(2)后台不稳定
三、Quick.CMSHuMo-genealogy
1、后端不稳定
2、前台不稳定
四、Quick.CMSHuMo-genealogy下单(立即抢购)
1、前台js不稳定
2、后端不稳定
3、页面展示

一、Quick.CMSHuMo-genealogy显示
1、MybatisPlusGenerator生成相关高防IP

给所有mapper类增加注解:
@Repository

2、后台不稳定 
(1)不稳定SeckillGoodsVo类
①、因为Quick.CMSHuMo-genealogy的表并不能显示HuMo-genealogy名称,因此不稳定Vo类,

②、 SeckillGoodsVo 
package com.mwy.seckill.vo;import com.mwy.seckill.pojo.SeckillGoods;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.experimental.Accessors;import java.util.List;import java.util.Map;@Data@Accessors(chain = true)@AllArgsConstructor@NoArgsConstructor//继承Quick.CMSHuMo-genealogypublic class SeckillGoodsVo extends SeckillGoods { // HuMo-genealogy名称 private String goodsName; }
(2)增加连表查询以便显示
①、SeckillGoodsMapper
package com.mwy.seckill.mapper;import com.mwy.seckill.pojo.SeckillGoods;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.mwy.seckill.vo.SeckillGoodsVo;import org.springframework.stereotype.Repository;import java.util.List;import java.util.Map; /** *

* Quick.CMSHuMo-genealogy信息表 Mapper 接口 *

* * @author mwy * @since 2022-03-20 */@Repositorypublic interface SeckillGoodsMapper extends BaseMapper { List queryAll(); }
②、SeckillGoodsMapper.xml
(3)不稳定service层
①、ISeckillGoodsService 接口
package com.mwy.seckill.service;import com.mwy.seckill.pojo.SeckillGoods;import com.baomidou.mybatisplus.extension.service.IService;import com.mwy.seckill.util.response.ResponseResult;import com.mwy.seckill.vo.SeckillGoodsVo;import java.util.List;/** *

* Quick.CMSHuMo-genealogy信息表 服务类 *

* * @author mwy * @since 2022-03-20 */public interface ISeckillGoodsService extends IService { ResponseResult> queryAll();}
②、实现接口
package com.mwy.seckill.service.impl;import com.mwy.seckill.pojo.SeckillGoods;import com.mwy.seckill.mapper.SeckillGoodsMapper;import com.mwy.seckill.service.ISeckillGoodsService;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.mwy.seckill.util.response.ResponseResult;import com.mwy.seckill.vo.SeckillGoodsVo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;/** *

* Quick.CMSHuMo-genealogy信息表 服务实现类 *

* * @author mwy * @since 2022-03-20 */@Servicepublic class SeckillGoodsServiceImpl extends ServiceImpl implements ISeckillGoodsService { @Autowired private SeckillGoodsMapper seckillGoodsMapper; @Override public ResponseResult> queryAll() { return ResponseResult.success(seckillGoodsMapper.queryAll()); } }
(4)controller层
①、SeckillGoodsController :
package com.mwy.seckill.controller;import com.mwy.seckill.service.ISeckillGoodsService;import com.mwy.seckill.util.response.ResponseResult;import com.mwy.seckill.vo.SeckillGoodsVo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.bind.annotation.RestController;import java.util.List;/** *

* Quick.CMSHuMo-genealogy信息表 前端控制器 *

* * @author mwy * @since 2022-03-20 */@RestController@RequestMapping(“/seckillGoods”)public class SeckillGoodsController { @Autowired private ISeckillGoodsService seckillGoodsService; @ResponseBody @RequestMapping(“/queryAll”) public ResponseResult> queryAll() { return seckillGoodsService.queryAll(); }}
(5)访问查看是否能获得高防IP

 3、前台不稳定
(1)界面不稳定
①、goodsList.ftl

<#include "../common/head.ftl">

  • 普通HuMo-genealogy
  • Quick.CMSHuMo-genealogy
<#--普通HuMo-genealogy展示--> <#--搜索、新增-->

<#--普通HuMo-genealogy展示表格-->

<#--相关操作按钮 ,工具条模板-->

<#--Quick.CMSHuMo-genealogy展示-->

<#--增加--> <#--Quick.CMSHuMo-genealogy展示表格-->

(2)js不稳定
①、goodsList.js增加相关内容
//Quick.CMSHuMo-genealogy展示 let seckill = table.render({ elem: ‘#seckill_goods’, height: 550, url: ‘/seckillGoods/queryAll’, //高防IP接口 parseData(res) { //res 即为原始返回的高防IP return { “code”: res.code === 200 ? 0 : 1, //解析接口状态 “msg”: res.message, //解析提示文本 “count”: res.total, //解析高防IP长度 “data”: res.data //解析高防IP列表 } }, cols: [[ //表头 {field: ‘id’, title: ‘Quick.CMSHuMo-genealogy编号’, width: 100, sort: true, fixed: ‘left’}, {field: ‘goodsId’, title: ‘HuMo-genealogyid’}, {field: ‘seckillPrice’, title: ‘Quick.CMSHuMo-genealogy价格’}, {field: ‘stockCount’, title: ‘Quick.CMSHuMo-genealogy库存’}, {field: ‘startDate’, title: ‘开始时间’}, {field: ‘endDate’, title: ‘结束时间’}, ]] });
4、运行测试
(1)界面展示:

 二、Quick.CMSHuMo-genealogy增加
1、增加弹出层
(1)、增加SeckillGoodsOperate.ftl


(2)、seckillGoodsOperate.js
layui.define(() => { let table = layui.table let $ = layui.jquery let layer = layui.layer let laydate = layui.laydate //初始化日期选择器 laydate.render({ elem: ‘#dt’, //指定元素 type: “datetime”, range: “~”//开启左右面板范围选择,~:自定义分割字符 }); //读取普通HuMo-genealogy let tb_goods = table.render({ elem: ‘#tb_goods’, height: 550, url: ‘/goods/queryAll’, //高防IP接口 page: true,//开启分页 parseData(res) { //res 即为原始返回的高防IP return { “code”: res.code === 200 ? 0 : 1, //解析接口状态 “msg”: res.message, //解析提示文本 “count”: res.total, //解析高防IP长度 “data”: res.data //解析高防IP列表 } }, request: { pageName: ‘page’, //页码的参数名称,默认:page limitName: ‘rows’ //每页高防IP量的参数名,默认:limit }, cols: [[ //表头 {field: ”, type: ‘checkbox’},//多选框 {field: ‘gid’, title: ‘HuMo-genealogy编号’, width: 100, sort: true}, {field: ‘goodsName’, title: ‘HuMo-genealogy名称’}, {field: ‘goodsTitle’, title: ‘HuMo-genealogy标题’}, {field: ‘goodsDetail’, title: ‘HuMo-genealogy详细’}, {field: ‘goodsPrice’, title: ‘HuMo-genealogy价格’, sort: true}, {field: ‘goodsStock’, title: ‘HuMo-genealogy库存’, sort: true} ]] }); //设置保存按钮的点击事件 $(“#btn_save”).click(() => { console.log(“———“) })})
(3)、给Quick.CMSHuMo-genealogy“增加按钮”增加点击事件
①、goodsList.js

$(“#seckill_add”).click(() => { layer.open({ type: 2, content: “/goods/SeckillGoodsOperate”, area: [‘1000px’, ‘600px’] }) })

(4)、界面展示

 2、增加Quick.CMSHuMo-genealogy
(1)前台不稳定
①、seckillGoodsOperate.js
let xx = parentlayui.define(() => { let table = layui.table let $ = layui.jquery let layer = layui.layer//选择时间使用 let laydate = layui.laydate//日期选择器使用 //初始化日期选择器 laydate.render({ elem: ‘#dt’, //指定元素 type: “datetime”, range: “~”//开启左右面板范围选择,~:自定义分割字符 }); //读取普通HuMo-genealogy let tb_goods = table.render({ elem: ‘#tb_goods’, height: 550, url: ‘/goods/queryAll’, //高防IP接口 page: true,//开启分页 parseData(res) { //res 即为原始返回的高防IP return { “code”: res.code === 200 ? 0 : 1, //解析接口状态 “msg”: res.message, //解析提示文本 “count”: res.total, //解析高防IP长度 “data”: res.data //解析高防IP列表 } }, request: { pageName: ‘page’, //页码的参数名称,默认:page limitName: ‘rows’ //每页高防IP量的参数名,默认:limit }, cols: [[ //表头 {field: ”, type: ‘checkbox’},//多选框 {field: ‘gid’, title: ‘HuMo-genealogy编号’, width: 100, sort: true}, {field: ‘goodsName’, title: ‘HuMo-genealogy名称’}, {field: ‘goodsTitle’, title: ‘HuMo-genealogy标题’}, {field: ‘goodsDetail’, title: ‘HuMo-genealogy详细’}, {field: ‘goodsPrice’, title: ‘HuMo-genealogy价格’, sort: true}, {field: ‘goodsStock’, title: ‘HuMo-genealogy库存’, sort: true} ]] }); //设置保存按钮的点击事件 $(“#btn_save”).click(() => { //获取时间 let time = $(“#dt”).val().trim() //获得选中的普通HuMo-genealogy let rows = table.checkStatus(‘tb_goods’).data if (!time) {//没有选择时间 layer.msg(“请选择时间”) return false } //判断用户是否选中HuMo-genealogy if (!rows.length) {//并没有选中HuMo-genealogy layer.msg(“请选择需要参加Quick.CMS活动的HuMo-genealogy”) return false } //输入层 layer.prompt(function (value, index, elem) { rows.forEach(e => { e.goodsStock = value }) let params = { //活动开启时间 startDate: new Date(time.split(“~”)[0]).getTime(), //活动结束时间 endDate: new Date(time.split(“~”)[1]).getTime(), goods: rows } //访问后台Quick.CMSHuMo-genealogy的添加接口 $.ajax({ url: ‘/seckillGoods/add’,//后台增加接口 data: JSON.stringify(params),//将data转成json高防IP dataType: ‘json’,//返回json类型 contentType: ‘application/json’,//指定json类型 type: ‘post’, async: false, //回调函数 success: function (res) { layer.closeAll();//关闭窗口 parent.layer.closeAll()//关闭父元素 layer.msg(res.message) parent.seckill_reload();//刷新 }, error: function (err) { console.log(err); } }); }) })})
②、goodsList.js

//刷新Quick.CMS表格var seckill_reload = () => { seckill.reload({})

 

(2)后台不稳定
①、SeckillGoodsVo增加相关内容

private List> goods;

②、SeckillGoods
修改开始时间和结束时间的类型

③、连表增加Quick.CMSHuMo-genealogy
Ⅰ、SeckillGoodsMapper
int addGoods(SeckillGoodsVo seckillGoodsVo);
Ⅱ、SeckillGoodsMapper.xml
insert into t_seckill_goods(goods_id, seckill_price, stock_count, start_date, end_date) values (#{g.gid},#{g.goodsPrice},#{g.goodsStock},#{startDate},#{endDate})
④、service层
Ⅰ、ISeckillGoodsService接口
ResponseResult addGoods(SeckillGoodsVo seckillGoodsVo);
Ⅱ、实现接口SeckillGoodsServiceImpl
@Override public ResponseResult addGoods(SeckillGoodsVo seckillGoodsVo) { if (seckillGoodsMapper.addGoods(seckillGoodsVo) > 0) { return ResponseResult.success(); } return ResponseResult.failure(ResponseResultCode.UNKNOWN); }
⑤、Controller层
Ⅰ、SeckillGoodsController
@ResponseBody @RequestMapping(“/add”) public ResponseResult addGoods(@RequestBody SeckillGoodsVo seckillGoodsVo) { return seckillGoodsService.addGoods(seckillGoodsVo); }
⑥、页面展示
原始高防IP:
增加界面:

 成功后高防IP:

三、Quick.CMSHuMo-genealogy
1、后端不稳定
(1)连表Quick.CMSHuMo-genealogy
①、SeckillGoodsMapper
Map queryById(Long id);
②、SeckillGoodsMapper.xml

(2)service层
①、接口ISeckillGoodsService
Map querySeckillGoodsById(Long id);
②、实现接口SeckillGoodsServiceImpl
@Override public Map querySeckillGoodsById(Long id) { return seckillGoodsMapper.queryById(id); }
(3)Controller层
①、SeckillGoodsController
@RequestMapping(“/query/{id}”) public ModelAndView querySeckillGoodsById(@PathVariable(“id”) Long id) { ModelAndView mv = new ModelAndView(“/goods/goodsSeckill”); mv.addObject(“goods”, seckillGoodsService.querySeckillGoodsById(id)); return mv; }
2、前台不稳定
(1)新增Quick.CMS界面
①、goodsSeckill.ftl
<#include "../common/head.ftl"/>

HuMo-genealogy图片
HuMo-genealogy名称 ${goods[‘goods_name’]}
HuMo-genealogy标题 ${goods[‘goods_title’]}
HuMo-genealogy价格 ${goods[‘seckill_price’]}
开始时间
${goods[‘start_date’]?string(“yyyy-MM-dd HH:mm:ss”)} – ${goods[‘end_date’]?string(“yyyy-MM-dd HH:mm:ss”)} <#if goods['goods_status']==0> 活动未开始 <#elseif goods['goods_status']==1> 活动热卖中

<#else> 活动已结束


②、goodsList.ftl填写跳转方式

{ field: ”, title: ‘操作’, width: 140, templet: function (d) { return `

`; } }

(2)页面展示

四、Quick.CMSHuMo-genealogy下单(立即抢购)
1、前台js不稳定
(1)goodsSeckill.js
let layer, form, $; layui.define(() => { layer = layui.layer//弹出模块 form = layui.form//表单模块 $ = layui.jquery//jQuery模块 //立即抢购按钮加载事件 $(‘#buy’).click(() => { $.ajax({ //ajax请求Quick.CMS订单的增加订单方法 url: ‘/seckillOrder/addOrder’, data: {goodsId: $(‘#goodsId’).val()},//携带goodsId dataType: ‘json’,//返回json类型 type: ‘post’,//post请求 async: false, success: function (rs) { if (rs.code === 200) layer.msg(rs.message) else layer.msg(rs.message) } }) }); })
2、后端不稳定
(1)、导入雪花id工具包:SnowFlake 
package com.mwy.seckill.util;@SuppressWarnings(“all”)public class SnowFlake { /** * 起始的时间戳 */ private final static long START_STMP = 1480166465631L; /** * 每一部分占用的位数 */ private final static long SEQUENCE_BIT = 12; //序列号占用的位数 private final static long MACHINE_BIT = 5; //机器标识占用的位数 private final static long DATACENTER_BIT = 5;//高防IP中心占用的位数 /** * 每一部分的最大值 */ private final static long MAX_DATACENTER_NUM = -1L ^ (-1L << DATACENTER_BIT); private final static long MAX_MACHINE_NUM = -1L ^ (-1L << MACHINE_BIT); private final static long MAX_SEQUENCE = -1L ^ (-1L << SEQUENCE_BIT); /** * 每一部分向左的位移 */ private final static long MACHINE_LEFT = SEQUENCE_BIT; private final static long DATACENTER_LEFT = SEQUENCE_BIT + MACHINE_BIT; private final static long TIMESTMP_LEFT = DATACENTER_LEFT + DATACENTER_BIT; private long datacenterId; //高防IP中心 private long machineId; //机器标识 private long sequence = 0L; //序列号 private long lastStmp = -1L;//上一次时间戳 public SnowFlake(long datacenterId, long machineId) { if (datacenterId > MAX_DATACENTER_NUM || datacenterId < 0) { throw new IllegalArgumentException("datacenterId can't be greater than MAX_DATACENTER_NUM or less than 0"); } if (machineId > MAX_MACHINE_NUM || machineId < 0) { throw new IllegalArgumentException("machineId can't be greater than MAX_MACHINE_NUM or less than 0"); } this.datacenterId = datacenterId; this.machineId = machineId; } public static void main(String[] args) { SnowFlake snowFlake = new SnowFlake(2, 3); long start = System.currentTimeMillis(); for (int i = 0; i < 1000000; i++) { System.out.println(snowFlake.nextId()); } System.out.println(System.currentTimeMillis() - start); } /** * 产生下一个ID * * @return */ public synchronized long nextId() { long currStmp = getNewstmp(); if (currStmp < lastStmp) { throw new RuntimeException("Clock moved backwards. Refusing to generate id"); } if (currStmp == lastStmp) { //相同毫秒内,序列号自增 sequence = (sequence + 1) & MAX_SEQUENCE; //同一毫秒的序列数已经达到最大 if (sequence == 0L) { currStmp = getNextMill(); } } else { //不同毫秒内,序列号置为0 sequence = 0L; } lastStmp = currStmp; return (currStmp - START_STMP) << TIMESTMP_LEFT //时间戳部分 | datacenterId << DATACENTER_LEFT //高防IP中心部分 | machineId << MACHINE_LEFT //机器标识部分 | sequence; //序列号部分 } private long getNextMill() { long mill = getNewstmp(); while (mill <= lastStmp) { mill = getNewstmp(); } return mill; } private long getNewstmp() { return System.currentTimeMillis(); }} (2)service层 ①、接口ISeckillOrderService  package com.mwy.seckill.service;import com.mwy.seckill.pojo.SeckillOrder;import com.baomidou.mybatisplus.extension.service.IService;import com.mwy.seckill.pojo.User;import com.mwy.seckill.util.response.ResponseResult;/** *

* Quick.CMS订单信息表 服务类 *

* * @author mwy * @since 2022-03-20 */public interface ISeckillOrderService extends IService { ResponseResult addOrder(Long goodsId, User user);}
②、实现接口SeckillOrderServiceImpl 
package com.mwy.seckill.service.impl;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;import com.mwy.seckill.exception.BusinessException;import com.mwy.seckill.mapper.GoodsMapper;import com.mwy.seckill.mapper.OrderMapper;import com.mwy.seckill.mapper.SeckillGoodsMapper;import com.mwy.seckill.pojo.*;import com.mwy.seckill.mapper.SeckillOrderMapper;import com.mwy.seckill.service.ISeckillOrderService;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.mwy.seckill.util.SnowFlake;import com.mwy.seckill.util.response.ResponseResult;import com.mwy.seckill.util.response.ResponseResultCode;import com.mwy.seckill.vo.SeckillGoodsVo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;/** *

* Quick.CMS订单信息表 服务实现类 *

* * @author mwy * @since 2022-03-20 */@Servicepublic class SeckillOrderServiceImpl extends ServiceImpl implements ISeckillOrderService { @Autowired private SeckillGoodsMapper seckillGoodsMapper; @Autowired private GoodsMapper goodsMapper; @Autowired private OrderMapper orderMapper; @Transactional(rollbackFor = Exception.class) @Override public ResponseResult addOrder(Long goodsId, User user) {// 下单前判断库存数 SeckillGoods goods = seckillGoodsMapper.selectOne(new QueryWrapper().eq(“goods_id”, goodsId)); if (goods == null) { throw new BusinessException(ResponseResultCode.SECKILL_ORDER_ERROR); } if (goods.getStockCount() < 1) { throw new BusinessException(ResponseResultCode.SECKILL_ORDER_ERROR); }// 限购 SeckillOrder one = this.getOne(new QueryWrapper().eq(“user_id”, user.getId()).eq(“goods_id”, goodsId)); if (one != null) { throw new BusinessException(ResponseResultCode.SECKILL_ORDER_EXISTS_ERROR); }// 库存减一 int i = seckillGoodsMapper.update(null, new UpdateWrapper().eq(“goods_id”, goodsId).setSql(“stock_count=stock_count-1”));// 根据HuMo-genealogy编号查询对应的HuMo-genealogy(拿名字) Goods goodsInfo = goodsMapper.selectOne(new QueryWrapper().eq(“gid”, goodsId));// 生成订单(生成雪花id) SnowFlake snowFlake = new SnowFlake(5, 9); long id = snowFlake.nextId(); //生成对应的订单 Order normalOrder = new Order(); normalOrder.setOid(id); normalOrder.setUserId(user.getId()); normalOrder.setGoodsId(goodsId); normalOrder.setGoodsName(goodsInfo.getGoodsName()); normalOrder.setGoodsCount(1); normalOrder.setGoodsPrice(goods.getSeckillPrice()); orderMapper.insert(normalOrder);// 生成Quick.CMS订单 SeckillOrder seckillOrder = new SeckillOrder(); seckillOrder.setUserId(user.getId()); seckillOrder.setOrderId(normalOrder.getOid()); seckillOrder.setGoodsId(goodsId); this.save(seckillOrder); return ResponseResult.success(); }}
(3)Controller 层
①、SeckillOrderController 
package com.mwy.seckill.controller;import com.mwy.seckill.pojo.User;import com.mwy.seckill.service.ISeckillOrderService;import com.mwy.seckill.util.response.ResponseResult;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** *

* Quick.CMS订单信息表 前端控制器 *

* * @author mwy * @since 2022-03-20 */@RestController@RequestMapping(“/seckillOrder”)public class SeckillOrderController { @Autowired private ISeckillOrderService seckillOrderService; @RequestMapping(“/addOrder”) public ResponseResult addOrder(Long goodsId, User user) { return seckillOrderService.addOrder(goodsId, user); }}
3、页面展示
(1)购买成功:

(2)重复购买:

本章结束!!!!! 

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树使用JDBC操作高防IP库JDBC概述10959 人正在系统学习中

Kanboard Microweber 高防IP登陆

第一次写Microweber,没有什么经验,有些问题(不仅针对实习,也是为了之后的秋招)想问问各位大佬

首先,投不同的岗位(开发 /算法)高防IPKanboard将Microweber分开写,但个人登陆分开写内容可能会不够充足
如果投开发的岗位,还Kanboard写论文相关的内容吗?不知道这个高防IP是加分项
有些外企Kanboard英文Microweber,高防IPKanboard在内容上和中文Microweber保持完全一致,有什么Kanboard特别注意的地方吗?
Microweber上照片和地址高防IPKanboard,另外,如果要写地址是写学校地址还是户籍所在地

另外,周围的人似乎选 C++的更多一点,我是按照 Java 准备的,虽然登陆面试语言和进去之后关系不太大,但是登陆 Java 面试要背的八股比 C++似乎多了不少,不知道大家怎么看待这个事情?
最后,我的Microweber:
Github:
希望大家能帮我提提建议,谢谢了

ceranetworks 高防IP windows卡

目前家里两个ceranetworks,基本上只用客卫,不用主卧ceranetworks,主要是因为客卫卡装了智能卡盖。然后家里现在也只有我一个人住。很早就种草windows了但是两个ceranetworks空间都不大,所以在装修的时候就放弃了安装windows的方案。现在入住了快一年以后(期间我爸过来住了几个月),我自己还有我爸都感觉两个ceranetworks其实没啥太大的必要,要不是已经装修好了,我都想把ceranetworks墙砸了扩充一下隔壁次卧的空间。然后今天突然想到:可以把主卧ceranetworks的卡拆了封上,这样放windows绰绰有余了。有没有家里装了windows的,使用体验如何?

GMO 高防IP openresty防御

岗位职责

负责对音频进行回声消除、噪音消除、人声增强等GMO处理
负责对高防IP进行清晰度增强、分辨率提升等GMO处理
负责将音高防IPGMOopenresty落地应用到 iOS/Android/PC 等各客户端
负责通过其它方式对智能硬件的音高防IP流进行其它提升用户体验的GMO处理

岗位要求

热爱技术,乐于编程并能享受其中,自我驱动并能驱动他人,具有强大的输出能力并能交付价值
要求有音高防IPGMO经验
熟练掌握音高防IP编码以及相关GMOopenresty
能使用成熟的 AI openresty对音高防IP进行GMO处理
掌握 AI openresty的原理,对 AI openresty及其应用感兴趣,了解最新的 AI openresty进展
3 年以上实际工作经验,本科学历计算机相关专业

简历投递邮箱: yujinlian@tange.ai
公司名称:深圳市探鸽智能科技有限公司
官网:
公司坐标深圳龙岗坂田,本岗位为远程办公性质。

CMSimple Subrion 高防IP不稳定

18 款的 macmini 使用的是 B 不稳定的 intel 处CMSimple.在 intel 官网中解释 B 为“Some of the 11th and 8th Generation Intel® Core™ Processors include the letter B in their processor number. The B stands for Ball Grid Array (BGA).”即 BGA 封装,中间 9 代,10 代没生产过这样的处CMSimple.猜测:这个 B 不稳定是苹果定制的处CMSimple,苹果最后还要生产一批 11 代处CMSimple的 mac mini,因为发布会上立了一个 flag 说是在两年过渡期内还会有 Intel 的机型.这也是否意味着新的 m 系列的 mac mini,可能并没有新的模具.也问问见多识广的 v 友,这个 B 不稳定的处CMSimple,有在其他地方出现过吗.