近期文章

随笔杂谈 2017-05-07

5月小记

5月的上海变得越来越热了,随着天气变化自己也变的越来越浮躁了,博客都没有怎么更新过了,
前段时间一直在追全民热剧《人民的名义》,基本是一下班回家了就抱着Mac打开爱奇艺追剧看,终于在上周终结了看完了全剧,然后下班又变的无所事事了起来。

回想以前刚毕业的时候,下班了周末了就会研究一些东西,或者写代码之类的,偶尔也会去夜跑。现在变的越来越懒了,一下班就回家躺床上要不就是上网刷知乎看一些无关痛痒的东西要不就是看电影(知乎前段时间莫名其妙的封了我的账号,在多次和知乎小管家联系沟通未果之后终于放弃了),今年刚开始时候罗列的一些TODO也基本都没有做,突然想起来一个段子,程序员说过的最多的谎话就是//TODO。

今天突然想起之前一直想研究下的Docker来,但是在配置了一会儿之后就变的烦躁不想弄了,直接就shutdown了虚拟机删掉了配置文件,要是在以前的话哪怕是熬夜到好久也会想办法翻文档或者Google之类的来搞定,其实说起来,工作也不是特别累那种,至少加班不会到很晚然后周末活着半夜也不会喊你到公司去加班,归根结底还是懒癌越来越严重了。。。

嗯嗯,不能这样下去了,这样会变的越来越废柴了,现在都会感觉到自己变的越来越菜了,加油,改掉坏习惯,慢慢的坚持夜跑健身,找点东西来看,就从.Net Core开始吧。

路漫漫兮其修远兮,吾将上下而求索。

5315 3
CSharp 2017-05-04

SqlServer使用表值参数批量插入更新数据

首先,创建自定义表类型:

CREATE TYPE BulkUdt AS TABLE(
Id int,
Name NVARCHAR(10)
)

然后是使用方式:

private static System.Data.DataTable GetTestTable()
{
    System.Data.DataTable dt = new System.Data.DataTable();
    dt.Columns.Add("Id");
    dt.Columns.Add("Name");
    for (int i = 0; i < 1000; i++)
    {
        var row = dt.NewRow();
        row["Id"] = i.ToString();
        row["Name"] = $"Name{i}";
        dt.Rows.Add(row);
    }
    return dt;
}

static void InsertTest()
{
    var dt = GetTestTable();
    SqlConnection sqlConn = new SqlConnection(
        ConfigurationManager.ConnectionStrings["Conn...
Python 2017-04-08

在Django中使用缓存

Django 是动态网站,一般来说需要实时地生成访问的网页,展示给访问者,这样,内容可以随时变化,但是从数据库读多次把所需要的数据取出来,要比从内存或者硬盘等一次读出来 付出的成本大很多。而使用缓存的话,可以将数据保存在缓存中,下次访问的时候直接从缓存中获得数据,而不用去请求后端数据库,这样服务器可以很快的响应请求,从而提高加载速度。下面简单介绍下Django中的缓存系统。

缓存配置

Django支持多种缓存,例如本地文件缓存,数据库缓存,memcache,locmem等,下面分别简单介绍下:

文件缓存

这个很简单,就是将数据缓存在指定的目录中。配置如下:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': '/path/for/cache',
    }
}

数据库缓存

配置如下所示

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'my_cache_table',
    }
}

执行python ...

Python 2017-04-08

django删除视图缓存

django中可以使用cache_page的方式来缓存视图,但是如何删除指定视图的缓存呢?在文档中没找到清除的方式,但是在Google的时候找到了解决方案,我自己本地测试可以使用,不确定将来的版本会不会无效,下面先介绍下解决办法: 核心功能是这些:

def expire_view_cache(path, servername, serverport, key_prefix=None):
    from django.http import HttpRequest
    from django.utils.cache import get_cache_key

    request = HttpRequest()
    request.META = {'SERVER_NAME': servername, 'SERVER_PORT': serverport}
    request.path = path

    key = get_cache_key(request, key_prefix=key_prefix, cache=cache)
    if key:
        if cache.get(key):
            cache.delete(key)
        return True
    return False

其实就是构造一...

Mac 2017-03-26

Mac重置dock置默认设置

今天无聊看着底部的dock不顺眼,想着改改,结果给该坏,图标乱七八糟的,于是想着恢复至原来那样子好了,下面给出解决办法: 终端下输入:

defaults delete com.apple.dock; killall Dock    

然后回车,你的dock会关闭并重新打开,这样就恢复置原来默认的了。

8862 0
CSharp 2017-02-27

为mvc添加全局过滤器实现Response重写

我们公司的网站都是使用的是mvc框架,最近有这样的需求.因为之前的一些东西在开始开发的时候写死了.比如静态资源地址或者别的站点的地址.但是最近改版的时候需要重新配置地址.如果全局搜索修改地址的话工作量太大.于是想着是否可以使用全局过滤器来重写Response流来实现.下面给出解决方案. 具体就是重写ActionFilterAttribute.然后为Response.Filter重置为我们实现了我们业务需要的Filter. 首先创建过滤器.如下:

public class RewriteHttpsFilterAttribute : ActionFilterAttribute
   {
       public override void OnActionExecuting(ActionExecutingContext filterContext)
       {
           var response = filterContext.HttpContext.Response;
           string IsRedirectToHttps = ConfigurationManager.AppSettings["IsRedirectToHttps"];
           string IsRewriteToHttps = ConfigurationMana...
发现更多