Scrapy安装报错 Microsoft Visual C++ 14.0 is required 解决办法
Scrapy安装报错 Microsoft Visual C++ 14.0 is required 解决办法
原因:
Scrapy需要的组 twisted 需要 C++环境编译。
方法一:
根据错误提示去对应的网站下载C++ 14.0 ,然后重新安装
方法二:
直接下载对应系统的whl 安装
Scrapy安装报错 Microsoft Visual C++ 14.0 is required 解决办法
原因:
Scrapy需要的组 twisted 需要 C++环境编译。
方法一:
根据错误提示去对应的网站下载C++ 14.0 ,然后重新安装
方法二:
直接下载对应系统的whl 安装
远程映射错误 “发生系统错误 1312 指定的登录会话不存在。可能已被终止 IIS 访问 远程共享目录”
最近和其他公司做接口,需要将数据上传给对方。
我们发送程序部署在前置机上,文件在内网数据中。需要映射到文件服务器后上传数据。本机vs开发是可以映射成功,但是部署到远程的IIS中,就不能成功.
报错: 1312 指定的登录会话不存在。可能已被终止 IIS 访问 远程共享目录
程序开发中经常遇到对象复制的,C#有浅拷贝和深拷贝的区别,避免浅拷贝的复制一个办法,就是可序列化对象的序列化复制
/// <summary> /// 序列号复制类 /// </summary> public class SerializeHelper { /// <summary> /// 序列化 /// </summary> /// <param name="target"></param> /// <returns></returns> public static string Serializable(object target) { using (MemoryStream stream = new MemoryStream()) { new BinaryFormatter().Serialize(stream, target); return Convert.ToBase64String(stream.ToArray()); } } /// <summary> /// 反序列化 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="target"></param> /// <returns></returns> public static T Derializable<T>(string target) { byte[] targetArray = Convert.FromBase64String(target); using (MemoryStream stream = new MemoryStream(targetArray)) { return (T)(new BinaryFormatter().Deserialize(stream)); } } /// <summary> /// 合并反序列化与序列化 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="t"></param> /// <returns></returns> public static T DeepClone<T>(T t) { return Derializable<T>(Serializable(t)); } }
NOLOCK的使用
NOLOCK可以忽略锁,直接从数据库读取数据。这意味着可以避开锁,从而提高性能和扩展性。但同时也意味着代码出错的可能性存在。你可能会读取到运行事务正在处理的无须验证的未递交数据。 这种风险可以量化。
如果是金融方面的代码或者一些非常规的总计(你想绝对保证安全性),你应该小心行事并且不使用这种技术。但是我认为使用该技术会比你90%应用系统性能要好,当用户 (或者是交互代码) 发现一个未递交的修改时,使用该技术会保证不会像未使用该技术那样引起大麻烦。实际上,你可能发现你的大多数数据很少或者甚至不进行修改的,这样我们就不会因为这些数据被锁住而浪费大量的时间。
dicom文件,整体结构先是128字节所谓的导言部分,跳过就是了,然后是dataElement元素依次排列的方式, 就是一个dataElement接一个dataElement的方式排到文件结尾.我们要读取dicom里面的各种数据就是在各个数据元素中。通俗的讲dataElement就是指tag,就是破Dicom标准里定义的数据字典,每个dataElement中的tag决定自身或整个文件的某些数据类型或自身dataElement内容类别
[转]dicom文件中的VR 详解
Dicom全称是医学数字图像与通讯,这里讲diocm格式文件的VR标记做详细解读。
1)Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。
Oracle解决Ora-01653无法扩展表空间
早上查看客户现场一个后台服务,发现日志很多报错 Ora-01653 查询的网上原因:
C# 获取 文件的哈希值(MD5、SHA),验证相同文件。
一获取文件的MD5:
C# 获取NTP远程服务同步时间
现场有一个需要定时同步远程服务器的需求,根据一个时钟电脑,同步服务器时间,保证各个系统之间时间的一致性。
开发时经常会遇到需要压缩文件的需求,利用C#的开源组件ICSharpCode.SharpZipLib,
就可以很容易的实现压缩和解压缩功能。
主要是操作(Zip)压缩算法
上代码:
压缩文件
/// <summary> /// 压缩指定文件生成ZIP文件 /// </summary> /// <param name="topDirName">顶层文件夹名称</param> /// <param name="fileNamesToZip">待压缩文件</param> /// <param name="ZipedFileName">ZIP文件</param> /// <param name="CompressionLevel">压缩比</param> /// <param name="password">密码</param> /// <param name="comment">压缩文件注释文字</param> public static void ZipFile ( string topDirName, //顶层文件夹名称 string fileNameToZip, //待压缩文件 string ZipedFileName, //ZIP文件 int CompressionLevel, //压缩比 string password, //密码 string comment //压缩文件注释文字 ) { var ls = new List<string> { fileNameToZip }; ZipFile(topDirName, ls.ToArray(), ZipedFileName, CompressionLevel, password, comment); } /// <summary> /// 压缩指定多个文件生成ZIP文件 /// </summary> /// <param name="topDirName">顶层文件夹名称</param> /// <param name="fileNamesToZip">待压缩文件列表</param> /// <param name="ZipedFileName">ZIP文件</param> /// <param name="CompressionLevel">压缩比</param> /// <param name="password">密码</param> /// <param name="comment">压缩文件注释文字</param> public static void ZipFile ( string topDirName, //顶层文件夹名称 string[] fileNamesToZip, //待压缩文件列表 string ZipedFileName, //ZIP文件 int CompressionLevel, //压缩比 9 string password, //密码 "" string comment //压缩文件注释文字 "" ) { using (var s = new ZipOutputStream(File.Open(ZipedFileName, FileMode.Create))) { if (password != null && password.Length > 0) s.Password = password; if (comment != null && comment.Length > 0) s.SetComment(comment); s.SetLevel(CompressionLevel); // 0 - means store only to 9 - means best compression foreach (string file in fileNamesToZip) { using (FileStream fs = File.OpenRead(topDirName + file)) { //打开待压缩文件 byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, buffer.Length); //读取文件流 ZipEntry entry = new ZipEntry(file); //新建实例 entry.DateTime = DateTime.Now; entry.Size = fs.Length; s.PutNextEntry(entry); s.Write(buffer, 0, buffer.Length); } } s.Finish(); } }
解压缩文件:
C# 自动注册OCX方法
C#开发系统时,有时候会遇到调用其他语言开发的模块。如果对方提供了OCX时,就需要注册使用,但是实时时,每个客户端都注册一遍就比较麻烦。所以需要系统第一次启动时自动注册OCX。
手机图像放大缩小代码
最近遇到一个需求,需要在手机端网页需要图片放大缩小。。
网上搜着的代码。在有iframe时。iphone显示都不正确。测试发现,iphone中,iframe是和网页一体的。
解决IIS无法访问远程映射目录
由于影像系统(PACS)需要存储大量影像文件动辄几十T,所以经常会用到远程影像的独立文件盘,
挂载了远程映射盘后,本机可以直接访问 IIS中就直接报错了 ,原因是:IIS 运行处于一个低权限用户,不能像登记用户那样访问很多远程映射
新装了一台服务器后,远程连接MySQL,连接不上关闭防火墙也不可以
转义字符是以‘\’为开头的字符,后面跟一个或几个字符,其意思是将反斜杠‘\’后面的字符转变成为另外的意思。
字符串中常见的的特殊字符
SQL Server 安装/卸载 总是提醒需要重启计算机解决方法
安装SQL Server 的时候,经常会遇到提醒重启计算机,有时候重启也不能解决,一直提醒,如图:
解决方法:
打开注册表(打开方法 开始->运行->输入 regedit)
私人文章,登录状态下方可查看。
按Win+R键打开运行窗口,输入“shell:Common Startup”代码。
WPF编程,TextBox支持回车换行以及滚动条的设置方法
设置换行:
TextBox的AcceptsReturn属性设置设为True,
将 TextWrapping 属性设置为 Wrap 会导致输入的文本在到达 TextBox 控件的边缘时换至新行,必要时会自动扩展
TextBox 控件以便为新行留出空间。