最近花了几个夜晚帮师妹整了一个企业网站

news/2024/5/17 9:32:46/文章来源:https://blog.csdn.net/weixin_33749242/article/details/90499159

背景:

话说年前有个师妹泪眼汪汪,楚楚动情地找我帮她弄个企业网站。

不过那时候,每天都苦B地闪着:“加班中,相信不用多久升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰,想想还有点小激动呢”。

所以每夜都懒懒地累到不想动,一直拖延到年后,回到广州才动有了写代码的冲动。

想想毕竟是自家师妹,承诺过的还是要还的,所以打算认真负责的花些时间把它整出来。

 

技术选型:

1:时间考量: 

首先这是一个义务型的网站,所以会考虑时间不能占用太多, 尽量满足基础功能,比较异想天开的功能先忽略。

整体前后沟通和小调整,历长1-2周,实际编码时间,大概24小时内,换算起时间,那也是三个工作日,六个夜晚啊。

2:技术选型:MVC还是WebForm:

A:时间不能占用过多,开发周期不能拉长。

B:个人能临时提供的服务器是2003,只有.NET 2.0,后期可能会转移到对方购买的虚拟主机,所以部署要方便。

C:友好的URL并不是对方在乎的。 

所以综合考虑:WebForm。

像MVC,它的优点是:提供简单友好的URL,对外是一个好的唬头,MVC架构分层思想对新手是一种引导。 

3:数据库选型:MSSQL?Access?Sqlite?

用MSSQL,在这种简单的企业站里,大财小用了。

Access:拥有最弱的并发限制,64K,这个在我以前QBlog系列文章里,把它优化上天了,后来还是离开了。

Sqlite:这个需要最高的信任权限,某些虚拟主机商可能会不支持,而且并发能力和Access差不多一个级别。

 

以我多年的实战经历,这里我选择文本数据库,这里有几个重要思考因素。

1:数据量少:少到可以预估的时间内,文章不会超过1千。

2:占用资源少:目前VPS就1G内存,数据库勉强跑上了sql2000,而且服务器上跑了好几个项目,不适合把这外部的数据放置到自己的项目中。

3:性能要高,抗并发要强:服务器本身配置很低,如果不能抗并发,随便用我提供的分布式压力测试就能搞掉的话,那不坑我自己的服务器。

4:数据的安全性隐私木有要求:这些数据都是可公开的。

综合上面的考虑,MSSQL,虽然能抗并发,这个吃内存,不行,而Access和Sqlite不抗并发,如果选择了它们,意味着我必须考虑到整个缓存机制或生成静态页面机制,这无疑会加长我的开发时间。

 

好在我发现了文本数据库:刚好满足以上的条件,而且文本数据库一直在应用,基本上这个企业站也不在话下,所以最后是用上了CodeFirst方式的文本数据库。

而选择文本数据库,经压力测试,几千上万个并发也不是问题,它天然的内存数据库机制本身就是缓存机制,一次开发,就可以收工了。


实战开发:

1:美工的界面来源: 

首先,她不是美工,我也不会美工,所以,网站需要有参考,好在她给了一款参考网站。

所以,以我的经验,把对方网站那点皮肤弄下来不是什么问题,所以美工的问题看似就解决了,具体看一眼下图,发现是很清秀简洁的:

 2:代码编写:

由于数据库选项是文本数据库,所以基本上就是CodeFirst,定义好业务实体,什么分层,在这里就是浮云:

 

Web.Config就这么一行了:

<connectionStrings>
        <add name="Conn" connectionString="txt path={0}App_Data\db;ts=0"/>
    </connectionStrings>

 

具体运行后产生的数据存储,就在App_Data下的db文件夹下了,一个表就对应一个文本数据了。

另外考虑到文章的字节大,就单独隔离出来一个body文件夹来存放文章,代码也很简单:

复制代码
public class ArticleBody
    {
        public static void Set(int id, string body)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + "/App_Data/db/body/" + id + ".body";
            File.WriteAllText(path, body);
        }
        public static string Get(int id)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + "/App_Data/db/body/" + id + ".body";
            if (File.Exists(path))
            {
                return File.ReadAllText(path);
            }
            return string.Empty;
        }
    }
复制代码

 

红色那一块是后台,由于偷工减料,所以就不方便公开名称。


3:技术点需要思考的地方:

整个网站,基本上都是简单类似以下的代码:

复制代码
public partial class ArticleCate : System.Web.UI.UserControl

    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindList();
            }
        }
        void BindList()
        {
            using (ArticleClass a = new ArticleClass())
            {
                a.Select("order by orderNum asc").Bind(rptList);
            }
        }
    }
复制代码

不过也有一些需要费点脑的:

3.1:左侧的分类列表,有的点击是直接进入到文章详细,有的点击是直接进入列表界面:

面对这个问题,有着最开始的设计思维:

A:分类名称难道是文章的名称(因为见过的很多基本上都是同名) ?

B:那么要区分显示在列表还是单独的,要在文章里加个字段以区别?

