自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

零丁若叹

学会仰望天空,更要脚踏实地

  • 博客(192)
  • 收藏
  • 关注

原创 MacOS开发环境搭建

MacOS开发环境搭建

2022-08-20 17:07:53 745

原创 iOS WKWebView基本使用

iOSWKWebView的基本使用

2022-08-13 22:25:54 582

原创 iOS查看汇编代码

iOS查看汇编代码

2022-08-07 12:42:38 511

原创 iOS instancetype和id区别

instanctype和id的区别

2022-07-24 23:07:12 71

原创 MacOS搭建Java开发环境

MacOS搭建Java开发环境

2022-07-03 18:17:48 326

原创 macOS连接ftp服务器

FTP(File Transfer Protocol)文件传输协议,是客户端和服务端之间进行文件传输的协议,它使用TCP协议实现。使用FTP服务,必须先登录,FileZilla是ftp登录软件,借助它我们可以方便地完成文件上传和下载。本文介绍macOS系统如何连接ftp服务器。1.下载FileZillaFileZilla下载链接:https://filezilla-project.org/download.php?type=client,下载后安装2.打开FileZilla,点击文件,站点管理器3

2022-05-28 12:34:27 3906

原创 数组中出现次数超过一半的数字

实现一个函数,找出数组中出现次数超过一半的元素思路:默认第一个元素为找到的元素result,设置times变量为1,遍历数组,如果后面的元素等于result,times加1,如果后面的元素不等于result,times减1,如果times为0,则把result替换为当前元素C++.h#ifndef MoreThanHalf_hpp#define MoreThanHalf_hpp#include <stdio.h>#endif /* MoreThanHalf_hpp */in

2022-03-11 23:50:34 724

原创 字符串的排列组合

一个字符串,打印出所有的排列组合,如"abc",所有的排列组合为abc,acb,bac,bca,cba,cab思路: 先确定第一位字符,问题转化为求解后面n-1个字符的排列组合问题,可以使用递归的方式解决。第一位字符可以是字符串中的任何一个字符,所以需要把每一个字符交换到首位,先使用循环,循环里面调用递归函数。C++.h#ifndef Arrangement_h#define Arrangement_h#include <stdio.h>#endif /* Arrangemen

2022-03-06 22:55:59 369

原创 层序遍历二叉树

实现一个函数,完成层序遍历二叉树。思路:使用一个队列,保存根结点,先打印根结点的值,把根结点从队列中清除。把根结点的左结点放入到队列中,把根结点的右结点放入队列中,循环进行此过程。C++.h#ifndef TreeAbout_hpp#define TreeAbout_hpp#include <stdio.h>#endif /* TreeAbout_hpp */struct TreeNode{ int val; TreeNode *left; Tre

2022-03-05 19:41:54 484

原创 链表的反转

实现一个函数,完成链表的反转思路:1.循环的方式建立两个指针,前面的指针的next指向后面的指针,然后分别移动两个指针,循环到链表结尾2.递归的方式处理head结点的反转使用head->next->next = head,head->next = NULL,然后递归反转剩余的链表部分.hpp文件#ifndef LinkedList_hpp#define LinkedList_hpp#include <stdio.h>#endif /* LinkedList

2022-03-05 11:27:24 411

原创 链表倒数第k个结点

实现一个函数,查找链表的倒数第k个结点思路:使用两个指针,第一个指针先指向第k个结点,然后两个指针同时移动,第一个指针移动到末尾的时候,第二个指针刚好位于倒数第k个位置C++.hpp文件//// LinkedList.hpp// CPlusPlusProject////////微信公众号:程序员开发环境#ifndef LinkedList_hpp#define LinkedList_hpp#include <stdio.h>#endif /* Linked

2022-03-02 22:37:20 166

原创 数据结构与算法代码选集

1.整形二维数组中,每一行从左到右递增,每一列从上到下递增,判断数组中是否含有该整数。https://blog.csdn.net/u011608357/article/details/122899737?spm=1001.2014.3001.55022.一个字符串空间足够,把字符串中的每个空格替换成"%20",如"He ll o"替换为"He%20ll%20o"https://blog.csdn.net/u011608357/article/details/122911005?spm=1001.201

2022-02-27 23:54:35 151

原创 移动数组正负数

