斯坦福大学人生设计课
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了斯坦福大学人生设计课相关的知识,希望对你有一定的参考价值。
参考技术A 1. 分析测评你目前的生活,帮助你找到自己的方向和路线2. 制定并实现你的“奥德赛计划”
这是一本实操性的职业生涯指南,教你用设计思维重新梳理自己的人生观与工作观,找到真正适合自己的工作,过上快乐且有意义的生活。
本书的作者比尔·博内特和戴夫·伊万斯,都曾是苹果公司的设计师,他们在斯坦福大学一起开设了一门全新的课程,运用设计思维帮助大学生设计毕业后的人生。如今,这门课程已经成为斯坦福大学最受欢迎的选修课之一。
微淼拆书,帮1亿人快速成长!10分钟听完一本书,让读书不再难。
你好,这期音频为你解读的是《斯坦福大学人生设计课》。我会用10分钟左右的时间,为你讲述书中的精髓:如何通过制定“奥德赛计划”,实现我们的目标?
先提一个问题:你有没有给自己做过人生规划呢?如果有的话,这些规划实现得如何呢?我想,大部分人可能会说:“哎!计划赶不上变化,很多计划都泡汤了!”
其实你完全不用为此而感到沮丧,因为人生本来就是无法规划的,但是人生是可以设计的。
规划人生和设计人生有什么不同呢?规划好的人生,就是固定好了目标,你只需要去实现既定目标就好了。很多人之所以活得痛苦就是因为太忠于“初心”了,为了当初定下的死目标一直在咬牙坚持,也不管这个目标是不是正确。而设计人生,是一个不断创新和变化的人生体验过程,讲究的是“边走边看,低成本试错”。
《斯坦福大学人生设计课》这本书就是教我们如何用设计思维,让自己过上快乐且有意义的人生。
本书的作者比尔·博内特和戴夫·伊万斯,都曾是苹果公司的设计师,他们在斯坦福大学一起开设了一门全新的课程,就是我们今天要讲的斯坦福大学人生设计课。
好,接下来我们来说这本书的核心内容吧。我将从两部分进行解读。第一部分:分析测评你目前的生活,帮助你找到自己的方向和路线;第二部分:制定并实现你的“奥德赛计划”。
第一部分:分析测评你目前的生活,帮助你找到自己的方向和路线
在设计人生之前,首先要给自己目前的生活做一个评估,你需要用到一个测评工具:就是“健康、工作、娱乐和爱”的仪表盘。
健康,包括身体健康和心理健康。工作,包括你正在从事的有偿或无偿的工作;娱乐,包括所有能够让你感到快乐的全身心放松的活动;爱,包括亲情、友情和爱情。
我们把健康、工作、娱乐和爱想象成汽车仪表盘上的测量仪,一般来说,这四个方面并不存在绝对的平衡,而且在人生的不同阶段,每个人对健康、工作、娱乐和爱的关注度也是不同的。比如,对于单身青年来说,工作和娱乐所占比重比较大,已婚女士在爱的方面比重会增加,而对于中年人来说,健康是一个重要的关注点。
假如你工作很忙经常加班,那你就没有时间陪孩子,也没有娱乐的时间,长此以往可能会影响到你的身心健康,那你就要去调整你的仪表盘。
那么,这个时候你需要思考两件事情来决定你调整的方向:一个是工作观,一个是人生观。所谓工作观,就是你为什么而工作?你喜欢什么样的工作?所谓人生观,就是什么事情赋予了你人生的价值,让你的生活变得有意义?你是如何与家人、朋友相处,又是如何与世界建立连接的?
比如美食网红李子柒的美食视频在网络上广为传播,大家都很喜欢和向往李子柒的生活。
对于李子柒来说,她之所以选择了现在的生活方式,是因为她唯一的亲人——奶奶。她认为当下对她来说,最重要的就是对奶奶的爱与陪伴。因为李子柒从小失去父母,她最珍惜的就是亲情。那么她一定是思考过上面我们所说的人生观与工作观的问题,最终找到了她自己的方向和路。
她一边干农活,一边又录视频做自媒体,把工作、生活和娱乐很好的结合在了一起,成功地平衡了她的“健康、工作、娱乐、爱”的仪表盘,过上了自己真正想过的生活。
我们每个人都可以用仪表盘平衡法,去寻找自己的人生方向和路。但是这个仪表盘平衡法到底应该怎样运用呢?作者告诉我们一个好方法,就是记录“美好时光日志”。
记录“美好时光日志”将有助于你找到自己的方向和路,让你清楚自己想要什么,不想要什么。
比如,作为一名中学教师,你同时担任着班主任的职务,你感觉工作总是没有头绪,经常情绪不好。如果你能够记录一段时间的“美好时光日志”,发现在工作中最令你感到快乐的时刻往往是给孩子们上课的时候,学生的每一次进步或好的表现都令你开心或感动,但是常常令你不开心的事往往是你作为班主任要去处理的一些行政事物,那些繁杂的形式主义的工作常常会使你的情绪变坏,有时候甚至会影响到你给学生们上课的状态。那么,通过记录“美好时光”你肯定能发现,你并不适合担任班主任,你只喜欢教书,专心地做好教学工作,这就是你的方向。
在记录美好时光日志的过程中,你需要着重关注以下三个指标:
第一个指标是心流体验。你要留意你做哪些事情的时候会感觉无比投入,好像忘记了世界和时间,这样的做事状态就是进入了心流体验。
第二个指标是能量水平。你要注意哪些事情会增强你的能量,哪些事情会消耗你的能量。
第三个指标是快乐时光。记住那些让你兴奋的事情,只有兴奋的事情才能激发你的潜能,让你更容易走向成功。
第二部分:制定并实现你的“奥德赛计划”。
找到了方向和路线,清楚了自己想过什么样的生活后,接下来,我们来讲第二部分:制定并实现你的“奥德赛计划”。
首先要制定你的“奥德赛计划”。所谓“奥德赛计划”,就是让你同时设计三种不同的五年计划,体验不同的人生。
在制定“奥德赛计划”时,要注意这三个计划都应该是你真正渴望做的事情,是可以实现的,而不是你勉强自己去做的事情,也不是那种备用计划。另外,你要选出三个不同的方案,而不是一个主题下的三个不同的版本。
你可以参考下面作者给出的三种人生选择:
第一种选择是:针对你已经在做的事情,做一个延展性的设计。
第二种选择是:当你突然没办法做你现在的工作的时候,你想要做什么。
第三种选择是:在不考虑时间和金钱的前提下,你想做的事情,或者你想过的生活是什么样的。
那么,制定出“奥德赛计划”后,先不要急于去实践,成功从来不是一步到位的,你还要做原型设计和体验。什么是原型设计和体验呢?举个最简单的例子:设计师在设计一件产品时,通常都是先做一个小模型,然后再不断地改进、创新,一步步把产品做得更好。
设计人生也是这个思路,你必须要做原型设计与原型体验。比如,你想开一家美容院,你应该首先成为一名美容师,到至少一家美容院里去工作,了解顾客需求,摸索市场情况;你也可以跟有经验的朋友一起合作,以“边走边看,低成本试错”的思路去完成你的原型设计和原型体验过程。另外,在这个过程中,你还要建立自己的团队,为以后的独立发展做准备。
当然,你也可能在原型体验中尝试到失败的滋味,要知道,设计人生是一个动词,不断的变化和创新,才是精彩人生的主旋律。就像马云,曾经他也经历过很多次失败,但他还是不断地去做新的尝试,最终成为了今天的马云。
说到这儿呢,这本书的内容基本已经讲完了,下面我们一起来总结一下。
首先,我们介绍了如何用“健康、工作、娱乐和爱”的仪表盘来分析测评你目前的生活,找到自己的方向和路线。
其次,我们介绍了“奥德赛计划”就是为自己设计出三种不同的五年计划,并用 “边走边看、低成本试错”的思路去实现这些计划。
以上就是《斯坦福大学人生设计课》这本书的主要内容,期待大家通过学习,过上快乐且有意义的人生。
大学课设之Mysql图书管理设计
大学课设之Mysql图书管理设计
需求分析
- 改图书管理涉及书本的信息,读者的信息,图书馆管理员的信息管理,要求可以对图书的信息进行修改,删除,添加的管理。
- 读者可以凭借自己的身份证明借阅书籍,例如学校的一卡通,这是为学生提供方便,不需要另外办理一张借阅卡之类的证明。
- 借阅书籍时,系统自动的添加学生的信息,学生可以查阅自己的信息,例如借了什么书籍,什么时候借阅的,什么时候该还阅等等。
- 当学生借阅书籍时,修改图书馆保存的书籍的信息,同时记录该书籍是否还可借。
- 学生归还书籍时,系统可以修改学生的借阅信息。
- 当学生借书时,可以查看借书的信息。
概念结构设计-总E-R图
逻辑结构设计
① 一个学生只有一个学号,通过学号可以查到姓名,姓名可以相同。
② 一个书有一个编号,每一本书的编号不一样。
③ 书名可以相同,通过编号可以查询书名。
④ Borrow表通过学号与编号,可以查询哪个学生借了哪一本书。
⑤ 书可分为不同的类别,放在不同的楼层。
⑥ 还书时,可以查询哪本书借了,有无欠费。
Student(学号,姓名,性别,班级,出生,年级);
Book(编号,书名,作者,出版社,数量,类型);
Borrow(学号,编号,借的时间,应该还书的时间);
Grenre(类型,类别,楼层);
Money(学号,编号,超过时间)。
数据库的实现
Student 表
触发器重点说明
- 创建触发器student_borrow当一个学生借书,在borrow表里应该插入一条记录,而且该书的数量应该应该减一;如果所借的书的数量为0,则不能借,并提示‘该书已经被借完’。
CREATE trigger student_borrow
after insert on borrow for EACH row
BEGIN
declare shuliang int;
SELECT bnumber into shuliang from book where bno=new.bno;
if shuliang=0
then
SIGNAL SQLSTATE 'HY000'set MESSAGE_TEXT='该书已经被借完';
ELSEIF shuliang>0
then
update book set bnumber=bnumber-1
WHERE book.bno=new.bno;
end IF;
END
- 创建一个触发器return_book当一个学生想还书时,把该书的数量在book上加1,前提是这个学生借的这本书没有逾期。
create trigger return_book
after DELETE on borrow for each row
BEGIN
update book set bnumber=bnumber+1 where book.bno=old.bno;
End
- 创建一个存储过程student_check,给定一个学号,能查看学生的借书情况,输出名字,借书时间,应该还书时间。
create procedure student_check(in xh char(10))
SELECT sname as 姓名,borrow.bno as 编号,bname as 书名,
borrow_time as 借书时间,return_time as 还书时间
from borrow,book,student
WHERE book.bno=borrow.bno and student.sno=borrow.sno and borrow.sno=xh;
CALL student_check('2016070101');
- 创建你一个存储过程student_money,输入学生的学号,显示学生的欠费信息。
create procedure student_money(in xh char(10))
SELECT sname,bname,overtime*2 as 欠费
from student,book,money
where student.sno=money.sno and book.bno=money.bno and money.sno=xh;
call student_money('2016070101');
- 创建一个存储过程book_check,输入一个楼层,看看有哪些书籍。
CREATE procedure book_check(in loucheng int)
SELECT floor,bname from book,grenre
where book.kind=grenre.kind and floor=loucheng;
drop PROCEDURE book_check;
完整的Mysql设计代码
/*创建数据库,zhsy(综合实验)*/
create database zhsy;
/*创建学生表*/
create table student(
sno char(10) primary key,
sname char(10) not null,
ssex enum('男','女'),
sclass char(8) not null,
sbrith date,
grade smallint
)ENGINE=INNODB default charset=utf8 collate=utf8_bin;
DESC student;
/*创建book表*/
create table book(
bno char(10) primary key,
bname char(10) not NULL,
bauthor char(10) not null,
bhouse char(10) not null,
bnumber int not null,
kind char(5)
)ENGINE=INNODB default charset=utf8 collate=utf8_bin;
desc book;
/*创建genre表,这是把书分类,图书类,计算机类,在哪个楼层*/
create table grenre(
kind char(5) not null,
type char(10) not null,
floor int
)ENGINE=INNODB default charset=utf8 collate=utf8_bin;
desc grenre;
/*建立借书表borrow,看根据学号和bno可以确定学生借了多少本书*/
CREATE table borrow(
sno char(10),
bno char(10),
borrow_time datetime not null,
return_time datetime not NULL,
FOREIGN key(sno) REFERENCES student(sno)
)ENGINE=INNODB default charset=utf8 collate=utf8_bin;
desc borrow;
/*添加borrow主键:*/
ALTER table borrow add PRIMARY key(sno,bno);
/*学生逾期还书,要收费,momey*/
create table money(
sno char(10),
bno char(10),
overtime int not NUll,
primary key(sno,bno)
)ENGINE=INNODB default charset=utf8 collate=utf8_bin;
alter table money add CONSTRAINT foreign KEY(sno,bno) REFERENCES borrow(sno,bno);
/*为student表添加数据*/
insert into student
VALUES('2016070101','小陈','男','计科1','1995-1-20','2016'),
('2016070202','小许','女','管理1','1996-10-17','2016'),
('2016070103','小湖','男','计科2','1997-12-27','2016'),
('2015070301','小明','男','安全1','1995-11-27','2015'),
('2016070122','汪洋','男','计科2','1997-12-07','2016'),
('2015070221','李丽','女','管理2','1997-1-27','2015'),
('2016070203','张放','男','管理2','1997-9-27','2016'),
('2018070301','郑明','男','安全1','1999-11-27','2018'),
('2018070333','乔云萍','女','安全2','1998-11-27','2018'),
('2017070301','谢生','男','安全2','1997-11-27','2017'),
('2018070109','刘晨','男','计科','1996-8-27','2018'),
('2016070305','严欣婷','女','安全2','1998-11-27','2016'),
('2018070328','海雯','女','安全2','1999-07-27','2018'),
('2018070330','陈欧','女','安全2','2000-11-2','2018');
insert into book VALUES
('B001','高等数学A','林益','北京大学','3','I类'),
('B002','高等数学B','李伶','北京大学','4','I类'),
('B003','概率论','隋亚莉','清华大学','2','I类'),
('B004','C语言设计','谭浩强','清华大学','5','II类'),
('B005','C++语言设计','李昌兵','电子工业','6','II类'),
('B006','java语言设计','张跃平','电子工业','2','II类'),
('B007','十万个为什么','韩启德','少年儿童','10','III类'),
('B008','哈利·波特','J·K·罗琳','教育','2','III类'),
('B009','哈利·波特','J·K·罗琳','教育','2','III类'),
('B010','青年杂志','张楠','中国青年','12','IV类'),
('B011','呐喊','鲁迅','中国青年','4','IV类'),
('B012','朝花夕拾','鲁迅','中国青年','5','IV类'),
('B013','阿Q正传','鲁迅','中国青年','4','IV类'),
INSERT into borrow VALUES
('2016070101','B004','2017-02-20 07:30:00','2017-04-20 07:30:00');
('2016070101','B001','2018-10-1 8:00:00','2018-11-1 00:00:00'),
('2016070101','B002','2018-11-1 09:30:00','2018-12-1 09:30:00'),
('2016070202','B003','2017-03-05 11:00:00','2018-05-05 11:00:00'),
('2016070101','B003','2018-11-1 09:30:00','2018-12-1 09:30:00'),
('2015070301','B004','2017-02-20 07:30:00','2017-04-20 07:30:00'),
('2016070203','B005','2017-08-01 08:00:05','2017-10-01 08:00:05'),
('2018070333','B008','2018-10-09 09:10:00','2018-11-09 09:10:00'),
('2016070305','B008','2017-09-12 10:30:00','2017-10-12 10:30:00'),
('2018070330','B013','2018-12-01 18:00:00','2019-01-01 18:00:00'),
('2018070330','B002','2018-10-09 17:00:00','2018-12-09 17:00:00'),
('2018070328','B013','2018-09-01 12:00:00','2018-11-01 12:00:00'),
('2018070328','B008','2018-09-01 12:00:00','2018-11-01 12:00:00');
insert into money VALUES
('2016070101','B001',10),
('2016070101','B002',15),
('2015070301','B004',11),
('2016070101','B004',9),
('2018070333','B008',12),
('2016070305','B008',4),
('2018070330','B013',30);
insert into grenre VALUES
('I类','数学类','2'),
('II类','计算机类','2'),
('III类','图书类','2'),
('IV类','小说文学类','3');
/*为表创建索引,以提高速度查询*/
/*为student表中的sname创建索引*/
/*
CREATE index sno_index on student(sno);
drop index sno_index on student;
*/
CREATE index sno_index on student(sname);
/*为book表中的bname创建索引*/
create index bno_index on book(bname);
/*create index bno_index on book(bno);
drop index bno_index on book;
*/
/*为borrow表中的sno与bno创建索引*/
/*
create index sno_bno_index on borrow(sno,bno);
create index sno_index on borrow(sno);
*/
/*为money表中的sno创建索引*/
/*create index sno_index on money(sno);
drop index sno_index on money;
*/
/*为grenre表建立索引kind_index,*/
create INDEX kind_index on grenre(kind);
/*创建视图V_borrow统计一下。借不同的书的人数,输出书的编号,书名,数量*/
CREATE VIEW v_borrow(bno,bname,数量)
as
SELECT borrow.bno,bname,count(*)
from borrow,book
WHERE book.bno=borrow.bno
GROUP BY bno;
/*定义一个视图V1,作用是看看有哪些同学借了书,没有超过期限的学号和姓名*/
create VIEW v1(学号,姓名)
AS
SELECT sno,sname
FROM student
where sno in (
SELECT DISTINCT sno
from borrow
where sno not in(SELECT sno from money)
)
/*创建视图v2_money,作用是,假定逾期一天就惩罚2元,输出罚钱的学号*/
CREATE VIEW v2_money(学号,姓名,书名,应该交钱)
AS
SELECT student.sno,student.sname,bname,overtime*2
from money,student,book
where money.sno=student.sno and money.bno=book.bno;
/*创建视图v3_check,作用是用来查看每个楼层有哪些书*/
create view v3_check(书名,类别,楼层)
AS
SELECT
bname,type,floor
from book,grenre
where book.kind=grenre.kind and floor in
(SELECT floor from grenre);
创建用户
/*1.创建book_teacher用户*/
CREATE USER 'book_teacher'@'localhost' identified by'123';
/*把select、UPDATE、insert,DELETE权限给用户book_teacher;*/
SELECT * from mysql.user
grant SELECT,insert,UPDATE,DELETE on zhsy.book to 'book_teacher'@'localhost';
/*2.创建学生用户*/
insert mysql.user(host,user,authentication_string,ssl_cipher,x509_issuer,x509_subject)
values('localhost','student',password(123),'','','');
flush privileges
SELECT * from mysql.user
grant SELECT on zhsy.book to'student'@'localhost';
grant SELECT on zhsy.borrow to'student'@'localhost';
grant SELECT on zhsy.grenre to'student'@'localhost';
grant SELECT on zhsy.money to'student'@'localhost';
/*3.创建teacher_money用户,密码123*/
create user 'teacher_money'@'localhost'identified by'123';
grant SELECT on zhsy.book to'teacher_money'@'localhost';
grant SELECT,update on zhsy.money to'teacher_money'@'localhost';
SELECT * from mysql.user
/*触发器*/
CREATE trigger student_borrow
after insert on borrow for EACH row
BEGIN
declare shuliang int;
SELECT bnumber into shuliang from book where bno=new.bno;
if shuliang=0
then
SIGNAL SQLSTATE 'HY000'set MESSAGE_TEXT='该书已经被借完';
ELSEIF shuliang>0
then
update book set bnumber=bnumber-1
WHERE book.bno=new.bno;
end IF;
END
/*drop trigger student_borrow;show triggers;*/
insert into borrow VALUES
('2016070202','B007','2018-12-1 12:00:00','2018-01-01 12:00:00');
insert into book values
('B015','大学英语','某某某','人民教育','0','I类');
insert into borrow VALUES
('2018070301','B015','2018-12-1 12:00:00','2018-01-01 12:00:00');
/*
CREATE trigger kong
AFTER insert on borrow for each ROW
BEGIN
declare shuliang int;
SELECT bnumber into shuliang from book where bno=new.bno;
if shuliang=0
then
SIGNAL SQLSTATE 'HY000'
set MESSAGE_TEXT='该书已经被借完';
end if;
END
*/
/*show triggers;drop trigger kong*/
/*创建一个触发器return_book*/
create trigger return_book
after DELETE on borrow for each row
BEGIN
update book set bnumber=bnumber+1 where book.bno=old.bno;
end
/*DROP trigger return_book;*/
create procedure student_check(in xh char(10))
SELECT sname as 姓名,borrow.bno as 编号,bname as 书名,
borrow_time as 借书时间,return_time as 还书时间
from borrow,book,student
WHERE book.bno=borrow.bno and student.sno=borrow.sno and borrow.sno=xh;
/*DROP PROCEDURE student_check;*/
CALL student_check('2016070101');
create procedure student_money(in xh char(10))
SELECT sname,bname,overtime*2 as 欠费
from student,book,money
where student.sno=money.sno and book.bno=money.bno and money.sno=xh;
call student_money('2016070101');
CREATE procedure book_check(in loucheng int)
SELECT floor,bname from book,grenre
where book.kind=grenre.kind and floor=loucheng;
drop PROCEDURE book_check;
call book_check(3);
/*ALTER table student add INDEX in_index student(sno(5));*/
以上是关于斯坦福大学人生设计课的主要内容,如果未能解决你的问题,请参考以下文章
斯坦福大学公开课机器学习:advice for applying machine learning - deciding what to try next(设计机器学习系统时,怎样确定最适合最正确的