自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宇仔TuT的博客

Swift中文社区负责人/软件工程师/炒股爱好者/业余摄影爱好者,目前就职于微软

  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 机器学习|DBSCAN 算法的数学原理及代码解析

DBSCAN算法通过计算数据样本之间的密度来完成聚类任务。距离度量:通常使用欧氏距离或曼哈顿距离来度量样本点之间的距离。领域半径:表示样本点在距离度量上的阈值,用于确定一个样本点的邻域。核心对象(Core Object):如果一个样本点周围的密度达到一定阈值(eps),则该样本点称为核心对象。直接密度可达(Directly Density-Reachable):如果点p在点q的ε-邻域内,并且点q是核心对象,则点p从点q直接密度可达。密度可达(Density-Reachable):对于点p和q。

2023-08-18 16:40:07 1434 1

原创 机器学习|决策树:数学原理及代码解析

通过本文,我们详细讲解了决策树的数学原理,并提供了一个简单的 Python 示例代码展示了如何实现和可视化决策树算法。希望本文能够帮助读者更好地理解决策树,并能够应用到实际问题中。如果你对决策树或其他机器学习算法有任何疑问或想法,请在评论区留言,期待与大家的交流讨论!

2023-08-16 14:55:38 1298

原创 机器学习|Softmax 回归的数学理解及代码解析

通过本文,我们详细讲解了 Softmax 回归的数学原理,并提供了一个简单的 Python 示例代码展示了如何实现该算法。希望本文能够帮助读者更好地理解 Softmax 回归,并能够应用到实际问题中。如果你对 Softmax 回归或其他机器学习算法有任何疑问或想法,请在评论区留言,期待与大家的交流讨论!

2023-08-16 14:40:38 1112

原创 Swift学习笔记(十)-继续学习闭包

定义闭包是自包含的函数代码块,可以在代码中被传递和使用。Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其他一些编程语言中的匿名函数(Lambdas)比较相似。闭包可以捕获和存储其所在上下文中任意常量和变量的引用。被称为包裹常量和变量。 Swift 会为你管理在捕获过程中涉及到的所有内存操作。特殊形式全局和嵌套函数实际上也是特殊的闭包,闭包采用如下三种形式之一:全局函数是一个有名字但不会捕获任何值的闭包嵌套函数是一个有名字并可以捕获其封闭函数域内值的闭包

2021-02-20 14:36:50 323

原创 Swift学习笔记(九)-内存安全性

默认情况下,Swift 会阻止代码中发生的不安全行为。比如说,Swift会保证在使用前就初始化,内存在变量释放后这块内存就不能再访问了,以及数组会检查越界错误。Swift 还通过要求标记内存位置来确保代码对内存有独占访问权,以确保了同一内存多访问时不会冲突。由于 Swift 自动管理内存,大部份情况下你根本不需要考虑访问内存的事情。如果你的代码存在内存访问冲突,你就会得到编译时或运行时错误。理解内存访问冲突内存访问会在你做一些比如设置变量的值或者传递一个实际参数给函数的时候发生。比如说,下面的代码同时

2021-02-09 16:22:05 440

原创 Swift学习笔记(八)-自动引用计数、弱引用和无主引用

Swift 使用自动引用计数(ARC)机制来追踪和管理你的 App 的内存。在大多数情况下,这意味着 Swift的内存管理机制会一直起作用,你不需要自己考虑内存管理。当这些实例不再需要时,ARC会自动释放类实例所占用的内存。在Swift中使用 ARC 在 Objective-C 中使用 ARC 十分相似。类实例才拥有引用计数,结构体和枚举这种值类型不是引用类型,没有引用计数。ARC的工作机制每次你创建一个类的实例,ARC 会分配一大块内存来存储这个实例的信息。这些内存中保留有实例的类型信息,以及

2021-02-07 18:39:38 544

原创 Swift学习笔记(七)-内嵌类型与不透明类型

