SKF实习经历小结
前言背景SKF是一家瑞典公司,主营业务是轴承、密封和润滑。我去实习的部门是AIA,人工智能与应用部门。团队主要做预测性诊断与设备的健康管理,同时有算法开发和数据处理的工作。
工作内容与体验在SKF的两个月,主要工作还是开发网页。难度不大,也不会有什么压力。总体工作氛围轻松愉快,团队内部相处氛围也很好。整个公司的状态比较像创业公司,没有太多的条条框框约束,也没有周报、日报、KPI、OKR等各种比较规则性的东西。基建方面也是很像小公司,很多基础组件刚刚起步,一切都方兴未艾。总的来看这种情况有好有坏,好处是比较自由,可以自己学习很多东西,各方面的内容包括底层知识都可以接触到。坏处就是没法培养一个规范化的流程与标准。但我个人还比较喜欢这种模式,大家见仁见智吧。
还有一个比较有意思的点是,整个办公楼层都是没有固定工位的,大家都是每天早上来到占一个位置,走的时候再把自己的东西全部带走,类似于大学里的图书馆模式,想用有两个屏幕的位置还是要早起一点的…
整体评价由于是个北欧公司,作息时间非常友好,每天4点半就下班。对于想要WLB或者下班以后想继续提升自己的同学还是非常友好的。薪资待遇方面,制造业确 ...
Vue3相关技术
Vue3快速上手简介Vue是一套用于构建用户界面的渐进式框架。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。
Vue3发布于2020年9月19日,它在Vue2.x的基础上进行了一些优化,对TypeScript有了更好的支持。
vue-devtoolsvue-devtools是一个Chrome浏览器的插件,是官方提供的一个Vue开发者工具,方便用户在开发Vue项目时调试。可以在官网安装,但操作较为复杂。访问极简插件网
https://chrome.zzzmh.cn
在线安装较为简单。
创建Vue3项目可以使用vue-cli创建。
安装或升级vue cli,保证版本在4.5.0以上
123vue --versionvue create <proj_name>
Vue常用指令介绍Vue指令是带有v-前缀的特殊属性。他的职责是当表达式的值改变时,将其产生的连带影响响应式地作用于DOM。
v-textv-text用于操作纯文本,它会替代显示对应的数据对象上的值。当绑定的数据对象上的值发生改变时,插值处的内容也会随之更新。
{{ }}会将数据解释为普通文本 ...
TypeScript介绍
简介TypeScript,简称TS,是微软开发的开源、跨平台的编程语言,是JavaScript的超集。它在最终阶段会被编译为JavaScript代码。它与JavaScript的关系如下图所示:
从技术上讲,TS就是具有静态类型的JavaScript。其最大的特点就是强类型,支持静态和动态类型,可以在编译期间发现并纠正错误,降低试错成本,同时提升代码的规范性。
TS安装1. 安装node.js安装完node后,会自带一个npm包管理器,后面就可以通过npm来安装TS和其他库了。
node.js官网地址:https://nodejs.org/zh-cn
2. npm输入npm -v可以查看npm的版本。由于npm下载插件是从国外服务器下载的,在国内速度较慢,大家可以替换为淘宝团队维护的镜像:
1npm install -g cnpm -registry=https://registry.npm.taobao.org
然后使用cnpm -v查看版本,检测是否安装成功。
3. 全局安装TypeScript1npm install -g typescript
安装完成后运行tsc -V检查 ...
找实习经历总结
动机从2021年开始,互联网行业就迎来了寒冬。各大公司都在裁员,校招名额也越来越少。秋招的时候有一份相关的实习经历无疑是可以加分不少。尤其是对我这种论文不行,无比赛,本科非科班的选手来说,在其他硬件不足的情况下,一份实习经历就显得尤为可贵了。
准备过程-算法岗从二月份开始,我就开始投一些大厂的算法相关岗位了。(感谢我导师能允许我暂时放下科研准备找实习,很多老师都是不放学生出去实习的,如果是本科的读者朋友要读研的话,一定要跟老师和课题组内的师兄师姐提前问清楚说好!)因为我的方向非常小众,对口的岗位几乎没有,没办法只能去投那些没有什么细分方向限制的岗位,比如机器学习组件开发等。搜/广/推/CV/NLP等全部都要求有相关经验,或者相关的比赛取得过名次,这在一定程度上也反映了互联网寒冬不缺人的情况(报的人太多了,只要有相关方向经历的,来了就能上手干活)。
一个星期的时间,基本把国内能叫上名的互联网大厂都投了一遍,一些小厂也投了不少,像Momenta。但是最终给面试的只有两家,一家是学院群里定向内推的拼多多,另一家是岗位内容跟我方向非常契合的字节跳动/人工智能辅助药物设计岗位。再次说明了AI算法 ...
Python里的那些“坑”
Python是一门非常容易上手的语言,对于初学者非常友好。但是,这种简单易上手的代价是隐藏在它背后的巨大复杂度。这也就造成了在很多时候,会发生一些看起来很神奇的事情。其实,这只是对Python背后的机制不了解造成的。今天,笔者带大家梳理一下Python中容易踩到的那些”坑“。
变量是“盒子”吗?很多人都认为,Python里的变量像是一个“盒子”。它里面可以装各种各样的数据,当我们把其他值赋给这个变量的时候,就相当于把盒子里的数据倒掉,然后再装新的值。
但实际上,Python里的数据才是占主导地位的,变量像是一个”便利贴”。把当我们把其他值赋给这个变量的时候,相当于把变量这个便利贴从原数据上撕掉,再贴到新的数据盒子上。
嗯?不信?我们可以做个实验。
1234567891011a = [1, 2, 3]b = ab[1] = 4print(a)print(id(a))print(id(b))>>>[1, 4, 3]14901486430081490148643008
当然,对于不可变对象,你会发现更改b对于a没有影响。这是因为在你更改b的那一瞬间,由于a和b指向的是 ...
《Effective Python》总结
第一章 培养Pythonic思维第1条 查询自己使用的Python版本1$ python3 --version
不要使用Python2!
推荐3.8左右的版本(写于2023-04),初学者不要用太新的版本,很多库不支持最新版。
第2条 遵循PEP8风格指南PEP8全称Python Enhancement Proposal #8,是针对Python代码格式编订的风格指南。不符合PEP8的做法一般编译器(如Pycharm)会自动检查标黄提醒。以下是一些重点规范:
用4个空格表示缩进,而不是制表符
下划线变量命名。
表达式一行写不下,可以用括号括起来,不要用 \ 续行。
import语句放在开头,总是使用绝对名称,按顺序划为三部分:标准库、第三方、自己的模块。
第3条 了解bytes与str区别bytes包含的是原始数据,即8位无符号值
1a = b'h\x65llo'
str包含的是Unicode码点
1a = 'a\u0300 propos'
第4条 用支持插值的f-string取代C风格的格式字符串与str.format方法1 ...
爬虫逆向技术
逆向介绍爬虫,就是在网络上自动抓取自己所需要的内容。很多人认为,爬虫技术主要是要学怎么去爬取内容,但其实,单纯的爬取网页内容(针对不设防的网站)非常简单,用Python几十行即可搞定。但理想很丰满,现实很骨感。实际上,不设防的网站少之又少,大部分信息重要程度很高的网站都有很难突破的加密与保护措施,比如常见的各种验证码。所以,学习爬虫更重要的是如何绕过网站/APP内的反爬虫措施,从而顺利得到我们想要的数据。这个过程就是逆向。
另外,提到爬虫,很多人都会问:“写这玩意是不是容易坐牢?”。确实,爬虫这种东西本身就带了一种“不太道德”的色彩,很多网站也是深受其扰。但对于个人开发者而言,只要做的不太过分,适当的爬取内容,一般公司也不会针对个人发起诉讼。“不谈剂量谈毒性就是耍流氓”。大家掌握好一个度就可以了。
Python爬虫常用工具在线工具
链接
简介
https://spidertools.cn
爬虫工具库
https://www.json.cn
Json解析网站
https://base64.us
Base64编码解码
https://www.runoob.com/ru ...
Illustrator——一款非常好用的科研绘图软件
Illustrator?是个什么东西?提起Illustrator,你可能不知道它是个什么东西。再说到它的公司——Adobe,可能还是会有很多人一头雾水。但是,如果我说PS,大多数人应该就或多或少都听说过了。没错,PS,全称Photoshop,是一款功能强大的图片编辑软件,在中国以”修图“功能闻名于世。Illustrator和Photoshop一样,也是图片编辑软件,但是,它们存在一个很重要的区别:Photoshop主要用来处理位图,而Illustrator主要用来处理矢量图。
位图与矢量图简介位图也称为点阵图像或栅格图像,是由称作像素(图片元素)的单个点组成的。这些点可以进行不同的排列和染色以构成图样。当放大位图时,可以看见赖以构成整个图像的无数单个方块。大家相机或者手机拍的照片都属于位图。位图的存储方式是将图片的每一个像素点的颜色保存起来。
矢量图也称为面向对象的图像或绘图图像,在数学上定义为一系列由点连接的线。矢量文件中的图形元素称为对象。每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。多见于软件设计时的图标,方便放大或缩小时不失真。矢量图使用一系列数 ...
Pycharm使用技巧
介绍Pycharm是Jetbrain旗下的集成开发环境(IDE,Integrated Development Environment)。笔者认为它是适用于Python语言的最强IDE。Pycharm分为专业版和社区版,其中专业版需要收费,社区版免费。但社区版的功能已经足够覆盖绝大多数使用场景。专业版有教育计划,如果是在校大学生可以申请免费使用,强烈推荐在校生们都下载体验一下。
下载官网地址:https://www.jetbrains.com/pycharm
大家根据情况下载即可。如果需要申请教育免费版,请前往:https://www.jetbrains.com/shop/eform/students
或者如果之前验证过GitHub的学生身份,也可以直接用GitHub进行学生认证。
常用快捷键
Ctrl + 方向 —— 跳过整个单词
home —— 跳到行首
end —— 跳到行尾
Ctrl + home —— 跳到整个文件开头
Ctrl + end —— 跳到整个文件结尾
Ctrl + D —— 向下复制一行
Shift + 回车 —— 光标在任意位置都可以直接从下方新建一行
Ct ...
RDKit基础操作 (一)
RDKit对象分子对象分子对象是RDKit里最重要的一种对象,大部分的操作都围绕它展开。得到分子对象的方式通常是由SMILES字符串转换而来。比如我们想要得到苯的分子对象:
123from rdkit import Chemmol = Chem.MolFromSmiles('c1ccccc1')
SMILES以及分子对象中一般不显式写出氢原子,而是通过化学规则推断。如果要显示出显式氢,可以使用:
1mol = Chem.AddHs(mol)
同理,去掉显式氢则使用:
1mol = Chem.RemoveHs(mol)
获取分子的原子数和化学键数
12mol.GetNumAtoms()mol.GetNumBonds()
获取分子中的原子:
12345GetAtoms()atoms = mol.GetAtoms()for atom in atoms: ...
获取分子中的键:
12345GetBonds()bonds = mol.GetBonds()for bond in bonds: ...
根据原子编号获取原子:
1GetAtomWithIdx()
...