自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Eugene Law IT Space

share my knowledge with you

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

原创 阿里云Ubuntu发布服务的永久运行和停止

下面以阿里云Ubuntu20系统、FastApi为例后台运行项目:nohup command > logout.file 2>&1 & uvicorn main:app --host 0.0.0.0 --port 5000其中nohup不挂起logout是输出文件的文件名符号的含义可以查linux的操作符uvicorn是发布FastApi可以搭配使用的一个软件host可以直接发布在本地ip即可port是端口号,配合nginx的反向代理使用

2021-10-08 23:31:20 1017

原创 新阿里云Ubuntu服务器使用FastApi的配置步骤

选择:ubuntu0.20.04.1版本自带环境:python 环境默认自带3.8.10> 重置实例密码、重置VNC密码> sudo apt update> 安装mysql1.sudo apt install mysql-server2.配置不自动断连一边配置一边更新~...

2021-08-27 23:02:10 1106

原创 SpringBoot的入门系列

旧blog的丢失,直接放链接,懒得搬运了。https://blog.youkuaiyun.com/qq_28323373/category_9408340.html

2021-07-30 23:44:34 153

原创 SwiftUI的入门教程,对官方教程的补充

换一种角度实现官方SwiftUI的引导教程,因为旧blog多年未用已经丢失,直接上链接算了。https://blog.youkuaiyun.com/qq_28323373/category_9377123.html

2021-07-30 23:43:18 230

原创 Swift 生成图形验证码

