第一篇:档案袋的定义、种类及构成 - 成长博客博客教育博客教师
档案袋的定义、种类及构成
1、案袋的定义、起源、思想以及意义。1.1 “档案袋”的定义: “档案袋”有多种定义,每种定义的侧重点不同,以下归纳几种有典型意义的定义,并附上我自己的理解: ★定义1:
对学生工作有目的的收集袋,它展示学生在一个或多个领域的努力成果、进步和成就。收集袋必须包括: ① 档案袋必须包括学生在内容选择中的参与;② 选择档案袋作品的标准必须包含在档案袋中;③ 判断作品质量的标准也必须包含在档案袋中;④ 档案袋中也应该包含有学生反思的证据。--------(Paulson, Paulson, Meyer 1991)
★定义2:
学生档案袋就是一个学生工作有意义和有目的的收集袋,它记录了学生在假定领域中努力、进步和取得成就的故事。
(A student portfolio is a meaningful and purposeful collection of student work that tells the story of a student's efforts, progress, and achievement in a given area.)
★定义3:
档案袋评估是一种对学生工作系统的、纵向的收集,这些工作是对于满足特殊的、众所周知的教学目标而做的,并以相同的标准进行评价。评估是通过测量个人的工作而做的,正如档案袋是一个整体,它反对匹配针对特殊目的的目标的特殊的标准。在教师的指引和支持下,并经常在同伴和家长的参与下,创制档案袋是学习者的责任。档案袋阅读者来进行评估。
★定义4:
一个学习的记录-重点在学生的工作和他或她对工作经常性的反思。材料可能是由学生或他们与教师和家长合作收集的。档案袋评估
-是一个展示整个过程中的进步的系统性尝试 -逐渐使学生建立起一种所有感 -传递给学生学习的责任感
-促进提高的自我评价和自我尊重
-提供一种教学和评估可以交织在一起的途径 -考虑真实世界的经历 -从考试的焦虑中解脱出来
-考虑儿童为中心的教师-一个模式不适合所有的人-没有标准的孩子,为什么我们假设我们对他们的评价是标准的? -提供学校和家长之间交流的工具
★定义5:
档案袋一般定义成“…一个系统的有组织的证据的收集袋,它由教师和学生用来监测学生在一个特殊领域内的知识、技能和态度的成长。”
★定义6: 所谓档案袋,是关于作为每个终身学习的学生,为了更加明了地全面地将每个终身学习的学生的实际全部记录下来,而将分离的项目统整起来的学生学习的累积。
★我认为:
学生档案袋较合理的解释是记录学生学习成长史的档案。它是学习过程中各种与学习者学习相关的资源反映和影响学生学习成长过程的证据的累积。
1.2.“档案袋”的起源
最早采用档案袋评价法(portfolio assessment)的教育研究实践事例是美国哈佛大学教育学院开展的“零点项目(project zero)”。1967年,时任哈佛大学教育学院教授的哲学家哥德曼(N.Goodman)发起了艺术教育活动。到了1972年,“零点项目”由于得到了提出“多元智能(multiple intelligences)”理论的著名心理学家加德纳(H.Gardner)等人的继承和发展,不仅在美国本土,其影响迅速扩展到世界各国。众所周知,早期的标准化测验只能测量言语智能和数学逻辑智能,其实人类除具有这些智能之外还有采用视觉、采用音乐、与人交往进行学习等多种智能,这就是加德纳提出的多重智能理论。加德纳强调教育应该重视所有这些智能的开发实践,并把他称为“为理解的教育”。
在开展“零点项目”实践中,儿童们对在特定的领域(domain)中设定的目标进行追求,并采用一种叫做档案袋(portfolio)手法对自己的学习进行评价。这种评价方法不光是看最终的作品而且将重点放置在学习的发展和理解上,并且领域中所提示的大多是,能够使学生明确自身应该追求什么、需要什么这种问题。学习档案袋评价(portfolio assessment)特别留意学生的特长和不足以及勇于挑战的行为,强调评价和学习密不可分并融为一体,着重审视逐渐发展变化的学习状况,学生们采用自我评价,在犹如真正的专家一样开展活动中,对他们的学习热忱和从事发明的行为进行评价。
综上所述,学习档案袋作为哈佛大学的艺术教育工程“零点项目”中对于学生的学习过程和结果进行评价的方法,受到世界各国教育界的重视,但其最早的构思是“零点项目”推进者美国的心理学家加德纳根据他对英国的教育实践的长期考察中得到启发而提出来的。
.1.3.“档案袋”的思想 1)评估将反映教师和学生间合作的教和学的概念。评估是整个教学不可缺少的一部分。出了纸和笔的考试,评估也应该包括学生工作、作业和证明的档案袋。2)档案袋是学生工作的一个活生生的、成长中的收集袋。添加每一项都要由学生以特别的、他们自己可以解释的原因仔细选择。档案袋总的意图就是让学生向他人展示自己的学习和进步。3)档案袋评估将在我们的课堂上实行,它将是一种更贴近我们教学类型的评估方式,它将使我们看到更好、更大的学生进步的蓝图。我们的目标是让我们的学生更好地对他们自己的学习负起责任。
4)整个学习过程中收集起来的资料显示了学生的成长和进步。材料和“故事”讲述了学生各种各样作业的完成情况。档案袋经常包含代表工作进步的纸片、学生最优秀的工作范例、学生对他们自己成品的反思和判断学生工作范例的标准。档案袋可以依据学生年龄/年级、档案袋的主题和目的不同的以不同方式建构。档案袋的目标将决定它的内容。
5)评估档案袋,无论是电子的还是基于文本的,都是用来证明学生的学习和进步的,就像用来鉴定他们自己的目标和完成情况一样。技术在工具的使用上是一个强有力的工具。
1.4.“档案袋评价” 的意义
1)档案袋评估可以在很多层次上实施,从个别化课堂到国家范围的教育。它对评价在教育中角色的转变起了深远的影响。在课堂上使用这种策略的教师们已经将他们的重点从对比成就(等级、百分比、考试分数)转移开,并朝着通过评价反馈和自我反思提高学生成就的方向努力。
2)档案袋最大的价值在于,通过建立它,学生成为学习和评价过程中积极的参与者。档案袋经过一段时间的积累,可以测量学生的进步。它还可以记录一些整个过程中、在不同的条件下特殊的技能和其它项目。
3)档案袋评估最大限度地贴近了教学,它保证你正在测量你所教授的知识,它揭示了教学实践中的任何弱点。
4)档案袋评估自然地完全融入到教学中。没有失去任何评估的时间。评估是一个真实的学习经历,而不是学习以外的过程。5)学生评估档案袋促进了学生参与的积极性。当学生创建他们自己的档案袋时,他们积极地投入并反思他们自己的学习。增长的多元认知对学生自信有积极的影响,有利于学生学习策略的应用,并增长了学生评估和修改工作的能力。学生继续学习的动机在这种环境中持续增长着。
6)档案袋提供给教师和学生有关学生深层次的知识。就是说,教师可以对学生实施个别化教学,可以加强薄弱环节,并建立需要掌握的领域。学习者加入到探询他们自己学习的过程中,并可以控制他们的学习。7)使用档案袋评价向学生展示了一种评价的格式,当更多的学校和地区采纳这种档案袋评估时,学生就会对这种评价方法越来越熟悉。8)使用档案袋使教师有机会让家长参与到教学中来。家长的参与对教育成功是很重要的因素。
档案袋在最近几年引起人们极大的兴趣,教师们开辟了使用档案袋的先河。教师们将档案袋整合到教学和评估中,获得了管理者的支持,并回答了他们自己有关档案袋评价的问题,就像回答学生、管理者和家长的问题一样。对档案袋评价的焦点常常在信度、效度、过程、评价和时间上。这些关注同样适用在其它评估工具中。没有一个评估工具能够很好地、完全可信有效地、不费时间准备地、达成每一个教师的目的,满足管理者和成绩的要求,适合每个学生的学习类型。不同的评价方法还要依据具体的教学目标和评价目标来进行有选择的使用。
2、型档案袋的数据基本结构
一个典型档案袋的基本结构主要包括三个部分。即: ☆ 观察的信息资料群 ☆ 作业实绩的标本群 ☆ 考试信息群
下面分别对这三个群体进行分析: 2.1 信息资料群
由观察来收集学生每天的学习情况,一般由教师来收集。典型的档案袋中一般包括三个记录观察信息的文件。即:观察记录手册;调查表;师生交谈记录。☆ 观察记录手册:是教师用简短的文章将每天学生们最重要的事情和行为的要点记录下来的方法。记录的内容包括:学生的名字、日期、时间、观察着、观察的场所、观察的事件和行为。一般要对每个学生建立观察记录的手册。也可以说是日常学习中的轶闻记录法。
☆ 调查表:教师事先将所期待得学习行为成果分别准备和设计好各种项目,然后按照表格观察学生行为所达到的状况的记录方法。可以按照两分法或三分法的标准对学生学习行为的结果进行简单判断,也可以制作比较复杂的观察表格体系,划分观察维度,确定时间或地点抽样的形式。用调查表进行观察和记录比较规范有序、有章可循,但也容易限制教师的观察的思维和形式,容易僵化。在观察过程中,调查表只起到帮助教师更容易发现和了解教学过程中遇到的问题及原因,并为改善教学提供依据地作用。一个因此,最好和其他观察方法联合使用。☆ 交谈记录:以上两个文件都是观察者对学习者直接观察得到的间接结果的记录。在档案袋中,还应该放入观察者与学习者通过谈话、讨论和交流观察和发现学生的一些思想和行为结果。这样得到的记录目的性更强,获得的资料也更全面。每次的交流和讨论都是有针对性的,同时,观察者还可以通过有目的底对话和会见收集到有关学生以前的知识和经验、现在的理解、学习方式、兴趣、关心、学习欲望等多方面的信息。
由于档案袋评价也在不断完善中,可能会有更多的资料添加到观察信息群中。2.2作业实绩的标本群
1.作业 16.观察表格(个人和集体)
2.教师自做的小问题和试题 17.*超认知活动 3.学生伙伴间制作的课题 18.自我评价
4.小组作业 19.关于文件夹内容的教师和家长的信 5.*学习记录 20.关于将来目标的陈述
6.问题解决记录 21.自由得照片(没有标准的)
7.*学习的反省日记 22.演说、讨论、历史剧演出完成的描写 8.地域设计 23.由个人和集体设计的计划表格的照片 9.著述活动 24.学生记录事项的理由和时间 10.草稿 25.计算机的表格
11.演说、阅读、唱歌等的录音带 26.在实验室的实验 12.*图示构成图 27.美术作品的样本 13.会议的问题 28.关于作业完成的录像 14.关于态度、意见的问卷
15.和其他学生的谈话
由于涉及到的实绩标本很多,就对画星号的项目做详细的解释:
☆ 反省日记:是以主观的形式记述个人对客观性的事物的感想、意见、经验的方法而收集的资料。
☆ 超认知活动:学生的超认知活动是对于自己的学习过程和结果进行自我反省的过程,以此来支配自己行为的活动。
☆ 作业实绩:是为了判断学生真正能够做什么而进行的评价。例如化学试验、问题解决的方法、音乐会的独唱、演说、阅读活动等的完成,以这些活动的作品作为评价的资料、信息。
☆ 研究计划:这是为了诊断学生的交流能力和问题解决技能等的发展情况而使用的评价方法。他具体地表现在个人、小组、学校内和家庭等范围内。例如,制作模型和地图、画图和制表、摄影、演电影、拍电视等诸种活动。
☆ 图式构成图:它是表现孩子将事物和现象系统化、比较对照、分类的诸技能的评价方法,是学生描写的心意图。
2.3 考试信息群
考试信息群包括三个方面,一是简单的评价课题;二是比较大的场面课题;三是长期的评价课题。
在档案袋中存放的考试信息不同于以往的考试评价,即使是简单的评价,也有一个较长的时间跨度和过程中对学生学习和效果的关注。
这三个考试信息,从规模上说,是逐渐扩大的;从时间上说,是逐渐增长的;从实施的灵活性说,是逐渐减少的。下图简单表达了它们的关系,但只作参考。
☆ 简单的评价课题的考试
包括开放式课题、被改良的多选择的问题、制作概念图等。
第二篇:教育博客
亚洲教育网:
教育博客
听过新浪博客、网易博客,那亚洲教育网教育博客你听过吗?这已经不是一个新鲜的名词了。几年前亚洲教育网就为广大中小学校的老师、学生及家长构建了专注于教育交流的新方式——教育博客。
刚刚为人父母,怎样当好孩子的第一任老师?孩子慢慢长大,变得叛逆、莽撞,却不知如何引导。每天和一群孩子斗智斗勇,晚上回去还有准备第二天的课程,可学生成绩不好有时却得不到家长的理解。父母永远把自己的意志强加在身上,往往不知道自己最想要的是什么。亚洲教育网教育博客让所有家长一起面对教子难题,共同分享教子经验;让所有老师分享育人心得,实现家校有效沟通;让所有的学生表达独立想法,拉进亲子距离。
亚洲教育网教育博客实现了互联网、广电网、电信网的三网融合,大家通过电脑、电视、手机三种不同的终端都能进行互动。学生可以通过写博客来记录自己的学习想法、心得,记录生活,在自己的每一天上留下思考的划痕;教师可以发表自己的教育观点、整理思路,固化知识,获得更多更好的想法;分享,将自己的有些想法、经验与人分享;交流提高,通过交流产生更多的思维火花,相互提高;交友,互相鼓励,一路同行。
亚洲教育网教育博客构建了全新的教育博客新形势,推动了我国教育信息化的不断发展。
教育博客:
第三篇:教师博客系统
CAJViewer 7.1 PHP是一种服务器端、跨平台、Html嵌入式脚本语言,它在快速发展的Web应用中,被越来越多的网站采用。利用PHP进行中小型web开发应用,会使开发工作变得更加简单、高效。本文基于Windows+Apache+Mysql+Php环境,对PHP的开发应用进行了研究,参照软件开发流程开发了一个教师博客系统,并展示了整个开发过程。在开发过程中,利用PHP面向对象编程特性,编写了类库文件,减少了编码的出错率和工作量;利用安装文件对数据库进行初始化,增强了系统的可移植性:利用文本文件存储数据,减小了数据库负担,缩减了系统,加快了运行速度。
PHP is a server-side, cross-platform, and html embedded script language which has many advantages.With the rapid development of web application, PHP has been widely used by more and more websites.It is much easier and efficient to program by PHP for the development of small or medium-sized websites.Based on the Windows+ Apache+Mysql+PHP environment, in this paper, the author studies web applications developed by PHP, and also develops a personal' blog system according to standard software development framework.During the courses of development, the author programs some class library files taking advantage of the PHP's OOP properties, which reduces the coding mistakes and workload of programming.The system database is initialized by a setup file, which enhances the system portability.Text file is used as database, which lowers the burden of system database, reduces the system scale and enhances the system running speed.O.问题的提出 O.1博客现状 0.1.1博客简介
blog的全名是Web log,中文意思是“网络日志”,后来缩写为Blog,而博客(Blogger)就是写Blog的人。从理解上讲,博客是“一种表达个人思想、网络链接、内容,按照时间顺序排列,并且不断更新的出版方式”。
随着Blog的快速扩张,它的目的与最初的浏览网页心得已相去甚远。目前网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog己成为家庭、公司、部门和团队之间越来越盛行的沟通工具,它甚至也逐渐应用于企业内部网络(Intranet)中。
“2004年以来,在国内教师博客也成为热门的网络应用之一。教师博客是教育博客中的一种。教育博客面向教育界,是以教育、教学等教育界话题为主要传播内容的分类博客服务。教师博客特指面向各类教师用户推出的博客服务。教师申请注册一个博客空间后,就相当于在网上建立了一个交流社区,利用互联网新兴的博客(blog)技术,以文字、多媒体等方式,将自己日常的生活感悟、教学心得、教案设计、课堂实录、课件等上传发表,以此开展师生(以及其它网民)之间的传播活动。它超越了传统时空局限(课堂范畴、讲课时间等),促进了教师个人隐性知识显性化,并让全社会可以共享知识和思想。“ 著名的博客中国网、中国教育和科研计算机网等都相继推出了教师博客服务,使博客日益深入地服务于从幼教到大学的各学科教师的教研活动之中,给教育教学工作带来了新的气象。随着教师博客的大规模普及,将在传统基于课堂教学的“教堂式教育模式”之外,催生出真正开放的“集市式教育模式“,推动人类教育事业的进步。
0.1.2博客开发技术
当前,新浪、搜狐、人民网、博客网、网易、和讯等网站,在不断推出博客服务平台,各自在资源整合与技术的架构上发挥了自身的特点和优势。进行博客技术开发应用,这对中国互联网全面推进博客走近百姓日常生活起到了非常重要的作用。博客技术后台服务功能更加便利和高效。不同的网站都以自己独特的创造性,整合博客技术初级化的缺陷,在综合的基础之上,人们感受到更加完善的博客应用系统被开发出来。新浪博客技术具有传统网络成熟稳定性,搜狐的博客已经具有更完美的形态,博客网的梦之城第二代博客具有更人性化和娱乐性表现;新浪的整体架构与博客网自主聚合编辑系统和网易部落聚集,都体现了博客交流形态复杂性与唯美的结合。
随着博客技术的流行,博客技术形态会更加具有人性化和高效的服务性,网络整体架构会发生更加多样的变化。创新博客技术的引进和使用过程,会提出更多的问题需要从整体架构上进行思考。集娱乐、通讯和新闻、广播、影视和商务、政务、企业、管理等一体性网络架构将成熟,全新的网络架构模式会出现在中国互联网发展的历史上。未来的博客将呈现以下发展趋势:
(1)博客成为人们普遍接受的交流平台
BBS、电子邮件、即时短信、通讯已经改变了整个未来网络走向和应用功能,博客将改变整个网络的传播面貌。它可能集所有的功能来综合应用,开发出它作为普及性交流平台的作用和功能。博客可以应用影视、图片、广播和文字等手段与技术,自由发布个性化信息的时代。它将整个改变了人类精神交流和文化传播的模式。传统的传播受到了很大的冲击,人们将要面对博客带来的深刻变化,并且会适应这种变革中所发生情景,并且逐步普遍会接受博客这样的交流平台。
(2)博客平台与移动手机传播互动技术日益成熟
3G手机的发展会带动或加快整个博客平台技术很快成熟起来。人们会利用博客平台来进行影像互动和文字短信的交流,这个既是通讯又涉及到商务活动和娱乐平台,会迅速推动整个博客与手机互动性服务模式的运行。在不久的将来,人们利用手机阅读器就可以看电影、看电视、听音乐、购物、玩游戏或传播图像和更换自己的博客。
(3)博客将推动整个传媒与出版业发生变革
自媒体的博客传播将会改变整个信息化产业结构,尤其是新闻和出版业的发展未来,将会更多的受到它们的影响和改变。人们关于媒介信息的需求更加个性化,这并不是说它彻底改变了整个出版业和新闻界,而是说多元化的社会文化需求,人们更多的偏爱独特的信息传播,或者说更多个性化的信息服务,更加具有针对性的信息传递。新闻和出版业会更多的关注或参与到博客中来,建构新闻与出版的平台,满足人们对于新闻与出版更多服务与要求。
(4)博客传播全球化必然是互联网未来选择
全球化的过程,对于互联网就是一个无国界的传播过程。博客就是适应了这种传播的需要而产生。每一个人,都可以在全球化的过程中建构一个自由发布个性化信息平台,这就是互联网给人们带来的革命性变革力量。一个开放的社会,实际上,就是一个虚拟世界中更真实的面对现实社会的选择。博客的发展是一个必然的过程,全球化的传播,也是一个能够给人们带来更多信息的社会。互动的网络社会突破了地域之间人们的阻碍,它给人们带来了更多的机会和把握未来的机遇。
从技术上来说,博客系统是基于web模式的,具有基本动态web开发技术的工具都可以进行博客开发,大多数web开发技术都是HTML嵌入式的,目前,流行的web开发技术主要有:
<1)ASP和ASP.NETo ASP(Active Server Pages,动态服务器主页),是一种应用程序环境,可以利用VBScript或JavaScript脚本来设计,主要用于网络数据库的查询与管理。以
asp为前身,微软于2000年1l月发布了ASP.NET,并与2005年正式发布了功能更为强大、使用更为简单的ASP.NET 2.O o
(2)PFIPo PHP(HyperText Preprocessor,超文本预处理器),其优势在于运行效率比一般的CGI程序要高,而且完全免费,任何人都可以从PHP官方站点(http: //www.xiexiebang.com/down/php一52 0RC4-Win32zip ③mysql.40 14-win far下载参考地址:
http://www.xiexiebang.comm_info:
Mysql> CREATE TABLE IF NOT EXISTS 'blog-cometjnfo'('id' int(11)NOTNULL auto一ncrement,'blog id' int(11)default'0','comet-name' varchar(32)NOT NULL,'cont' text NOT NULL,'add time' datetime default '0000-00-00 00:00:00',UNIQUE KEY'id'('id'));/
这样,我们就可以在命令符状态下创建了一个表blog comet_ info,并对表的每个字段进行了定义,使用类似语句就可以创建出所有我们需要的表了。4.编码实现过程
在明确了需求后,我们对PHP进行了探究,接下来,我们又对博客系统分别进行了功能设计、数据库设计、文件结构设计、流程设计,下面我们来进行最繁琐也是比较重要的一步,就是编码实现过程。
为了使编码过程更加清晰、有层次、易‘懂,我们将文件依次按照类库文件、安装程序文件、注册用户文件、管理用户文件、浏览用户文件等四个相对独立的模块进行编码,并在编码中给出了必要的注释。4.1类库文件模块
4.1.1数据库类文件核心代码。
此文件在文件夹inc下在文件mysql.php中,这里我们定义了一个数据库类mysql,对用到的数据库操作进行了封装。这样,在任何页面中都可以用include方式引入外部文件的方式进行引用。
一一一一一=inc/mysql.inc.php二一—一一一一一一
class mysql{
///连接服务器、数据库以及执行SQL语句的类库
public $database;
public $server username;
6public $server userpassword;
function mysql()
{//构造函数初始化所要连接的数据库
$this->server username=”root“;
$this->server userpassword=”root“;
}llend mysql()
function link($database)
{刀连接服务器和数据库 if($database==”“)王
$this->database=”newsee manage“;
}else{
$this->database=$database;
} //连接服务器和数据库
if($id=mysql_ connect('localhost',$this->server username,$this->server userpassword)){ if(!mysql_ select db($this->database,$id)){ echo”数据库连接错误!!”;exit;} }else{ echo”服务器正在维护中,请稍后重试!!” exit;
} }//end link($database)function excu($query){//执行SQL语句
if($result=mysql-query($query)){
return $result;
}else{
echo mysql error();
echo ”sql语句执行错误!!请重试!!”;
exit;
} }//end
exec($query)
}//end class mysql
?>
文件中使用了构析函数mysql对数据库类初始化了数据库连接的主机、用户名和密码,并把数据库查询、修改等操作作为数据库类的方法进行了封装。4.1.2函数库类文件核心代码
此文件也在文件夹inc下,我们把各种常用的函数封装在了myfunction这个类中,放在了文件myfunction.php里。这个类没有属性,只有方法,每个方法实现了一中特定的功能,在外部引入中可以直接使用类的各种方法,从而实现系统操作的各种功能。一一一—=inc/ myfunction.php一一一一二一一一一二
class myfunction王
//////////////刀字符转换:向数据库中插入或更新时用IIIIIIIIIIIIIIIIIIIIIlIlII
function str_to($str)
{
$str--str-replace(“ ”,“ ”,$str);
//把空格替换】itml的字符串空格
$str=str一 replace(“<”,“<”,$str);//把 html的输出标志正常输出
$str=stree replace(“>”,“>”,$str);//把html的输出标志正常输出
$stt=n12br($str);
//把回车替换成html中的br
return $str;
} ////////////////字符转换:从数据库中读出显示在表单文本框中用////////////////I/////////
function str to2($str)
{
$str=str_replace(“ ”,“ ”,$str);
//把空格替换html的字符串空格
$str=stres replace(“
”,“",$str);//把html的输出标志正常输出
return $str;
} //JS弹出信息框
function js_ alert($message,$url){
echo ”“;
} //判断是否为整数
function int一 estimation($num)笼
if(eregi(”^[0-9]+$“, $num)){
return true;
}else{
return false;
} //类型记返回类型名称
function type idto name($type id){
$folie=new mysql;
$folie->link(”“)}
$query=”select type-name from blog type info where id='$type_id“';
$rst=$folie->excu($query);
$info=mysql fetch_ array($rst);
return $info[”type-name“];)//博客信息表中的类型id返回博客类型名称
function blog type idto_ name($type id){
$folie=new mysql;
$folie->link(”“)}
$query=”select*from blog type info where id='$type_id“';
$rst=$folie->excu($query);
$info=mysqlwe fetch array($rst);
return $info[”type一 name“];
} llll/IIIlI分页函数返回:首页上一页[1][2][…]下一页尾页//////////
function page($query,$page id,$add,$num_per page){ //// include ”mysql.inc“;//////使用方法为: /////$my}new myfunction;////// $query=”“;////// $myf->page($query,$page id,$add,$num}er}age);////// $bb=$aa->excu($query);$bb=new mysql;global $query;
//声明全局变量 $bb->link(”“);$page-id=$_ GET[page id];//接收page id if($page-id==”“){
$page id=l;
} $rst=$bb->excu($query);$num=mysql一 numes rows($rst);if($num---0){ echo”无相关记录! }else道 $page num=ceil($num/$num_per}age);for($i=l;$i<=$page num;$i++){ if($page id==$i)笼 echo ”[$i]“; }else{ echo ” [“.$i.”]“; } } if($page一d==1){ $pagewe up=l; }else{ $page-up=$pag勺d-I; } if($page id==$page-num){ $page down=$page-num; }else{ $page down=$page id+l;) if($page id<$pagees num and $page_ num> I){ echo ”下一页“.} if($page id>I and $page id<=$page_num){ echo ”上一页<}}a>}}; } echo “ 第”.$page_ id.”页,共”.$page-num”页”; $pageyjump=$num}er-page*($page id-I); $query=$query.” limit $pag叼urnp,$num}er-page“; } } } ?> 本文件中,我们自定义了常用的字符转换、弹出信息、分页等常用函数,在本 系统里,这些函数属于通用函数。4.2安装程序模块 本文件在主目录下,文件名是install.php,它是数据库初始化页面,完成数据库 和表的创建功能,第一次运行本系统时,运行一次本页面程序,运行成功后就可以 把本页面文件删除掉。 ——一一一一install.php一一一一一一 }}PhP include ”inc/mysql.inc.php“; $aa=new mysql; $bb=new mysql; $aa->link(”mysql“); $query=”CREATE DATABASE 'blogwe db'“; if($aa->excu($query)){ echo”数据库创建成功! } $bb->link(“blog db”); //创建表:manage user info// $query=“CREATE TABLE 'manage info'('id} int(11)NOT NULL auto increment,'manage user' varchar(20)NOT NULL,'manage}rv' varchar(32)NOT NULL,'last time' datetime default'0000-00-00 00:00:00',UNIQUE KEY'id'('id')),’; $bb->excu($query); echo”创建表:manage一nfo成功! 通过标准的SQL语句“CREATE TABLE tablename(name type......),然后借助 PHP内置的MYSQL支持函数excu(SQL),我们依次可以创建表: // user info// // blog_type info// // blog info// // blog_comm_info!/ // pic info// 接下来一步我们需要初始化管理员用户名和密码: $query=”INSERT INTO 'manage-info' VALUES(1,'admin','admin','0000-00-00 00:00:00')“; if($bb->excu($query)){ echo”初始化管理员用户名和密码:admin,admin } echo “OK!”; ?> 在本页面里,用了七条sql语句在mysql里创建了一个数据库blog_db,然后又分别创建了本系统用到的六个表:manage_ info,user info,blog一 type_ info,blog info, blog-comm info.pic_ info。并对每个表的每个字段进行了定义。4.3注册用户功能模块 注册用户是本系统的主要用户,跟它有关的文件有主目录下的loginl.php文件和manage文件夹下的所有文件。 在login.php文件里,实现了注册用户的登陆和注册功能,在manage文件夹里的文件里实现了注册用户的所有管理功能,包括常规设置(general.php)、友情连接管理(link.php)、图片管理(pic_ add.php)、博主的话(sta_say.php)、日志分类(module_ add.php)、日志添加(blog_add.php, blog_ edit.php)、日志管理 (blog manage.php)、安全设置(key.php, session.php)等功能。另外,管理界面文件为user.php,在user.php文件里,实现了动态包含文件的功能。还有一个menu.php文件是单纯的包含在user.php里面的。下面我们对每个文件的编码和功能进行分析 4.3.1登陆文件核心代码 本文件通过一个Get变量$一ET[}}register_ tag}}」标志出是用户登陆还是注册,然后用分支结构语句分别进行处理,其核心代码如下: 一—一一=loginl.php=—一—一一二 include “inc/mysql.inc.php”; include “inc/myfunction.php”; include “inc/head.p帅,; $folie=new mysql; $crazy=new myfunction; $folie->link(”“)} 刀接受变量 $register tag=$_ GET[”register tag“]; $up_register=$少OST[”upes register“]; $up login=$ POST[”up login“];刀验证用户登陆信息 if($up_login==1){ fuser-name=$一OST[”user name“]; $query=”select*from user info where user-name='fuser name' and tag--'1”,; $rst=$folie->excu($query); if(mysql num-rows($rst)>=1){ $info=mysql_ fetch array($rst); fuser-pw=$_ POST[“user_pw”]; if($user}w==$info [“user}w”]){ $_ SESSION[“user name”]一$user name; $_ SESSION[“user id”]=$info[“id”]; $_ SESSION[“user tag”]=“1”; $today=date(”Y m-d H:ia“); $query=”update user info set 'las甘ime'='$today' where 'id'= $info[idJ“'; //$query=”insert into user info('user name','user}w','last time')values('$user name','$user-pw','$today')“; $folie->excu($query); $crazy->js alert(”登陆成功!”,“manage/user.php”); }else{ $crazy->js alert(”用户名或密码错误!“,”index.php“); } }else{ $crazy->js alert('’用户名或密码错误!”,“index.php”); } } //判断用户注册信息,并写入数据库 if($up一 register=1){ fuser name=$一OST[“user name”J; if($user name!=“"){ $query=”select*from user info where user name='fuser name“'; $rst=$folie->excu($query); if(mysql num rows($rst)<1){ fuser-pwl=$ POST[”user_pwl”]; $user}w2=$一OST[“user}w2”]; if($user_pwl=$user}w2 and fuser-pwl!=,”){ $r time=date(“Y m-d H:ia”); $query=“insert into user info('user name','user-pw','r time')values('$user name','$user}wl','$创me')”} $rst=$folie->excu($query); if($rst){ $crazy->js_alert(”注册成功!“,”index.php“); } }else{ $crazy->js alert(',两次输入的密码不一致,请重新输入!”,“index.php?register tag=1 ”); } }else{ $crazy->js alert(”用户名己存在!“,”index.php?register tag=1 “); } } } ?> width=”752“ border=”0“ cellpadding=”0“ cellspacing=”0“ style=”border-collapse:collapse“> <八r> <}> 叼tr> include ”roc/foot.php“; ?> 4.3.2用户界面文件核心代码 用户界面文件user.php中包含了一个menu.php文件,它是用户操作的菜单选项并根据菜单选项传递给user.php一个操作标志,通过这个操作标志,user.php接收传递变量$_GET[”target“]实现了动态文件包含,从而完成了各种功能页面的包含功能,其实现代码为: $target=$_ GET[”target“]; $target.=”.php“;include $target;文件核心代码如下: 一一一—一=manage/user.php===--_-一一一二一 $folie=new mysql;$crazy=new myfunction;$folie->link(“")} ?> $target=$_ GET[”target“]; if{$target=” “){ 。品。”一欢迎您登录多用户博客管理后台:一< }else{ $target.=”.php“; include $target; } ?> <八r> width=”257“ align=”center“ valign=”top“> <瓜>
”;
-;
”; <八r>
一点击右侧连 进行相关操作。一”;
Include“../inc/foot.php”;
?> 4.3.3常规设置文件核心代码
常规设置是注册用户文件的一些个性化设置,其设置数据存储在文本文件中,文本文件在主文件夹下config文件夹里,每个注册用户有三个文本文件保存常规设置,分别为config*.txe,link*.txt,sta say*.txt命名。本文件中实现了文件的读写功能。其核心代码如下: 一一一=一一一=一=manage/general.php=--=二一=二—一一一
$config tag=$ GET[“config tag”];$name=“config”.$_ SESSION[“user id”];if($config_ tag==1){
刀接收变量
$margin一 top=$ POST[“margin-top”];
$margin bottom=$_ POST[“margin-bottom”];
$backgroun之color=$ POST[“background-color”];
$title=$一OST[“title”];
$copy right=$_ POST[“copy-right”];
//构造字符串
$str in=“
$str in.=“global $confg;n”;
$str in.二,’//网页布局参数w,;
$str in.=“$config['margin-top']=1”“.$margintop.”“;n”;
$str in.=“$config['margin-bottom'〕二”“.$margin_bottom.”“;n”;
$str_in.=“$config['background-color']=‘,,$background color.”“;n”;
$str in.=“1n”;
$str in.=“//头信息和版权设置坷,;
$str in.=”$config['title']=“".$title.”“;1n”;
$str in.=“1$config['copy-right']=”“.$copy right.”“;n”;
$str in.=“1n?>”;
刀写入文件
if($fp=fopen(',二/config/$name.inc“, ”w“)){
fwrite($@$str in);
fclose($fp);
}
include”二//config/$name.inc”;} @include”二/config/$name.inc“;?>
常规设置
4.3.4友情链接文件核心代码本文件通过文件读写功能将友情链接数据存放在用户配置文件link*.txt里面,并实现了友情链接添加删除功能,其核心代码如下:
一一=—一—=manage/link.php一一一二=二一-=一二一一
////编辑友情链接
if($ GET[”edit tag“]一1){
$name=”link“.$_ SESSION[”user id“J;
if(!@$fp=fopen(',二/configl$name.txt”,“r”)){
echo”未创建!
“}
}else{
$linlc_name=$一 GET(”linkto name“];
$linkwe name Nev.$ POST[”link name new“];
$link-addr new=$_ POST[”link-addr一 new“];
@$rst=fgets($fp,3000);//读取
$link=explode(”}“,$rst);
for($i=0;$i { if($i%2=0){ $j=$i+1; if($link[$i]=$linkes name){ Slink[$i]=Slink-name new; Slink[$j]=$linlc_addr new; } } } 刀构造新的字符串 for($i=0;$i if($i==0){ Slink-new=Slink[$i]; }else{ Slinkes new.=”}“.Slink[$iJ; } 刀重新写入 if($fp=fopen(',二/config/$name.txt”, “w”)){ fwrite($fp,$linlc_new); fclose($fp); } } } } ///添加链接 if($_ GET[“add tag”]一1){ Slinkes name-new=$_ POST[link-name-new]; Slinkra addr new=$少OST[link-addr-new]; if(Slink一 name new!=“" and Slink-addr new!=”“){ $name=”link“.$_ SESSION[”user id“]; @$fp=fopen(”二//config/$name.txt”,“r”); @$rst=fgets($fp,3000);//读取 if($rst---“"){ $rst.=Slink一 name new; $rst.=”}“.Slink addr new; }else{ $rst.=”}“.Slink name new; $rst.”}“.Slinkes addr new; } //重新写入 if($fp=fopen(”../config/$name.txt“, ”w“)){ fwrite($fp,$rst); fclose($fp); } } } //删除连接 if($_ GET[”del tag“]一I){ $linlc_name=$_ GET[”link一 name“]; $name=”link“.$_ SESSION[”user id“]; if(!@$fp=fopen(”../config/$name.txt“,”r“)){ echo”未创建! }else{ @$rst=fgets($fp,3000);//读取 Slink=explode(“}”,$rst); for($i=0;$i { if($i%2=0){ $j=$i+l; if(Slink[$i]一$Iink name){ Slink[$i]=“".Slink[[$i]=,”; break; } } } //构造字符串 for($i=0;$i { if(Slink[$i]!=”“){ if($i=0){ $str`in=Slink[$i]; } else{ $str`in.=”}“.Slink[$i]; } } } //重新写入 if($fp=fopen(”../config/$name.txt“, ”w")){ fwrite($印,$str in); fclose($fp); } } 35/67 56/67 6.结论与展望 6.1本文总结 本文先对当前教师博客现状和PHP开发应用现状进行了研究,接着探讨了在Windows下PHP环境的配置过程,然后对教师博客各模块进行了详细的功能设计和流程设计,接下来专门对数据库进行了设计,数据库设计完成后,我们开始进行了编码工作,最后,对整个系统进行了测试。在整个开发过程中,突出了以下几点:(1)类的应用。在编码工作中,将数据库和常用函数库分别定义了类,并对各种操作进行了封装,把代码集中到一个或两个文件中。这样就避免了在每个需要打开数据库的地方再 单独编写数据库链接代码,直接进行引用数据库类文件就可以了。同样,在需要用到常用函数的地方也可以直接引用函数库类文件。这也符合模块化编程思想,使得编码过程更加简洁、不易出错。 (2)文本存储思路。在数据存储设计中,为了系统运行速度更快,尽量减少数据库连接,本系统用到了文本进行数据存储。当一些数据量不大、不方便用数据库进行存储的数据时,适当考虑用文本来进行存储数据,这样不仅可以缩减系统,并且在存取速度上也存在一定优势。 (3)初始化文件安装方式。在一般的web开发中,都是事先直接在mysql中进行数据库定义,然后再进行开发,这样做最大的缺点是不便于移植到另一个系统中,容易造成数据混乱,并且不便于操作,也不方便记忆。初始化文件安装方式,使得本来可移植性强的PHP程序,可以连同数据库表定义移植到其他系统,并且简化了操作。 (4)PHP的session验证机制应用。在编码过程中,用到了PHP的session机制来对用户进行验证。合理利用session的验证机制,可以确认每个登陆者的不同身份,从而进行有针对性的操作,是每个系统必须具备的,但是PHP的session的验证机制相对来说更加安全、简单,实现起来也很方便。 (5)动态页面文件包含。在注册用户管理功能模块的user.php文件里,实现了用变量值作为包含文件名的功能,根据页面传递变量值的不同,动态包含以变量值命名的包含文件,简化了编程步骤,减少了编程工作量。 本系统实现过程中,也存在着很多不足,主要表现在功能过少、界面设计过于简洁、有些代码比较繁琐等。6.2 PHP前景展望 通过以上应用,我们可以看到,PHP在这种中小型应用是非常有优势的,主要表现在: (1)开放源码。PHP开发源码使得全球的PHPer们都可以参与到PHP的开发和测试中,PHP的每个漏洞得到及时改进和解决。另外,开发源码的低成本也使得PHP的广泛流行,在当前中小型web应用中,PHP所占的比例也越来越大。 (2)与MYSQL的完美组合。我们可以看到,PHP提供了对mysql的强大支持,仅仅通过几个函数,我们就可以进行对数据进行查询、修改等操作。PHP对MYSQL这种方便、简单的数据库操作,使得PHP+MYSQL的应用越来越流行。 (3)简单易学的语法。PHP的语法跟C语言很相似,但是又比C语言简单、好掌握,初学者不用花费很大的代价就可以用PHP编出一般的web应用系统。 当然,PHP还有很多特性和优点,我们在前面也介绍过。但是由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。这主要表现在: (1)PHP缺乏规模支持。PHP缺乏多层结构支持,对于大负荷站点,解决方法只有一个:分布计算,数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列。而PHP则缺乏这种支持。 (2)虽然PHP提供了对mysql的完美支持,mysql是一个快速,易用的数据库,但在系统稳定性和强健性上还不能和oracle等大型数据库相比,并且mysql不支持事务处理。另外,PHP提供的其他数据库接口支持不统一,这就使得它不适合运用在电子商务中,更不适合应用在企业的关键应用中。 (3)PHP作为一门Web编程语言,并不是纯粹的面向对象型编程语言。PHP对类重载的支持并不理想。甚至可以说PHP根本不支持真正的重载。因为PHP不允许一个类中出现两个同名的变量或者同名的方法,否则会报错。在大型应用中,面向对象编程会有很大优势。 可见,PHP是一种简单的,解释型的,健壮的,安全的,性能非常高的,独立于架构 的,可移植的,动态的脚本语言。它可跟mysql紧密的结合在一起,在中小型应用中有其它web编程语言不可比拟的优点,利用PHP+mysql开发中小型应用会使开发工作变得更加简单、高效,但是在大型的关键性应用上有所不足。相信随着PHP应用的快速发展,不久的将来,这些缺陷将会得到有效解决,PHP会迅速变成一种标准的,多用途的,面向对象的脚本语言。 教师博客心得体会 凤阳官塘中学 李松 几个月前,我在新浪网上了开启了个人博客,经过近几个月的用心“经营”,已经初具规模,有了一定的人气。在这里,关于自己博客的一点心得,想跟大家分享一下 随着时代的飞速发展,信息已经渗透到各行各业,作为教师更应该走进网络。来充分利用网络资源,借鉴别人的经验,搞好自已的 教学,所谓‘‘他山之石,可以攻玉’’。但一切也不能全靠别人,也不能只想要别人的,自己不付出。所以在这种情况下。我建立了自己的博客。在我的博客中,我主要是有以下几个板块: 一、语法园地:收集一些初中阶段的相似易混词组,把它们罗列在一起,一方面等于自己记了笔记,另一方面也可以给别人使用,效果还不错。 二、英语百花园:收集一些英美文化的背景知识,比如像一些小故事,让更多的教师来看到这些,为以后自己上课来提高学生的兴趣很有帮助。 三、教育手记:每个教师在教学中都有自己的教学方法,把它们收集在博客中,让别人看到,互相看到,互相借鉴,何乐而不为呢? 四、教育教学随笔:教学能只有教学实践,还要有一定理论基础,我把我自己的教学体验,心得都放在了自己的博客中,来与同行们互相交流,彼此提高。 当然,随着时间的发展,我还会慢慢的健全我的博客,像一些“教学后记、教育手记、读书笔记、学习小记”等等都会出现在我的博客中。上面是我的博客的内容,下面再谈谈我认为如何才能成为一个优秀的教师博客 一、美化博客 1、博客文章。 在做博客的时候,先试着放一些网络上优秀的美文,这样来吸引博友。当然,还是要鼓励原创作品,把工作上、生活中的所见所闻,写成心得与体会,放在博客上与博友一起分享。多写写原创文章,一则练笔头,多练多写,文笔自然会好起来;二则原创文章更能体现个人的品味与内涵,让更多的博友认识自己。 2、博客图片。 博客里的图片,可以放置一些个人生活照片。这样有利于博友认识您,了解您。当然,也可以放置一些自己喜欢的风景、人物等图片。图片与文章相互配合,达到一个内容丰富、图文并茂的效果。 3、个性化设置。 博客在原有的模板基础上,可以选择性地放置一些个性化设置。比如播放器、动画等。这样有利于区别其他博客,突出自己的特点。 二、提升博客人气 1、每日拜访好友。 要想认识更多的博友,拥有更多的好友,每日拜访少不了,而且一定要勤快。 2、及时更新文章,回复留言、评论。 鼓励大家多写原创文章,及时地更新文章,让更多的人浏览到您的文章和博客。另外要及时地回复博友在您博客上的留言与文章评论,并及时友好地回访留言与评论人的博客。礼尚往来是博客交流的一种美德。 3、拥有几个“铁杆”博友。 博客上的朋友也跟生活中的朋友一样,只要您真诚地去对待每一个人,他们都有可能成为您工作上、生活中的良师益友。拥有几个铁杆博友,他们每天会主动到您博客访问、留言、评论,同时把他们博客的人气也带动到您的博客来。 试想一下,几年之后,打开自己的网页,看到自己几年的教学经历、点点滴滴又都一一展现在自己的面前,是一件多么幸福的一件事,同时还有自己的一些东西为别人所用,又是多么开心。 以上这些就是我建立博客的目的、内容、想法,不过目前,我还是一个写博客的新手,建立它也只有短短几个月的时间,所以还是相当的粗糙,但我相信,我一定会好好的打理它,让它越来越好。 博客是一个展示自我风采的舞台。我们每个人都可以通过不断地阅读文章,撰写文章来提高自身的文化素质,积累专业知识。希望大家都能把自己的博客做得更加美观、大方,把自己的风采展示在博客上,让更多的博友认识您的风采! 5/27/2009 新教育——幸福的教育 2017年7月,我校正式成为新教育实验学校。在新教育实验的道路上,很幸运自己是一名外小人,在校长的孜孜不倦的追求之下,我能享受新教育带给自己的成长和改变,真正走上幸福而完整的教育生活光明大道。 新年伊始,伴着室外飘飘扬扬的美丽雪花,我校有幸邀请了张硕果,宋新菊和杨荣三位新教育榜样教师,给了我们一场新教育的培训盛宴,这真是一次完美的相遇,使我眼界大开,感受良多。 第一次了解到新教育,也是在外小。教师茗廊里,第一次去找阅读书,就看到书架上特别多的朱永新,新教育等等,随手拿起一本《朱永新教育小语》翻看。虽然每页只有寥寥几十字,却字字珠玑,让人思绪万千。当时对于“新教育”和朱永新,这两个词,都还是很陌生,回到办公室,我上网了解了一下,才知道,所谓新教育就是让教师过上一种幸福而完整的教育生活。从本次培训的三位榜样老师的课堂和教育分享中,我切实体会到了,她们作为一名教师的与众不同,以及在她们的新教育所影响下的孩子的与众不同。 我一直很欣赏新教育实验所提出的六大行动:营造书香校园、师生共写随笔、聆听窗外声音、熟练运用双语、创建数码校园、构筑理想课堂,每一项都使我眼睛一亮。新教育最新的理念是:为了一切的人,为了人的一切,为了学生的一切。这行动和理念都在杨荣和宋新菊老师的课堂上展露无遗。 杨荣老师的晨诵课《星星和花》以及绘本课《小真的长头发》,都将低年级孩子的兴趣深深吸引住了。杨老师温柔的引导语言和动情的诵读,把这一首美丽又充满想象的诗深深嵌入孩子们童真的心灵,激发他们对于诗歌诵读的喜爱,更是打动了我们在场的每一位老师。绘本课也使得我陷入沉思,同样作为低年级老师,也在讲绘本课的我,为什么没能将课堂上得如此生动,没能让孩子们全身心投入想象,没能继续开拓更多的想象空间呢?也许差别就在于老师的引导语,耐心和鼓励性的评价吧。平时的我都太过于心急,急于推动故事情节,急于引导出孩子们充分而确切的想象片段,没有针对性的鼓励性评价,渐渐地,孩子们的兴趣也消磨了不少。 宋新菊老师的导读课《时代广场的蟋蟀》,亦是给孩子们带来了一场阅读盛宴,让作为语文老师的我,同样被深深吸引,不只是这本书有趣而波折的故事情节,更多的是老师那幽默而又贴近孩子的语言,最大程度去激发了孩子的大胆想象,整个课堂就是一个想象力飞翔的蔚蓝天空。因此,这节课才会让孩子们恋恋不舍,不想下课跟老师告别,感染了台下的每位老师。 教室,一直被我认为是教学的主阵地,从未想过要用它来为我的教育增加几分光彩和帮助。但自从进入外小,开始自己着手设计和布置教室班级文化,也曾下放一点任务给孩子们,在我们师生的共同努力下,原来空无一物的教育已经换了新颜,我似乎领略了一些什么。这次的培训中,三位老师都讲到教室,她们的教室,是那么温馨和饱满,就似是秋季里即将丰收的美丽原野,充满了活泼的生命气息。对于构建完整的班级文化系统,张硕果老师的《缔造一间完美教室》给了我很多具体可行的办法和理念。从杨荣老师的“葵花班”和宋新菊老师“小梅花班”,我能清晰看到,班级文化都是孩子们成长的点点滴滴,不需要老师刻意去塑造和照搬他人,因为她们独特的班级课程能把孩子们每一个成长瞬间都抓住,给每个生命以专属体验,让每一次成长都有仪式感。 以小学为例,新教育的基本课程节奏: 1.的晨诵 2.每周的读写绘(低段)或阅读课(中高段) 3.每月的整本书共读、每学期的生命叙事剧展演、每学年的结业典礼„„ 4.点缀其间的种植课程、科学课程、四季课程、游学课程„„,还有那些仪式与庆典,如开学课程、生日课程、节日课程、毕业课程等等,孩子们的每一天被赋予不同的意义,生命因为这些特别的日子而联系在一起,生命也因此一点点鲜活起来。 小梅花班就是在这样一个个丰盈而有趣的课程中逐步成长起来的。 正如新教育的理念,为了一切的人,为了人的一切。课程的最终归宿还是要为了每一个孩子,让他们的生命个个都充盈而鲜活,作为老师与这些快乐的生命编织交融在一起,教师也定能走进完整而幸福的教育生活中!今后,我将努力看书,学习,丰富自我,继续前行!
”;第四篇:教师博客心得体会
第五篇:新教育博客