- 博客(56)
- 资源 (1)
- 收藏
- 关注
原创 批量语音识别
总体思路FFmpeg对音视频进行处理获取wav音频文件,对音频文件按时间切片(30秒),每个片段调用百度或科大讯飞API进行识别(这里主要是用免费的那种)。FFmpeg音视频处理使用FFmpeg对音视频进行格式转换、切片 public class FFmpeg { private Process FFmpegProcess; /// <su...
2019-06-13 11:02:49
666
原创 百度地图考勤打卡
关键点:获取当前位置、设置考勤点、计算两点距离判断是否在范围内。 <script type="text/javascript" src="http://api.map.baidu.com/api?此处为秘钥"></script><div id="allmap"></div>获取当前位置:var mapvar poin
2018-05-10 14:14:10
6702
4
原创 H5视频网站开发
总结一下视频网站开发的几个主要模块:视频断点续传、视频切片、H5播放。 断点续传: 参考博文:C#实现上传文件分割,断点续传上传文件 视频切片 调用ffmpeg.exe进行切片: public void SegmentVideo(string filePath) { string path = Environment.Current...
2018-05-10 11:25:41
5771
2
原创 ASP.Net Core Web 应用程序 与 MySQL
本文简单介绍如何建立ASP.Net Core Web 应用,数据库使用MySQL的方法流程。 1、建立项目,以Student为例 2、选择MVC 3、NuGet包添加Microsoft.EntityFrameworkCore.Tools和Pomelo.EntityFrameworkCore.MySql 4、在Models文件夹下创建Student类 using S...
2018-04-24 17:03:15
949
原创 采用Socket方式,测试服务器连接
public static bool CanServeConnected() { return TestConnection(ip, port, 3000); } /// /// 采用Socket方式,测试服务器连接 /// /// 服务器主机名或IP
2018-02-06 10:07:33
1464
原创 提示框
弹窗在View中,TipDialog在ViewModel中,通过Messenger通信 使用方式:在ViewModel中使用: TipDialog.Show(TipType.Success, "支付成功"); /// /// 提示类型(用于提示弹窗TIpDialog) /// public enum TipType { ///
2018-02-06 09:58:33
317
原创 Converter转换器
//放在App.xaml资源中local:DataConverter x:Key="dataConverter"/>xmlns:mvvm="http://www.galasoft.ch/mvvmlight"xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
2018-02-06 09:47:26
709
原创 ScrollBar
Style TargetType="{x:Type ScrollBar}"> Setter Property="Background" Value="Transparent"/> Setter Property="Stylus.IsPressAndHoldEnabled" Value="False"/> Setter Property="Stylus
2018-02-06 09:40:29
298
原创 弹窗样式
ControlTemplate x:Key="PopWindowTemplate" TargetType="{x:Type Window}"> Border Margin="3" CornerRadius="3" Background="{TemplateBinding Background}"> Border.Effect>
2018-02-06 09:38:17
899
原创 DataGrid
DataGrid ItemsSource="{Binding HotkeyList}" Padding="15 0 15 15"> DataGrid.Columns> DataGridTextColumn Binding="{Binding Function}" Header="功能" Width="*"/> DataGridTex
2018-02-06 09:35:18
214
原创 DatePicker
Style x:Key="CalendarDayButtonStyle" TargetType="{x:Type CalendarDayButton}"> Setter Property="MinWidth" Value="28" /> Setter Property="MinHeight" Value="5" /> Setter Property=
2018-02-06 09:32:22
318
原创 ComboBox
"ComboBoxItemTemplate" > Grid Height="45"> Text="{Binding }" VerticalAlignment="Center"/> Grid> "ComboBoxTemplate" TargetType="{x:Type ComboBox}"> Grid
2018-02-06 09:30:29
1106
原创 Service调用辅助类ServiceCore
大幅度简化服务器调用,例如: public class UserService { private const string userLogin_url = "/api/userlogin"; /// /// 用户登录 /// public static User UserLogin(strin
2018-02-05 17:01:23
577
原创 sqlite 辅助类 DalCore
大幅度简化本地数据库的查询,例如增删改查: /// /// 插入交接班信息 /// public static bool InsertHandoverRecord(HandoverRecord record) { return DalCore.InsertInfo(sql_InsertHa
2018-02-05 16:55:24
364
原创 WaterTextBox 带密码
带水印、带密码的输入框,示例: public class WaterTextBox : TextBox { static WaterTextBox() { DefaultStyleKeyProperty.OverrideMetadata(typeof(WaterTextBox), new FrameworkPropertyM
2018-02-05 16:46:14
265
原创 WPF ImageRadioButton
增加选中背景,透明度,和透明度模式。样例: public class ImageRadioButton : RadioButton { static ImageRadioButton() { DefaultStyleKeyProperty.OverrideMetadata(typeof(ImageRadioButton),
2018-02-05 16:37:23
896
1
原创 WPF ImageCheckButton
仅加了一个选中背景,示例: public class ImageCheckBox:CheckBox { static ImageCheckBox() { DefaultStyleKeyProperty.OverrideMetadata(typeof(ImageCheckBox), new FrameworkPropertyMe
2018-02-05 16:32:19
522
原创 WPF ImageButton
最常用的图片按钮: 有正常背景、鼠标滑过背景、鼠标按下背景、不可用背景、鼠标滑过透明度、是否是透明模式(若是则仅需正常背景即可,鼠标滑过和按下时则仅改变透明度),样式放在Generic.xaml中。 示例: public class ImageButton : Button { static ImageButton() {
2018-02-05 16:29:50
3309
原创 log4net的使用
1、配置文件configuration> configSections> section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net" /> configSections> log4net> appender name="RollingFileApp
2018-02-05 16:18:21
264
原创 App.config配置文件的使用
在App.config中加入需要配置的信息,如下:configuration> appSettings> add key="MaxLogFileCount" value="30" /> appSettings>configuration>对配置文件进行读写: var maxLogFileCount = GetConfig("maxLogF
2018-02-05 16:08:12
316
原创 WPF单例运行
在App.xaml中使用mutex: private Mutex mutex = new Mutex(true, "My Singleton Instance"); protected override void OnStartup(StartupEventArgs e) { //单例 if (mut
2018-02-05 15:59:08
421
原创 (WPF)连锁超市收银系统总结
前言 好久没写博客了,如今做完了一个收银系统,静下心来做一个简单的总结。虽然收银系统各种各样,到处都有,开源的也不少,但是自己亲手做了一遍以后也收获颇丰。相比其他收银软件,功能上没什么创新,主要在于客户要求界面美观友好,故此用WPF开发客户端,采用MVVMlight框架。服务端使用的是阿里云服务器,写成WebAPI供客户端使用,进行数据交互。下面仅介绍客户端: 项目结构 项目
2018-02-05 15:54:35
3582
5
转载 k近邻算法(KNN)
原文链接:http://blog.youkuaiyun.com/zouxy09/article/details/16955347在原文的最终代码上稍作修改,添加了中文注释,运行环境为3.6一、kNN算法分析 K最近邻(k-Nearest Neighbor,KNN)分类算法可以说是最简单的机器学习算法了。它采用测量不同特征值之间的距离方法进行分类。它的思想很简单:如果一个样本在特征空间中的k个最相似(即特征空
2017-09-01 11:56:14
285
转载 支持向量机(SVM)初级
原文链接:http://blog.youkuaiyun.com/zouxy09/article/details/17291543目录一、引入二、线性可分SVM与硬间隔最大化三、Dual优化问题 3.1、对偶问题 3.2、SVM优化的对偶问题四、松弛向量与软间隔最大化五、核函数六、多类分类之SVM 6.1、“一对多”的方法 6.2、“一对一”的方法七、KKT条件分析八、SVM的实现之SMO算法
2017-08-30 21:50:16
304
原创 string 中文乱码
给一个字符串赋值中文,就一行代码,显示出来的却是乱码,如下: 解决方案: 更改项目文件的编码格式 原因:项目是英文的开源项目,文件的编码格式用的是ANSI。
2017-08-24 16:34:51
7917
原创 webbrowser屏蔽缩放、拖拽
webbrowser屏蔽 Ctrl缩放 187 -_ 229 =+ 109 - 107 + 106 * function document.onkeydown() { var k = window.event.keyCode; //屏蔽 Ctrl缩放 187 -— 229 =+ 109 - 107 + 106 * ...
2017-08-15 16:30:51
2759
转载 浅谈机器学习
在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。 在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢? 我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者与互联网界的大鳄的联姻 这幅图上上的三人是当今机器学习界的执牛耳者。中
2017-08-12 20:18:54
407
原创 Tip16 元素数量可变的情况下不应使用数组
Tip16 元素数量可变的情况下不应使用数组数组一旦被创建,长度就不能改变。如果我们需要一个动态且可变长度的集合,就应该使用ArrayList或List<T>来创建。List<T>是ArrayList的泛型实现,它省去了拆箱和装箱带来的开销。注:不能肆意对数组指定过大的长度,这会让数组成为一个大对象(占用内存超过85000字节的对象),大对象在回收过程中会带来效率很低的问题。如果一定要动态改变数组的
2017-08-03 16:27:53
305
原创 Tip15 使用dynamic来简化反射实现
Tip15 使用dynamic来简化反射实现 dynamic是Framework 4.0的新特性。dynamic的出现让C#具有了弱语言的特性,编译器默认dynamic对象支持开发者想要的任何特性。 var和dynamic完全是两个概念。var实际上是“语法糖”,编译器会自动匹配var变量的实际类型,并用实际类型来替换该变量的声明。而dynamic被编译后实际是一个object类
2017-08-03 14:52:54
289
原创 Tip14 正确实现浅拷贝和深拷贝
Tip14 正确实现浅拷贝和深拷贝 浅拷贝:将对象中的所有字段复制到新的对象(副本)中。复制以后,若在副本中修改值类型的字段的值,不会影响到源对象对应的值,但修改引用类型的字段的值,会影响到源对象本身。 深拷贝:将对象中的所有字段复制到新的对象(副本)中。但是复制以后,对于副本的修改都不会影响到源对象本身。拷贝建议用类型继承ICloneable接口。例如: [Serializable]
2017-08-02 20:38:54
431
原创 Tip13 为类型输出格式化字符串
Tip13 为类型输出格式化字符串 有两种方法为类型提供格式化的字符串输出: 1、让类型继承接口IFormattable。(需要预见类型在格式化方面的需求) 2、让类型继承接口IFormatProvider和ICustomFormatter,为类型自定义格式化器。方法1的例子: class Person : IFormattable { public string
2017-08-02 20:02:27
396
原创 Tip12 重写Equals时也要重写GetHashCode
Tip12 重写Equals时也要重写GetHashCode 如果重写Equals方法但不重写GetHashCode方法,在使用如FCL中的Dictionary类时,可能隐含一些潜在的Bug。例如: class Person { public string IDCode { get; private set; } publ
2017-08-02 12:00:14
294
原创 Tip11 区别对待==和Equals
Tip11 区别对待==和Equals “相等性”分为两类: 1、“值相等性”——比较的两个变量所包含的数值相等。 2、“引用相等性”——比较的两个变量引用的是内存中的同一个对象。“==”和“Equals”都倾向于表达这样一个原则: 对于值类型,如果类型的值相等,就应该返回True。 对于引用类型,如果类型只想同一个对象,则返回True。“==”和“Equals”都可以被重载。比如,str
2017-08-02 09:38:40
354
原创 Tip10 创建对象时需要考虑是否实现比较器
Tip10 创建对象时需要考虑是否实现比较器 有对象的地方就会存在比较,在创建对象的时候需要考虑是否实现比较器(实现接口IComparable和IComparer) 下面举个例子,根据排序的需要,列表要支持针对基本工资或奖金来罗列Salary: static void Main(string[] args) { List<Salary> companySalary
2017-08-02 09:00:41
241
原创 Tip9 习惯重载运算符
Tip9 习惯重载运算符 在构建自己的类型时,应该考虑该类型是否可以用于运算符重载,使代码看起来跟简洁明了。例如: class Program { static void Main(string[] args) { Salary mikeIncome = new Salary() { RMB = 22 };
2017-08-01 21:38:30
386
原创 Tip8 避免给枚举类型的元素提供显示的值
Tip8 避免给枚举类型的元素提供显示的值 一般情况下,没有必要给枚举类型的元素提供显式的值,因为不正确地设定显式的值会带来意想不到的错误。例如: enum Week { Monday = 1, Tuesday = 2, ValueTemp, Wednesday = 3, Thursday = 4
2017-08-01 21:27:50
299
原创 Tip7 将0值作为枚举的默认值
Tip7 将0值作为枚举的默认值 允许使用的枚举类型有byte、sbyte、short、ushort、int、uint、long、和ulong。应该始终将0值作为枚举类型的默认值,这样做是有工程上的意义。例如: 一个代表星期的枚举类Week,我们会想当然认为应该有7个元素,但是我们没有让它从0开始enum Week{ Monday = 1, Tuesday =
2017-07-31 17:37:51
281
原创 Tip5 使用Int?来确保值类型也可用为null
Tip5 使用Int?来确保值类型也可用为null 基元类型为什么需要为null?需要考虑以下两个场景: 1、数据库中一个int字段可以被设置为null。在C#中,值被取出来后,为了将它赋值给int类型,不得不首先判断一下它是否为null。如果将null直接赋值给int类型,会引发异常。 2、在一个分布式系统中,服务器需要接收并解析来自客户端的数据。一个int型数据在传输的过程中可能会丢失或者
2017-07-31 17:07:43
292
原创 Tip4 TryParse比Parse好
Tip4 TryParse比Parse好public static double Parse(string s)public static bool TryParse(sting s, out double result)Parse转换失败会引发异常,通过捕获异常来设置初始值 试验: static void Main(string[] args) {
2017-07-31 17:05:27
260
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人