自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(406)
  • 资源 (9)
  • 收藏
  • 关注

原创 IOS Swift 从入门到精通:写入 Firestore数据库

现在,我们想要在 Firestore 中添加或更新文档。如果您还没有,我建议您阅读有关设置 Firebase Auth 和从 Firestore 读取的部分。您必须在应用程序中启用 Firebase,并在项目中启用 Firestore 数据库,才能继续。

2024-07-02 22:24:26 218

原创 IOS Swift 从入门到精通: ios从服务器获取数据

ios 客户端从服务器获取数据

2024-06-29 20:35:04 261

原创 IOS Swift 从入门到精通:ios 连接数据库 安装 Firebase 和 Firestore

ios app连接远程数据库

2024-06-29 15:58:49 238

原创 IOS Swift 从入门到精通:从 JSON 文件加载数据

如果崩溃了,您可能没有验证 JSON 数据,并且在尝试解码该数据时抛出了致命错误。在load(_:)函数之前,我们将创建一个 FAQ 数组,该数组将通过加载faqData.json文件进行初始化。请记住,在继续操作之前,务必使用JSONLint等工具验证您的 JSON。在body下方创建content变量。接下来,我们将创建一个load(_:)函数,它可以从 JSON 文件中获取数据并将该 JSON 数据转换为 SwiftUI 数据。此文件将包含FAQ实例数组,每个实例都有一个ID、一个问题和一个答案。

2024-06-27 22:58:12 302

原创 IOS Swift 从入门到精通:BlurEffect BlendMode stroke

自定义形状也可以使用 stroke 修饰符。// 定义路径...使用 stroke 可以为SwiftUI中的形状添加多样化的视觉效果,是设计用户界面时常用的工具之一。

2024-06-26 22:14:26 298

原创 各式各样神奇的注意力机制变型

只需要关注附近的attention, local attention 和cnn 差不多,可以加速计算,但效果不一定好。同一个clustering 里面计算attention, 不同的clustering 不计算attention。不需要一个N*N的matrix 很多的信息是重复的,我们可以拿掉重复的信息,只保留不重复的信息。会导致Output sequence 的长度减少, 长度的减少会对 不同的任务有不同的影响。大的attention 算,小的attention 的值不算。

2024-06-26 19:16:21 465

原创 IOS Swift 从入门到精通:@escaping 和PreferenceKey

这种机制特别适用于需要在多个视图之间共享数据或状态的场景,而这种数据或状态可能不是直接通过视图的属性或父/子关系传递的3839404142444647。假设我们正在开发一个SwiftUI应用,需要在表单中对齐两个文本字段的标签和输入框,使得它们的宽度相等。关键字可以告诉Swift编译器,传递给函数的闭包可能会在函数执行完毕后被调用,因此它需要“逃逸”函数的作用域。被移除,所有闭包默认为非逃逸(non-escaping),如果闭包需要逃逸,必须显式地使用。状态,这样就可以确保所有文本字段的宽度都是相等的。

2024-06-25 22:36:48 387

原创 01 Swift 基础语法(变量,常量,注释,整数,浮点数,元组)

Swift 是由 Apple 开发的一种现代编程语言,用于构建 iOS、macOS、watchOS 和 tvOS 应用。它是一种多范式编程语言,具有静态类型和高性能的特点。SwiftUI 是 Apple 推出的用于构建用户界面的声明式框架。它使开发者可以用 Swift 语言编写界面代码,适用于 iOS、macOS、watchOS 和 tvOS 应用。在 Swift 中,可以使用true或false来定义布尔值。定义布尔值:使用Bool类型,可以通过true和false赋值。控制视图显示。

2024-06-24 22:58:08 416

原创 PathDecider 详细解读

PathDecider路径决策类就是对阻塞自车参考线的障碍物做决策,是否要纵向stop,或者是否可以横向ignore,或者是否要车道内横向让行(nudge),apollo路径决策时是只考虑静态障碍物,动态障碍物决策在速度规划时考虑。

2024-06-23 16:06:20 105

原创 Apollo_PIECEWISE_JERK_NONLINEAR_SPEED_OPTIMIZE 非线性速度优化

先讲下为什么需要使用非线性速度规划, 如下图,基于二次规划的速度规划中,pi是曲率关于时间t的函数,但实际上路径的曲率是与s相关的。二次规划在原先动态规划出来的粗糙ST曲线上将关于s的曲率惩罚转化为关于t的曲率惩罚,如此,当二次规划曲线与动态规划曲线差别不大,规划出来基本一致;若规划差别大,则会差别很大。就如图所示,规划出来的区间差别较大。限速/曲率的函数是关于s的函数,而s是我们要求的优化量,只能通过动态规划进行转化,如此就会使得二次规划的速度约束不精确。为了使得限速更加精细,Apollo提出了一种基于非

