• +86 18940128339
  • 3056844889@qq.com

Category Archive 前端

Flutter Window开发环境

获取 Flutter SDK

  1. 点击下方的安装包,获取 stable 发行通道的 Flutter SDK 最新版本:flutter_windows_3.7.9-stable.zip要查看其他发行通道和以往的版本,请参阅 SDK 版本列表 页面。
  2. 将压缩包解压,然后把其中的 flutter 目录整个放在你想放置 Flutter SDK 的路径中(例如 C:\src\flutter)。

如果你不想安装指定版本的安装包。可以忽略步骤 1 和 2。从 GitHub 上的 Flutter repo 获取源代码,并根据需要,切换到指定的分支或标签。例如:

git clone https://github.com/flutter/flutter.git -b stable

更新 path 环境变量

  • 在开始菜单的搜索功能键入「env」,然后选择 编辑系统环境变量
  • 在 用户变量 一栏中,检查是否有 Path 这个条目:
    • 如果存在这个条目,以 ; 分隔已有的内容,加入 flutter\bin 目录的完整路径。
    • 如果不存在的话,在用户环境变量中创建一个新的 Path 变量,然后将 flutter\bin 所在的完整路径作为新变量的值。

运行 flutter doctor

上述命令会检查你的现有环境,并将检测结果以报告形式呈现出来。仔细阅读它显示的内容,检查是否有尚未安装的软件或是有其他的步骤需要完成(通常会以粗体呈现)。

例如:

[-] Android toolchain - develop for Android devices
    • Android SDK at D:\Android\sdk
    ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
    • Try re-installing or updating your Android SDK,
      visit https://flutter.cn/docs/setup/#android-setup for detailed instructions.

安装 VS Code

VS Code 是一个可以运行和调试 Flutter 的轻量级编辑器。

安装 Flutter 和 Dart 插件

  1. 打开 VS Code。
  2. 打开 View > Command Palette…
  3. 输入「install」,然后选择 Extensions: Install Extensions
  4. 在扩展搜索输入框中输入「flutter」,然后在列表中选择 Flutter 并单击 Install。此过程中会自动安装必需的 Dart 插件。
  5. 点击 Reload to Activate 以重新启动 VS Code。

通过 Flutter Doctor 命令验证是否安装成功

  1. 打开 View > Command Palette…
  2. 输入 “doctor”,选择 Flutter: Run Flutter Doctor
  3. 打开 OUTPUT 面板查看是否有错误,确保在不同的输出选项 (Output Options) 的下拉列表中选择了 Flutter。

创建Demo 我尝试的是web应用

//创建Demo
flutter create my_app
//切换到 web子文件 使用python运行
python3 -m http.server 8080

面向对象程序设计(OOP)

基本信息

面向对象程序设计(Object Oriented Programming,OOP)是一种计算机编程架构。OOP的一条基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。OOP=对象+类+继承+多态+消息,其中核心概念是类和对象。

面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象。

面向对象程序设计以对象为核心,该方法认为程序由一系列对象组成。类是对现实世界的抽象,包括表示静态属性的数据和对数据的操作,对象是类的实例化。对象间通过消息传递相互通信,来模拟现实世界中不同实体间的联系。在面向对象的程序设计中,对象是组成程序的基本模块

特点

1、封装性:

封装是指将一个计算机系统中的数据以及与这个数据相关的一切操作语言(即描述每一个对象的属性以及其行为的程序代码)组装到一起,一并封装在一个有机的实体中,把它们封装在一个“模块”中,也就是一个类中,为软件结构的相关部件所具有的模块性提供良好的基础。在面向对象技术的相关原理以及程序语言中,封装的最基本单位是对象,而使得软件结构的相关部件的实现“高内聚、低耦合”的“最佳状态”便是面向对象技术的封装性所需要实现的最基本的目标。对于用户来说,对象是如何对各种行为进行操作、运行、实现等细节是不需要刨根问底了解清楚的,用户只需要通过封装外的通道对计算机进行相关方面的操作即可。大大地简化了操作的步骤,使用户使用起计算机来更加高效、更加得心应手。

2、继承性:

继承性是面向对象技术中的另外一个重要特点,其主要指的是两种或者两种以上的类之间的联系与区别。继承,顾名思义,是后者延续前者的某些方面的特点,而在面向对象技术则是指一个对象针对于另一个对象的某些独有的特点、能力进行复制或者延续。如果按照继承源进行划分,则可以分为单继承(一个对象仅仅从另外一个对象中继承其相应的特点)与多继承(一个对象可以同时从另外两个或者两个以上的对象中继承所需要的特点与能力,并且不会发生冲突等现象);如果从继承中包含的内容进行划分,则继承可以分为四类,分别为取代继承(一个对象在继承另一个对象的能力与特点之后将父对象进行取代)、包含继承(一个对象在将另一个对象的能力与特点进行完全的继承之后,又继承了其他对象所包含的相应内容,结果导致这个对象所具有的能力与特点大于等于父对象,实现了对于父对象的包含)、受限继承、特化继承。

3、多态性:

从宏观的角度来讲,多态性是指在面向对象技术中,当不同的多个对象同时接收到同一个完全相同的消息之后,所表现出来的动作是各不相同的,具有多种形态;从微观的角度来讲,多态性是指在一组对象的一个类中,面向对象技术可以使用相同的调用方式来对相同的函数名进行调用,即便这若干个具有相同函数名的函数所表示的函数是不同的

Visual Studio Code

常用插件

  • 汉化 Chinese
  • PHP格式化 php cs fixer 或 php-formatter
  • 去除多余空格 ^\s*(?=\r?$)\n
  • HTML格式化 HTML程序语言

ThinkPHP

TP5下载链接

 composer create-project topthink/think=5.0.*  TP5

TP6下载链接

 composer create-project topthink/think=6.0.*  TP6

HTML代码雨

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>黑客帝国代码雨
</title>
<style type="text/css">
*{margin:0;padding:0;}
body{background:black;}
canvas{display:block;}
</style>
</head>
<body>
<canvas id="c"></canvas>
<script type="text/javascript">
var c=document.getElementById("c");
var ctx= c.getContext("2d");
c.height=window.innerHeight;
c.width=window.innerWidth;
var chinese="010110";
chinese=chinese.split("");
var font_size=10;
var columns=c.width/font_size;
var drops=[];
for(var i=0;i<columns;i++)drops[i]=1;
function draw(){ctx.fillStyle="rgba(0,0,0,0.05)";ctx.fillRect(0,0,c.width,c.height);ctx.fillStyle="#0F0";ctx.font=font_size+"px arial";for(var i=0;i<drops.length;i++){var text=chinese[Math.floor
(Math.random()*chinese.length)];
ctx.fillText(text,i*font_size,drops[i]*font_size);
if(drops[i]*font_size>c.height&&Math.random()>0.975)drops[i]=0;drops[i]++;}
}
setInterval(draw,50);
</script>
</body>
</html>