<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[破茧成蝶]]></title><description><![CDATA[输出永远是最好的输入！]]></description><link>https://blog.youkuaiyun.com/FTD_SL</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FTD_SL]]></copyright><item><title><![CDATA[一个5年iOS开发者的困惑：路在何方？]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/89874619</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/89874619</guid><author>FTD_SL</author><pubDate>Mon, 06 May 2019 11:44:58 +0800</pubDate><description><![CDATA[最近陆陆续续参加了四家公司的面试，居然一个offer没拿到。

  

  最后一家面试回来，我坐下来静静地回想了一下这次的面试历程：

  第一家公司：

    公司概况：一家初创型公司，公司的老板是90后，看样子是个富二代，手里面有一些人脉资源，公司的主要业务是准备做一些小额贷款系统出售，大饼是后期做一个系统超市，实现流量变现。公司的预计技术团队包含iO...]]></description><category></category></item><item><title><![CDATA[iOS开发日常-原生与H5交互逻辑]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/89321915</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/89321915</guid><author>FTD_SL</author><pubDate>Mon, 15 Apr 2019 21:53:34 +0800</pubDate><description><![CDATA[文章目录背景之前的方案现行方案
背景

  随着H5功能愈发的强大，混合开发势在必行，其中涉及的原生与JS的交互逻辑如何设定就成了当务之急。

之前的方案


  1.通过URL截取方法名和参数方式(缺点：截取麻烦)


  2.运用JavaScriptCore框架，通过JSContenxt对象注入方法(缺点：页面重定向后需要重新注入)


  3.舍弃UIWebView，采用WKWebView，...]]></description><category></category></item><item><title><![CDATA[Java开发日常-Oracle中的dual表]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/88710236</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/88710236</guid><author>FTD_SL</author><pubDate>Thu, 21 Mar 2019 11:18:49 +0800</pubDate><description><![CDATA[文章目录简介用途
简介

  dual表是一个虚拟表，用来构成select的语法规则，oracle保证dual里面永远只有一条记录。

用途

查看当前用户

select user from dual;


连接两个字符串

select concat('025-','888') from dual;


用做计算器

select 2*9 from dual;


...]]></description><category></category></item><item><title><![CDATA[iOS编程语言-Swift中结构体和枚举是值类型]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/88018008</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/88018008</guid><author>FTD_SL</author><pubDate>Thu, 28 Feb 2019 10:55:04 +0800</pubDate><description><![CDATA[文章目录Structures and Enumerations Are Value TypesAn Example to describe the EssenceThe Same Behavior applies to Enumerations:Choosing Between Structures and Classes
Structures and Enumerations Are Value...]]></description><category></category></item><item><title><![CDATA[Java开发日常-Oracle中group by与order by配合使用]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/87929097</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/87929097</guid><author>FTD_SL</author><pubDate>Tue, 26 Feb 2019 09:40:30 +0800</pubDate><description><![CDATA[文章目录现象原SQL语句异常原因
现象

在group by 和order by配合使用执行oracle数据库查询时，出现异常

原SQL语句
select  SDEPARTMENT, SCONTRACT_NAME, avg(DCONTRACT_VALUE) DCONTRACT_VALUE
from HY_PROJECT_ACCOUNTBOOK 
where SPROJECT_ID = 'EERI...]]></description><category></category></item><item><title><![CDATA[Java开发日常-Mybatis报错：java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/87863808</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/87863808</guid><author>FTD_SL</author><pubDate>Thu, 21 Feb 2019 16:39:06 +0800</pubDate><description><![CDATA[文章目录报错SQL异常解决
报错SQL
select b.TYPE_NAME SBIGTYPE_NAME, b.TYPE IBIGTYPE_TYPE, a.ID SSMALLTYPE_ID, a.SSMALLTYPE_NAME, a.DPLAN_AMOUNTALL FSMALLTYPE_PALN_AMOUNT, d.actual_amountall FSMALLTYPE_ACTUAL_AMOUNT...]]></description><category></category></item><item><title><![CDATA[iOS开发日常-git中如何忽略【项目.xcworkspace/xcuserdata/用户名.xcuserdatad/UserInterfaceState.xcuserstate】]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/87252368</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/87252368</guid><author>FTD_SL</author><pubDate>Thu, 14 Feb 2019 09:37:35 +0800</pubDate><description><![CDATA[问题

在已添加了.gitignore文件的前提下，运行程序后执行git status，发现仍然存在

Modified: projectName.xcworkspace/xcuserdata/userName.xcuserdatad/UserInterfaceState.xcuserstate

原因

ProjectName.xcworkspace/xcuserdata/userName.xc...]]></description><category></category></item><item><title><![CDATA[数据结构与算法-赫夫曼树(最优二叉树)、赫夫曼编码]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86718386</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86718386</guid><author>FTD_SL</author><pubDate>Thu, 31 Jan 2019 17:28:34 +0800</pubDate><description><![CDATA[概要赫夫曼树定义如何构造赫夫曼树赫夫曼编码
赫夫曼树定义

  以两棵带权的二叉树为例：

  从树中一个结点到另一个结点之间的分支构成两个结点之间的路径，路径上的分支数目称为路劲长度。二叉树a中，根结点到结点D的路径长度就为4，二叉树b中根结点到结点D的路径长度为2。树的路径长度就是从树根到每一结点的路径长度之和。二叉树a的树路径长度就为1+1+2+2+3+3+4+4=20。二叉树b的树路径长度...]]></description><category></category></item><item><title><![CDATA[数据结构与算法-二叉树遍历]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86716639</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86716639</guid><author>FTD_SL</author><pubDate>Thu, 31 Jan 2019 16:35:23 +0800</pubDate><description><![CDATA[概要基本概念研究二叉树遍历的必要性四种遍历方法前序遍历中序遍历后序遍历层序遍历
基本概念

  二叉树的遍历（traversing binary tree）是指从根结点出发，按照某种次序依次访问二叉树中所有结点，使得每个结点被访问一次且仅被访问一次。

研究二叉树遍历的必要性

  如果我们用图形的方式来表现树的结构，应该说是非常直观和容易理解，但是对于计算机来说，它只有循环、判断等方式来处理，也...]]></description><category></category></item><item><title><![CDATA[数据结构与算法-串]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86702779</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86702779</guid><author>FTD_SL</author><pubDate>Wed, 30 Jan 2019 14:31:49 +0800</pubDate><description><![CDATA[概要基本概念串的比较串的存储结构顺序存储链式存储串的模式匹配朴素模式匹配算法（低效）KMP模式匹配算法（推荐）
基本概念

  串（string）是由零个或多个字符组成的有限序列，又名叫字符串。一般记为s=“a1a2···an”(n≥0)，其中s是串的名称，用双引号括起来的字符序列是串的值。ai(1≤i≤n)可以是字母、数字或其他字符，i就是该字符在串中的位置。串中的字符数目n称为串的长度。
  ...]]></description><category></category></item><item><title><![CDATA[数据结构与算法-栈与队列]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86700296</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86700296</guid><author>FTD_SL</author><pubDate>Wed, 30 Jan 2019 11:00:41 +0800</pubDate><description><![CDATA[概要栈和队列都是特殊的线性表栈基本概念栈的应用-递归栈的应用-四则运算表达式求值【后缀（逆波兰）表示法】队列基本概念
栈和队列都是特殊的线性表

  何为线性表?

栈
基本概念

  栈（stack）是限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶（top），另一端称为栈底（bottom），不含任何数据元素的栈称为空栈。栈又称为后进先出（Last In First Out）...]]></description><category></category></item><item><title><![CDATA[数据结构与算法-线性表]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86679825</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86679825</guid><author>FTD_SL</author><pubDate>Mon, 28 Jan 2019 16:53:51 +0800</pubDate><description><![CDATA[概要一图胜千言线性表基本概念线性表顺序存储顺序存储-查询顺序存储-插入和删除顺序存储-总结线性表链式存储链式存储-查询链式存储-插入和删除线性表单链表结构与顺序存储结构对比循环链表双向循环链表
一图胜千言

线性表基本概念

  线性表（List）:零个或多个数据元素的有限序列。
  若将线性表记为（a1, ···, ai-1, ai, ai+1, ···, an），则表中ai-1领先于ai，ai...]]></description><category></category></item><item><title><![CDATA[iOS开发日常-前后台数据交互之RSA公钥验签]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86626969</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86626969</guid><author>FTD_SL</author><pubDate>Thu, 24 Jan 2019 14:58:55 +0800</pubDate><description><![CDATA[概要背景概述OpenSSL生成秘钥iOS本地RSA公钥验签
背景概述

  最近公司新启动一个项目，老大定了一套前后台加密交互方案：

前台发送请求：RSA公钥加密 - 压缩 - Base64编码；


后台返回响应：RSA私钥加密 - 压缩 - RSA私钥加签 - Base64编码；


前台处理响应：RSA公钥验签 - Base64解码 - 解压 - RSA公钥解密。

  因为iOS这边验签...]]></description><category></category></item><item><title><![CDATA[数据结构与算法-基本概念]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86573805</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86573805</guid><author>FTD_SL</author><pubDate>Mon, 21 Jan 2019 14:31:35 +0800</pubDate><description><![CDATA[概要数据结构基本概念逻辑结构与物理结构抽象数据类型算法定义特性设计的要求时间复杂度概念推导大0阶方法常见的时间复杂度最坏情况与平均情况空间复杂度
数据结构
基本概念

  结构，简单的理解就是关系，比如分子结构，就是说组成分子的原子之间的排列方式。严格点说，结构是指各个组成部分相互搭配和排列的方式。
  数据结构：是相互之间存在一种或多种特定关系的数据元素的集合。
  注：数据元素 – 是组成数据...]]></description><category></category></item><item><title><![CDATA[数据结构与算法-平衡二叉树（AVL树）-思想篇]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86291906</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86291906</guid><author>FTD_SL</author><pubDate>Fri, 11 Jan 2019 11:07:56 +0800</pubDate><description><![CDATA[概要基本概念实现原理图示平衡二叉树构建过程思想总结
基本概念

  平衡二叉树（Self-Balancing Binary Search Tree 或 Height-Balanced Binary Search Tree），是一种二叉排序树，其中每一个结点的左子树和右子树的高度差至多等于1。
  我们将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF（Balance Factor）,那么...]]></description><category></category></item><item><title><![CDATA[iOS开发日常-Git版本管理之如何解决fatal: refusing to merge unrelated histories错误]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86168274</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86168274</guid><author>FTD_SL</author><pubDate>Wed, 09 Jan 2019 18:11:51 +0800</pubDate><description><![CDATA[概要前情概述问题原因分析解决
前情概述
想将本地git管理的项目推送到github这样的远程仓库中，本地分支提交了部分内容，远程分支也有提交历史。
问题
本地添加远程仓库后(git remote add origin xx)，执行git pull想拉取远程分支的内容时，报错：

daqiangshendeMacBook-Pro:DQS~SourceCode dqs$ git status
On b...]]></description><category></category></item><item><title><![CDATA[数据结构与算法-二叉排序树创建、查找、删除(Swift实现)]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86165997</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86165997</guid><author>FTD_SL</author><pubDate>Wed, 09 Jan 2019 17:36:26 +0800</pubDate><description><![CDATA[概要基本概念二叉排序树查找二叉排序树插入二叉排序树创建二叉排序树删除删除叶子结点或仅有左右子树之一的结点删除左右子树都有的结点总结
基本概念

二叉排序树（Binary Sort Tree），又称为二叉查找树。它或者是一棵空树，或者是具有下列性质的二叉树。


若它的左子树不空，则左子树上所有结点的值均小于它的根结点的值；
若它的右子树不空，则右子树上所有结点的值均大于它的根结点的值；
它的左、右...]]></description><category></category></item><item><title><![CDATA[Java开发日常-eclipse去掉无用的validation，提升编译速度]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86071158</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86071158</guid><author>FTD_SL</author><pubDate>Tue, 08 Jan 2019 13:36:00 +0800</pubDate><description><![CDATA[概要提出问题解决问题
提出问题

我们在eclipse里经常看到这个进程，validating…逐个地检查每一个文件。那么如何关闭一些validate操作呢？

解决问题


Step1. 打开eclipse，选择【preference】选项



Step2. 在【Validation】选项中修改【Build】选项




Note: 如果以后需要对某个文件进行校验，在文件上右击，点击【Vali...]]></description><category></category></item><item><title><![CDATA[iOS开发日常-Carthage秘籍之【让现有的Swift项目支持Carthage】]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/86006471</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/86006471</guid><author>FTD_SL</author><pubDate>Mon, 07 Jan 2019 15:33:42 +0800</pubDate><description><![CDATA[概要Step1. 为现有项目新建TargetStep2. 新建的framework选择包含的文件Step3.编辑Schemes, 分享新建的frameworkStep4.生成最终的frameworkStep5.Release一个指定tag的版本Step6.使用Carthage
Step1. 为现有项目新建Target
现有项目上新建一个framework的target


在Framework &amp;amp;...]]></description><category></category></item><item><title><![CDATA[iOS开发日常-Carthage秘籍之【安装、使用】]]></title><link>https://blog.youkuaiyun.com/FTD_SL/article/details/85985328</link><guid>https://blog.youkuaiyun.com/FTD_SL/article/details/85985328</guid><author>FTD_SL</author><pubDate>Mon, 07 Jan 2019 09:34:18 +0800</pubDate><description><![CDATA[概要基本概念Carthage安装Carthage使用
基本概念

Carthage is intended to be the simplest way to add frameworks to your Cocoa application.Carthage builds your dependencies and provides you with binary framworks, but y...]]></description><category></category></item></channel></rss>