Violet

那些你不知道的程序员的故事

橙三吉。 提交于 2021-02-10 04:33:58
文章来源:36氪 你们想去改变世界,我们想认真听你讲。 蒸汽时代带来了机械化,爱迪生的电灯点亮了世界的希望,而计算机和互联网则以前所未有的速度开启了一个新的纪元。近乎爆炸的生产力震撼和鼓励了所有积极思考的人,程序员群体由此成为改变世界的主角。 世界首富比尔盖茨、Facebook创始人扎克伯格、图灵奖获得者姚期智、国货之光小米创始人雷军,占据中国互联网大半壁江山的李彦宏、张小龙、马化腾、张一鸣......这些已经改变了时代风向、社会分工甚至我们日常生活习惯的名字,他们最初都有个共同的身份——程序员。 相比于前述那些如雷贯耳的名字,我们生活中见到更多的则是那些平凡却闪闪发光的程序员。有人凭己之力开发出了上万人使用的开源软件;有人在经验积累的基础上成为了布道师;有人默默做着的,可能只是为了召唤更好生活而不断去优化产品体验;当然,还有更多的人,在解决bug的路上日复一日地996,却把自己活成了段子手……改变世界,不在于做出多大事情,而在于创造价值,尽管可能只是微小的进步,都是有价值的。 这个群体,是声名在外的,也是充满神秘的。不过,如果想把朋友圈里潜水的程序员炸出来,可能只需要发一句:谁能告诉我哪种计算机语言最好? 用这样的方式,我们在朋友圈里率先炸出了几位程序员和他们的朋友,来听听这个“伟大而又身负诸多误解”的群体的故事。 01 他们创造了互联网,互联网保护了他们 这群人聪明、单纯,以

使用Python的turtle库实现六角形以及正方形螺旋线的绘制

大憨熊 提交于 2021-02-01 11:37:53
1.六角形的绘制 思路:一个六角形可以看作是两个等边三角形具有共同的中心且垂线互成60°角。所以只需实现一个等边三角形的绘制以及第二个三角形绘制起点的移动即可。 代码如下: import turtle turtle.setup(650,350,200,200) turtle.penup() turtle.pensize(1) turtle.pencolor("red") turtle.fd(100) turtle.seth(30) turtle.pendown() turtle.fd(80) turtle.seth(-90) turtle.fd(80) turtle.seth(150) turtle.fd(80)       / /第一个三角形绘制完成 turtle.penup()      // 将画笔抬起,此时任何画笔操作都不会绘制出来 turtle.seth(30) turtle.fd(80/3) turtle.seth(90) turtle.fd(80/3)      // 调整第二个三角形的绘制起点 turtle.pendown()     //将画笔放下,绘制接下来的画笔移动路径 turtle.seth(-30) turtle.fd(80) turtle.seth(-150) turtle.fd(80) turtle.seth(90) turtle.fd(80)

软件工程大作业——violet音乐社区 个人工作汇报

二次信任 提交于 2020-12-26 07:56:01
一、项目概述 1.1 项目背景   音乐是一门艺术,是由有组织的乐音来表达人们情感、反映人类现实生活情感的艺术。现代科技的发展使得人们可以利用网络随时随地的享受音乐,然而在当今互联网却很少有一个以音乐为媒介的社交平台。本开发团队想以“音乐+社交”的形式,开发一款集听歌、交友和讨论为一体的网上社区——“Violet”音乐社区。Violet多指紫罗兰,也可形容羞怯的人,本团队旨在通过此平台增强人们对音乐的交流,同时拉近人与人之间的距离。 1.2 编写目的   此文档为本人作为该项目成员的个人工作总结,用于记录在开发过程中的经验、感悟以及对该课程的意见和建议,望今后的其他项目能以此为鉴。 1.3 相关链接   完成版: violet音乐社区   前端源码: violet音乐社区前端源码   后端源码: violet音乐社区后端源码   需求分析: violet音乐社区需求分析   设计文档: violet音乐社区设计文档   原型手册: violet音乐社区原型手册 二、个人工作 2.1 模块划分   此项目将模块按功能划分为曲库、播放器、动态、圈子等主要模块。小组按模块将任务分配给各成员。其中,本人负责圈子模块及其内部帖子模块的后端开发。    2.2 圈子模块   该平台是建立在音乐基础上的社交平台。圈子是用户交流、探讨音乐的最主要场所。   圈子类的字段、方法及解释如下所示    