一个整型数组,包含负数和正数,实现一个函数,把所有的负数挪到数组的左边,所有的正数挪到数组的右边。思路:使用两个指针,分别从数组的两头遍历数组,从左边找到一个负数,从右边找到一个正数,交换这两个数字,循环此过程,知道两个指针相遇。C++.h文件#ifndef PositiveNegative_h#define PositiveNegative_h#include <stdio.h>#endif /* PositiveNegative_h *//* arr为数组,low为数

2022-02-27 13:37:38 301

原创 斐波那契数

实现一个函数,输入n,输出第n个斐波那契数思路:可以使用递归和循环的方式分别实现。如果使用的递归,斐波那契数f(n)=f(n-1) + f(n-2)。如果使用循环实现,只要新建变量保存前面两个结果f(n-1)和f(n-2)就可以了。C++.h文件#ifndef FibNumber_h#define FibNumber_h#include <stdio.h>#endif /* FibNumber_h *///n为第几个斐波那契数int fibNumberRecursive(

2022-02-26 23:31:40 245

原创 二分查找实现

一个整型有序数组,完成二分查找思路:待查找数字和中间的数字比较,如果比中间的数字小,则在前半段继续查找,如果比中间的数字大,则在后半段继续查找C++.h文件#ifndef BinarySearch_h#define BinarySearch_h#include <stdio.h>#endif /* BinarySearch_hpp *//* arr为待查找数据 low为数组最小的序号 high为数组最大的序号 target为待查找数字 返回值0代表找到,返回值-1

2022-02-26 22:13:17 217

原创 快速排序实现

一个整型数组,完成快速排序思路:选取一个元素作为哨兵元素,遍历数组,比哨兵元素小的元素放在左侧,比哨兵元素大的放在右侧,再把哨兵元素放在中间位置,递归此过程。C++代码QuickSort.h文件#ifndef QuickSort_h#define QuickSort_h#include <stdio.h>#include <iostream>#endif /* QuickSort_hpp *//* arr为待排序数组 low为数组最小的序号, high为

2022-02-25 23:59:39 30

原创 两个栈实现一个队列

使用两个栈实现一个队列,实现添加方法appendData,实现删除对头元素方法deleteData,实现查看对头元素headData方法思路:栈是现金后出的数据结构,队列是先进先出的数据结构。可以使用第一个栈存入数据实现appendData。需要删除或者查看队头元素时,如果第二个栈为空,把第一个栈的数据存放到第二个栈里面,返回第二个栈的栈顶元素就可以了。如果第二个栈不为空,直接返回第二个栈的栈顶元素。stack.hpp头文件​#ifndef StackQueue_hpp#define StackQu

2022-02-20 17:26:10 305

原创 链表基本操作

链表是一种基本的数据结构,它由链表结点串联而成,在内存中的存放地址是不连续的。链表结点包含了一个值和指向下一个结点的指针,本篇文章介绍链表的基本操作,包括链表的建立,遍历,查询和删除。#include <iostream>/* arr为数组,length为数组长度 */LinkNode *createLink(int arr[], int length){ if (arr == NULL) { return NULL; } int

2022-02-19 23:42:01 186

原创 字符串替换空格

题目:一个字符串空间足够,把字符串中的每个空格替换成"%20",如"He ll o"替换为"He%20ll%20o"思路:先遍历字符串,获得空格的个数,从而获取新字符串的长度。从字符串的尾部遍历字符串,逐个复制字符,遇到空格替换为%20.#include <iostream>void trimBlank(char arr[], int length){ if (arr == NULL || length <= 0) { return; }

2022-02-13 16:58:38 440

原创 二维数组查找元素

整形二维数组中,每一行从左到右递增,每一列从上到下递增。判断数组中是否含有该整数。**思路: 从右上角开始查找,带查找的数字如果小于右上角的数,说明要查找的数字不在当前列,列数查找范围缩小,如果大于右上角的数,行数查找范围缩小。C++**#include <iostream>bool findNumber(int arr[][3], int rows, int columns, int num){ if (arr == NULL || rows <= 0 || col

2022-02-12 17:46:05 405

原创 macOS搭建C++开发环境