中间的过渡思维:

A:分类名称就是分类名称?

B:分类名称上加个字段,以区别点击是进入指定的某个文章?

最后的决定性思维:

A:分类名称还是分类名称。

B:当分类名称只有一条文章时,地址变为直接指向那篇文章。

 

3.2:文本编辑器的引入:

一开始我是很偷懒的,用一个文本框来发文章,就想了理了。

后来想想不能懒到这程度,毕竟人家是师妹啊,何况我还单身,所以引入文本编辑器升级一下档次也是有必要的。

网上可选的编辑种类很多,FCK,King等网上一搜一个堆,不过我还是思考了一下,如果用上这些:

第一,重,随便一个都几M起步;

第二,图片上传需要自己再折腾,如果运气不好,研究+实现可能会花上一天时间。

第三:我太懒了,我想最多1小时以内就把它给换完。

 

我想到以前QBlog里我写过一个编辑器(改来的),于是直接弄过来,发现原来的代码和QBlog的开发模式有点结合。 

花了几分钟,改了点代码,基本上就能用了,而且重点是文件上传,基本上小改几分钟也适合着用了,省了不少时间。

 

 

3.3 产品中心lightBox.js的引入:

这一块就没什么好说的了,就是那种一点图片出来一遮照层,整个背景黑的那种,06年就开始流行的,没想到现在还用的上。 

关于后台:

对于后台,一开始打算用QBlog那种后台方式,或者像EasyUI那种前端,然后搞个CodeSmith批量生成一样,不过一想到这CS不知道放哪了,光找出来就要不少时间,再说它也不支持我的文本数据库。

虽然CodeFirst也支持多种数据库,改个数据库链接就可以转移到其它数据库,然后再借CS去生成,不过感觉这转来转去的麻烦。 

于是,心一横,就那几个表,也就几个界面,还不如手工来的快,于是一个木有样式,惨不忍睹的界面,只有最简单的增删改查逻辑的后台就出来了。

由于后台界面这一块太丑,就不截图了,免的亮瞎了大伙的眼睛。

 

网站预览(已失效):http://paileju.com
至于源码,想要来学习的也可以Q我,随便给。

总结:

到此,基本上就算完工了,搞完之后,收到了师妹寄来的零食,也算是一种回报了,虽然大部分零售是辣的不合我口味,不过还是有不少零售味道还是不错的,像那个1块钱1个的肉松饼就很好吃,可是,为啥只买了一个,纳尼?



本文原创发表于博客园,作者为路过秋天,原文链接:http://www.cnblogs.com/cyq1162/p/3573726.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_780686.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java网站视频资源加密

----------------------------------------------------------分享此文章&#xff0c;只为让版权能够得到更多的保护---------------------------------------------------------------------------- 目前公司是做线上视频教育的&#xff0c;教育视频资源一直被盗取&#xff0c…

对Web开发人员有用的8个网站

导读&#xff1a;本文是由比利时的Web开发人员Jean-Baptiste Jung分享的&#xff0c;Jung还在《Web开发/设计人员应当知道的15个网站》这篇文章中推荐了15个相关网站。 1. Min.us: 上传图片的最简单方 任何开发人员、设计师、网络管理员都必须跟客户和同事在线分享图片。Min.us…

网站收集

1.http://msdn.itellyou.cn/ MSDN很多工具可以下载 将地址拷贝到迅雷下载即可 2.https://visualstudiogallery.msdn.microsoft.com/a1166718-a2d9-4a48-a5fd-504ff4ad1b65 isual Studio示例代码浏览器 免费Visual Studio示例代码浏览器为开发人员提供了一个在Visual Studio 20…

网站出现慢、卡段问题查找。

希望能帮到大家。大家如果有兴趣可以来我的网站看看:http://www.jiegelo.com

使用nginx+tomcat实现不停机升级网站

还记得那些美妙的夜晚吗 你洗洗打算看一个小电影就睡了&#xff0c;这个时候突然想起来今天晚上是服务器更新的日子&#xff0c;你要在凌晨时分去把最新的代码更新到服务器&#xff0c;以保证明天大家一觉醒来打开网站&#xff0c;发现昨天的 Bug 都不见了。这时候你瞬间没有了…

在CentOS上使用Nginx和Tomcat搭建高可用高并发网站

目录 目录前言创建CentOS虚拟机安装Nginx安装Tomcat安装lvs和keepalived反向代理部署网站搭建数据库编写网站项目解决session一致性注意参考资料前言 本篇文章将介绍如何搭建使用Nginx和Tomcat的高可用高并发的网站&#xff0c;我们将会在CentOS系统上搭建这样一个网站后端。这…

大话设计模式-享元模式的实践-网站模板享元