内嵌类型内嵌类型的定义和使用在一种类型中嵌套另一种类型,在其支持类型的大括号内定义即可。可以多级嵌套多个类型。例子,BlackjackCard 结构体内嵌两个枚举类型Suit 和 Rank 。struct BlackjackCard { *// nested Suit enumeration* enum Suit: Character { case spades = “♠”, hearts = “♡”, diamonds = “♢”, clubs = “♣”

2021-02-07 18:38:46 382

原创 dSYM文件的汇编分析

什么是dSYM文件?在项目开发当中我们经常需要分析crash log来追查线上Bug,其中我们会用到一个很重要的文件,叫做dSYM文件。dSYM是内存地址与函数名,文件名,行号的映射表,一般用于崩溃日志分析。大概长这样:<起始地址> <结束地址> <函数> [<文件名:行号>]符号表文件.dSYM实际上是从Mach-O文件中抽取调试信息而得到的文件目录,实际用于保存调试信息的文件夹是DWARFXcode编译项目后,我们会看到一个同名的 dSYM 文

2021-02-05 16:26:10 12182

原创 Swift学习笔记(六)-类型转换

类型转换的作用类型转换可以判断实例的类型,也可以将该实例在其所在的类层次中视为其父类或子类的实例。Swift 中类型转换的实现为 is和 as操作符。这两个操作符使用了一种简单传神的方式来检查一个值的类型或将某个值转换为另一种类型。你还可以使用类型转换来检查类型是否遵循某个协议。类型检查使用类型检查操作符 is来检查一个实例是否属于一个特定的子类。如果实例是该子类类型,类型检查操作符返回true ,否则返回 false 。var movieCount = 0var songCount = 0

2021-02-03 18:33:54 554

转载 Gitbook 命令行工具

1、Gitbook 简介1.1 Gitbook GitBook 是一个基于Node.js开发的命令行工具,使用它可以很方便的管理电子书,GitBook 是目前最流行的开源书籍写作方案。 使用 GitBook 可以让创作者专注写作,自由的挥洒,不必太多的关心内容排版、发布和版本管理等问题。 除了通过 GitBook 命令行管理电子书外,还可以在线或者使用桌面编辑器 Gitbook Editor 来编写和管理电子书。 对于新手来说,推荐使用 Gitbook Edito..

2021-02-02 15:19:57 203

转载 Mac 解决安装brew卡在 “Cloning into ‘/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core‘...”

1.前言不管是在brew的安装过程还是升级更新过程中,国内的环境brew都会卡在这里在这里插入图片描述2.解决方法手动从清华git镜像下载homebrew-corecd /usr/local/Homebrew/Library/Taps/mkdir homebrewcd homebrewgit clone https://mirrors.ustc.edu.cn/homebrew-core.git3.更新brew update...

2021-02-02 15:14:32 1287

原创 Swift学习笔记(五)-错误处理和泛型

错误处理你可以用任何遵循 Error协议的类型来表示错误。enum PrinterError: Error { case outOfPaper case noToner case onFire}throw/throws使用 throw 来抛出一个错误并且用throws 来标记一个可以抛出错误的函数。如果你在函数里抛出一个错误,函数会立即返回并且调用函数的代码会处理错误。func send(job: Int, toPrinter printerName: String)

2021-02-02 10:48:57 193

原创 Swift学习笔记(四)-协议和扩展

协议声明使用 protocol来声明协议。protocol ExampleProtocol { var simpleDescription: String { get } mutating func adjust()}协议的遵循类、枚举以及结构体,都可以遵循某个协议。类class SimpleClass: ExampleProtocol { var simpleDescription: String = “A very simple class.” var

2021-02-02 10:48:26 246

原创 Swift学习笔记(三)-枚举和结构体

枚举使用 enum来创建枚举。枚举也能够包含方法。enum Rank: Int { case ace = 1 case two, three, four, five, six, seven, eight, nine, ten case jack, queen, king func simpleDescription() -> String { switch self { case .ace: return “

2021-02-02 10:47:52 168

原创 Swift学习笔记(二)-对象和类

类定义通过class关键词定义类。在类里边声明属性与声明常量或者变量的方法是相同的,唯一的区别的它们在类环境下。同样的, -方法和函数-(方法和函数不是一回事吗?) 的声明也是相同的写法。class Shape { var numberOfSides = 0 func simpleDescription() -> String { return “A shape with \(numberOfSides) sides.” }}实例化在类名后用(

2021-02-02 10:47:17 360

原创 Swift学习笔记(一)-函数和闭包

公司已经以Swift开发为主了,未来也要将遗留的OC转Swift,自己需要抽空看一些Swift的资料学习,我会把我觉得目前还没有搞的特别明白的内容写一写当做学习笔记。函数和闭包函数声明格式使用 func来声明一个函数。通过在名字之后在圆括号内添加一系列参数来调用这个方法。使用 ->来分隔形式参数名字类型和函数返回的类型。func greet(person: String, day: String) -> String { return “Hello \(person), tod

2021-02-02 10:45:52 330

原创 也曾鲜衣怒马少年时 一日看尽长安花

也曾鲜衣怒马少年时 一日看尽长安花即将步入30+岁的奔四人生咯现在的生活近期的展望标题是我目前的一种心境,也看过繁华的上海和北京,也去过顶级的公司参观或者工作,在30岁的路口有一家尚算不错的公司收留下自己,还能做自己喜欢的事业,是人生一大幸事,希望东家更好,希望自己心态永远年轻即将步入30+岁的奔四人生咯希望自己是一个大孩子,保持好奇心,不要啥事儿都憋着不问,但也别事事都问,这是我觉得一个30岁码农比较好的一个姿态。现在的生活加入搜狐以后,心态有了很多变化,我知道搜狐跟一线大厂比较起来没有那么有实

2021-01-21 11:47:15 1065 3

转载 怒转~Git 常用命令总结

git的一些基础命令Git常用命令请确保已经安装里git客户端 一般配置git --version //查看git的版本信息git config --global user.name //获取当前登录的用户git config --global user.email //获取当前登录用户的邮箱登录git/* 如果刚没有获取到用户

2017-12-20 22:28:54 490

原创 Hadoop学习随笔

Hadoop学习随笔Hadoop项目主要包括以下四个模块◆ Hadoop Common: 为其他Hadoop模块提供基础设施 ◆ Hadoop HDFS: 一个高可靠、高吞吐量的分布式文件系统 ◆ Hadoop MapReduce: 一个分布式的离线并行计算框架 ◆ Hadoop YARN: 一个新的MapReduce框架,任务调度与资源管理Apache Hadoop起源◆Apa

2017-12-12 21:58:55 2010

原创 SurfaceShader中的那些坑-finalcolor覆盖雾化

前天美术同事让我调一个Tree的Shader,起因是因为他在另外一个游戏里看到的树亮部很亮,暗部很暗,反差很大,而一般的shader做不到,而且每棵树也没有对应的高光贴图。于是找到Unity内置的一个Shader,一个alpha裁剪+漫反射shader,修改了他的明部暗部的反差,发给他之后,同事感觉很满意。没想到第二天同事发现那个模型却不再受全局雾影响。

2017-10-17 11:16:33 2096 5

原创 人工智能实战2——从0开始手写符号识别

接上一篇博客人工智能实战——人工神经网络(C库iOS交叉编译),这篇博客之前发布在qq空间一直没挪过来... 回顾下第一个例子中我用到NN(神经网络)的地方:假设了一个目标函数 f = x==y ,设计了一个3层结构的神经网络,经过训练让神经网络自己学会如果判断两个数相等。由于目标函数只有2个变量和一个结果,因此网络结构的输入元件只有2个,输出元件只有1个,并且输出元件的区

2017-09-20 12:35:11 3108 2

原创 关于一个游戏消息服务器的点点滴滴,以及关于程序员的“情怀”

原来的KBE系列不更了,因为我放弃了KBE,所以。。。关于一个游戏消息服务器的点点滴滴,以及关于程序员的“情怀” 我从Blued离职回重庆已经快一年了,我竟然在家“玩”了一年,期间有不少朋友问我你还好吧你没死吧?我自己也惊讶,作为一名程序员,我竟然可以在家思考人生思考一年,不出去赚钱!但是毋庸置疑经过我这么长时间的“领悟”,我终于知道,没钱真难啊~~  我思考什么是情怀,什么是现实我思考什么是敏锐

2016-11-13 09:53:42 7222 9

原创 开发日记:KBEngine+Unity+php做个扑克小游戏-DAY2

怎么办,这很尴尬,为啥呢,因为kbe的某些原因让我放弃了使用它所以本打算继续更新的,说一下原因:在DAY1中我希望kbe能够开启一个http服务,并让php端做一个web请求将消息传递给对应的用户,可是这个http服务我是写起来了,发送消息的函数也写出来(花了不少时间,kbe的注释和文档都不多,特别是kbe把BaseHttpServer这个python库另外弄了个名字,用http.server i

2016-11-12 05:50:07 7244 1

原创 开发日记:KBEngine+Unity+php做个扑克小游戏-DAY1

写这篇博客的时候其实我已经开发了一大部分了~php 部分,unity 部分 都已经差不多了 ,由于KBEngine(简称kbe)完全没接触过,其实很多地方php部分的逻辑都可以直接挪到kbe中完成。实际为了开发效率,同样的逻辑目前我还是用php写起来飞快,因此项目的组成有一些小奇葩现在正在琢磨kbe和 php 部分的衔接问题:1.进入房间时,调用进入接口 /room/join 2.准备状态,调用接

2016-11-04 14:04:04 5144 1

原创 人工智能实战——人工神经网络(C库iOS交叉编译)

人工智能实战——人工神经网络给最近人工智能辣摸火,让我忍不住也想一探究竟,首先从目前来讲我是一个人工智能领域的门外汉,尽管恶补了几天基本知识,机器学习算法看得差不多,神马线性回归啊,逻辑回归啊,SVM啊,k临近算法啊,决策树啊,随机森林啊,看的我吐血了,不过也不难理解,然后尝试着用一套开源代码FANN(c语言跨平台库)编译到ios中写一个简单的小机器人首先是准备工作,把FANN2.2.0的源代码编

2016-03-21 13:22:12 16668 23

原创 使用终端shell命令批量修改一个文件下的所有文件的读写权限

之前对openfire安装的目录就遇到过这个问题,今天再次遇到,需要修改一个文件夹下面的所有子文件夹以及文件的三个权限:本用户读写,管理员读写,所有人读写,三个都要需改为wr过程如下:例如我要修改/Applications/XAMPP/xamppfiles/htdocs/文件夹中的所有文件权限,那么打开terminal:cd /Applications/XAMPP/xamppfiles##cd到h

2015-07-23 17:27:26 8350 5

原创 iOS9编程GOGOGO:XCode7新变化

做一个关于栈视图 UIStackView的Demo,先看看XCode7的变化关于StoryBoard:启动画面由xib变为Storyboard StoryBoard引用: 现在可以在一个StoryBoard中添加对另外一个StoryBoard的引用,在多个SB中进行切换不用再写代码了,如图: 以前的方式(SWIFT):override func viewDidLoad() {

2015-07-17 15:26:07 2746 3

原创 XCode7开发Mac应用系列——偏好设置面板

XCode7下的Mac应用开发提供了一组新的选项:系统内建插件 那么我们来一探究竟,如果开发这些插件,首先来一发:偏好设置面板(Preference Pane)1.打开XCode7,创建工程,选择OS X–> System Plug-in–>Preference Pane,如图1: 2. 工程名字随便来一个,比如我们来做一个控制系统音量的配置面板,如图2:3.创建好的工程结构,我们看看,有一对.

2015-07-17 14:51:28 3033 2

原创 iOS9开发GOGOGO:新特性

iOS9已经发布一段时间了,大家对iOS9的新特性了解多少呢?是否还停留在多任务(分屏,画中画)、Swift2、HTTPS强制升级这几个大家转来转去的东东呢?今天我们来深入了解iOS9给我们带来的更广阔的技术革新吧! 目录:iOS9新特性概览iPad应用的多任务处理加强搜索游戏开发App Thinning支持从右至左的语言RTL-Right To Left LanguageApp传输加

2015-07-17 00:30:56 3790 3

原创 [重磅更新]一大波XMPPforiOS原创文章即将来袭………………

来传智讲XMPP阶段课程已经快有半年,近期我打算把课程中最重要的课堂笔记以及技术分析整理成博文,请大家多多关注!! 我是消失了几个月的墨半成霜,我的新名字:传智.杜十七

2015-05-09 22:52:58 2257 2

原创 (连载)边喝咖啡边学Unity——第二章 预备知识体系(2)

什么是矩阵?mn个数排成m行n列形成的矩形表称作一个mxn矩阵。行向量与列向量由于向量我们可以看做是一种特殊的矩阵,即只有一行或者只有一列的特殊矩阵。因此我们把只有一行的向量称为行向量,只有一列的向量称为列向量。注意我们的程序在存储矩阵的时候其实是将mn个数存放在一个线性表中,因此获取一个矩阵中的第几行第几列的元素有一个优先原则。这里特别提出,Unity在Matrix4x4这个类的手册中有这样一句

2014-11-27 20:44:51 5003 2

原创 (连载)边喝咖啡边学Unity——第二章 预备知识体系

第二章 预备知识体系——本章涉及空间数学、解析几何、线性代数、计算机图形学、算法、数据结构等众多基础学科。同上一章相比,虽然枯燥,但是绝不能称为废话之章,即使粗略的看一遍,也比直接跳过来的好,详细地读完,会让读者以后的开发之路走的更加平坦。并且本章的知识不仅仅对您的Unity游戏开发有帮助,对于大部分软件开发人员都是大有作用的。作为传统3D游戏编程来讲,需要运用到的知识面非常之广,涉及到的学科特别之多。而通常讲编程的书籍,会弱化数学知识,讲数学的书籍,会弱化编程方面的知识。这就是我在第一章所提到的数学

2014-11-24 17:25:37 6220 7

原创 (连载)边喝咖啡边学Unity——第一章 Unity概述

作为本书的第一句正文,在这个醒目的位置再次想告诉大家,我的想法是大家把这本书当做一本闲书来读,同时也希望启发读者,因此目录结构只保留章节,不会再细分。重要的概念会特殊地提出来。 本章其实应该是枯燥无味的,对于Unity已经有所了解的读者可以自行跳过。鉴于本书的完整性不得不废话一章。 Unity是什么? 首先读者需要清楚地知道,Unity是一种工具或者说软件,至目前成书之时已退出5.0版本。也可以说Unity是一款优秀的3D游戏引擎,其对于底层图形接口的封装为开

2014-11-24 10:43:00 5836 17

原创 (连载)边喝咖啡边学Unity开发——前言

前言很高兴此前在我的博客上连载的《解读Unity中CG编写Shader》系列广受好评,但是由于个人工作原因跟新到第10篇后没能及时继续,关于夭折的第10篇《环境映射与立方贴图》我会尽量补上。而关于现在打算写一本编程指南的书籍的想法在我心中逐渐萌生,驱动我的原因是目前市场上大部分相关书籍很少有系统性的、全局性的、联系紧密且通俗易懂的书籍,纵观很多unity书籍不知其作者是否没有用心,感觉草草成书的较

2014-11-24 10:40:49 2961

原创 解读Unity中的CG编写Shader系列10——光滑的镜面反射(冯氏着色)

前文完成了最基本的镜面反射着色器,单平行光源下的逐顶点着色(per-vertex lighting),又称为古罗着色(Gouraud shading)。这篇文章作为后续讨论更光滑的镜面反射方式,逐像素着色(per-pixcel lighting),又称为冯氏着色(Phong shading)逐像素着色Per-Pixel Lighting (冯氏着色Phong Shading)别把冯氏着色与冯氏反射模型搞混淆了,前问提到了冯氏反射模型,冯氏反射模型是为使计算机模拟接近真实的物体表面光泽提出的模型,即环境

2014-09-24 17:20:04 6294 2

原创 解读Unity中的CG编写Shader系列9——镜面反射

镜面反射与观察视角的联系系列6中我已经说明了材料表面的平整程度决定了镜面反射的明显与否,现实生活中找不到绝对平的物体表面,所以我们引入一个概念,每一种材料的表面的平整程度为Nshininess, n越大越平整,越小越粗糙,理想状态下n无穷大的时候是绝对的镜面反射,也就是前面引用的文字中所说的你想看到光源,则必须从光线的反射角完全重合去看。结合上图,也就是说我们的材料表面越平整,系数n趋近于无穷大的时候,想要看到光源,则必须从射线R所在的方向去看。当材料表面的粗糙程度更大时,即使我们在R附近,也能看

2014-09-23 18:59:22 9620

原创 解读Unity中的CG编写Shader系列8——多光源漫反射

前文中完成最简单的漫反射shader只是单个光源下的漫反射,而往往场景中不仅仅只有一个光源,那么多个光源的情况下我们的物体表面的漫反射强度如何叠加在一起呢?前文打的tag "LightMode"="ForwardBase"又是什么意思呢?Unity内置的DiffuseShader,也就是我们创建一个Material出来时默认的Shader也是多光源的,所以这篇文章完成的shader与默认的diffuse shader基本效果一致。首先引入几个概念渲染路径 Rendering PathUnity在处

2014-09-23 17:07:10 6532 1

原创 解读Unity中的CG编写Shader系列7——漫反射

如果前面几个系列文章的内容过于冗长缺乏趣味着实见谅,由于时间原因前面的混合部分还没有写完,等以后再补充,现在开始关于反射的内容了。折射与反射在物理世界中,光的反射与折射往往是同时存在的,光源由真空或者空气中射入一种材料,光在进入这种材料的同时就发生了折射,折射的程度与各个介质的折射率有关,使光的传播路线偏离原来的路线;继而如果光在通过不同传播介质的表面时,会像乒乓球一样弹回来,我们人眼能够看到东西,都是因为东西会反射光源,如果一种物质无法反射光,或者没有光源,我们就看不到东西。同样对于不同的材料,光

2014-09-22 15:43:15 5895 3

原创 解读Unity中的CG编写Shader系列6——不透明度与混合

1.不透明度当我们要将两个半透的纹理贴图到一个材质球上的时候就遇到混合的问题,由于前面的知识我们已经知道了片段着色器以及后面的环节的主要工作是输出颜色与深度到帧缓存中,所以两个纹理在每个像素上的颜色到底以怎样的形式混合在一起最后输出到帧缓存中是我们现在首要讨论的内容。1.混合(blending)上一篇文章中的管道环节中的“逐帧操作”环节中的一项操作就是混合操作,可见混合操作是不可编程的固定功能环节。在混合操作中,我们将片段着色器中计算出来的颜色称之为 “源颜色”,帧缓存中对应的像素已经存在

2014-08-22 19:38:08 5269 9

原创 解读Unity中的CG编写Shader系列5——理论知识

经过前面的系列文章中的三个例子,尽管代码简单,但是我想应该还有些地方没有100%弄明白,我们现在得回过头来补充一些必备的数学、图形学知识1、图形管道第一个例子中我有提到顶点着色和片段着色在整个图形绘制过程中属于一个环节,整个过程叫做管道,这个管道的所有环节包括:在整个管道中,只有顶点着色与片段着色是可编程的,顶点数据和帧缓存是具体的数据,剩下的环节是固定功能的环节,即不能用cg去编程的环节。[图片]2、数据流[图片]

2014-08-22 16:40:02 4966 2

百为遥控电脑服务器端3.6

百为遥控电脑服务器端3.6

2014-03-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除