2024-06-23 16:01:12 112

原创 自动驾驶规划中使用 OSQP 进行二次规划 代码原理详细解读

自动驾驶规划中使用 OSQP 进行二次规划 代码原理详细解读

2024-06-23 15:37:50 488

原创 Piecewise Jerk Speed 论文以及代码解析

在处理最优化问题时,一般会转化成离散形式,将轨迹 s(t) 按照某参数离散,并计算离散点处的约束和 Cost。对于速度规划问题,一般可以按照等间距离散(Spatial Parameter Discretization)和等时间离散(Temporal Parameter Discretization)。束作为优化问题的速度约束边界,因此将每个时刻的位移和 DP 的位置之差作为了优化目标的一部分,但是这样只能实现速度的软约束。速度规划的优化求解即是按照上述的算法原理实现的。此外,Apollo 还设计了。

2024-06-23 15:11:29 92

原创 apollo规划架构

Scenario 是 apollo 决策规划算法中的重要概念,apollo 可以应对自动驾驶所面临的不同道路场景,都是通过 Scenario 统一注册与管理;下图是几个规划器的结构。这里我们要讨论的是 PublicRoadPlanner,这里只是简单的给出结构,后面的对应小节会具体介绍函数中如何运行和管理。PlanningComponent 的两大核心函数是 Init 和 Proc.接下来的具体例子中我们都以这个 planing_base_被实例化为 OnLanePlanning 作为前提。

2024-06-23 11:05:38 123

原创 IOS Swift 从入门到精通: 可选项、展开和类型转换

可选项让我们能够以清晰明确的方式表示值的缺失。Swift 不允许我们在未解包的情况下使用可选项,无论是使用if let还是使用guard let。您可以使用感叹号强制解开可选项,但如果您尝试强制解开,nil您的代码将会崩溃。隐式解包的可选项没有常规可选项的安全检查。您可以使用 nil 合并来解开可选项,如果其中没有任何内容,则提供默认值。可选链接让我们可以编写代码来操作可选项,但如果可选项为空,则代码将被忽略。您可以使用try?将抛出函数转换为可选的返回值,或者try!

2024-06-22 18:58:31 962

原创 IOS Swift 从入门到精通:协议和扩展

协议描述了符合类型必须具有的方法和属性,但不提供这些方法的实现。您可以在其他协议之上构建协议,类似于类。扩展允许您向特定类型添加方法和计算属性,例如Int。协议扩展允许您向协议添加方法和计算属性。面向协议的编程是将应用程序架构设计为一系列协议的实践,然后使用协议扩展来提供默认方法实现。

2024-06-22 18:25:15 643 1

原创 IOS Swift 从入门到精通: 类和继承

类和结构类似,因为它们都可以让你创建具有属性和方法的自己的类型。一个类可以继承另一个类,并获得父类的所有属性和方法。我们经常讨论类层次结构——一个类基于另一个类,而另一个类又基于另一个类。你可以用关键字标记一个类final,以阻止其他类从它继承。方法覆盖允许子类用新的实现替换其父类中的方法。当两个变量指向同一个类实例时,它们都指向同一块内存——改变一个变量就会改变另一个变量。类可以有一个析构函数,它是在类的实例被销毁时运行的代码。

2024-06-22 17:58:20 620

原创 IOS Swift 从入门到精通: 结构体的访问控制、静态属性和惰性

您可以使用结构创建自己的类型,它们可以具有自己的属性和方法。您可以使用存储的属性或使用计算属性来动态计算值。如果您想更改方法内的属性,则必须将其标记为mutating。初始化器是创建结构体的特殊方法。默认情况下,您会获得成员初始化器,但如果您创建自己的初始化器,则必须为所有属性赋予值。使用self常量来引用方法内部结构的当前实例。该lazy关键字告诉 Swift 仅在第一次使用时创建属性。您可以使用关键字在结构的所有实例之间共享属性和方法static。

2024-06-22 17:38:06 518

原创 IOS Swift : 从入门到精通结构、属性和方法 结构体,第一部分

问题是,当你创建结构体时,Swift 不知道你是否将它与常量还是变量一起使用,因此默认情况下它采用安全的方法:除非你特别要求,否则 Swift 不会让你编写改变属性的方法。结构可以拥有自己的变量和常量,以及自己的函数,然后可以按照你想要的方式创建和使用。这些被称为存储属性,因为 Swift 有一种称为计算属性的不同类型的属性- 运行代码来找出其值的属性。如果结构体具有变量属性,但该结构的实例是作为常量创建的,则该属性无法更改 - 该结构体是常量,因此无论其如何创建,其所有属性也都是常量。

2024-06-22 17:26:30 575

原创 IOS Swift 从入门到精通:闭包第二部分,高级闭包