CDQ分治学习笔记

你。 提交于 2020-11-06 05:09:46
数据结构中的一块内容:$CDQ$分治算法。 $CDQ$显然是一个人的名字,陈丹琪(NOI2008金牌女选手) 这种离线分治算法被算法界称为"cdq分治" 我们知道,一个动态的问题一定是由"更改""查询"操作构成的,显然,有些“更改”会改变"查询的结果",而有些不能 如果我们合理安排一个次序,把每一个查询分成几个部分,分别计算值,最后合起来就是原来询问的值。 离线算法和在线算法的概念不用过多解释. 接下来通过几个例题将基本的$CDQ$分治算法解释明白. A. 从逆序对开始的 二维偏序 问题 下面将给出逆序对的题目: 例题·A1: 逆序对的定义是对于序列a[],取第$l$个元素和第$r$个元素,满足$l <r$且$a[l]>a[r]$,对于这样数对$(l,r)$被称为一对逆序对 求解给定序列a中有多少对逆序对,你需要输出对数. 对于100%的数据 $a \leq 5 \times 10^5 $ 我们都知道可以用树状数组和归并排序两种方法做,这里我们只讲归并排序(默认树状数组大家都会) 不断把$[l,r]$细分,每次取$mid=\frac{l+r}{2}$ 然后指针$i$和$j$分别指向区间$[l,mid]$和$[mid+1,r]$并且单调 先确定$i$不动,把$j$右移归并,如果满足$a[i]>a[j]$记录逆序对个数加$mid-i+1$意味着a[i],$i \in [i,mid]$和

【留言板】集训日记

梦想的初衷 提交于 2020-08-18 04:17:32
这是个栈 stack<water> Diary; 去文末 8.14 居然有人推 自由行走的花 ,不过应该指的是《剑雨浮生》吧,原版我都没咋听过/kk 没想到今天也犯了数组开小的问题,也算长了个记性, 也算给NOIP攒rp吧 。 然后考后都感觉其实考试题真的没有很难(才怪),然而事实是也就只是事后诸葛亮,考试的时候还是只能靠暴力苟活。感觉考试的时候完全方向都是错了,之后学长讲正解才明白方向... 晚上做UOJ的题,既锻炼思维又锻炼码力,也可能是我太菜了/kk。 P.S.我们张学姐实在是太棒了! 音乐推荐:明天补 睡觉去了 8.13 \(1Mon\) 祭! 你这个普通平衡树他好臭啊 不知不觉已经集训一个月了...剩下也没几天了,要加油啊。今天又考炸了,感觉考试的时候的心态就很不好,结果好多该拿的分都丢了。明天继续努力吧。 音乐推荐:《Cinnamon Girl》by Lana Del Rey。 Violet, blue, green, red to keep me at arm's length don't work You try to push me out, but I just find my way back in Violet, blue, green, red to keep me out, I win There's things I wanna say to you,

【留言板】集训日记

♀尐吖头ヾ 提交于 2020-08-17 20:22:45
这是个栈 stack<water> Diary; 去文末 8.14 居然有人推 自由行走的花 ,不过应该指的是《剑雨浮生》吧,原版我都没咋听过/kk 没想到今天也犯了数组开小的问题,也算长了个记性, 也算给NOIP攒rp吧 。 然后考后都感觉其实考试题真的没有很难(才怪),然而事实是也就只是事后诸葛亮,考试的时候还是只能靠暴力苟活。感觉考试的时候完全方向都是错了,之后学长讲正解才明白方向... 晚上做UOJ的题,既锻炼思维又锻炼码力,也可能是我太菜了/kk。 P.S.我们张学姐实在是太棒了! 音乐推荐:明天补 睡觉去了 8.13 \(1Mon\) 祭! 你这个普通平衡树他好臭啊 不知不觉已经集训一个月了...剩下也没几天了,要加油啊。今天又考炸了,感觉考试的时候的心态就很不好,结果好多该拿的分都丢了。明天继续努力吧。 音乐推荐:《Cinnamon Girl》by Lana Del Rey。 Violet, blue, green, red to keep me at arm's length don't work You try to push me out, but I just find my way back in Violet, blue, green, red to keep me out, I win There's things I wanna say to you,

Python笔记:用matplotlib绘制柱状图

