2022春数据集成环境搭建
~承载平台承载平台是YDJSIR的安装着Windows10 教育版的台式机上的HyperV虚拟机。该虚拟机利用虚拟交换机桥接到路由器上,而后连到南大校内网。
性能方面,分配了QQBZ(i9 9900 ES版,以7核心超线程状态运行)的四个物理核心,宿主机内存双通道32GB,8GB静态全量分配给虚拟机。
为了方便团队协作,YDJSIR在路由器(网件R8000P)上部署了特定工具。队友可以通过特定工具的方式连到YDJSIR的宿舍内网,访问上述虚拟机和YDJSIR的NAS和软路由等服务。
所有对服务器的访问均通过SSH进行,该虚拟机不直接映射任何端口到校内网。
环境一览软件版本1234567891011121314.├── flink-1.13.6-bin-scala_2.11.tgz├── hadoop-2.7.4.tar.gz├── install.sh # 宝塔面板├── kafka_2.11-2.1.1.tgz├── scala-2.11.12.rpm # 独立的Scala├── spark-2.4.8-bin-without-hadoop.tgz # 有Scala没Hadoop├ ...
技术团队合作的思考
~作为一个软件工程专业的学生和技术爱好者,在技术团队中的合作经历显然是不少的。为什么这里说的是技术团队,而不是软件团队或开发团队呢?因为技术团队可以是运维,可以是数据分析,可能是行情研究或者是做综述,可能是顾问,当然也可以是实际软件开发。下面提到的例子显然和软硬件有关。
在YDJSIR提交人生中第一份完全独立自主提出的策划案并收获如下的评价后,YDJSIR进行了更深一步的思考。
幼稚。
YDJSIR此刻不禁想起了某P大学生在某为一入职就提出一份无比宏大的策划案并被火速领便当的故事。YDJSIR无意于考究该事是否属实,但它的确与YDJSIR此时的状况相近。看着这份比YDJSIR的所谓”策划案“还要长两倍的反馈意见,YDJSIR对自己的轻率感到极为抱歉。
YDJSIR承认,这个评价是对的。无论是过分的画饼和建立在对于现状和前贤的努力的彻底无视的大跃进提案的提出,是对YDJSIR的提案内容上的问题。然而,这份材料的问题绝不仅仅是内容策划案上,更是对管理制度和领导层的彻底无视上。YDJSIR的直属领导说更是直白地表示,他也不想当领导,但是在这个问题上,他决不能苟且。YDJSIR仔细想了下, ...
基于Jenkins和GitLab的简单流水线实例
DevOps?由于花旗杯的契机,YDJSIR开始认真研究Jenkins。虽然说也不能研究得多么深入,但总归是有些尝试。下面的脚本实际上还不算完整的CICD流程,只是YDJSIR在南京大学软件学院《软件工程与计算Ⅲ》中使用的配置,仅供参考。
环境说明该容器运行在一台腾讯轻量云服务器(上海,4C4G8M)的Docker容器中,通过Agent的方式,控制另一台腾讯轻量服务器(上海,4C4G8M)进行代码拉取、自动构建打包测试与发布等工作。
Jenkins通过南大Git上的镜像仓库获得WebHook推送++代码,相关操作均按照文档进行。前/后端和Python服务在生产环境中均运行在容器内。目前设置上以master分支为生产环境,仅该分支的推送会触发构建。构建状态会用GitLab Connection推回给南大Git。日常开发主分支是develop。
部署图如下。
仓库列表和说明如下。
课程仓库
南大Git镜像
备注
http://172.29.4.49/MXYZyyds/backend-mxyzyyds
https://git.nju.edu.cn/YDJSIR/19125018 ...
图像处理实践
缩放旋转滤镜篇
因为有跨域请求的问题,双击打开会出问题,请不要双击打开文件。代码地址如下:
https://github.com/YDJSIR-NJU/NJUSE-21-Frontend/tree/main/OnlinePS
实现功能本代码实现了以下所有功能。
滤镜功能,可以选择一组预设滤镜;
手动更改属性(例如亮度,对比度,饱和度)以获得所需的结果;
裁剪、旋转和缩放图像;
图像风格迁移;
代码说明本项目全部使用了本地缓存的CSS和JavaScript,没有使用Node.js或CDN。
直接双击打开index.html会有跨域问题。请保证访问时网页放在一个HTTP服务器中。我采用的是nginx-1.16.1。
选项区左上角可以上传待修改的图片或下载画布的内容(格式为png)。
滤镜与图像风格迁移本项目使用的是Lena.js。仓库地址:https://github.com/davidsonfellipe/lena.js
左侧的是三种滤镜,红色,灰度与反色,而右侧是三种图像风格。代码调用部分十分简单,举一个例子。
1234567891011fliter1.addEvent ...
Node.js后端+MySQL数据库+jQuery前端实现
~
源代码地址:
https://github.com/YDJSIR-NJU/NJUSE-21-Frontend/tree/main/LoginAndRegister
通用组件部分数据定义
username:用户名;
email:邮件;
hash:密码加盐的盐值;
passwd:加密后的密码;
uid:数据表主键,用于唯一标识一个用户;
我们约定,用户名是不可以重复的,但是邮箱是可以重复的。约束放在后端来做。除了邮箱以外,其他的字符串类型的数据都是严格区分大小写的。
在我提供的导出的数据库文件中,已经包含了三个账户,用户名分别是ss1,ss2,ss3,密码都是ssss1111。数据库转移文件是base_info.sql。
数据库为了便于开发和调试,我选择了在docker中启动MySQL(数据库)和phpMyAdmin(面板)服务。启动过程如下所示,十分简洁明了。提交文件中附有转移数据表使用的SQL脚本文件,可轻松迁移到其他平台。
1234docker pull mysql:8.0.1docker run --name YDJSIR-mysql -p 3307:3306 -e M ...
部署一个toy级别的Spark集群
~环境相关本次实验中共使用了5台华为云ECS,其中1台作为master节点,3台作为workers节点,1台作为观察用的机器。(由于绑定外网相关设置复杂,我们组开了同一地域的一个虚拟机专门用于访问其他四台机器的网页)除了观察用的机器是Windows Server 2012R2 64位简体中文版以外,其他的机器使用的都是Ubuntu Server 18.04。剩余四台主机的主机名、内网IP与公网IP如下。
主机名
内网IP
外网IP
作用
ecs-master
192.168.0.142
主节点
ecs-d202
192.168.0.17
Worker节点
ecs-d203
192.168.0.100
Worker节点
ecs-d204
192.168.0.102
Worker节点
由于IP绑定的问题,通过外网直接访问时,需要主动将网页提供的URL中的内网IP替换为内网IP才可以正常访问。但是在专门准备的观察机器上访问则没有这个问题,因为可以内网直通。
工具相关由于网络问题,此处涉及的所有安装文件都是本地下载后用WinSCP上传到既定位置的。相关操作按 ...
审视IT硬件产品选购
~每当YDJSIR想起2019年夏天的YDJSIR,YDJSIR真想穿越回去给那时的YDJSIR扇一耳光,并说
满脑子想的都是些什么玩意儿!
在南京大学IT侠互助协积累了一点点阅历并在痛苦地看完计算机组成原理课的课本本后,YDJSIR终于明白:
计算机组织与结构——性能设计(第九版), Computer Organization and Architecture: Designing for Performance, Ninth Edition, [美] William Stallings 著. —北京:电子工业出版社, 2018.7,注意,是英文版
自己曾经对于信息产品需求与计算机硬件的理解是多么肤浅。
注意到此文会持续更新。本文所涉及的硬件产品主要限于3C。
硬件产品的概念是宽泛的,随着YDJSIR相关知识的增长,此文涉及的内容也可能会延伸。
YDJSIR同样推荐阅读下面这本书来建立对信息行业最广泛且实用的认识:
计算机文化(英文版 · 第20版), New Perspectives on Computer Concepts 2018: Comprehensive, 20th ...
全屋Wifi覆盖系列计划
持续更新……YDJSIR的亲戚们对于网络的投入通常而言是极为有限的。这也导致YDJSIR的网络体验非常不好。YDJSIR决心自费改变这种局面,并将于寒假期间进行工程实践。
商品房1号 完成组网协议中国电信e-Link
网络拓扑
在此之外,所有房间各一个神奇的磊科MG1200AC上海电信定制版。大力出奇迹。
组网效果覆盖效果:全屋2.4G Wi-Fi无死角,5G覆盖所有房间。
说明户主在不使用Wi-Fi的情形下会关闭Wi-Fi节点(因此这个组网必须有足够的弹性),且门口的“弱电箱”只能塞下光猫一个设备,也没有多余的电源插座,且户主不允许外挂设备以防止破坏外观(没法加更多路由器或者交换机,VLAN方案不可行)。IPTV是必须的,而且户主要求必须将千兆线留给电视以保证其上网质量(实测机顶盒能吃到17MB/s的速度,百兆能用,但是画质可能会受到影响),但是去客厅的只有一条千兆线和一条电话线(没错,是4芯的电话线,这是2020年以后),百兆有线回程估计也比那个光猫的无线回程强得多,便只好拿他做组网链路。实际测试了一下,广东电信的IPTV是走VLAN方案的,而且如果光猫已经拨号,下面非IPTV口连 ...
MotoZ2F使用体验 × 刷MIUI保姆级教程
MIUI真的是太棒啦!YDJSIR并不研究手机,本文可能存在不严谨之处下面是广告。他可以专业解决摩托罗拉相关问题。
简介要说最便宜的835手机,那必然是神奇的摩托罗拉Z2f(Moto Z2 Force)了。高中时的YDJSIR为了寻找一台能用的手机,便于2018年12月16日买了一台微烧的S版Z2f。那时候它里面还是原生的安卓8.0系统,BL锁解开,已经实现root,电信已被破解以部分实现全网通(移动缺频段,只支持B38、B40和B41,不支持B39频段,要命),支持SD卡而非双卡。
这台手机陪伴YDJSIR度过了美妙的高三时光。这个手机的致命缺点大致如下:
续航捉急。做得那么薄,摄像头那么突出,电池还是那么小,不带套子根本不敢用。
模组比手机贵(二手价格),意义不明。
除此以外,这破手机拍照稀烂,白白浪费突出的摄像头部分(换谷歌相机有明显的改善,谷歌算法yyds);指纹不好用(换MIUI后有显著改善);更严重的就是烧屏问题。不过这个对我而言影响反而不大,毕竟我很少用他。跑分方面,835的表现自然不必多说。
刷机保姆级教程YDJSIR采取的是卡刷方案。
准备文件MIU ...
IT维护心得
在YDJSIR就读于软件工程专业并在南京大学IT侠互助协会帮助同学解决IT相关问题一年半后,回到家,YDJSIR的一群亲戚们一改此前对YDJSIR的相关能力的怀疑态度,对YDJSIR给予了极高的期望。YDJSIR先是帮某个姑姑解决了电脑无法启动的问题;给堂姐的电脑加装了固态;帮助YDJSIR的堂哥选购了一台用于科学计算练习的台式机……
对YDJSIR而言,这些要求并不算难。对于姑姑的电脑,引入360大流氓治小流氓,清理后系统无法启动,再用原版系统安装盘修复引导和缺失的系统文件,顺利解决;对于给堂姐的电脑,上闲鱼找了个翻新的256G的860EVO当系统盘刷个系统;对给堂哥的电脑,买新机回来验收后+内存+固态,倒也顺利。
然而,令YDJSIR难受的并不是解决问题本身,而是在于难以解决问题产生的根源。
下载软件去各类乱七八糟的下载站;
安装软件时一路确定从不细看的坏习惯不改变;
从来不懂得主动关闭软件的广告;
……
以上坏习惯不改,流氓软件全家桶迟早会回来的。
对他们来说,最好的方案就是提供一个360这样的工具。让他们时刻点一点,获得极大的快感。他们对电脑的硬件倒是十分爱惜,不用的时候还 ...