- 博客(167)
- 收藏
- 关注
原创 nodejs 相关打包工具
ncc 打包后发现nodemodules都打进去了,但是比如dll或者其他的文件都在外面,所以后面就是一个index.js以及其他打不进去的文件。直接打成一个exe,而且运行不需要node环境,感觉怎么和docker一样。编译完会出来一个jsc文件二进制文件, 用bytenode 运行这个jsc。最后打出来的index.js 是没有加密的。原理同事转了个文章,先mark。
2023-06-26 16:02:57
629
原创 数字孪生(2)-实景
2 激光点云,车载激光、机载激光以及地面激光扫描出来的, 格式类型有*.pod, *.cl3,*.fls, *.fws, *.las, *.laz, *.ptg, *.pts, *.ptx, *.3dd, *.rxp, *.rsp, *.xyz, *.e57, *.zfs, *.txt等。1 倾斜摄影,格式*.3Sm, *.3mx, OBJ,FBX,OSGB等,国内OSGB比较多, 无人机5个方向,一个垂直、四个倾斜、五个不同的视角同步采集影像,如下图。实景这里从格式上也分很多种。
2023-04-17 16:37:21
336
1
原创 数字孪生(1)
目前接触的客户群体是做大屏展示,闲鱼上5元包邮的那种科技感前端(不好意思我买了)+各路模型大整合 +实景+GIS+iOT,如果再来点动画就好,然满屏动起来,火灾烧起来,水面荡漾起来,工程车开起来,不要钱的echart炫酷的图表挤在页面周边,天空色不好看给我换个朝霞色,所以,数字孪生是给上级领导展示的动态ppt么,当然绝对不敢说甲方这种需求是错的,追求视觉的美感和体验的流畅度怎么会错?可你说数字孪生除了展示能干啥?
2023-04-14 16:04:14
514
原创 CKS1.23 考试题整理(16)-AppArmor
题目在cluster的工作节点上,实施位于/etc/apparmor.d/nginx_apparmor的现有APPArmor配置文件。编辑位于/home/candidate/KSSH00401/nginx-deploy.yaml的现有清单文件以应用AppArmor配置文件。最后,应用清单文件并创建其中指定的Pod。参考使用 AppArmor 限制容器对资源的访问 | Kubernetes步骤1 检查下配置文件vi /etc/apparmor.d/nginx_ap...
2022-04-28 15:13:20
1391
原创 CKS1.23 考试题整理(15)-Pod安全策略
题目创建一个名为restrict-policy的新的PodSecurityPolicy,以防止特权Pod的创建。创建一个名为restrict-access-role并使用新创建的PodSecurityPolicy restrict-policy的ClusterRole。在现有的namespace staging中创建一个名为psp-denial-sa的新ServiceAccount。最后,创建一个名为dany-access-bind的ClusterRoleBinding ,将新创建的Cl
2022-04-27 16:50:58
1059
原创 CKS1.23 考试题整理(14)-ImagePolicyWebhook容器镜像扫描
题目给定一个目录 /etc/kubernetes/epconfig中不完整的配置以及具有 HTTPS 端点https://acme.local:8082/image_policy 的功能性容器镜像扫描器:1. 启用必要的插件来创建镜像策略2. 校验控制配置并将其更改为隐式拒绝(implicit deny)3. 编辑配置以正确指向提供的 HTTPS 端点最后,通过尝试部署易受攻击的资源 /cks/img/web1.yaml来测试配置是否有效。你可以在 /var/log/imagep
2022-04-26 16:24:59
1571
1
原创 CKS1.23 考试题整理(13)-kube-bench修复
题目针对kubeadm创建的 cluster运行CIS基准测试工具时,发现了多个必须立即解决的问题。通过配置修复所有问题并重新启动受影响的组件以确保新的设置生效参考Kubelet 配置 (v1beta1) | Kubernetes解答1 apiserverkube-bench master修改 /etc/kubernetes/manifests/kube-apiserver.yaml,改前最好保存一下 修改 - --authorization-mode=..
2022-04-25 16:20:20
1059
1
原创 CKS1.23 考试题整理(12)-启用 API server认证
题目重新配置cluster的Kubernetes APl 服务器,以确保只允许经过身份验证和授权的 REST请求。使用授权模式 Node,RBAC 和准入控制器 NodeRestriction。删除用户 system:anonymous 的 ClusterRoleBinding来进行清理。注意:所有kubectl 配置环境/文件也被配置使用未经身份验证和未经授权的访问。你不必更改它,但请注意,一旦完成 cluster 的安全加固, kubectl 的配置将无法工作。您可以使用位于 clu
2022-04-21 17:33:09
1319
1
原创 React引入Echart(函数式)
最近的工作真是一言难尽,准备了很久云策略又发现大环境此路不通,蛮打击的,不过有时间写代码了,早上关掉Teams写会儿代码,同事说,你当manager还能写代码么?我表示无语,之前公司开发的manager一定是技术最强的,这边是沟通最多的,话说多了,晚上回去一句话也不想说。。好了,废话少说,代码写起来,认证考起来,改变不了别的就改变自己吧思路是这样的,封装组件,使用者只关心数据和点击操作的后续处理echart版本 "echarts": "^5.3.2"import React, { Re
2022-04-21 16:18:13
1901
1
原创 CKS1.23 考试题整理(11)-使用 sysdig 检查容器里里的异常进程
题目使用运行时检测工具来检测 Pod tomcat 单个容器中频发生成和执行的异常进程有两种工具可供使用:l sysdigl falco注: 这些工具只预装在cluster的工作节点,不在 master 节点。使用工具至少分析30秒 ,使用过滤器检查生成和执行的进程,将事件写到 /opt/KSR00101/incidents/summary文件中,其中包含检测的事件, 格式如下:[timestamp],[uid],[processName]保持工具的原始时间戳格式不变。
2022-04-19 10:43:49
1144
3
原创 CKS1.23 考试题整理(10)-Trivy扫描镜像安全漏洞
题目使用Trivy开源容器扫描器检测namespace kamino中 Pod 使用的具有严重漏洞的镜像。查找具有High或Critical严重性漏洞的镜像,并删除使用这些镜像的Pod。参考kubectl 备忘单 | Kubernetes解答获取所有namespace下的podkubectl get pods --namespace kamino --output=custom-columns="NAME:.metadata.name,IMAGE:.spec.container
2022-04-19 09:59:50
987
原创 CKS1.23 考试题整理(9)-沙箱运行容器gVisor
题目该 cluster使用 containerd作为CRI运行时。containerd的默认运行时处理程序是runc。containerd已准备好支持额外的运行时处理程序runsc (gVisor)。使用名为runsc的现有运行时处理程序,创建一个名为untrusted 的RuntimeClass。更新 namespace server中的所有Pod以在gVisor上运行。您可以在 /cks/gVisor/rc.yaml中找到一个模版清单。参考容器运行时类(Runtime Cla
2022-04-18 15:27:59
1167
原创 CKS1.23 考试题整理(8)-Dockerfile检测
题目分析和编辑给定的Dockerfile /cks/docker/Dockerfile(基于ubuntu:16.04 镜像),并修复在文件中拥有的突出的安全/最佳实践问题的两个指令。分析和编辑给定的清单文件 /cks/docker/deployment.yaml ,并修复在文件中拥有突出的安全/最佳实践问题的两个字段。注意:请勿添加或删除配置设置;只需修改现有的配置设置让以上两个配置设置都不再有安全/最佳实践问题。注意:如果您需要非特权用户来执行任何项目,请使用用户ID 65535
2022-04-18 15:10:34
1583
原创 CKS1.23 考试题整理(7)-日志审计
题目在cluster中启用审计日志。为此,请启用日志后端,并确保:l 日志存储在 /var/log/kubernetes/audit-logs.txtl 日志文件能保留 10 天l 最多保留 2 个旧审计日志文件/etc/kubernetes/logpolicy/sample-policy.yaml 提供了基本策略。它仅指定不记录的内容。注意:基本策略位于cluster的master节点上。编辑和扩展基本策略以记录:l RequestResponse 级别的 cronjobs
2022-04-12 14:41:59
2242
原创 CKS1.23 考试题整理(6)-Pod指定ServiceAccount
题目Task1. 在现有namespace qa中创建一个名为backend-sa的新ServiceAccount,确保此ServiceAccount不自动挂载API凭据。2. 使用 /cks/sa/pod1.yaml中的清单文件来创建一个Pod。3. 最后,清理namespace backend中任何未使用的ServiceAccount。自己的思考Pod 关联service account ,然后service account 和clusterrole绑定,赋予一定的角色,不然
2022-04-12 14:13:33
2216
原创 CKS1.23 考试题整理(5)-RBCA
题目一个名为web-pod的现有Pod已在 namespace db中运行。编辑绑定到 Pod 的 ServiceAccount service-account-web的现有Role,仅允许只对 services类型的资源执行 get操作。在namespace db中创建一个名为role-2 ,并仅允许只对 namespaces类型的资源执行delete操作的新 Role。创建一个名为role-2-binding的新 RoleBinding,将新创建的 Role 绑定到 Pod 的Servi
2022-04-11 11:36:56
1155
3
原创 CKS1.23 考试题整理(4)-默认网络策略
题目为所有类型为Ingress+Egress的流量在namespace testing中创建一个名为denypolicy的新默认拒绝NetworkPolicy。此新的NetworkPolicy必须拒绝namespacetesting中的所有的Ingress + Egress流量。将新创建的默认拒绝NetworkPolicy应用与在namespace testing中运行的所有Pod。你可以在 /cks/net/p1.yaml找到一个模板清单文件。参考网络策略 | Kubernete.
2022-04-11 11:16:49
916
原创 CKS1.23 考试题整理(3)-网络策略
题目创建一个名为pod-restriction的NetworkPolicy来限制对在namespacedev-team中运行的Podproducts-service的访问。只允许以下Pod连接到Podproducts-service1 namespaceqa中的Pod2 位于任何namespace,带有标签environment: testing的Pod注意:确保应用NetworkPolicy。你可以在/cks/net/po.yaml找到一个模板清单文件参考链接网络...
2022-04-08 11:09:11
1003
4
原创 CKS1.23 考试题整理(2)-容器安全,删除特权pod
题目检查在 namespace production中运行的Pod,并删除任何非无状态或非不可变的 Pod。使用以下对无状态和不可变的严格解释:l 能够在容器内存储数据的 Pod 的容器必须被视为非无状态的。注意:你不必担心数据是否实际上已经存储在容器中。l 被配置为任何形式的特权 Pod 必须被视为可能是非无状态和非不可变的。参考为 Pod 或容器配置安全上下文 | Kubernetes步骤1 删除privilege的podkubectl get pod -n p
2022-04-07 15:52:40
1026
原创 CKS1.23 考试题整理(1)-secret
创建Secret题目1 在namespaceistio-system中获取名为db1-test的现有secret的内容将username字段存储在名为/cks/sec/user.txt的文件中,并将password字段存储在名为/cks/sec/pass.txt的文件中。注意:你必须创建以上两个文件,他们还不存在。注意:不要在以下步骤中使用/修改先前创建的文件,如果需要,可以创建新的临时文件。2 在istio-systemnamespace中创建一个名为db2-test的新s...
2022-04-06 17:31:34
1668
2
原创 2022年CKA 考试题 2022年3月1日刚过
好久好久没写文章了,回顾这一年,虽然做管理工作,但是从前端,后端,售前售后到运维。。。感觉什么都干了个遍,感谢公司能给我报销CKA考试,现在凭记忆就把题目给大家分享下,在网上搜了很多,跟去年的题都很像的,我考了90分,从去年陆陆续续的准备,还是学到了很多,有一点就是考试的时候网一定要好啊~我前半个小时就是和考官在折腾环境,一直都卡,后来重新计时了,也就是说我考了2个半小时,考官会一直跟你chat,连咳嗽多了都不行,我带的手链也要求摘下来。。。不过还是比较客气的~原创啊,请勿转载如果想要更多资料,欢迎
2022-03-02 17:01:38
12564
19
原创 最近常用命令
taskkill im node.exe /f --杀掉所有node进程task list------------列出tasknetstat -ano|findstr "3000" 查看3000端口tasklist|findstr "34504 " 查看pid对应的程序taskkill /PID 34504 /F kill对应pid
2021-05-14 09:24:43
103
原创 LeeCode 39. 组合总和
var combinationSum = function(candidates, target) { const len = candidates.length; const ret = []; const dfs = (start, buf=[],target) => { for(let index = start;index < len;index++){ buf.push(candidates[index]); .
2020-09-11 10:40:28
119
原创 LeeCode373 前 K 个高频元素
给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) ,n是数组的大小。题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。你可以按任意顺序返回答案...
2020-09-08 13:32:50
132
原创 LeeCode 198 打家劫舍
由于不可以在相邻的房屋闯入,所以在当前位置 n 房屋可盗窃的最大值,要么就是 n-1 房屋可盗窃的最大值,要么就是 n-2 房屋可盗窃的最大值加上当前房屋的值,二者之间取最大值var rob = function(nums) { const len = nums.length; if(len === 0) return 0; let dp=[];...
2019-12-23 15:28:58
293
原创 LeeCode121 买卖股票的最佳时机
var maxProfit = function(prices) { let min = prices[0]; let max =0; let len = prices.length; for (let index=1;index<len;index++){ if(prices[index]< min){ min...
2019-12-16 14:32:09
175
1
原创 LeeCode 70 爬楼梯
开始磕动态规划比如3节楼梯的走法=剩下2节楼梯的走法之和+走2步 及 走剩1节楼梯的走法之和+1步var climbStairs = function(n) { if(n == 1){ return 1; } let dp=[]; dp[1]=1; dp[2]=2; for(let index = 3;index<=...
2019-12-16 14:02:47
109
原创 LeeCode 53 最大自序和
var maxSubArray = function(nums) { let ans = nums[0]; let len = nums.length; let sum = 0; for(let index = 0;index < len;index++){ if(sum > 0){ sum +=nums[ind...
2019-12-11 15:23:56
117
原创 VUE框架下FPS低解决方式
最近客户发现FPS很低,大模型加载才4,5FPS ,但是之前的用纯js的版本写的用例表现却很好,到30左右,差别这么大也看了很多vue优化的例子,http://jinlong.github.io/2017/05/08/optimising-the-front-end-for-the-browser/http://jinlong.github.io/2017/05/08/optimisi...
2019-12-09 11:11:15
1187
1
原创 LeeCode49 字母异位词分组
var groupAnagrams = function(strs) { let hashmap = new Map() for(let index = 0;index < strs.length;index++){ let str = strs[index].split('').sort().join(); if(hashmap.has(...
2019-12-02 14:26:52
127
原创 LeeCode 50 Pow(x, n)
function divide(x,n){ if(n == 0) return 1; let subresult = divide(x,parseInt(n/2)) if(n&1 === 1){ return subresult*subresult*x; }else{ return subresult*subres...
2019-12-02 14:00:55
123
原创 LeeCode 415 两字符串相加
var addStrings = function(num1, num2) { let str =''; let carry = 0; let i = num1.length - 1; let j = num2.length - 1; while(i>= 0 || j >=0){ let n1 = i>= 0?num1[i...
2019-10-21 13:18:20
120
原创 LeeCode 40 组合2
var combinationSum2 = function(candidates, target) { candidates.sort((a,b)=>{return b-a}) let len = candidates.length let min = candidates[len-1]; let res=[]; let path =[]; ...
2019-10-18 10:50:06
169
原创 LeeCode 39 组合
var combinationSum = function (candidates, target) { candidates.sort((a,b)=>{return b-a}) let len = candidates.length let min = candidates[len-1]; let res=[]; let path =[]; ...
2019-10-18 10:19:11
146
2
原创 LeeCode 38 报数
原题解来自https://leetcode-cn.com/problems/count-and-say/solution/jsdi-gui-jie-jue-by-wo-shi-gao-xiao-de/看了这个哥们的解法,觉得特别好,顺便复习了下正则var countAndSay = function(n) { if(n==1){ return n.toStrin...
2019-10-16 10:49:05
135
原创 LeeCode 搜索插入位置 (复习了下二分法)
var searchInsert = function(nums, target) { let left = 0; let right = nums.length-1; if(target > nums[right]) return nums.length; while(left < right){ let mid ...
2019-10-09 10:00:14
143
原创 LeeCode 914 卡牌分组
function gcd(a, b) { return a % b === 0 ? b : gcd(b, a % b);}var hasGroupsSizeX = function(deck) { let len = deck.length; if(len <= 1 || len> 10000) return false; cons...
2019-10-08 11:15:00
119
原创 LeetCode 删除排序数组中的重复项
被这个程序的描述误导了有点,其实要求返回的是不重复的数组个数var removeDuplicates = function(nums) { let len = nums.length; let newLen = 0; for(let index =0; index <len;index++){ nums[newLen] = nums[index...
2019-09-18 16:50:52
104
原创 LeeCode 括号生成
var generateParenthesis = function(n) { if(n == 0) return [''] if(n == 1) return ["()"] let total = []; total[0] = ["None"]; total[1] = ["()"]; for(let i =2; i< ...
2019-09-16 11:38:31
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人