11月 06

安装完配好root登录之后,winscp一直连接不上

报错

Disconnected: Server protocol violation: unexpected SSH2_MSG_UNIMPLEMENTED packet

最后发现解决问题如下

For me the key was that the "Diffie-Hellman group exchange" key exchange algorithm was not implemented on the server (see Connection > SSH > KEX).

Moving this key exchange algorithm to the bottom of the list and making the algorithm "Diffie-Hellman group 14" first solved the problem for me.

written by ocean

8月 01

设置Symbol Search Path

SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols

Open Crash Dump,选择我们抓取到的dmp文件

加载SOS调试扩展,加载之后才可以做各种调试,根据不同的版本选择加载不同的文件

.load C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/sos.dll
.load C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/sos.dll

如果是64位

.load C:\Windows\Microsoft.NET\Framework64\v2.0.50727\SOS.dll
.load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll

 

查看运行环境版本信息

lmvm mscorwks

另外,windbg默认的字体真的很难受

View–>Font 可以设置字体

 

颜色的话一般设置命令行颜色不同即可

View–>Options–>Colors

    "Prompt level command window text"

    "Prompt level command windows text background"

这样调完之后看着舒服多了

written by ocean

7月 27

我在这里主要用来监控每个页面的执行时间

    public class VisitLogFilter : IActionFilter
    {
        private const string DURATION = "DURATION";

        public void OnActionExecuted(ActionExecutedContext context)
        {

            var stopwach = context.RouteData.Values[DURATION] as Stopwatch;
            stopwach.Stop();
            var time = stopwach.Elapsed;

            var url = context.HttpContext.Request.Host + context.HttpContext.Request.Path;
            var agent = ((FrameRequestHeaders)context.HttpContext.Request.Headers).HeaderUserAgent.ToString();
            var ip = IPHelper.GetUserIp(context.HttpContext);
            LogHelper.Info(time.TotalMilliseconds + "\t\t" + ip + "\t\t" + url + "\t\t\t\t" + agent);

            if (context.Result is ViewResult)
            {
                ((ViewResult)context.Result).ViewData[DURATION] = (time.TotalMilliseconds).ToString("#.##");
            }
        }

        public void OnActionExecuting(ActionExecutingContext context)
        {
            var stopwach = new Stopwatch();
            stopwach.Start();
            context.RouteData.Values.Add(DURATION, stopwach);           
        }

    }

 

注入全局

            services.AddMvc(
                config =>
                {
                    config.Filters.Add(new VisitLogFilter()); 
                });

前台展示的代码

                        @if (ViewData.ContainsKey("DURATION"))
                        {
                            <p>页面执行时间 : @(ViewData["DURATION"]) ms.</p>
                        }

written by ocean

7月 25

当程序出现错误的时候将会调用

    public class ExceptionFilter : IExceptionFilter
    { 
        public void OnException(ExceptionContext context)
        { 
            var url = context.HttpContext.Request.Host + context.HttpContext.Request.Path;

            LogHelper.Error(url);
            LogHelper.Error(context.Exception);
        }
    }

全局注入方法

            services.AddMvc(
                config =>
                { 
                    config.Filters.Add(new ExceptionFilter());
                });

written by ocean

7月 23

测试了好几个以前的类都跑不起来,于是灵机一动,在网页中播放声音

                ProcessStartInfo startInfo = new ProcessStartInfo(@"C:\Program Files\Internet Explorer\iexplore.exe");
                startInfo.Arguments = "http://music.163.com/#/outchain/2/28406526/";
                Process process1 = new Process();
                process1.StartInfo = startInfo;
                process1.Start();

虽然不雅,但是在我的场景下是适用的。

written by ocean

7月 11

 一个标签中,同时有 col-xs , col-sm , col-md , col-lg

.col-xs- 超小屏幕 手机 (<768px)

.col-sm- 小屏幕 平板 (≥768px)

.col-md- 中等屏幕 桌面显示器 (≥992px)

.col-lg- 大屏幕 大桌面显示器 (≥1200px)

<div class="col-xs-12 col-sm-9 col-md-6 col-lg-3">                        
</div>

当屏幕尺寸

小于 768px 的时候,用 col-xs-12 类对应的样式;

在 768px 到 992px 之间的时候,用 col-sm-9 类对应的样式;

在 992px 到 1200px 之间的时候,用 col-md-6 类对应的样式;

大于 1200px 的时候,用 col-lg-3 类对应的样式;

written by ocean

7月 08

首先安装JAVA,安装完之后查看版本正常说明OK

java -version

下载android SDK并且添加环境变量

key : ANDROID_HOME
value : D:\Green\android\android-sdk

打开Android SDK Manager。选中以下项目:

Android SDK Build-tools version 23.0.1
Android 6.0 (API 23)
Android Support Repository
Local Maven repository for Support Libraries

下载完之后,将sdk配置到windows环境变量Path中

D:\Green\android\android-sdk\tools;
D:\Green\android\android-sdk\platform-tools

安装Node.js

https://nodejs.org/en/

安装Gith

https://git-for-windows.github.io/

如果是绿色版本要加入path环境变量 

 

运行起来,键入命令

react-native run-android

出现错误

* What went wrong:
A problem occurred configuring project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

在react native 项目的android目录下新建文件local.properties添加字段

sdk.dir = D:\\Green\\android\\android-sdk

 出现错误

 What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: No connected devices!

这是因为avd没有运行,运行起来即可

written by ocean

7月 05

Console程序中 中文乱码 

引用包

System.Text.Encoding.CodePages

在程序开头调用

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

 

项目发布到ubuntu上

命令行定位到web项目目录

dotnet  publish -r ubuntu.16.04-x64

written by ocean

7月 03

PIP是python下的一个包管理工具

一般直接命令即可

pip install XXX

但是因为国内网络的一些原因,经常会出现超时

可以用国内镜像代替

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

这个是清华大学的镜像,测试下来发现非常快

written by ocean

7月 02

首先需要安装PyMySQL

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

pip install PyMySQL

 

添加数据

import pymysql
#打开数据库连接
db = pymysql.connect("localhost","root","root","db_zuowen",charset='utf8')
#使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor() 
sql="insert into tb_zuowen values ('16211','2222','2017-08-08 00:00:00',1,0)"
#执行SQL语句
cursor.execute(sql)
db.commit()
db.close()

查询数据

import pymysql
#打开数据库连接
db = pymysql.connect("localhost","root","root","db_zuowen",charset='utf8')
#使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor() 
sql="select url,addDate from tb_zuowen limit 10"
#执行SQL语句
cursor.execute(sql)
#获取所有记录列表
results = cursor.fetchall()
for row in results:
    url=row[0]
    addDate=row[1]
    print('url=%s AND addDate=%s'%(url,addDate))
db.close()

更新数据

import pymysql
#打开数据库连接
db = pymysql.connect("localhost","root","root","db_zuowen",charset='utf8')
#使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor() 
sql="update tb_zuowen set Type='72' WHERE url='16211'"
#执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit() 
db.close()

删除数据

import pymysql
#打开数据库连接
db = pymysql.connect("localhost","root","root","db_zuowen",charset='utf8')
#使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor() 
sql="DELETE FROM tb_zuowen WHERE Type>'%d'" %(20)
#执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
#关闭连接
db.close()

written by ocean