眉间皱痕 提交于 2020-07-29 06:35:51
matplotlib是Python中最基本的绘图库,而柱状图又是使用频率较高的可视化图形。下面我就在有pyecharts库和R语言,echarts绘图经验的基础上,简单得摸索一下用matplotlib绘制柱状图的方法。代码如下: # 导入相关的库 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 在线显示 %matplotlib inline # 定义画布的大小 fig = plt.figure(figsize = (15,8)) # 添加主标题 plt.title("各品牌汽车的销量") # 设置X周与Y周的标题 # plt.xlabel("品牌") # plt.ylabel("销量") # 显示网格线 # plt.grid(True) # 设置 x轴 数据 x = np.array(["宝马","奔驰","奥迪","马自达","大众","布加迪","兰博基尼","法拉利","本田","丰田"]) # 设置 y轴 数据 y = np.array([1000,800,600,400,300,250,150,100,80,50]) # 直接绘制简单的柱状图 # plt.bar(x,y) # 绘制柱状图,并把每根柱子的颜色设置为洋红色 # plt.bar(x,y,color = "m") #

C#8.0新特性

我的未来我决定 提交于 2020-07-23 21:52:21
只读成员 private struct Point { public Point( double x, double y) { X = x; Y = y; } private double X { get ; set ; } private double Y { get ; set ; } private readonly double Distance => Math.Sqrt(X * X + Y * Y); public override readonly string ToString() => $ " ({X}, {Y}) is {Distance} from the origin " ; } View Code 使用readonly修饰tostring方法,表示它不可修改 默认接口方法 /// <summary> /// 默认接口方法 /// </summary> private interface IWork { public void Work() { Console.WriteLine( " Work " ); } } 现在可以在接口中定义默认的方法,而不是只能申明void Work(); 更多的模式匹配 使用switch表达式的模式匹配 public enum Rainbow { Red, Orange, Yellow, Green, Blue, Indigo,

洛谷 P2622 关灯问题II(状压DP入门题)

允我心安 提交于 2020-05-09 07:48:08
传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 题解:    相关变量解释: 1 int n,m; 2 int a[maxn][ 20 ]; // a[i][j] : 第i个开关对第j个灯的效果。 3 bool vis[R( 10 )]; // vis[i] : 判断状态i是否被访问过 4 struct Node 5 { 6 int status; // 状态 7 int minTimes; // 来到当前状态按下开关的最小次数 8 Node( int a= 0 , int b= 0 ):status(a),minTimes(b){} 9 }; 10 queue<Node >myqueue; // 用队列中的状态去解锁其他为解锁(访问)过的状态,并能保证被解锁的状态的minTimes最小    步骤:   (1):将Node( (1<<n)+1,0 ) 加入队列,因为初始等全是亮的,对应到二进制就是n个1,并且需要 0 次按下开关。   (2):从队头依次弹出元素,并用当前状态去解锁其他状态,并能保证被其解锁的状态的minTimes是最小的。   (3):重复(2)过程,直到找到 0 状态或队列为空 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include

Violet音乐社区界面原型手册

微笑、不失礼 提交于 2020-05-08 07:14:10
[TOC] Violet音乐社区界面原型手册 一、引言 1.0 项目前阶段相关文档 Violet音乐社区需求分析说明书: https://www.cnblogs.com/Keadin/p/11791088.html Violet音乐社区设计文档: http://www.cnblogs.com/Keadin/p/11885656.html Violet音乐社区API接口文档: https://www.showdoc.cc/589304476235742 Violet音乐社区界面原型demo: http://kealine.top/SE/demo/ 1.1 编写目的 此文档为“Violet”音乐社区开发团队的指导文档。开发人员阅读此文档有助于团队间合作,同时提高软件质量。开发者应仔细阅读此文档,根据文档需求来进行开发,达到预期功能与效果。 1.2 开发背景 音乐是一门艺术,是由有组织的乐音来表达人们情感、反映人类现实生活情感的艺术。现代科技的发展使得人们可以利用网络随时随地的享受音乐,然而在当今互联网却很少有一个以音乐为媒介的社交平台。本开发团队想以“音乐+社交”的形式,开发一款集听歌、交友和讨论为一体的网上社区——“Violet”音乐社区。Violet多指紫罗兰,也可形容羞怯的人,本团队旨在通过此平台增强人们对音乐的交流,同时拉近人与人之间的距离。 二、界面原型展示 2.0