6 胖蔡

尚未进行身份认证

我要认证

一枚爱Andorid、前端、Python的程序员

等级
TA的排名 4w+

斐波拉契数列与Python

习惯性的,我们每学习一个编程语言,都喜欢从数学的原理、经典数题开始我们的学习之旅,而斐波拉契数可以说是各中常客了,仿佛是没有写过斐波拉契数列就不算学了某个语言一样。这篇文章难脱俗套,也是一个“斐波拉契数列”与业界传奇Python大叔的故事。铁打的斐波拉契流水的编程“大叔“[Python]话说我们今天的女猪脚大美女"斐波拉契数列"也是出身名门响当当的人物。斐波拉契数列自从被伟大的数学家昂纳多·斐波拉契(Leonardoda Fibonacc)通过兔子的繁殖提出以来,一直都是最美丽的数列,受到万众追捧。C

2020-08-07 09:33:26

useState 函数式状态管理

本文首发说说前端,可点击查看原文支持作者。React 有两种方式可以实现组件的定义,一种是通过函数实现,一种是通过class类实现。一般的通过class类实现的组件我们可以看到足够多的生命周期、状态state可供操作,而函数式组件则没有生命周期和状态值state。对就性能而言,由于函数组件需要初始化组件,而函数组件是直接通过return 返回JSX,因此函数组件的性能要优于类组件。为了性能考虑,一般的我们推荐使用函数组件来实现组件的定义。出于操作考虑,React自从16.8.0版本开始支持Hook功.

2020-07-30 15:24:03

React 上下文Context的使用

依照3W学习原则的模式出发来思考Context的使用问题,在学会如何使用Context之前,首先我们需要来思考一下几个问题:本文首发于胖蔡杂谈,点击可查看原文 Context是什么? 为什么需要用Context? 怎么样使用Context?使用之前较为清晰的了解使用研究对象更加有助于我们的认知和加深我们对Context的理解程度。Context是什么?Context(上下文)一直在各种语言、平台之中占据较为重要的地位,它是整个程序的链接者,一直贯穿应用的整个生命周期。React中的Co.

2020-07-22 16:15:49

Js 中export 和import的使用

对于模块化工程(React、Vue),export 和 import 是很常见的模块导入、导出的方法。由于对于使用的一知半解,之前常常会分不清使用场景方式,所以今天特意将 export 和 import 的使用方法总结下。本文首发于胖蔡杂谈,点击可查看原文概述export 和 import 是ES6中模块化的两个较为重要的模块,ES6 的模块自动开启严格模式,模块可以导入各种类型的变量、对象、函数、字符串、类等,每个模块都有自己的上下文,每个模块内声明的变量都是局部变量,不会污染全局作用域。每个模块.

2020-07-03 10:05:01

React应用中封装axios

本文在enjoytoday首发,点击原文查看.Axios简介Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。特性支持node端和浏览器端支持拦截器等高级配置使用Promise管理异步,告别传统callback方式自动转换 JSON 数据客户端支持防御 XSRF安装yarn 安装$ yarn add axiosnpm 安装npm install axios -D3.bower 安装$ bower install .

2020-07-03 09:52:00

React 自定义ListView组件

