空投是否适合你

最近,我利用夜晚的宁静时光沉浸于空投知识的学习之中。我意识到,对于初次涉足这一新兴行业的人来说,待掌握的知识颇众多且复杂。网络上的相关信息错综复杂,对新手而言,迈过学习门槛确实不易。

观察周围,许多朋友目睹他人通过空投获得利益,便急切地加入空投的行列。然而,在这样的冲动之前,我们需要先判断自己是否适合投身于这项工作。在我看来,理想的空投投资者应该具备如下特质:

灵活的时间管理:有效的时间管理是参与空投的基石。虽然它不要求像传统工作那样固定的8小时工作制,但同样需要时间投资,初学者需要的时间尤其多。对于我,一个最初的理想安排是工作日的晚上能够投入3-4小时于学习与实操。这种持续的夜晚学习和行动能促进对空投领域的深入理解。

耐心和坚持:空投的过程极易变得乏味,甚至可能比例行工作还要单调重复。长时间盯着屏幕,点击些看似无关紧要的链接,如此类推,不断地循环。能够持之以恒,甚至在枯燥的重复中找到乐趣的人,是这个领域的理想参与者。

持续学习和快速适应:数字货币是一个不断变化的新兴行业。即使是从事相关技术工作的人,也未必对这一领域通晓。空投投资者必须有致力于不断学习的精神,对于资讯保持敏感并快速适应市场变化。同时,在面临可能的挫败时,持有坚韧不拔的态度同样重要。

稳固的财务基础:希望在加入空投早期即实现盈利的想法往往不切实际。虽然空投提供了独特的盈利机遇,但急功近利的心态可能导致高风险的决策。因此,有稳固工作来源的人更适合利用业余时间参与空投,这样可以确保在空投不稳定的早期阶段保持经济的稳定性。

适当的风险资金:网络上有众多不要求任何前期投资的空投活动,但这些通常难以带来实质性的回报。合理的小额资金投入可以增加参与优质空投项目的机会,同时也应该意识到,应仅投入可承受损失的资金量。

以上五点只是空投投资者潜在特质的一个概述。一个更完整的自我考察会涉及对数字资产的安全存储、交易和保管的了解,对所涉行业项目的深入分析,以及对相关法律法规的认知。同时,对行情波动保持良好心态,维持对行业趋势的持续关注,以及在整个过程中保持着谨慎的乐观态度。

成功的空投投资者不仅需要应对初始的学习曲线,也要准备好在这个充满机会和挑战的市场中长时间地沉浸其中。仅当你准备好以一种积极而稳健的方式投身于空投,你才能最大限度地捕捉到这一行业中的机遇。

开工大吉|只要踏实做事 从来都不晚

今天我们正式开工啦,很多小伙伴昨天已经开始上班了,祝大家2024年发大财。
过年放假的这些时间,一直在思考想做些什么,比如今年怎么搞(亏)钱,顺便把公众号或博客用起来。
目前确认了在以下三个方向努力了。
1、股市投资
很多朋友觉得股票不能买,是赌博。个人觉得中国的A股是比较垃圾的,普通人还是不要参与了。目前我个人还是大部分资产在A股市场,在垃圾中吃屎是我目前的状态。
个人投资方向侧重:半导体、XR、光伏,已被套牢三年以上了,国内产业没有一个能打的。各位别来,快跑。
2、数字货币
对于数字货币这个东西,我是接触的比较早,但是没有实际参考太多。周边有朋友通过数字货币发财移民,也有朋友亏的离婚无家可归的。数字货币交易是一个极高风险的行为,建议普通人不要参与进来。
我个人也不会参考现货与期货交易,已经在A股中交易中亏了,就不再换一个新地方再亏了。目前我会投入一些精力搞代币空投,代币空投就是某一种数字货币发行,会给提前参与到这个币的人免费发一些数据币。当然代币空投也不全是免费发,只是投入的成本比较小。
对于新人来说撸空投是一个风险最新的参考方式,正好我也是新人,从零开始操作数字货币。后面个人的公众号也会更新相关的内容给大家。
3、工具应用
早在移动互联网爆发时,独立开发工具类应用的人已经发财了。现在进入这一块很难再有机会捞一把,然而现在已经进入了AI时代,如果使用做一些AI的工具还是有大把机会的。AI让独立开发人员的机会变得更多,学习成本也提高了很大。以前都在思考做什么或做了一半没有坚持下去。
今年觉定花一年时间去好好开发一个工具类应用。相信未来会跟大家见面的,具体就不透露了。
以前都是天天想着做啥,如何做,想得多做的少。今年要从小事做起,踏实做事,从来都不晚。另外离远情绪不稳定的人,跟积极者做朋友。

Android  坐标点是否在简单多边形内