本文介绍如何在macOS系统搭建C++开发环境1.下载Xcode在AppStore中搜索Xcode并且安装,过程时间比较长,耐心等待。。。2.打开安装好的Xcode,出现欢迎页面,点击Create a new Xcode project3.出现工程选项弹框,点击macOS菜单下的Command Line Tool4.出现工程命名弹框,Product Name输入自己的工程名称,Language里面选择C++,点击Next5.选择好工程存放目录后,C++工程就新建好了,点击左上方启动按钮可以

2022-01-10 22:13:24 20005 2

原创 macOS重装系统

macOS可以从网络重装系统,不需要U盘,本文介绍macOS重装系统过程。一 抹掉磁盘如果想抹掉硬盘数据,可以选择这一步,注意抹掉磁盘后电脑上的所有数据将清空。如果不想抹掉硬盘,直接跳到第二步重装macOS系统。按下电脑开机键,并迅速同时按下command+R键,电脑会出现以下画面。点击磁盘工具选择内置的磁盘,点击有右上角抹掉按钮。格式选择APFS,名称可以保持不变,点击抹掉。抹掉磁盘完成,点击关闭这个页面,回到macOS实用工具。二 重装macOS系统点击选择重新安装macOS

2021-12-11 13:39:34 4143 2

原创 macOS安装MySQL

MySQL是一款跨平台,高效的数据库,它可以和Python,Java等编程语言紧密结合,广泛用于Web服务端开发。它功能强大,支持事务,试图,存储过程等,支持跨平台,常用的开发平台Windows,Linux和macOS均可以运行MySQL,且运行速度很快。在编程语言支持方面,MySQL可以和Python,Java,PHP,C++等语言配合使用。MySQL还是开源免费的数据库系统,可以通过官网直接下载使用。本篇文章介绍MacOS中如何安装MySQL。1.下载(macOS):https://dev.mysq

2021-09-12 22:12:19 185

原创 mac系统VSCode使用code命令

VSCode作为一款流行的编辑器,它具有丰富的功能,比如智能提示,运行和调试代码,内置git,扩展插件等等。在日常的开发工作中,我们常常需要打开配置文件或者其他文本文件,一般情况我们首先打开文本编辑器,然后通过File菜单打开需要的文件,这样做比较麻烦,尤其是在命令行中工作的情况,本篇文章介绍code命令在mac系统中的安装和使用。安装首先打开VSCode,然后使用快捷键Shift+Command+P,调起命令窗口,输入shell Command,下方出现Install ‘code’ command i

2021-08-29 15:21:05 2521

原创 Swift语言入门学习

文档在入门Swift语言之前,可以先看下苹果官方对Swift语言的介绍(中文版)Swift介绍开始着手学习Swift,可以看Swift官方文档。这篇文档是Swift Language Guide,里面涵盖了Swift中各种常用特性,值得阅读。内容包括数据类型,函数,闭包,枚举,结构体和类,属性,方法,下标,继承,构造函数,错误处理,并发编程,扩展,协议,泛型等。Swift Language Guide视频苹果2014年开源了Swift代码,其后每年Swift语言都有新的变动。WWDC里面有很多S

2021-06-26 11:37:54 355

原创 macOS设置快捷移动窗口,选中文字

使用macOS系统的时候,我们经常用到拖动窗口,全选或者部分选择文字等功能,可以使用鼠标轻松完成操作。对于很多macOS用户来说,他们更习惯使用触控板完成各项操作,甚至不需要鼠标,如果使用触控板怎样完成上述操作呢?我们可以一只手点按触控板,另外一只手拖动窗口,但是这样的操作不够方便。借助于macOS的设置,我们可以更方便地完成操作。首先打开系统设置,找到辅助功能然后点按指针选项,点击触控板选项点击启用拖移,并选择三指拖移这样就设置完成了,接下来可以试试三指拖移功能了。在软件窗口上方边栏或者文本

2021-05-23 12:04:24 901

原创 iOS开发入门学习路线

当前移动开发主要分为安卓开发和iOS开发,对于想学习移动端开发的人来说,两者都是不错的选择。简单对比下两者的区别,安卓的app主要分布在各种厂商的应用商店,如华为,小米的应用商店,iOS的app集中在苹果的app store,苹果对于app的审核周期更长一些。安卓开发主要使用Java语言,近年也有app采用Kotlin开发。iOS的app采用Objective-C开发,近年苹果在推广Swift语言。安卓系统可以由厂商做一些定制, iOS系统是闭源的操作系统,苹果对于iOS的app审核比较严格一些。安卓开发可

