【前端】从JavaScript到Python:我的技能扩展之路

简介: 【前端】从JavaScript到Python:我的技能扩展之路,简单介绍一下自己吧\~我是一名应届生,专业是铁路方面的,自己从小就喜欢捣鼓计算机这些,导致自己一步步的走上了“不归路”。

theme: orange

前言

简单介绍一下自己吧~我是一名应届生,专业是铁路方面的,自己从小就喜欢捣鼓计算机这些,导致自己一步步的走上了“不归路”。 哈哈,言归正传。我目前的技术栈是 小程序 Vue React Flutter Dart Python等。我会这么多全都要感谢第一家实习公司....当时为了拿到实习证明,月薪3k也在里面干了小一年,期间也往返学校。公司不大可以说是一个工作室吧。 每个月接的项目花里胡哨,“被迫”学习了这些知识,都不是太深入。停留在了解、会用阶段。

后来离开了公司,学校事情处理完后又出来找工作了,果不其然大环境真的不咋地,我找了一个多月,海投简历一千多家。就约到五六家面试的,面的都是八股文,然鹅我很少背这些,我特别期待他们问我的项目可是...一个都没有,最后通过了三家,包括我现在的这家非互联网公司。

公司

第一家公司是个小公司,我是真不太喜欢这种的,同事老板直接处关系,朋友不像朋友,上级不像上级。按时下班都羞愧难当,面试的时候问了我几个Flutter底层渲染的问题以及和RN的对比,还有其他前端知识。我勉强回答上来了,后续告诉我ok 可以上班,但是薪资给的太低了 5k左右,我就拒绝了。

第二家公司 这家公司科技感满满,虽然也是小型公司。但是业务很广泛,做的是类似于体脂秤的产品。面试的岗位是Flutter开发 同时也开发点vue吧 薪资我要的是7k,实在不敢往高了要。跟老板聊的很来,薪资也痛快答应了。但是我为什么没去呢!!是因为第三家公司。

第三家公司 这家,也就是我入职的公司,非互联网公司,至于我为什么选择这家公司主要还是以后不想单纯干个写代码的。至于我的选择对不对,留给时间吧。反正我才21,社会经验就那么点,选择错了太正常不过了。一帆风顺才应该担心呢。

技能扩展

其实刚刚有点聊偏题了,本身也很少写文章,逻辑条理略有问题,请见谅。说到技能扩展,我一直抱着技多不压身的想法来鼓励,安慰自己。当然我也不会傻傻的当卷王,啥粗活糙活我都干,不会的。我会以我目前认知的观点来决定我是否要学习某样东西。我们学习的速度肯定是跟不上知识更新的速度。所以选对方向很重要。

在这家公司主要做的是前端开发和python数据爬虫和处理方面。刚入手python的时候还是一脸懵...通过缩进来决定代码块这个真的是对于我这样的初学者很不友好...

在职这段时间做了个爬虫系统,具体就是爬取浏览器的返回结果,提取某样东西。一开始我是选择做成exe文件,后来改成的Linux版本,方便持久化运行。下面我可以举个代码例子给各位看看,核心其实不难。

        for in_page in range(68): #这里68代表的是页数
            url = 'http://www.baidu.com/s?wd=' + keywords + '&pn=' + str(in_page * 10)
            wait_seconds = random.uniform(1, 2) 这里是随机的等待时间
            time.sleep(wait_seconds)
            proxyUrl = "http://%(user)s:%(password)s@%(server)s" % {
    #这里就是代理啦。按需即可。
                "user": authKey,
                "password": password,
                "server": proxyAddr,
            }
            proxies = {
   
                "http": proxyUrl,
                "https": proxyUrl,
            }
            try:
                response = requests.get(url, headers=run_getiCookie(), proxies=proxies)
                # print('---------------------------*',response.headers)
                response.raise_for_status()
                soup = BeautifulSoup(response.content, 'html.parser')
            except requests.exceptions.RequestException as e:
                logging.error('百度:请求出错:%s', e)
                continue
            except Exception as e:
                logging.error('百度:爬取词语/页数出错:%s %s', in_page, e)
                continue
            result_list_0=soup.find_all(class_='样式')

以上就简单的代码爬虫程序,至于如何反扒仁者见仁智者见智了。我使用的方法就是动态获取Cookie但是效果不太好,只能勉强能跑。
在我的工作中,我主要使用Python的requests库来发送HTTP请求,以获取网页内容。然后,我使用BeautifulSoup库来解析HTML文档,从中提取出需要的数据。此外,我还使用了一些其他的库,如pandasnumpy,来处理和分析数据。

接下来就是把代码打包成一个PC端软件 也就是加上GUI视图,在使用Python GUI编写桌面端视图的软件需要注意以下几点:
1、选择合适的GUI框架:Python提供的很多GUI框架,例如 Tkinter、PyQt wxPython等,我个人比较倾向于使用PyQt,因为他的界面还算比较好看啊, 并且使用qss样式更改一下更漂亮。但是主要还是根据自己的项目经验着重选择一下。
示例GUI:

微信截图\_20230605112114.png

