操作系统学习三:进程调度与死锁-以及银行家算法避免死锁--NetCore实现
前言 这是操作系统学习的第三篇啦,关于进程调度有很多内容,操作系统在调度进程的时候最容易遇到的问题就是死锁了,银行家算法是一个典型的避免死锁算法。 死锁的概念 先来了解一下死锁的基本概念:一组竞争系统资源或相互通信的进程相互的“永久”阻塞。若无外力作用,这组进程将永远不能继续执行。 看下面两幅图片,左边是可能产生死锁的状态,四辆汽车(进程)要竞争同一个资源(通过路口),如果系统调度不当,就会陷入死
操作系统学习一:NetCore-实现模拟多道程序设计的简单处理机调用
前言 道程序设计中,经常是若干个进程同时处于就绪状态,为了使系统中的各进程有条不紊地运行,必须选择某种调度策略,以选择一个进程占用处理机。本次实验设计一个模拟单处理机调度的算法,以加深对处理机调度算法的理解。 要求 按照时间片轮转算法设计模拟调度程序。 输出进程的调度过程。 思路分析 由于本实验是按照处理机调度算法模拟实现处理机的调度,与真正的处理机调度过程并不完全相同,比如没有实现中断(时间片设
摆脱数据线和网盘!LocalSend让文件传输更简单
LocalSend是一款无需互联网、支持局域网点对点加密传输的文件分享工具,操作简便,传输速度快,支持全平台。它解决了传统传输方式中的痛点,如依赖外网、文件压缩、隐私泄露等问题,为用户带来简单、快速、安全、高效的文件传输体验。
提升Avalonia UI质感,跨平台图标库选型实践
本文介绍了在Avalonia框架下使用两种图标库(Icon.Avalonia和IconPacks.Avalonia)的详细方法。作者通过对比不同设备间emoji显示不一致的问题,引出使用FontAwesome图标的优势。文章重点讲解了两种库的安装步骤、XAML配置方法及实际应用场景,包括独立图标显示、控件附加、动画效果实现等。其中IconPacks.Avalonia支持35种图标集,功能更为丰富,还提供了图标浏览器工具。全文通过具体代码示例,为开发者提供了实用的技术参考。
推荐系统开发实践:Surprise库基本用法
首先是构建数据集 这里我使用了随机生成用户和项目,以及用户对项目的评价,喜欢(1)与不喜欢(0) import random import pandas import numpy as np def build_dataframe() - pandas.DataFrame: datasets = { 'userID': [], 'itemID': [],
挨社会毒打必备之免疫“心灵鸡汤”的抗体-Get!
我发现一个规律 越是年纪大的人 越是喜欢给我们画大饼灌鸡汤 这个规律适用于公司老板和家里长辈 其实这也适用于所有想让你“用爱发电”的人 为什么喜欢鸡汤和大饼伺候呢 就因为给钱肉疼呗 老板想用3k的工资 让你干月薪3w的活 亲戚长辈希望你念在这层血缘关系 能占多点便宜就占多点 等褥不到羊毛了 还可以站在道德制高点指责你 OK,说正经的 刚从学校毕业步入社会 是正式开始经历社会毒打的时候 不过从几年大
持续集成指南:GitHubAction 自动构建+部署AspNetCore项目
又一个无聊的自动化教程:GitHub Actions构建AspNetCore Docker镜像推送到阿里云,再用本地runner部署。简化workflow?谁在乎这些细节?代理配置太烦人。
抖音头条为什么这么火?揭秘推荐系统原理之协同过滤算法
上一篇文章简单介绍了推荐系统的基本原理和分类,本文着重介绍协同过滤的原理与实现~ 协同过滤 协同过滤(collaborative filtering)通过利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息。 协同过滤算法最大限度的利用用户之间,或物品之间的相似相关性,而后基于这些信息的基础上实行推荐。比如说,你和你的某个好友都喜欢听音乐,而你们所喜欢的曲风都差不多,你的好友对于某一首歌
抓住九月小尾巴的小总结,祖国生日快乐~
为期一个月的实训到27号就结束了,我估摸着这夏天也快结束了,到处是秋天的味道。 这个月在广州还是以学习为主,在培训班能学到的很有限,不过我自己倒是折腾了不少东西出来,感觉还蛮好的。 技术学习方面 培训班也不能说没用吧,至少是前端扫盲了,在此基础上我自己又看了一下书,学了布局、动画和一点点js啊,js其实真的挺好用的,收回我之前的成见~(少见多怪) 还用js做了几个好玩的东西,比如说斗鱼、B站刷弹幕
把爬虫放到手机上跑!Flutter爬虫框架初探~
最近做毕设需要大量数据训练模型,很多网站又要反爬机制,得爬一会停一会,所以特别慢,要是我用电脑24小时爬虫太费电了,于是想到利用手机~ 然后就想到flutter,安卓苹果旧手机都能利用起来做数据采集。 ok,然后就开始做,折腾了一天做了一个大概的框架。总算可以方便的添加爬虫任务了,集成了配置、日志、数据持久化这些基本的功能,然后封装网络请求、网页解析的功能,用起来还行。 只不过众所周知的,dart
手写核心价值观编码工具-Python实现
前言 今天是五一劳动节,祝各位无产阶级劳动者节日快乐! 然后来整活分享一些有趣的东西~ 这个小工具是我大学时做着玩的,对于各位接班人来说,12个词的核心价值观这东西,大家都非常熟悉了,这工具可以实现将一段话编码为核心价值观实现加密,同时也能将密文解密出来。 为啥要做这个呢,隔太久不太记得了,~~好像是因为游戏里喷队友老是被屏蔽,灵机一动,要是换成和谐的文字不就不会被屏蔽了吗(误~~ 实现原理 简单
我的桌面改造 2.0 分享,原来桌面理线这么简单
又是改造桌面?线缆问题真就无解了?磁吸线夹和桌下置物架,治标不治本,乱流只是换了位置。何必执着于视线范围内的整洁,底层混乱谁又在乎?
我的新博客上线了,附上Hexo博客折腾记录
鉴于简书和知乎经常以各种理由删除我的博客,之前我的WordPress博客又已经坏掉了,所以我一直想搞一个新的博客,这不看上了hexo静态博客了,直接托管在github上方便又免费。 配置啥的官方文档都很详细了,不再赘述。 博客地址:http://blog.deali.cn/ 各种配置,我还花了一天时间来写脚本把我的旧的博客导入,图片下载,做了替换等等工作,期间也出了很多问题,感觉很烦,很浪费时间,
我的2020回顾——技术篇
看着笔记里写了一半的「2019年总结」,总觉得莫名喜感,然后我又想说时间过得真快了,又到了每年写总结复盘的时候,2020年是我长这么大以来经历过最魔幻的一年,疫情、金融危机、世界格局“百年未有之大变”……巨大信息量的冲击下人很难有独立思考的空间和意识,还好本文只是对2020年技术方面的总结,不然不知道要写到什么时候才写完。 首先看一下我主要使用的两个代码托管平台上的代码提交概览,分别是Github
我的2018:不念过往、不畏将来
刚刚手机提醒我剩余空间不足1%,打开Google的文件极客准备清理文件,这个时候突然意识到,2018年余额也已经不足1%了,那是时候写一波年度总结了。 单纯写「2018总结」,未免太单薄苍白了,所以把过去的这一年过了一遍,想到了齐白石的「不念过往,不畏将来」。稍稍翻阅了2018年的手帐和日记,我看到最多的字眼就是「熬夜」,其次是「生产力」,因此可以简单的概括一下我的2018,「前半年熬夜。后半年努
我用Qt和Python开发了一个视频合并工具
想合并视频,但是却找不到比较好用的工具,很多都要收费,我想着「这破功能还得收费?」,于是决定自己搞一个,一开始用Python做了一个,效果还不错,完美完成了我的视频合并任务,不过没有图形界面,想分享给朋友一起用也没办法,于是昨天用Qt写了个图形界面套上去,中间还是遇到一些问题的,通过这篇文章记录一下。 软件的界面就是这样啦,用Qt Designer随便拖出来的,和VS拖控件也差不了多少。 用起来挺