Month: April 2015

  • 改变HyperV虚拟的Ubuntu屏幕分辨率

    Ubuntu14开始已经自带Hyper-V Integration Service,也就是说在Hyper-V里跑Ubuntu 14以上的版本的时候,再也不需要像以前的版本那样单独的安装Hyper-V Integration Service,因为所有的Hyper-V网卡驱动,显卡驱动和其他组件都已经内置了。 但是和操作系统的分辨率调整这一项,还是不如在Hyper-V里跑Windows的VM来的方便,默认的Ubuntu VM只有一种分辨率(1152×864),不能像Windows VM那样根据当前的窗口自动调节分辨率,自适应屏幕。 目前的解决方法只能是手工指定分辨率,下面是具体步骤。

  • C#实现接口类的时候返回一个完成的Task对象

    有时候实现一些接口类的全部方法,某些方法里必须返回一个task,创建一个新任务又怕开销太大,搜了一下,发现下面是一个比较常见的做法 return Task.FromResult(null); 如果用DotNet 4.6的话,就更简单了,直接返回Task.CompletedTask就可以了。 https://msdn.microsoft.com/en-us/library/system.threading.tasks.task.completedtask.aspx

  • The website is under heavy load解决方法

    在做网站做压力测试的时候,很容易模拟出每秒几百的http请求,如果要测试的网站是在nginx之后,这时候就会发现很多请求直接返回503 Service Unavailable错误,如下图所示。 这是由于在当前的并发请求过多的情况下,nginx默认会把请求放到一个队列里,一次排队让服务器处理。这个queue的上限默认是100,所以当请求超过queue上限的时候,nginx就会返回The website is under heavy load的错误信息了。 一个简单的解决方法便是修改passenger_max_request_queue_size,改成你需要的实际值,或者直接设成0,来禁用queue这个功能。 当然更好的方法是做服务器端的profiling,找出瓶颈,让每个http请求能更快的被处理完毕。 参考 http://stackoverflow.com/questions/20537185/the-website-is-under-heavy-load-ror https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html#PassengerMaxRequestQueueSize

  • 远程桌面访问Azure上的Ubuntu服务器

    首先要在Azure上建一个Ubuntu服务器,具体步骤本文略过。 用putty或者其他ssh工具连接到Azure上的Ubuntu服务器,目标主机的地址在Azure的管理门户里可以看到,国内Azure一般是个以chinacloudapp.cn结尾的地址,国际版Azure则是cloudapp.net。 运行sudo apt-get update,这个命令会保证所有的包都更新到最新版本。 运行sudo apt-get install ubuntu-desktop,这个命令会安装ubuntu桌面,中间某个地方提示你确认一下,点Y就可以继续。 现在Ubuntu桌面已经装上,但是在云上的服务器,没法通过本地的显示器来显示桌面,所以这时候要安装VNC server,命令是sudo apt-get install vnc4server  运行vncserver,这时候会让你输入远程连接桌面的密码。 运行vncserver -kill :1 修改.vnc/xstartup !/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc /usr/bin/gnome-session & [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic…

  • 安装Resharper的Visual Studio部分快捷键失效的解决方法

    装了Resharper的VS,有时候会莫名的快捷键失效。解决方法便是先重设VS的设置(Tools > Import and Export Settings > Reset all settings),然后在Resharper里重新应用所有快捷键。(Resharper > Options > Keyboard & Menus)

  • Sublime Text插件Filter Lines

    Sublime Text的搜索结果默认结果的显示风格和VS,Notepad++不一样,显示结果的时候会把每个搜索结果的前后几行一块列出来。如果想让Sublime Text像VS一样每个搜索结果只显示一行,可以使用这个Filter Lines这个插件

  • 为Azure SQL Database创建数据库账户

    用Azure SQL Database的时候,很多人都会直接用默认的管理员账号来连接数据库,这是一个不好的实践,会有潜在的安全问题。由于SQL Management Studio对Azure SQL Database支持不完美,在第一次给数据库添加新用户这步必定会浪费无数时间,本文希望能帮你节省到这部分宝贵的时间。 首先,用SQL Management Studio连接到数据库,如果报IP拒绝访问的错误,到管理门户上把当前IP加入白名单即可。连上Azure上的SQL Server后,按照下面步骤就可以添加新用户了。下面例子会创建数据库账户mydbuser,并让其成为dbo角色。 先进入master数据库,运行下面命令创建一个login CREATE LOGIN mydbuser WITH password = ‘xxxxx’ 然后切换到要添加用户的数据库,运行下面命令,创建一个user CREATE USER mydbuser FOR LOGIN mydbuser WITH DEFAULT_SCHEMA = dbo 用下面命令给user分配一个role EXEC sp_addrolemember ‘db_owner’, ‘mydbuser’ 现在这个user就有数据库的dbo权限了。