您可以将闭包分配给变量,然后稍后调用它们。闭包可以接受参数并返回值,就像常规函数一样。您可以将闭包作为参数传递给函数,并且这些闭包可以具有自己的参数和返回值。如果函数的最后一个参数是闭包,则可以使用尾随闭包语法。$0Swift 自动提供像和 这样的简写参数名称$1,但并不是每个人都使用它们。如果在闭包内部使用外部值,它们将被捕获,以便闭包稍后可以引用它们。

2024-06-22 16:18:44 769 1

原创 IOS Swift 从入门到精通:闭包 第一部分

这意味着您可以创建一个函数并将其分配给一个变量,使用该变量调用该函数,甚至可以将该函数作为参数传递给其他函数。如果我们想将闭包传递给一个函数,以便它可以在该函数内运行,我们将指定参数类型为() -> Void。如果函数的最后一个参数是闭包,Swift 允许你使用一种特殊的语法,称为尾随闭包语法。为了使闭包接受参数,请将它们列在紧接在开括号后的括号内,然后书写in,以便 Swift 知道闭包的主体正在开始。闭包也可以返回值,它们的写法与参数类似:将它们写在闭包内部,直接在关键字之前in。

2024-06-22 16:02:57 546

原创 IOS Swift 从入门到精通: 函数,参数和异常

函数让我们可以重复使用代码,而无需重复自己。函数可以接受参数——只需告诉 Swift 每个参数的类型。函数可以返回值,同样,您只需指定要返回的类型。如果您想返回多个值,请使用元组。您可以对外部和内部参数使用不同的名称,或者完全省略外部名称。参数可以有默认值,这可以帮助您在特定值很常见时编写更少的代码。可变参数函数接受零个或多个特定参数,Swift 将输入转换为数组。函数可以抛出错误,但您必须使用 调用它们try并使用 处理错误catch。

2024-06-22 15:52:47 441

原创 IOS Swift 从入门到精通: For 循环, While 循环, 重复循环, 退出循环, 退出多重循环, 跳过项目, 无限循环

循环让我们重复代码直到条件为假。最常见的循环是for,它将循环内的每一项分配给一个临时常量。如果您不需要for循环提供的临时常量,请使用下划线,这样 Swift 可以跳过该工作。存在while循环,您可以提供明确的条件来检查。while尽管它们与循环相似,但repeat循环总是运行其循环主体至少一次。您可以使用退出单个循环break,但如果您有嵌套循环,则需要使用,break后跟您在外循环之前放置的任何标签。您可以使用 循环跳过项目continue。

2024-06-22 11:19:15 620

原创 IOS Swift 从入门到精通:算术运算,运算符重载,符合赋值运算,比较运算,条件,结合条件,三元运算,Swift语句,范围运算

让我们总结一下:Swift 具有用于进行算术和比较的运算符;它们的工作方式大多像您已经知道的那样。算术运算符有复合变体,可以就地修改其变量:+=、、-=等等。您可以使用if、else和else if根据条件的结果运行代码。Swift 有一个三元运算符,它将检查与 true 和 false 代码块结合起来。虽然你可能在其他代码中看到它,但我不建议你自己使用它。如果有多个条件使用相同的值,则使用switch后者通常会更清楚。您可以使用..

2024-06-22 11:00:23 525

原创 IOS Swift 从入门到精通:数组,集合,元组,对比,字典,枚举

让我们总结一下:数组、集合、元组和字典可让您将一组项目存储在单个值下。它们各自以不同的方式实现这一点,因此您使用哪种方式取决于您想要的行为。数组按照添加项目的顺序存储项目,并且您可以使用数字位置访问它们。设置存储项目无任何顺序,因此您无法使用数字位置访问它们。元组的大小是固定的,你可以给每个项目附加名称。你可以使用数字位置或使用你的名字来读取项目。字典根据键存储项目,您可以使用这些键读取项目。枚举是一种对相关值进行分组的方法,因此您可以在使用它们时不会出现拼写错误。

2024-06-22 10:16:35 868

原创 IOS Swift 从入门到精通:Swift 简介,Swift中变量和常量,Swift中字符串,Swift中整数和浮点数

编程语言有很多,但我认为你会非常喜欢学习 Swift。这部分是出于实际原因——你可以在 App Store 上赚很多钱!——但也有很多技术原因。您会看到,Swift 是一种相对年轻的语言,仅在 2014 年推出。这意味着它没有旧语言可能存在的许多语言垃圾,并且通常意味着只有一种方法来解决特定问题。与此同时,作为一种新型编程语言,Swift 充分利用了旧语言成功之处(有时也包括错误之处)的各种新理念。

2024-06-20 09:05:48 981

原创 特征离散化,特征交叉,连续特征离散化

