最近浏览了一下国内比较大的几个视频网站,发现在电击排行榜上名列前矛的全是打着色情擦边球的录象,可以说,发布这些内容的各个都是市场专家。能够准确的把握消费着的心理,合理的给自己的产品定位。
而且以和视频网站合作的方式也能赚到一些收入,这些行为简直是绝妙的投资。
视频网站,自去年张玉公布录象以来,就开始在国内互联网上兴起了,目前已经有几大品牌。目前,国内又出现了和过去的 个人网站热,BBS热,门户热,BLOG热 一样的视频热,很多视频网站如狼烟一样四起,试图在网上分割天下。互联网的竞争比传统行业更加残酷,因为提供的服务很难定量,定性,连能摸一摸的产品都没有,都是在流量上一决高低。甚至很多流量很高的网络服务却找不到盈利模式,这一点是致命的,开公司,不是搞慈善,即使搞慈善也得有支持!视频网站亦如此,
目前的互联网,除了电信等网络接入商能够长远发展,其他的不都是几年河东,几年河西。我们上网除了要掏网费,还有那么多的需求要那些网站去满足吗?互联网的赢利,几乎离不开广告费这个东西,包括大家为之感叹的GOOGLEEATH也是如此。网络游戏倒是个例外,它的虚拟产品能当实物一样出售,哪个游戏的刀都比你在超市买的王麻子刀要贵很多倍,这是为什么呢?我们可以讨论以下最底层的东西,那就是:目前存在着两个世界,一个是有街道,有阳光,有战争,有爱,有性的真实世界,一个是以互联网为联系,以服务器,PC等构成的虚拟世界。这两个的关系是:现实世界可以孤立存在,可以不需要网络(您会说,那怎么行,那多落后啊```可是人类已经落后了几百万年了),而目前的虚拟世界又依赖与现实世界,你说一个服务器给另一个服务器一些电子货币有什么意义?最终如果不转换成现实货币,它有什么价值,虽然期间可以抵消帐项(这一点很容易让人误解,这就是电子货币的价值,其实没有物质的交换,我们的纸币都是假的```),但是它只是我们物质需要的一种载体。
我们再看看GOOGLEEath这个东西,GOOGLE的未来就看它了,什么门户,BBS,BLOG,电子商务,它们再做什么呢?从最底层的看,都是在模拟现实世界罢了,所以在互联网这个行业,谁模拟的越像,谁就是老大,你上BBS,BLOG充其量,也是把自己的日记本复制了一下,搞到网上去了(而且连自己的好坏书法都没法展示),更进一步,有视频网了,你可以录象,自拍(不乏自己做贱自己的内容),把自己看见的,想说的都能整到网上去了!可是这些还是比不过网络游戏,你可以随时在网上换换衣裳,不管电脑桌上有没有水,游戏里的你可以先喝一口,望游戏止渴也,正如同大多数游戏迷(没有着迷的不算)玩游戏的目的一样:找到了一个比现实生活更充实的地方。最终网络游戏的效果是:游戏奴隶们把大把的钱撒到游戏里面,其实是撒到了游戏运营商的虚拟帐户里面,然后他们又把钱取出来,买买毫宅等消费一部分,还可以继续往游戏里面投资,包括宣传,开新地图,开新区等等,总之如同现实社会一样资金循环起来了,它不是简单的循环,而是滚雪球似的每到一个地方就再粘一些上来。所以大家看到,搞游戏的很挣钱,但是这还是不够眩,因为网络在目前的技术水平下还是不能离开现实社会的,你玩游戏得有钱啊(不要点卡的比要点卡的还黑),所以你要在游戏里面赚钱几乎很难,因为很难形成差价交易,就如同你想在LIKE的专卖店下面在做2级代理,还想赚钱一样难,游戏里面没有运费,没有商品信息价值的模拟,而且他最终要转化成人民币,这都使大家拿玩网游赚钱这个问题没办法。网游只有一个赢家,是运营商!所以在”面向大众“ 这个问题上,游戏做的不够到位!出了GOOGLEEATH以后,就变了一些,它看清楚了最底层的东西:互联网需要模拟世界,只要把握这个要领就可以最终成为这个领域的霸主,游戏只是给那些(曾经包括我)傻子设计的,而GOOGLEEATH却能在虚拟世界中满足大多数人的需求。我们用互联网只是辅助现实世界的一种手段,不是都得依靠它,甚至离不开它!您想想买商品,我们一般都是先在网上查查,去只能了解它的:外观和口碑,仅次2项,质感,重量,气味等很多我们都无法实现人机模拟,充其量就是一段有广告嫌疑的视频。真正要买还得见见实物,至于网络购买,只是发货地和付款方式,运输方式不同而已。我敢说在GOOGLEEATH推出3D模拟的时候,他的总裁并不敢妄想人们以后会靠网络实现旅行来放松自己,它冲其量也是让人们尝尝鲜,先去虚拟的浏览一下,必定电子计算机和现实世界中的这些化学计算机比起来还要落后不知道多少亿个档次!正如黑客帝国一样,即使计算机统治了全世界,还是有个西岸存在!