2021-05-01 18:22:07 6572 3

原创 搭建iOS开发环境

1.准备当前移动开发主要分为安卓开发和iOS开发,安卓是谷歌在2007年宣布开源的移动操作系统,iOS是苹果2007年发布的。两个系统出现的时间大致相同,在随后的十年间引领了移动开发浪潮。如今各种移动开发技术层出不穷,一些跨平台的技术也相继出现,比如React Native,Flutter等,但目前仍然没有取代Native开发的地位,在一些核心页面依然采用的Native方式开发,所以Native开发依然是必备的技能。如果想入门移动开发,安卓和iOS两者都是不错的选择,本篇文章介绍iOS开发的搭建。iOS开

2021-04-04 17:12:09 1721

原创 macOS如何打开ttf文件,iconfont文件

在客户端开发中,有时我们需要加载iconfont,里面聚集了很多icon,通常这种iconfont是以ttf结尾的文件,在macOS上如何打开并且查看这些icon的字符编码呢?macOS系统自带了字体软件,不需要安装其他软件。font book软件(系统自带)直接双击ttf文件,点击安装OS自己安装的iconfont文件会在用户目录下,点击iconfont文件后,默认是大图标模式,并且无法查看icon对应的编码,一定要点击下方红色部分的按钮,才可变为小图标模式,此时在想查看的小图标上鼠标悬浮,就可以

2021-03-14 18:08:39 1288

原创 十分钟搭建React开发环境

React是facebook开源的js库,主要用于构建UI,它采用声明式的设计,通过虚拟dom,提高程序执行效率,并且实现了UI的响应式更新,目前react在前端项目中有着广泛的应用,本文主要讲解如何搭建React开发环境。开发环境1.Nodejs和npmNodejs和npm是前端开发必备的工具,如果你不确定电脑里面是否已经安装了Nodejs,可以打开命令行,然后输入node -v,如果显示出了Nodejs版本,说明已经成功安装了Nodejs。安装Nodejs以后,npm是附带安装的,无需再单独安装n

2021-01-24 16:43:36 1794 2

原创 十分钟学会画甘特图

甘特图是什么甘特图用图示的方式表现项目的各项活动以及进展情况,它有两条轴,横轴代表时间,纵轴代表项目任务,横条代表活动的计划和实际完成情况,它可以很直观地展示出各项活动的进度。对于项目管理者来说,通过甘特图可以快速弄清楚项目已经完成了多少任务,还有多少任务待完成,方便把控项目总体进度。使用纯文字描述有时难以描述项目概况,甘特图提供了一种图示的方式,便于查看,便于理解,因而成为项目管理的有用工具。画甘特图工具我们使用typora这款软件绘制甘特图,这个软件在windows,mac和linux都可以安装,

2021-01-16 21:49:02 6440 6

原创 一文搞定开发学习环境

刚开始学写代码,首先要搭建开发环境。新手需要在网上查阅教程,很多时候会遇到各种问题,甚至导致自己的学习进度卡住,学习热情也因此而减少,这实在是个让人烦的事情。我们可以简单分析原因,并慢慢减少此类问题的发生。搭建开发环境经常出错的原因1.开发环境不匹配我们在学习或者实际的开发中,有多种开发平台,比如windows,macOS,linux。在搜索如何搭建开发环境的时候,要选择合适的资料。你在windows平台开发的话,看了linux和macOS的资料可能没有用处。同样,你在macOS平台开发的话,看

2021-01-02 17:58:32 90

原创 VSCode搭建ES6开发环境

VSCode搭建ES6开发环境javascript是一种高级脚本语言,常用于web应用开发,为网页开发添加动态交互。一个完整的网页通常由三部分组成,html,css和javascript,html主要完成静态内容的,比如页面布局和控件添加,css主要完成网页内容样式,比如添加颜色等,javascript主要完成交互,比如用户点击了一个按钮,接下来的操作由javascript完成。对于想入门前端开发的同学来说,javascript是必须学习的语言。ECMAScript是什么ECMAScript是java

2020-12-19 16:13:03 2898 4

原创 npm常用命令