UML 用户类 用于网站的客户账号 是网站类的外部状态 /*** ClassName: User* Author: Leo* Description: 用户类 用于网站的客户账号 是网站类的外部状态* Date: 2019/5/28 9:58*/ public class User {private String name;public User(String name) {this.name name;}public …

只有登陆注册页需要https加密吗?N网站有必要全站加密吗?

很多人都觉得&#xff0c;HTTPS 可以保护用户的密码等登陆信息&#xff0c;那么其他时候就不需要了。但火狐Firefox浏览器插件Firesheep&#xff0c;证明了这种想法是错的。我们可以看到&#xff0c;其实在一些社交平台&#xff0c;劫持其他人的session是非常容易的。我们以常见…

Nginx-Docker下安装Nginx并部署静态网站

一、Docker安装Nginx教程 Docker安装Nginx教程 二、Nginx部署静态网站 1. 把静态文件放到挂载的宿主机目录内&#xff1a; Docker nginx 容器内 /usr/share/nginx/html/ 挂载到了宿主机 /root/nginx/www/camelia是我这个静态网站的项目文件夹&#xff0c;里面包含css/js/ima…

爬虫 -----爬取某个网站信息

一.Java爬取某个网站的信息 1.项目gitee地址&#xff1a;https://gitee.com/Javaxieyue/reptiles.git 2.爬取网站的地址&#xff1a; http://www.mca.gov.cn//article/sj/xzqh/2020/2020/2020092500801.html 3.要求&#xff1a;需要对html页面有点了解&#xff0c;以便对爬…

Sharepoint 创建个人网站时出现错误。有关详细信息,请与网站管理员联系

SharePoint Server 2007 / MOSS 2007 中启用了个人网站功能&#xff0c;并且配置了正确的SSP&#xff0c;可是用户在访问我的网站时总是提示&#xff1a;创建个人网站时出现错误。有关详细信息&#xff0c;请与网站管理员联系。 MOSS服务器场 具体环境如下&#xff1a; AD服务…

tomcat出现404的原因_Seo优化,404页面优化,这样做有利于网站页面优化-深圳长诚网络...

404页面就是在用户访问你的网站的某个地址的时候&#xff0c;如果这个地址不存在或者内容删除后&#xff0c;展现给用户看的页面。大多数站长在做站内优化时都会有404设置这么一项工作。如如果没有设置404页面&#xff0c;那么用户或的页面就是一个错误的页面&#xff0c;则搜索…

谈谈网站静态化

写在前头 静态化是解决减轻网站压力,提高网站访问速度的常用方案,但在强调交互的We2.0 时代,对静态化提出了更高的要求,静态不仅要能静,还要能动,下面我通过一个项目,谈谈网站静态化后的架构设计方案,同时和大家探讨一下,在开源产品大行其道,言架构必称MemberCache, Nginx,的时…

非常推荐:搭建一个大型网站架构的实验环境(FreeBsd+Nginx+Squid+Apache)

非常具有教育性质的好贴&#xff0c;决定本周在家按照教程学习。

大型网站架构(转帖)--详细介绍阶段性需求和应对方法

之前也有一些介绍大型网站架构演变的文章&#xff0c;例如 LiveJournal的、 ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&#xff0c;而没有很详细的讲为什么需要做这样的演变&#xff0c;再加上近来感觉有不少同学都很难明白为什…

同服务器的网站被K该怎么办,网站首页被K应该如何处理?

原标题&#xff1a;网站首页被K应该如何处理&#xff1f;上个月小编手里有几个网站首页被K&#xff0c;整站的收录和索引都正常&#xff0c;内页的排名也还在&#xff0c;唯独首页被K了&#xff0c;找了很久也没找出原因所在。网站的服务器、站内代码、文章质量、友情链接、关键…

55个神奇的网站布局

我们总是在摸索着网站布局的效果展示&#xff0c;总是花费不少心思在考虑用户体验的极致所在&#xff0c;在这里我在一个国外的网站看到以下网站布局方式&#xff0c;实为好赞&#xff0c;所以贴下来分享&#xff0c;并从中我们可以去为移动终端这块做最新的参考与演化方式。。…

小网站架构优化-提升抗并发能力:子应用程序分离方案

前言&#xff1a;标题为啥要加个“小”&#xff0c;只因为上一篇文章“小网站架构优化&#xff1a;从100并发抗到4000并发”&#xff0c;带了个“小”字&#xff0c;所以这篇也顺流加个“小”了。大意“小”是特指秋色园&#xff08;流量小&#xff0c;服务器配置低&#xff09…

打造成功电子商务网站的六大设计准则

我能信任你吗&#xff1f;这是所有网购用户忐忑不安的下订单之前都会在心里向网站问的一个问题。 你不能因此指责他们&#xff0c;因为这个时候他们正将自己的信用卡信息提交到你的网站上&#xff0c;而这又仅仅是因为他们认为你会将商品寄送给他们。 关于电子商务网页设计一直…

使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用...

在线演示 本地下载 如果你曾经开发过内容聚合类网站的话&#xff0c;使用程序动态整合来自不同页面或者网站内容的功能肯定对于你来说非常熟悉。通常使用java的话&#xff0c;我们都会使用到一些HTML的解析&#xff0c;例如&#xff0c;httpparser&#xff0c;最早gbin1.com的…