posted @ 2007-03-21 14:17 badnewfish 阅读(298) | 评论 (0)编辑

人家都说ORM是把对象映射成数据库,而我这个是把数据库映射成对象和一些数据操作类,所以欢迎大家拍砖!

目前知道的缺陷有:

1、产生文件存储的路径需要自己填写,如果没有这个地址会报错;

2、对视图也会生成model对象,这个是没有意义的;

3、对视图产生的DAL类的getObject方法有错误,因为视图没有主键列;

4、DAL中的方法还不够多,没有多列组合等;

5、没有使用存储过程;

6、只是生成代码文件,不能自动生成编译后的文件,需要用户自动生成。

注:由于时间、金钱、···等等x种因素,这些缺陷都没有得到改善!日后有机会一定整好!

优点:简单易用,层层清晰。

点击下载

posted @ 2008-09-23 14:52 badnewfish 阅读(7) | 评论 (0)编辑

 private static Bitmap CreateThumbnail(Bitmap source, int thumbWi, int thumbHi, bool maintainAspect)
    {
        
// return the source image if it's smaller than the designated thumbnail
        if (source.Width < thumbWi && source.Height < thumbHi) return source;

        System.Drawing.Bitmap ret 
= null;
        
try
        {
            
int wi, hi;

            wi 
= thumbWi;
            hi 
= thumbHi;

            
if (maintainAspect)
            {
                
// maintain the aspect ratio despite the thumbnail size parameters
                if (source.Width > source.Height)
                {
                    wi 
= thumbWi;
                    hi 
= (int)(source.Height * ((decimal)thumbWi / source.Width));
                }
                
else
                {
                    hi 
= thumbHi;
                    wi 
= (int)(source.Width * ((decimal)thumbHi / source.Height));
                }
            }

            
// original code that creates lousy thumbnails
            
// System.Drawing.Image ret = source.GetThumbnailImage(wi,hi,null,IntPtr.Zero);
            ret = new Bitmap(wi, hi);
            
using (Graphics g = Graphics.FromImage(ret))
            {
                g.InterpolationMode 
= System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                g.FillRectangle(Brushes.White, 
00, wi, hi);
                g.DrawImage(source, 
00, wi, hi);
                g.Dispose();
            }
        }
        
catch
        {
            ret 
= null;
        }
        
return ret;
    }
    