一.互联网广告特征工程博文《互联网广告综述之点击率系统》论述了互联网广告的点击率系统,可以看到,其中的logistic regression模型是比较简单而且实用的,其训练方法虽然有多种,但目标是一致的,训练结果对效果的影响是比较大,但是训练方法本身,对效果的影响却不是决定性的,因为训练的是每个特征的权重,权重细微的差别不会引起ctr的巨大变化。在训练方法确定后,对ctr预估起到决定性作用的是选

2017-04-28 09:55:15 884

转载 hadoop下实现kmeans算法——一个mapreduce的实现方法

写mapreduce程序实现kmeans算法,我们的思路可能是这样的1. 用一个全局变量存放上一次迭代后的质心2. map里,计算每个质心与样本之间的距离,得到与样本距离最短的质心,以这个质心作为key,样本作为value,输出3. reduce里,输入的key是质心,value是其他的样本,这时重新计算聚类中心,将聚类中心put到一个全部变量t中。4. 在main里比较前一次的质心和本次的质心是否

2017-04-24 10:36:29 923

转载 word2vec

part1 The Model The skip-gram neural network model is actually surprisingly simple in its most basic form; I think it’s the all the little tweaks and enhancements that start to clutter the explanatio

2017-03-27 14:22:31 768

转载 Local Response Normalization (LRN)

This concept was raised in AlexNet, click here to learn more. Local response normalization algorithm was inspired by the real neurons, as the author said, “bears some resemblance to the local contrast

2017-03-27 14:20:26 1232

转载 序列标注模型

序列标注模型被广泛应用于文本处理相关领域,例如分词、词性标注、命名实体识别等方面。现有的序列标注模型主要有 HMM , MEMM 以及 CRF ,通过对这几种自然语言处理中常用的序列标注模型进行对比,分析其各自的优缺点。 在介绍三种序列标注模型之前,首先需了解下产生式模型与判别式模型的概念,二者在分类器中经常被提及。假定输入 X ,类别标签 Y : 产生式模型估计联合概率P(x,y) ,判别式模型

2017-03-27 14:19:32 1931

原创 movingCount

class Solution {private: int count=0; vector<vector<int>> directions{{-1,0},{1,0},{0,1},{0,-1}}; bool judge(int threshold,int row,int col) { int judgecount=0; while(row

2017-03-16 17:51:55 434

原创 hasPath

class Solution {private: vector<vector<int>> directions={{-1,0},{1,0},{0,1},{0,-1}}; bool haspathhelper(char *matrix,int rows,int cols,int currow,int curcol,char *str,int length,int curindex,b

2017-03-16 16:42:10 646

原创 Serialize and DeSerialize

class Solution {private: void serializehelper(TreeNode *root,vector<int> &v) { if(root==NULL) { v.push_back(0x23333333); return; } v.push

2017-03-15 22:20:45 368

原创 按照之字形打印二叉树

#include <string>#include <iostream>#include <vector>#include <cstring>#include <stack>using namespace std;struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;

2017-03-14 19:30:24 378

原创 duplicate

#include <string>#include <iostream>#include <vector>using namespace std;class Solution {public: // Parameters: // numbers: an array of integers // length: the l

2017-03-11 22:57:28 452

原创 424. Longest Repeating Character Replacement

public class Solution { public int characterReplacement(String s, int k) { int start=0; int end=0; int maxlength=0; int len=s.length(); int[] count=new int[2

2017-02-13 14:12:11 310

原创 423. Reconstruct Original Digits from English

public class Solution { public String originalDigits(String s) { int[] count = new int[10]; for (int i = 0; i < s.length(); i++){ char c = s.charAt(i); if (c

2017-02-13 10:20:12 305

原创 421. Maximum XOR of Two Numbers in an Array

class Solution {public: int findMaximumXOR(vector<int>& nums) { int max=0; int mask=0; unordered_set<int> s; for(int i=31;i>=0;i--) { s.clear();

2017-02-12 12:08:35 291

原创 419. Battleships in a Board

public class Solution { public int countBattleships(char[][] board) { int m=board.length; if(m==0) return 0; int n=board[0].length; if(n==0)

2017-02-10 16:01:43 344

原创 417. Pacific Atlantic Water Flow dfs

public class Solution { public List<int[]> pacificAtlantic(int[][] matrix) { List<int[]> ret=new ArrayList<int[]>(); int m=matrix.length; if(m==0) return ret;

2017-02-09 19:05:23 296

PID算法介绍

pid算法是用于反馈控制的算法 适合于工业控制

2012-10-07

数字电路教程

很好的数字电路入门资源,非常适合入门 数字电路是基础哦

2012-09-23

TMP100驱动

温度传感器TMP100的驱动代码,可以直接拿过来用的

2012-09-18

安卓开发门必读

安卓开发必读 Android

2012-05-13

空空如也

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

TA关注的人

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