3、设计良好的用户界面:用户界面设计应考虑用户体验,包括布局、颜色搭配、字体大小等方面。应尽量将界面设计简洁易用,避免过于复杂或冗长。
4、编写清晰的代码:编写代码时应遵循良好的编码习惯,如命名规范、注释等,以便于后期维护和升级。
5、考虑跨平台性:如果需要在不同操作系统上运行软件,则应选择具有跨平台性的 GUI 框架,并进行相应的测试和调试。
6、安全性考虑:对于需要处理敏感数据或涉及网络安全的软件,应加强安全性措施,如加密传输、访问控制等。

代码方面需要注意的有:

  1. 传值:在不同的函数或方法之间传递参数时,应选择合适的方式,如通过函数参数、实例属性、全局变量等方式进行传值。
    2. 静态方法和类方法:如果需要在某个类中定义一些不需要访问实例属性的方法,则可以使用静态方法(@staticmethod);如果需要使用类属性或者调用类方法,可以使用类方法(@classmethod)。
  2. 异常处理:在程序运行过程中,可能会出现各种错误和异常,应该在合适的地方加入异常处理机制,防止程序崩溃或产生未知错误。
  3. 可读性:代码的可读性非常重要,良好的注释和命名规范,有助于提高代码的可读性和维护性。
  4. 封装性:在设计类的时候,应尽可能地遵循封装原则,将类的内部细节隐藏起来,仅暴露必要的方法和属性供外部访问。

对了,这里顺便提一嘴,关于静态方法,他是不能控制UI的。但是他与类相关,但不依赖于类的状态,因此可以在不同的上下文中重复使用。写法简洁。
静态方法和动态方法是 Python 中的两种不同类型的方法,它们有以下区别:

  1. 静态方法是类中的一种方法,与实例无关,不需要访问实例属性或者实例方法,可以直接通过类名调用。而动态方法则需要通过类实例来调用。
  2. 静态方法在定义时需要使用 @staticmethod 装饰器进行修饰,动态方法则不需要。
  3. 静态方法不能访问实例属性和实例方法,也不能被子类覆盖,因此适用于独立的任务;而动态方法可以访问实例属性和实例方法,并且可以被子类覆盖,因此适用于需要访问实例状态的任务。
  4. 静态方法通常用于实现工具函数或者辅助函数,动态方法则通常用于实现对象的行为。

总之,静态方法和动态方法都有其应用场景和优缺点。在编写代码时,需要根据实际需求选择合适的方法类型。如果一个方法不需要访问实例属性或者实例方法,则应该使用静态方法;如果一个方法需要访问实例属性或者实例方法,则应该使用动态方法。

#这就是一个静态方法。
class Calculator:
    @staticmethod
    def add(x, y):
        return x + y

result = Calculator.add(3, 4) 
print(result)

文章写的较为混乱,暂且当个个人笔记来看吧。感谢体谅。

本文同步 我的笔记

相关文章
|
28天前
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
springboot解决js前端跨域问题,javascript跨域问题解决
|
21天前
|
机器学习/深度学习 JavaScript Cloud Native
Node.js作为一种快速、可扩展的服务器端运行时环境
Node.js作为一种快速、可扩展的服务器端运行时环境
33 8
|
3天前
|
前端开发 JavaScript 应用服务中间件
Nginx 支持 JavaScript:前所未有的扩展
Nginx 是全球领先的高性能 Web 服务器,以其高效的反向代理和负载均衡功能著称。近期,Nginx 正式支持 JavaScript(通过 NJS 模块),基于 V8 引擎,允许在配置中嵌入 JS 代码,极大提升了灵活性和扩展性。开发者可以使用 JavaScript 实现动态请求处理、自定义认证、复杂响应处理、中间件编写及流量控制等功能,显著降低开发和维护难度,同时保持高性能。NJS 模块的引入为 Nginx 带来了前所未有的扩展能力,适应快速变化的业务需求。
13 0
|
1月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
43 5
|
28天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
36 2
|
28天前
|
缓存 前端开发 JavaScript
JavaScript前端路由的实现原理及其在单页应用中的重要性,涵盖前端路由概念、基本原理、常见实现方式
本文深入解析了JavaScript前端路由的实现原理及其在单页应用中的重要性,涵盖前端路由概念、基本原理、常见实现方式(Hash路由和History路由)、优点及挑战,并通过实际案例分析,帮助开发者更好地理解和应用这一关键技术,提升用户体验。
69 1
|
1月前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
37 4
|
1月前
|
缓存 监控 测试技术
Python中的装饰器:功能扩展与代码复用的利器###
本文深入探讨了Python中装饰器的概念、实现机制及其在实际开发中的应用价值。通过生动的实例和详尽的解释,文章展示了装饰器如何增强函数功能、提升代码可读性和维护性,并鼓励读者在项目中灵活运用这一强大的语言特性。 ###
|
1月前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
|
1月前
|
前端开发 JavaScript 安全
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第7天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤。包括项目准备、安装 `javascript-obfuscator`、配置 Vite 构建以应用混淆,以及最终构建项目进行混淆。通过这些步骤,可以有效提升前端代码的安全性,防止被他人轻易分析和盗用。
194 0