public static void CreateCompressThumbnail(Bitmap source, int thumbWi, int thumbHi, bool maintainAspect, string SavePathThumb, string fileName)
    {
        
using (System.Drawing.Image myThumbnail = CreateThumbnail(source, thumbWi, thumbHi, maintainAspect))
        {
            System.Drawing.Imaging.EncoderParameters encoderParams 
= new System.Drawing.Imaging.EncoderParameters();
            
long[] quality = new long[1];
            quality[
0= 75;
            System.Drawing.Imaging.EncoderParameter encoderParam 
= new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
            encoderParams.Param[
0= encoderParam;

            System.Drawing.Imaging.ImageCodecInfo[] arrayICI 
= System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders();
            System.Drawing.Imaging.ImageCodecInfo jpegICI 
= null;
            
for (int x = 0; x < arrayICI.Length; x++)
            {
                
if (arrayICI[x].FormatDescription.Equals("JPEG"))
                {
                    jpegICI 
= arrayICI[x];
                    
break;
                }
            }
            Bitmap bmp 
= new Bitmap(myThumbnail);
            bmp.Save(SavePathThumb
+fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
            
//myThumbnail.Save(Path.Combine(SavePathThumb, fileName + ".jpg"), jpegICI, encoderParams);
            bmp.Dispose();
            myThumbnail.Dispose();

        }

调用方法:

 Bitmap bitmap = new Bitmap("f:\\1.jpg");

 CreateCompressThumbnail(bitmap, 600, 600, true, "f:\\", "2.jpg");

posted @ 2008-09-21 03:30 badnewfish 阅读(8) | 评论 (0)编辑
     摘要: 思路:使用cookie存储产品ID和客户的订购量,其它的东西根据id值去库里面取先看看cookie类,专门用于插入产品、更新订购量、删除产品Code把产品添加到购物车的代码:[代码][代码] 购物车页面后台代码:[代码]   阅读全文
posted @ 2008-09-19 17:52 badnewfish 阅读(14) | 评论 (0)编辑

首先说说缺点:

1.在做需求的时候缺乏和客户充足的沟通,做需求的时候花费的时间少得可怜,导致了不断地更改功能,甚至更改框架!

2.文档管理不到位,甚至丢失了客户修改要求的文档!

再说说经验:

1、人很懒、客户更懒、越有钱的客户越懒! 


posted @ 2008-09-19 17:42 badnewfish 阅读(5) | 评论 (0)编辑

需求一:页面很高,1000px以上,GridView位于大概500的高度,当选择GridView某一列后,页面自动定位到页面GridView下面的位置。

分析:肯定要用到html锚点。

步骤:1、给GridView添加一个CommandField--Select。

2、将这个select转换成TemplateField。

3、编辑模板列,把这个模板列的PostBackUrl属性赋值为你在html页中定义的锚点。

代码如下:


 <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
                onselectedindexchanged
="GridView1_SelectedIndexChanged"  
                                onrowcreated
="GridView1_RowCreated">
                
<Columns>
                    
<asp:TemplateField ShowHeader="False">
                        
<ItemTemplate>
                            
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" 
                                CommandName
="Select" PostBackUrl="#result" Text="Select"></asp:LinkButton>
                        
</ItemTemplate>
                    
</asp:TemplateField>
                
</Columns>
            
</asp:GridView

 


posted @ 2008-09-07 13:12 badnewfish 阅读(15) | 评论 (0)编辑

 

这个例子在iframe嵌套中很实用,因为要涉及到在新窗口中打开网页

 

前台页面

 

Code

 

后台页面

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public partial class testLogin : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
   
    protected void Button2_Click(object sender, EventArgs e)
    {
        if (TextBox1.Text == "1")
        {
            Session["admin"] = "admin";
        }
    }

}

 

posted @ 2008-08-27 16:20 badnewfish 阅读(55) | 评论 (1)编辑

  private string getColumnRemark(string tableName, string ColumnName, string connectionString)
        {
            try
             {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandText = "select   (select   value   from   sys.extended_properties   where   name='MS_Description'   and   major_id=id   and   minor_id=colorder)   from   syscolumns   where   id=object_id('"+tableName+"')   and   name='"+ColumnName+"'";
                    //本来要搞参数化查询的,但是实在是找不到各个存储过程的参数类型说明信息,诶······望高人指点

                    //cmd.Parameters.Add("@tablName",SqlDbType.NVarChar);
                    //cmd.Parameters.Add("@ColumnName", SqlDbType.NVarChar);
                    //cmd.Parameters[0].Value = tableName;
                    //cmd.Parameters[1].Value = ColumnName;

                    cmd.Connection = conn;
                    conn.Open();


                    return (string)cmd.ExecuteScalar();
                }
            }
            catch (Exception ex)
            {
                return "失败" + ex.ToString();
            }

posted @ 2008-08-23 15:18 badnewfish 阅读(18) | 评论 (0)编辑

调用了sqlserver系统存储过程 sp_pkeys 

private string getPK(string connStr, string tableName)
        {

            using (SqlConnection cn_badnewfish = new SqlConnection())
            {
                //连接字符串
                cn_badnewfish.ConnectionString = connStr;
                using (SqlCommand cmd_badnewfish = new SqlCommand())
                {
                    //在这里填存储过程的名字
                    cmd_badnewfish.CommandText = "sp_pkeys";
                    //告诉程序,你调用的是一个存储过程
                    cmd_badnewfish.CommandType = CommandType.StoredProcedure;
                    cmd_badnewfish.Connection = cn_badnewfish;
                    cmd_badnewfish.Parameters.Add("@table_name", SqlDbType.VarChar).Value = tableName;
                    cn_badnewfish.Open();
                    SqlDataReader reader = cmd_badnewfish.ExecuteReader();
                    while (reader.Read())
                    {
                       return reader.GetString(3);
                    }

                    return "error";


                }

            }

posted @ 2008-08-18 11:31 badnewfish 阅读(23) | 评论 (0)编辑

 

有人说是"\n\r",有人说是"\r",有人说是"\n",其实都不对,正确的是"\r\n"

 

posted @ 2008-08-14 17:26 badnewfish 阅读(51) | 评论 (0)编辑

Should you need any assistance or have further questions, please don't hesitate to contact us back.
大意:如果您需要(任何)协助或者有进一步的问题,请不要犹豫,再到这里来和我们联系。
Thank you for contacting us back and providing that information.Please provide us with the zip code on your account and we can set this for you.
多谢您再次来到这里(提问版块),给我们提供了这些信息。请把您的邮政编码提供给我们,以便于我们给你完成那件事情(MX指向)。
I have forwarded this ticket to our server admin staff for review.Please note that our server admin queue has a longer turn around time for responses, as the tickets tend to require more in depth evaluation.You will be notified when more information is available.
我已经将这个(问题)表单提交给了我们的服务器管理员审核。请注意,我们的服务器管理队列中需要一个较长的的回应时间,由于问题表单往往需要进行更深入的评价。 (事情处理完后)您将会收到我们的通知,到时候有更多的资料可供参考。

After more than eight years of working on .NET Reflector, I have decided it is time to move on and explore some new opportunities.
I have reached an agreement to have Red Gate Software continue the development of .NET Reflector. Red Gate has a lot of experience creating development tools for both .NET and SQL Server. They have the resources necessary to work on new features, and Reflector fits nicely with other .NET tools the company offers.
Red Gate will continue to provide the free community version and is looking for your feedback and ideas for future versions.
For news and updates on Reflector, sign up for the .NET Developer’s Newsletter from Red Gate. To find out more about the agreement, see the interview on Simple Talk.
This email was sent to badnewfish@gmail.com because you previously downloaded .NET Reflector. You will not receive any further communication from me and you will not receive any update from Red Gate either, unless you choose to opt-in to their newsletter.

posted @ 2008-07-02 11:33 badnewfish 阅读(71) | 评论 (0)编辑