class ImageCodeVerification: NSObject { static func create(_ frame: CGRect) -> (obj: UIView, code: String) { let code = getCode() let view = getView(frame, code) return (view, code) } private override init() {...

2021-07-30 23:38:48 416

原创 App Designer 了解SwiftUI

写了一个demo app,仅供iPad下载的软件,可以了解SwiftUI的特性和Scene的使用,在AppStore搜索即可。想要对应的代码示例,可以留言,看到会更新文章来展示。

2021-07-30 17:32:36 91

原创 Python群发短信

工具:adb、python开发环境、安卓手机、macOS首先安装python环境,安装terminal adb。其中adb安装过程:brew install android-platform-tools检查adb的状态adb devices 如果安装成功,检查设备的指令会列出当前设备。因为安卓手机需要连接电脑且开启开发者模式,才会出现在设备列表,所以记得找到对应设备的厂商的开发这模式开启的方法。自行谷歌。如果adb devices -l 列出的仍然空白,终端输入...

2021-07-25 14:09:38 1820 1

原创 【拒绝加班 1】iOS多类监听通知自动同时回调多处工具

众所周知,全局通知多处修改的需求时常有,除非是用响应式框架,否则业务代码一堆堆,实属麻烦。有没有好的方法可以少写代码少加班呢?拯救不开心,拒绝加班,给你一个我自己写的工具代码。 实现方案:利用oc的动态性给对象增加存储属性;利用存储属性搭配工具单例记录执行通知回调的closure来达到多处通知的目的。 上代码:@objc public extension NSObject { @objc func registerNotification(n...

2021-07-23 16:38:24 206

原创 iOS开发Scene场景下获取当前活跃的控制器

首先声明如果项目有多个Scene的时候,需要对Scene进行一定的配置控制和判断才能更准确的找到适合的控制器,下面的工具逻辑是:找到活跃的WindowScene,找到根控制器,如果有导航控制器,则优先返回,如果有标签控制器,也优先返回。整体可能找不到合适的控制器,返回空。// 获取当前控制器extension UIViewController { class func current(_ base: UIViewController?=nil) -> UIViewController

2021-07-18 01:20:11 943 1

原创 分享一个SwiftUI的双层侧边栏实现示例

首先给效果图:这是工具类代码结构://// SideBarStack.swift// Apple UI//// Created by eugene on 2021/6/27.//import SwiftUIstruct SideBarStack<Content: View>: View { let bar1Width: CGFloat = 190 let bar2Width: CGFloat = 250 let ba..

2021-07-18 01:15:22 595

原创 Swift怎么开启新的Scene

在Info.plist中开启多任务的配置<key>UIApplicationSceneManifest</key> <dict> <key>UIApplicationSupportsMultipleScenes</key> <true/> <key>UISceneConfigurations</key> <dict> <key>UIWindowSceneSes

2021-07-11 22:16:59 386

原创 SwiftUI 的一些经验

Q: NavigationLink push 后无法主动 pop viewA: 不可以跨Tab来pop (nav + tab的嵌套关系)Q: draft data传值的技巧A: draft data定义成default,在view appear或者disappear的时候更新。且定义默认为false的save值用于更新。(怎么理解?就是需要点保存才保存的数据,不要直接用State或者Binding来传递,而是赋值一份新的备份,在点击按钮的时候再覆盖更新到State数据源中)Q

2021-07-11 22:06:35 238

原创 SwiftUI调用UIKit

在SwiftUI的代码中(随便创建一个SwiftUI View即可)把View协议更改成ViewControllerRepresentable即可变成一个引用UIViewController的SwiftUI类。实现两个方法:MakeUIView和UpdateUIView,返回或更新对应的实例或属性即可。如果调用的不是Controller,可以把SwiftUIView的View协议改成ViewRepresentable即可引用UIView及其子类,同样实现MakeUIView和UpdateUIView

2021-07-11 22:03:28 798

原创 阿里云Ubuntu ECS无法被外网访问检查

首先检查阿里云的安全策略设置是否开启对应的端口,一般开启80用nginx反向代理也可。ssh登录ECS,使用命令行查看防火墙是否开启。sudo ufw status如果防火墙没有安装,建议配置步骤如下:无法访问端口问题1.安装sudo apt-get install ufw2.开启sudo ufw enable默认关闭外部访问sudo ufw default deny3.查看状态$ sudo ufw statusWARN: uid is 0 but '

2021-07-11 21:58:36 323

原创 iOS Technical support For Pad UI App

any questions, please send an email to eugenelaw@foxmail.com

2021-07-11 20:55:47 242

原创 Swift4.1 转场动画实现侧滑抽屉效果,支持转屏

实现使用了Modal转场动画,原因是项目多由导航控制器和标签控制器作为基类,为了不影响导航控制器的代理,转场动画使用模态交互。 代码使用SnapKit进行布局,能够适应屏幕旋转。手势速率大于300或进度超过30%的时候直接完成动画,否则动画回滚取消,具体数值可以修改对应的常量。抽屉出现的时候,主控制有遮罩,对应关键字是mask。  实现文件只有两个DrawerContr...

2018-08-02 17:56:03 1321 2

原创 Swift4.1 十六进制颜色转UIColor

import UIKitclass Code: NSObject { static func ColorHex(_ color: String) -&gt; UIColor? { if color.count &lt;= 0 || color.count != 7 || color == "(null)" || color == "&lt;null&gt;...

2018-07-26 21:59:58 1826

原创 iOS APP 启动时间优化

附:控制台输出预启动时间logTotal pre-main time: 246.58 milliseconds (100.0%)         dylib loading time:  72.98 milliseconds (29.5%)        rebase/binding time:  51.10 milliseconds (20.7%)            Ob...

2018-07-24 10:06:19 597

原创 iOS消除第三方SDK警告

在platform :ios, ‘xx’后面加入:inhibit_all_warnings!再重新install即可。 

2018-07-23 15:46:34 559

原创 Swift 小技巧

 1. 扩展(Extension)任务: 求数字的平方。// 对比写法func square(x: Int) -&gt; Int { return x * x }var squaredOfFive = square(x: 5)square(x: squaredOfFive) // 625为了求5的四次方我们创建变量 squaredOfFive // 改良写法ext...

2018-07-21 17:40:26 219

转载 Chales 抓包工具

1. Charles安装官网下载安装Charles:https://www.charlesproxy.com/download/2. HTTP抓包(1)查看电脑IP地址 (2)设置手机HTTP代理手机连上电脑,点击“设置-&gt;无线局域网-&gt;连接的WiFi”,设置HTTP代理:服务器为电脑IP地址:如192.168.1.169端口:8888 设置...

2018-07-21 16:20:34 3208 1

原创 产品经理的思考

1、思考功能 vs 思考场景功能全不代表产品体验好,从功能覆盖面去思考产品,会进入一个堆砌功能的误区,把产品功能的完整性作为用户体验的衡量标准,最终只会设计出一堆用户根本使用不到或者使用非常低频的产品功能。“场景”是一个已经被说烂的词儿,用户场景、产品场景,我们在做产品时也会不断强调要注意场景,最后却也只是说说而已,没有把对场景的思考落实到产品设计中去。举个栗子,针对电商拼团业务,在设...

2018-07-21 11:25:45 176

原创 Axure RP 提高设计效率

Axure是用的最顺手的原型制作软件下面总结一下自己在使用Axure的一些可以提高效率的技巧:1、首先最立竿见影的就是使用母版。使用母版的好处就是省去重复工作,直接拖拉就行。一开始觉得也可以用Ctrl+C和Ctrl+V代替,但是,但原型修改的时候,奔溃了,要改n次,而且还有可能出现漏改。自此使用了使用母版后就再也回不去了。模板有三种类型,一种是固定位置的母版,一种是可以随意移动位置...

2018-07-21 11:20:21 294

原创 iOS的生命周期

应用入口 应用从main函数开始,首先设置的是Appdelegate代理。 应用加载完成[AppDelegate application:didFinishLaunchingWithOptions:] window被创建 应用激活[AppDelegate applicationDidBecomeActive:] 返回手机主页面时,程序生命周期停止[Ap...

2018-07-21 11:13:57 190

原创 利用RunTime拦截Alert

- (void)viewDidLoad { [super viewDidLoad];// Do any additional setup after loading the view, typically from a nib. [self runtimeReplaceAlert];} // 利用runtime来替换展现弹出框的方法- (void)runtimeR...

2018-07-20 13:40:27 226

原创 Category 添加 成员属性

Category分类可以给已有类进行扩展,主要用于方法函数的补充,却不能补充成员属性。但是可以使用RunTime机制给它加“成员属性”,使用起来很方便哦!&gt;头文件#import &lt;UIKit/UIKit.h&gt;@interface UIButton (UserInfo)@property (nonatomic, retain) NSDictionary *userI...

2018-07-20 12:02:02 172

原创 AFNetworking 怎么解析非 json 的 字符串 返回数据

在其源码里面增加代码,位置为:AFN&gt;Serialization&gt;AFURLResponseSerialization.m&gt;-responseObjectForResponse:data:error:#pragma mark - AFURLResponseSerialization- (id)responseObjectForResponse:(NSURLRespo...

2018-07-20 11:53:23 1748

原创 AFNetworking 发送 raw 格式的 post 请求

NSMutableDictionary *params = [[NSMutableDictionary alloc] initWithDictionary:rawParams]; NSData *data = [NSJSONSerialization dataWithJSONObject:params options:NSJSONWritingPrettyPrinted err...

2018-07-20 11:48:43 6253

原创 我最喜欢用的代码块 BLOCK

    在iOS中有代理回调、通知、代码块等传递响应链的方式,代理和通知我总觉得麻烦,而BLOCK的用法却经常让我有一种莫名的爽感。    BLOCK在成员属性中可以这样定义:@property (nonatomic, copy) &lt;#void#&gt;(^&lt;#block name#&gt;)(&lt;#param...#&gt;);    格式是:@property(nona...

2018-07-20 09:36:02 182

原创 有质感的应用界面

    程序逻辑要严谨,界面效果也要细腻。有时候设计给出设计图,明明很好看的,程序出来却很生硬。因为我们忽略了太多的细节。    细节一:线条    有的设计图很好看,是因为它的线条是阴影画的。如果程序里线条只是粗暴的用一个像素来展开,效果肯定不一样。下图,我把导航栏定义为一个纯白色的View,给它添加阴影效果。数值设置包括了阴影颜色、透明度、扩散程度。如果设计非常专业,能给我们提供准确的...

2018-07-19 22:16:14 355

空空如也

空空如也

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

TA关注的人

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