npmnpm全名是node package manager,是js包管理工具。npm有个查询安装包的网址,安装包搜索,这里你可以搜索到各种安装包。npm常用命令1.初始化项目npm init -y创建一个项目,默认会生成package.json文件2.安装模块全局安装npm install 模块名 -g 本地安装npm install 模块名如果这个模块是用户会使用到的,这个命令后面需要加上–save,这样package.json中的dependencies会自动添加这个模块依赖

2020-12-13 17:26:55 56

原创 连接远程linux服务器

SSH简介我们在 搭建服务器时通常选择Linux版本,如果远程的服务器没有桌面,mac电脑如何在本地操作远程的服务器呢?方法是很简单的,mac电脑为我们提供了ssh命令,使用这个命令可以快速连接到远程linux服务器。SSH是一种加密的网络传输协议,它可以在不安全的网络中提供安全的传输环境,通常利用SSH来传输命令行界面,远程执行命令。SSH工作的大概原理是客户端在建立连接过程中,服务端收到用户的登录请求,然后把服务端的公钥发给用户,客户端拿到这个公钥,把登录密码加密发送给服务端,服务端使用自己的.

2020-11-07 22:43:18 2493

原创 获取iPhone信息

iOS开发获取机型信息iOS开发中有时需要查看设备机型,用来分析数据或者分析问题。获取信息可以使用uname接口,machine字段存放了设备Model信息,这个Model字段有两个注意点,第一个注意点是模拟器上始终返回的是x86_64,因为模拟器运行在mac电脑上,返回的实际是电脑的设备信息。第二个注意点是Model信息中的数字并不直接代表机型,比如iPhone12,1并不是iPhone12手机,而是iPhone11,需要写方法做个映射,从而获取到机型。- (NSString *)deviceTy.

2020-10-24 23:38:57 428

原创 ASCII码字符集

为什么有ASCII码计算机存储和传输的数据必须是二进制,也就是说所有的信息都要转换成0和1表示。在两台通信设备之间通信的时候,比如要传输字符a,发送设备把a编码为0和1组成的序列,并发送出去,接口设备如何正确地的理解这个0和1序列呢?这就像两个人之间对话一样,如果两个人使用的是不同的语言,那么他们会存在沟通障碍。同样的地,计算机设备之间也需要统一的编码标准,把字符编码为统一的0和1序列,发送之前进行二进制编码, 接收的设备只要按照相同的规则解析,就可以读取出来信息了。统一的编码方案成为信息能够正确存储.

2020-10-18 12:40:46 1496

原创 VSCode中使用Pylint检查python代码

为什么使用lint在日常开发中,不同开发人员会写下不同风格的代码,导致代码可维护性变差,为了解决风格不一致问题,我们可以制定代码规范,让开发人员都遵守同样的规范编写代码。在开发过程中,部分代码存在质量问题,这个时候需要code review的方式,人工检查一些可能的错误。然而,在实际开发中,开发规范仍然严重依赖开发人员的自觉性,还是会出现一些不合规范的现象,在人员发生变化的时候,代码规范需要再次的普及和培训,也浪费了很多时间。代码质量的检查也是严重依赖开发人员review的细致程度,实际上还是有很多b.

2020-10-07 18:29:11 6517 2

原创 VSCode配置中文显示

VSCode是微软开发的代码编辑器,他提供了代码补全、代码片段等功能,同时内置了git版本控制,支持用户个性化配置,如改变主题改变快捷键等。它提供了强大的插件管理功能,可以方便地安装各种开发插件。本文主要讲解如何在VSCode上配置中文语言。VSCode支持的语言展示语言Locale字段English (US)enSimplified Chinesezh-CNTraditional Chinesezh-TWFrenchfrGermandeIta

2020-10-07 00:12:50 274

原创 秋天的第一行nodejs代码

VSCode配置nodejs环境VSCode是微软开发的代码编辑器,他提供了代码补全、代码片段等功能,同时内置了git版本控制,支持用户个性化配置,如改变主题改变快捷键等。它提供了强大的插件管理功能,可以方便地安装各种开发插件。本文主要讲解如何在VSCode上搭建nodejs开发环境。安装VSCodeVSCode下载地址,https://code.visualstudio.com安装nodejsnode下载地址,http://nodejs.cn/download/根据电脑系统,选择对应的

2020-09-29 22:02:28 62

空空如也

空空如也

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

TA关注的人

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