周年记
一周年!
这是迟来两个月的周年记
本来早就想着在一周年的时候好好记录一下这一年的事情,但总被各种原因耽误搁置
事实上,已经很久没有更新博客了
这次回来,原本井井有条的博客变得千疮百孔
leancloud(Intl)对中国停用,腾讯云停止免费服务,Vercel域名被墙,图床链接失效….
折腾了一晚上才大致恢复
也砍掉了不少失效的配置
同时,“被迫”申请了新域名和虚拟主机来配置我的博客
变化真大啊,是了。
变化
这是一年来最为深刻的感受
这一年,我的博客从无到有
从first blog到elix.fun
至少将它变成了我曾经憧憬的样子
我还会继续让它变得更好
这一年,发生了很多事
多到一时无法理清思路
很多变化在我未曾反应时,已经悄然发生
关于未来的规划
我希望能够提高一下博客的技术性
改变一下流水账式的记录方法
说实话,很多记录贴自己看都觉得很敷衍
当然,也会记录一下生活中的所思所想和随笔记录
这才是我认为博客应有的样子
(反正没人看)
未来很长,总会变得更好
行脚下路,擢天上辰。
算法试做
877—石子游戏(动态规划)
Alice 和 Bob 用几堆石子在做游戏。一共有偶数堆石子,排成一行;每堆都有 正 整数颗石子,数目为 piles[i] 。
游戏以谁手中的石子最多来决出胜负。石子的 总数 是 奇数 ,所以没有平局。
Alice 和 Bob 轮流进行,Alice 先开始 。 每回合,玩家从行的 开始 或 结束 处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中 石子最多 的玩家 获胜 。
假设 Alice 和 Bob 都发挥出最佳水平,当 Alice 赢得比赛时返回 true ,当 Bob 赢得比赛时返回 false 。
示例
输入:piles = [5,3,4,5]输出:true解释:Alice 先开始,只能拿前 5 颗或后 5 颗石子 。假设他取了前 5 颗,这一行就变成了 [3,4,5] 。如果 Bob 拿走前 3 颗,那么剩下的是 [4,5],Alice 拿走后 5 颗赢得 10 分。如果 Bob 拿走后 5 颗,那么剩下的是 [3,4],Alice 拿走后 4 颗赢得 9 分。这表明,取前 5 颗石子对 Alice 来说是一个胜利的举动,所 ...
实训之springboot框架搭建数据管理系统
前言五周实训结束了,其中花费时间最多的便是通过springboot搭建一个前后端结合的数据信息管理系统,通过这个系统把爬取到的信息加以展示及可视化分析。运用到的技术有:Springboot,layUI,Mybatis,MySQL,Echarts控件等等。成果展示如下:
同时有修改用户信息,密码加密登录等功能。
代码概述项目结构
模块结构及流程图
运行流程概述及部分核心代码前提准备:需要已经获取的信息,本项目提前使用Python获取了某豆瓣网站的电影,音乐,图书信息等并存入MySQL数据库。
基本流程:
1.前端使用LayUI搭建表格等Html框架,通过JS向后端发起请求
1234567891011121314151617181920//这里展示的是用户执行新增电影功能//通过toolbar接受前端信息table.on('toolbar(tbResult)', function (evtInfo){ let checkStatus = table.checkStatus('tbResult'); if (evtInfo. ...
scrapy二级爬取实践详记
前言既上一篇文章之后发现自己对scrapy的爬取流程还是不太理解,于是自己做了个小脚本用来练习。因为爬取到信息较少,但是涉及的功能没有减少,因此也更直观更好理解了。
昨天运行成功了就没管,今天想记录一下的时候,发现….要爬取的网站炸了。
锁定爬取网站
name: 可以理解为爬虫的名字
allowed_domains:过滤机制,可以在爬取过程中过滤掉不是这个域名的网页,但不会对start_urls生效
start_urls:顾名思义,第一个爬取的网页
parse:链接处理,如果有多个主页面的话可以用循环批量处理,但这次的目标只有一个页面,因此直接调用parse_list处理了关于yield:简单说就是一个不终止当前方法的 return ,将参数传给后面的函数(如下面的scrapy.Request)处理,而自己接着完成未完成的任务。
关于信息传递:这个问题困扰了我很久,一直想知道scrapy中不同的函数(方法)是怎么联系起来共同处理一件事情的?其实根本还在于yield(当然我现在也没理解透彻)。仔细观察就能发现yield scrapy.Request(url=url,callback=s ...
实训之scrapy爬取豆瓣电影
前言大数据方向实训,主要是爬取数据,整理数据,分析数据,最后以网页方式展示。个人感觉前端技术居多,本部分主要是利用python,使用scrapy框架进行数据爬取。这种方式与之前的爬取方式不同,给人的感觉更加模块化,但对于初学者(我)可以说不太友好了。目前只对这个框架进行了比较基础的了解,操作也仅限于简单的爬取,只能一步步深入。
项目结构
spiders爬虫主体,包括了链接的解析及获取,数据的爬取(正则提取等),与之前写的爬虫脚本相似度很高,最明显的区别是它并非直接输出结果,而是将数据抛给后端程序进行进一步处理
movie
对主页面进行解析,获取概要信息1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162import reimport scrapyimport jsonfrom tttest.items import TttestItem, Movie ...
Python练习之文字提取
最近对明日方舟剧情很感兴趣,但游戏终有关服的一天,把剧情文本搞到本地才有安全感。于是到网上找到相关剧情,发现要么不能复制,要么会复制到奇怪的东西,反正都是麻烦,索性就用爬虫给爬下来了。
一个简单的爬虫程序,但过程中还挺麻烦的,涉及到正则表达式,文件的读写。新学到readlines的使用方法,感觉很巧妙。主要内容都写在注释里了,不再赘述。
代码 提取活动文本(建议B站Wiki)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566# -*- codeing = utf-8 -*-# @time:2021/12/31 12:44import reimport requestsdef Askurl(url): head = { "User-Agent": "Mozilla / 5. ...
艾莲日记(转载)
序章咻呜~咻呜~的声响传进耳里。音源非常近,并且总在胸口起或伏的瞬间响起,可见那不是风声,而是从自己嘴里发出的响声。
这个房间里阴暗又寒冷。似乎有点印象,我之前,也曾经像现在这样,躺在冰冷的地板上呢。想着想着,我闭上双眼。不知是泪珠还是血滴的液体滑过脸颊。
强劲的风穿过窗棂吹入。
摊开于桌面上的日记发出啪啦啪啦的纸张拍动声。
那本是我的日记。
一本记载着所有关于我之事物的红皮记事本。一连串的故事,宛如昨天才刚发生过似的,我能毫不费力地回想起一切。
即便从未亲自下笔,我仍十分明白日记起始于何处。
第一卷 第一章 后巷的邂逅1我身上 带着疾病 没有人 愿意陪我玩。
目睹黑猫捕获老鼠。
事情发生于一瞬间。仅见一团黑块飞出,衔着老鼠的黑猫紧接着现身。可能是被咬住了要害,老鼠动也不动。随后黑猫望向我这边,不晓得是不是注意到了我的视线。
大而圆睁的金色瞳孔朝向这里。
黑猫停顿了一会儿,接着闪入后巷转角,消失了身影。
我不禁深深叹息。多么美妙的姿态。黑猫的样子烙印在我眼底。柔软的躯体,宛如满月的双瞳。我的眼珠与她的同为金色。但我不像她拥有尖牙,更不如她那般自由。
我趴卧在陈旧的床上,眺望着外界景象 ...
inky语法备忘
INKYink 是一门围绕标记纯文本展开的脚本语言,以生成互动脚本。
最简单的,它能让你写出一个 Choose Your Own 风格的故事,或有分支的对话树。但它真正的优势在于大量选项的复杂对话,以及大量故事线的编组。
ink 提供了一些特性能让非技术人员也能随心分支,写好每一个分支的后续,同时搞定主线与支线,而不必手忙脚乱。故事线则尽可能地以声明式描述。(注,声明式是告诉机器“做什么 what to do”,与其相对的命令式则是告诉机器“怎么做 how to do”。)
ink 的目标是让一切清新有逻辑地排序,“用眼”就能检查每条对话分支。
它在设计时也考虑了想法在头脑中思考的过程,因此编写一个故事线是非常快的
项目地址
(某天在网上冲浪的时候看到了一个很有趣的互动文字冒险,在关于界面找到了这款软件,发现意外的容易上手,于是找到相关教程并记录备忘。)
(光有工具也没用啊,贫瘠的艺术细胞限制了我,哭死。)
使用文档举个例子现在,让我们看门见山,来看一个简单的故事示例。
若你以前从未接触过编程(很多符号!),下方截屏中的蓝色标记最初 ...
布洛斯谜题
前言布罗斯谜题,又称三神谜题。这道谜题看上去很简单,但只能用一个深不见底来形容。每当你感觉初窥门径的时候,需要思考的维度又突然多出一条,到最后只能感慨出题者和解题者强大的思维能力。由于我之前并没有过多接触谜题,即使是看着题解也难以理清思路。但愿有朝一日我能将自己的理解补充上来吧。
问有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话,还有一个随机地决定何时说真话,何时说假话。 你可以向这三个精灵发问三条是非题,而你的任务是从他们的答案找出谁说真话,谁说假话,谁是随机答话。 你每次可选择任何一个精灵问话,问的问题可以取决于上一题的答案。 这个难题困难的地方是这些精灵会以「Da」或「Ja」回答,但你并不知道它们的意思,只知道其中一个字代表「对」,另外一个字代表「错」。 你应该问那三条问题呢?
答深入浅出带你看懂最烧脑逻辑题——布洛斯谜题解题思路 - 知乎 (zhihu.com)
题解
作为史上最难的逻辑题之一——布洛斯谜题,或称3神谜题(3 gods riddle)一直是大家挑战的目标,其原问题描述[1]如下:有三位神明 ...
思维与创造
本文内容转载自思方網 (hku.hk)
[H01] 思考方法入门
人是万物之灵,人和禽兽的主要分别就在于他的思考能力。 不过,人虽然有这种能力,但并非人人都懂得如何运用它。 人云亦云,思路紊乱,是人们常有的思维上的毛病。 而此等思维上的毛病,主要是由于缺乏独立思考所致。 要发展和培养出个人的独立思考,关键在掌握一套正确的思考方法。 思考方法可约略分为两大范畴,其一关于批判思考,另一范畴则主要关乎创意思考。 当我们碰到问题并且要去解决它的时候,均需要应用这两个范畴的思考方法。
甚么是批判思考? 古代希腊哲学家认为「甚么是真?」 「甚麽是善?」 「甚麽是美?」 是思想上最基本的三个问题。 但是,从思考方法学上来说,它们其实都不是最基本的。 相对于上述三个问题而言,「怎样思考得正确?」 此一问题其实更为基本。 因为,要知道什么是真、善、美,以及懂得分辨哪些是真的信念、善的行为和美的事物,默认了懂得正确地思考(即懂得如何分辨是非对错)。 而分辨是非对错则乃是批判思考的一个主要特征。 基于上述的说法,我们可以说「批判思考」就是强调分辨是非对错的一种思维。 而作为一个学科「批判思考」就是研究分辨 ...