简单多边形是不相邻的边不相交的多边形。判定点p是否在多边形G内部,包括边界。方法很多,这里只讨论android 并尽量使用api方法。
使用方法:通过多边形 path 转Region ,使用Region的contains方法判断。

 private boolean inside(Path path,Point point){
        RectF bounds = new RectF();
        path.computeBounds(bounds, true);
        Region region = new Region();
        region.setPath(path, new Region((int)bounds.left, (int)bounds.top,(int)bounds.right, (int)bounds.bottom));
       if (region.contains(point.x, point.y)){
            return true;
        }
        return false;
    }

读《软技能-代码之外的生存指南》

看很多大佬都读过了《软技能-代码之外的生存指南》这一本书,乘着年底没有太多的事,也买了这本书看一看。
这本书的作者也是一位软件技术开发从业者,深知程序员的工作与生活状态。虽然这一本书写的很广,阅读起来对大家还是有很大的帮助的。
从职业,生活,学习,健身都谈到过,简直是一个全家桶,里面还有一点点恋爱的内容;非常适合新人阅读。
对比自己的经历,对作者的一些话还是有感触的。
首先,最最重要的就是房产投资。在来深圳工作的前几年,从来没想过要在深圳定居,也没想过要在深圳买房了,对投资也不了解。这两年一直在看房子,深圳的房价一直涨涨涨;你挣钱的速度永远跟不上房价涨的速度,甚至涨不过房租。年轻人应该多存钱,多学习投资。
第二就是写作,作为一个理科生,写作一直不是我的强项;然后作为了一个10多年的博客主、站长,却没有坚持的写作,与学习更好的写作,并进行自我营销。曾经认识与接触过很多朋友,在几年的写作下来,出书的出书,出名的出名,感触良多。
最后就是健身了,身体素质一直不是很多,健身也一直跑跑停停的。

也许是坚持太少,想法太多,让我的很多计划没有很好的执行下去。未来的2020年,我将进一步的压缩事务,逐步推进,作为本书的阅读笔记总结:不积跬步,无以至千里;不积小流,无以成江海。

Flutter入门-Text Widgets

今天我们将学习怎么显示文本,并操作文本;在Flutter中,使用Text控件显示。

显示单行文本

 new Text('Text style',
   textAlign: TextAlign.center,
   style: new TextStyle(
        fontSize: 12.0,
        fontWeight: FontWeight.bold,
        color: Colors.black,),
    overflow: TextOverflow.ellipsis,
            ),

其中textAlign是用来控制文本对齐方式,style控制文本包括字体,颜色,字体大小等样式。
Text文本是没有边距的设置参数,我们使用ContainerPaddingText嵌套使用。

Container
new Container( child: new Text("Container text"),
              color: Colors.blue,
              margin: const EdgeInsets.all(5.0),
              padding: const EdgeInsets.all(5.0),),

容器Container是一个常用的控件,由基本的绘制、位置和大小控件组成。负责创建矩形的可视元素,可以用BoxDecoration来设计样式,比如背景、边框和阴影,Container也有边距、填充和大小限制等。

Padding
new Padding(child: new Text("Padding text"),
              padding: const EdgeInsets.all(5.0),),

如果只是设置文本的边距就可以使用Padding控件来实现效果。
如果想让文本控件响应Touch事件,要把该控件放在GestureDetector控件里使用。
在我们的开发中,RowColumnText使用,会被遮挡,提示如下警告:
A RenderFlex overflowed by 29 pixels on the bottom ...
不管你设置多行,还是别的还是会只显示一行。这里我们要使用Expanded控件包装每个控件。
Expanded组件可以使RowColumnFlex等子组件在其主轴方向上展开并填充可用空间(例如,Row在水平方向,Column在垂直方向)。如果多个子组件展开,可用空间会被其flex factor(表示扩展的速度、比例)分割。

显示富文本

使用RichText 可以显示丰富样式的文本。

new RichText(
  text: new TextSpan(
    text: 'Rich ',
    style: DefaultTextStyle.of(context).style,
    children: <TextSpan>[
      new TextSpan(text: 'bold', style: new TextStyle(fontWeight: FontWeight.bold)),
      new TextSpan(text: ' Text!'),
    ],
  ),
)

最后的效果如下:

Flutter入门-Hello Flutter

上节我们已经知道如何安装Flutter的环境了,这次我们简单的了解下如何创建一个Flutter项目。

创建首个Flutter项目

首先打开Android Studio,面板右部中间选择 Start a new Flutter project;
弹出New Flutter Project窗口,选择Flutter Applcation。
弹出New Flutter Applcation窗口,输入项目名Project Name,下一步。
弹出Set the package name 窗口,输入company domain(公司域名),修改package name(包名,可不修改),勾选支持语言(不会kotlin,swift可不选择)。点击完成,需要等待小会时间,我们的第一个项目工程就创建好了,见下图:

运行项目

在工程目录结构如下:

/android   Android工程目录
/ios       IOS工程目录
/lib      flutter开发目录
/test     测试目录
pubspec.yaml  flutter 依赖包管理文件