本文主要实现ListView的适配器功能,基本可以解决列表的绝大部分问题,原文可查看React 自定义ListView组件-适配模式ListView组件实现通过适配器的实现,适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。这样就可以让ListView如同Android中的ListView一样动态设置Item布局、数据格式,Item类型等。/* e

2020-07-02 16:53:17

nginx 配置wordpress伪静态访问

修改/etc/nginx/site-enable/default配置如下: server { listen 80 default_server; listen [::]:80 default_server; server_name _; access_log /var/log/nginx/wordpress_access.log; error_log /var/log/nginx/wordpres...

2020-05-21 10:28:15

Mvvm 的简单封装使用

Mvvm的封装我采用的是kotlin + ARouter + Retrofit + MvvM 方式进行封装,实现一个app的基本开发需求,包括:分包、快速开发、网络请求、框架集合等。如下,介绍一些封装的基础组件,详细代码模本可参考我的开源工程。MvvmSample界面实现界面实现是通过反射创建基类BaseMvvmActivity、BaseMvvmFragment,如下:abstra...

2019-09-18 18:25:25

Android 布局阴影实现

最近项目要求,ui有很多有关于阴影的设计要求,网上找了些实现方式,但都不是很理想。现在闲下来了,就寻思着自己写个阴影布局耍耍,以备后用。先说道说道我找到的几种阴影实现方式:系统阴影Andorid 系统自api 21之后就多了一个熟悉 android:elevation ,这是android最新引入的轴的概念,可通过设置elevation来设置阴影(z轴的大小),设置如下:<!-- ba...

2019-09-17 16:42:23

Android MVVM组成结构

引子渐渐的程序员变懒了,然后一个个框架,一个个插件应运而生,然后让程序员在越来越懒的道路上永不停止,美其名曰:减少我们对于细节的不必要关注,而将更大的经历关注在业务层次,提高开发速度。而这种说法得到了绝大数人的赞同,结果就是:我在这边开发框架使用的分享。好坏暂且不论,就开发效率和协同开发方面来说的确是利器,让我们较少的关注结构和协同方面,为公司节省不少时间,也不失为居家旅行的一道良方。闲话少叙,...

2019-04-27 22:17:54

Andorid下的控件画布-SurfaceView

引子SurfaceView 是Android中较为特殊的视图,它继承自View,但与View不同的是它用于单独的绘画图层,平行与当前Activity的独立绘画图层,且它的图层在层次排列上在Activity图层的下面,因此需要在Activity图层上限时一块透明的区域,用于显示SurfaceView图层,所以其本质是SurfaceView本身任然为Activity其上的一个透明子View,只是Su...

2019-04-23 11:34:59

NGINX 在Linux下的常规安装

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。如下介绍如何在Ubuntu中编译安装一个nginx服务.安装依赖包sudo apt-get install gccsudo apt-get install libpcre3 libpcre3-devsudo apt-get install zlib1g zlib1g-dev...

2019-04-20 13:27:42

Android DataBinding import **.*BindingImpl 找不到符号

问题:mvvm模式下编译失败显示"import **.*BindingImpl 找不到符号",如下图所示DataBinding生成失败,可按如下步骤定位问题:找到gradle编译失败失败的task如上我失败的task是 :test:kaptDebugKotlin 这个任务打开android studio右侧的gradle的展开栏找到对应task,双击对应**:test:kap...

2019-04-10 16:06:44

AIDL 消息通信

AIDL 消息通信操作步骤创建aidl文件创建服务请求服务AIDL(Android Interface Definition Language) 即Android 接口定义语言,是用来实现不同进程间通信的。AIDL同时也是另外两种进程通信方式Messager和ContentProvider的底层实现方法,所以了解aidl的使用显得尤为重要。本案例可在 Github 获取到Demo源码。操作步...

2019-01-30 08:51:12

Android 轮播广告实现

Android 广告轮播控件 实现Android 广告的循环轮播滑动,提供点击回调功能。整个功能比较简单,实现通过了三个java文件完成(粗劣版本,不喜勿碰)。提供通过设置图片资源和url在线方式设置广告图片。使用添加依赖# 根目录build.gradleallprojects { repositories { ... ...

2018-09-01 13:35:00

Python 中的文件操作

python中对于数据输入输出的处理和常规性语言类似。主要包括:系统输入输出、文件存储、数据库存储等,其中数据存储读取操作中主要就是对于文件和数据库的处理方面。python中对于文件的处理提供了一个比较常用且比较方便的内建类file,通过file可以比较方便的对文件操作。python中对于文件的操作较多的方法可以很方便的实现文件的读取、写入、删除、查找等操作,如下示例:#!/usr/bin/env

2017-12-28 16:40:03

Python 模块

python模块是一个比较常用的功能,模块类似于Java中的jar包,是一个将部分程序功能通过打包的形式包装成一个整体的形式,然后便于我们在需要使用的场景直接通过引用模块来实现功能,降低代码的耦合性,增加代码的复用性。模块的使用可以通过使用from关键字和import关键字,如下给出一个简单的小例子:#通过import直接导入模块.import sys,time#通过from module im

2017-12-09 16:11:17

Python 魔法方法与属性

python的魔法方法很奇特,有些地方也称他为特殊方法。其结构是由两个下划线(“_”开始中间名称最后以两个下划线(“_”)结束的特殊指定方法,这有点类似java中的接口和abstract,是python中定义的一种规则,一种玩法。这也是python与java对于方法重写的一个较大的不同的地方.Java中我们可能会为了实现某种或某类相似的动作行为(action),从而使用接口式编程,抽象方法来抽象实现

2017-12-04 23:42:52

Python学习记录总结

前言根据CSDN中推荐的python课程的目录为导向,给自己指定python学习方向,之前学习的过程太过迷茫,总是一会儿学学这,一会儿学学那儿,毫无体系。希望有个指向性的学习能让我更快的了解和使用python,为了加深学习的记忆,我会将每个环节的学习知识点以文字形式记录,以加深印象。内容会慢慢添加,加油学习梳理。希望自己能写下去,千万别流产了,要是流产了,那就尴尬了。知识点梳理Python基础这部分

2017-11-26 15:47:51

Python Exception处理

Python中的错误处理分为两类:语法错误和异常处理。语法错误一般是指由于python语句、表达式、函数等存在书写格式活语法规则上的错误抛出的异常,如python常见的缩进控制,若同层次的执行语句存在缩进不同,会报语法错误(SyntaxError),一般在ide中会有明显的提示,其属于编译阶段的错误,一般是导致解析错误抛出错误;异常处理一般是指python语法格式正确,但在运行过程出现错误,错误类型

2017-11-26 15:29:22

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。