因为我们的Flutter支持跨平台,所以会生成Android,ios的工程文件。
运行项目之前,我们需要把模拟器跑起来。在Android Studio的工具栏上有一个手机的图标的按钮,点击后会弹出“open IOS simulator”的下拉选项,我们也点击就好,这时系统会打开一个IOS模拟器。
IOS模拟器启动后,就可以运行我们的程序了。点击工具栏的绿色三角,等待几分钟程序加载到模拟器中。
Material看起还是很炫的,见下图:

最近比较忙,所以只好写一篇来应付下,下周更新控件相关的内容。

Flutter入门-环境安装

最近比较热爱学习,正在学习Flutter,记录Flutter的学习过程,大家一起进步。因为博主使用Mac,以后的教程都是在mac环境下编写。

获取 Flutter SDK

获取 Flutter ,你可使用 git 去克隆Flutter的仓库然后添加 flutter 工具到你的路径,运行 flutter doctor 显示你可能要安装的依赖。
克隆仓库
如果你是第一次在你机器上安装 Flutter,克隆 beta 分支的仓库然后添加 flutter 工具到你的路径:

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

下载Flutter SDK
因为官网提供了SDK包下载,所以我直接下了,速度也比较快。不能访问的还是使用上面获取SDK吧。
flutter_macos_v0.3.2-beta.zip

设置环境变量
Flutter路径添加到环境变量中。

export PATH=`pwd`/flutter/bin:$PATH

将以上代码添加到 ~/.bash_profile中,这样Flutter命令就可以执行。

运行Flutter doctor
运行以下命令可以看到你是否需要安装任何依赖来完成安装:

flutter doctor
我的运行结果显示如下:

~flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.3.2, on Mac OS X 10.12.6 16G29, locale zh-Hans-CN)   
Android sdkmanager tool not found (/Users/jun/Documents/Developer/Android/sdk/tools/bin/sdkmanager).    
Try re-installing or updating your Android SDK, 
visit https://flutter.io/setup/#android-setup for detailed instructions.

运行Android Studio 安装Dart支持
首先你得安装了Android Studio,对于Android Studio怎么安装,大家百度,我们的教程前置条件是学习过App开发(android或IOS)。左上角菜单Preferences->Plugins,在搜索框中搜索Dart,然后安装就可以,见下图:

安装完后,重启IDE,就可以开发Flutter应用了。

PJBlog3转换wordpress4.9记录

某学长的个人blog一直使用pjblog3,然而空间一直我在打理。手上的空间,域名,网站太多了,管理起来很不方便,所以打算把pjblog转wordpress,放到以前学校论坛的服务器上。
PJBlog版本:PJBlog3 3.1.6.227
wordpress版本:WordPress 4.9.1

1.导入pjblog数据并导入wordpress

使用PJBlog3_到WordPress升迁工具导出数据,参考最新PJ3转移到WP过程详细记录——转换教程

2.内容反转义

导入wordpress的正文与摘要中的Hmtl被转义,这里需要代码编程进行反转义一下就好。

3.替换附件路径

PJBlog3的附件路径是通知download.asp访问的,在wordpress中不能访问,需要替换。
把BlogDB文件夹内的.asp结尾的文件改成.mdb后缀文件,这样就可以使用ACCESS软件打开。这里需要编程替换文件。最好把blog_Files表导出成mysql,然后在wordpress中创建这个表,导入数据。最后编程替换就好。
因为我是使用golang写的反转义与附件替换,所以没有代码可以提供。

防止Centos HHVM崩溃导致网站出现502错误

在阿里云Centos 上装了hhvm,经常会出现hhvm挂掉。这个要看hhvm的心情,有时一两天,有时一两个月都没有出现。Google了一下最简单的解决方法是写一个脚本用cron每分钟执行一次检查hhvm是否运行。
脚本如下:

#! /bin/bash
PID="`cat /var/run/hhvm/pid`"
if [ "$PID" == "" ]; then
/etc/init.d/hhvm start
if [ "`ps ax -o pid | grep $PID`" == "" ]; then
/etc/init.d/hhvm stop
/etc/init.d/hhvm start
fi
fi

将这段脚本保存在/home/check_hhvm.sh,并执行chmod +x /home/check_hhvm.sh,然后编辑/etc/crontab,加入一行

* * * * * root /home/check_hhvm.sh。

经测试,这个脚本可以让你的网站最多down一分钟。先当作临时的解决方案吧。

阿里云主机wordpress漏洞wordpress IP验证不当漏洞

漏洞描述:wordpress IP验证不当漏洞

文件位置:/wp-includes/http.php

修复方案:

在文件的465行附近的 $same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] );

改成 if ( isset( $parsed_home['host'] ) ) { $same_host = ( strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] ) || 'localhost' === strtolower( $parsed_url['host'] ) ); } else { $same_host = false; } ;

在文件的 478行附件的 if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]

改成 if ( 127 === $parts[0] || 10 === $parts[0] || 0 === $parts[0]  || 0 === $parts[0]