房租涨了,不要只怪中介

先说一下体会的来源,我是airbnb的超赞房东,先后经营三套房子,有自己的,也有朋友的,做airbnb的初衷很简单,房子是精装修,也很新,长租出去折旧很厉害,不划算,短租的话虽然麻烦,但可以保持房子的品质,相对长租,也可以有一些额外的收益。

简单算个账,一个一居的房子装修费在十万左右,包括硬装、软装、家具电器等。如果是自住,折旧周期可以按十年算,如果长租出去,恐怕最多只能按五年算。这样的话,平摊到每个月,就是至少一千元的差别。这还不考虑加上了折旧的房子后面的租金上升空间有限甚至降低。

就北京来说,当老旧的房子越来越少,新的房子越来越多,流动人口减少,稳定人口增加,对好房子需求也越来越多的情况下,吸引更多精装修的高端房源入市,但同时,这些房源对折旧的预期是很高的,一居室每个月要加上一千多的折旧,两居室就要加三四千。

那么,如何才能降低房东的折旧预期,以更低的价格租到好房子呢?那就是建立自己的信用,比如在airbnb上获得更多的好评,爱护你租的房子,无论是长住还是短租。实际上,对房子的爱惜,将降低总的成本,这个成本最终都是由房客自己承担的。

市场欢迎更好的房客,请尊重市场规律,请尊重自己,提高自己的生活品味,让每个房子都受到妥善的对待。

苟利国家生子以,岂因福祸避孕之

标题是最近网络未流行已被禁的一条改编版名言。

我的第二个孩子即将在10月出生,关于他的出现,我们几乎没有太多的纠结,尽管也明白因他而带来的更多的付出,但一个生机勃勃的家更加有吸引力。当然,就目前情况而言,第三个孩子的可能性是比较小了。

网络上有很多关于计划生育走向的传言,我们也曾经是限制二胎政策的遇难者,可是,作为个人而言,似乎没有太多的选择,也没有有效的抗争渠道,最有用的则是尽力保持家庭的生存能力。

新的生命总是无法预料,不断带来惊喜和挑战。在解决一个个问题的过程中,我们老去,直到因为死亡率百分之百的生命这个病而离世。(最后这句来自网络)我们依然还是期望着更加美好,而不断为之努力。

 

使用iview的upload组件上传阿里oss的参数设置

下面是组件设置:

<Upload action="http://public.files.dpexpo.cn"
ref="upload"
:show-upload-list="false"
accept=".pdf"
:format="['pdf']"
:on-success="uploadSuccess"
:data="uploadParams"
:max-size="102400"
:before-upload="handleBeforeUpload">
<Buttontype="ghost"
icon="ios-cloud-upload-outline">Upload pdf</Button>
</Upload>
以下是相关的js方法:

handleBeforeUpload(file) {
letthat=this;
return new Promise(function(resolve, reject) {
that.getUploadParams().then(function() {
that.$Notice.warning({
title:'文件准备上传',
desc:'文件 '+file.name+' 准备上传。',
duration:3
});
resolve();
});
});
},
getUploadParams() {
varthat=this;
return new Promise(function(resolve, reject) {
that.$http// 在此方法中调用后台数据
.get('/ossParams', {
params: {
dir:
'slide/conference/'+
that.$route.query.conference_id+
'/'
}
})
.then(function(response) {
console.log(response);
that.uploadParams=JSON.parse(response.data.data);
console.log(that.uploadParams);
resolve();
})
.catch(function(error) {
console.log(error);
});
});
},
uploadSuccess(evnet, file) {
console.log(file);
this.$Notice.success({
title:'文件上传成功',
desc:'文件 '+file.name+' 上传成功。',
duration:3
});
this.formValidate.slide_url=
'http://public.files.dpexpo.cn/slide/conference/'+
this.$route.query.conference_id+
'/'+
file.name;
},

以下是发放参数的api方法(laravel):

public function ossParams(Request $request)
{
$id = 'LTA(your id)V1E';
$key = '4M5nIHs(your key)IelsW';
$host = 'http://public.files.dpexpo.cn';
$now = time();
$expire = 30; //设置该policy超时时间是10s. 即这个policy过了这个有效时间,将不能访问
$end = $now + $expire;
$expiration = $this->gmt_iso8601($end);
$dir = $request->dir ? $request->dir : 'user-dir/';
//最大文件大小.用户可以自己设置
$condition = array(0 => 'content-length-range', 1 => 0, 2 => 1048576000);
$conditions[] = $condition;
//表示用户上传的数据,必须是以$dir开始, 不然上传会失败,这一步不是必须项,只是为了安全起见,防止用户通过policy上传到别人的目录
$start = array(0 => 'starts-with', 1 => '$key', 2 => $dir);
$conditions[] = $start;
$arr = array('expiration' => $expiration, 'conditions' => $conditions);
//echo json_encode($arr);
//return;
$policy = json_encode($arr);
$base64_policy = base64_encode($policy);
$string_to_sign = $base64_policy;
$signature = base64_encode(hash_hmac('sha1', $string_to_sign, $key, true));
$response = array();
//$response['host'] = $host;
$response['key'] = $dir.'${filename}';
$response['policy'] = $base64_policy;
$response['OSSAccessKeyId'] = $id;
$response['Signature'] = $signature;
$response['expire'] = $end;
//这个参数是设置用户上传指定的前缀
//$response['dir'] = $dir;
$token = json_encode($response);
return$this->response->array(['data' => $token]);
}

汽车涉水应急气囊解决方案

使用场景:城市突发积水、野外涉水等

装备:

(1)快速充气气泵,建议每分钟100L以上,最好能到200L,按车自重一吨到两吨粗略计算,充气需要十分钟,最好为充气泵单独准备应急电源。

(2)橡胶气囊两个,直径0.6m以上,长度4.5m,中间可以用橡胶布连接在一起,也可以用绑带连接,布置在汽车两侧。

使用:

首先应将车窗打开或两厢车打开后备厢门,避免气囊充气后车门无法打开,造成无法逃生。

以最快的时间布置并充气。

以上方案仅为理论方案,未经测试,不对该方案造成的任何后果负责。

成本:

快速充气泵估计需要500元以上,普通充气泵每分钟50L,充气需要20分钟,时间有点长。

气囊估计在500元以内,目前暂时没有现成的产品。

Visual Studio Code中使用Docker中的Xdebug

开发环境说明

IDE:Visual Studio Code

DNMP:https://github.com/yeszao/dnmp

项目:laravel

开启xdebug

修改dnmp/php/php72/Dockerfile,添加以下两行(插在带\的任一一行后面即可,查看dockerfile编写规范):

&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
修改dnmp/config/php.ini,在文件末尾添加以下内容:
[xdebug]
zend_extension=xdebug.so
xdebug.remote_port=9000
xdebug.remote_enable=1
xdebug.remote_host=192.168.0.102
xdebug.remote_autostart=1
xdebug.remote_log="/var/log/dnmp/xdebug.log"

其中192.168.0.102就是你的电脑的IP,也就是docker宿主机的IP,docker的端口都挂到宿主机IP上。xdebug默认是localhost,不改就访问不到了。也不要打开

xdebug.remote_connect_back=1,这会使得remote_host配置失效。
在vscode中安装PHP Debug插件,在调试选项卡中打开齿轮配置,即当前项目的.vscode/launch.json,对照以下内容配置:

{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"pathMappings":{
"/var/www/html": "${workspaceRoot}"
}
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
其中,/var/www/html是你在dnmp/www中的site的位置,如果有子目录则填到子目录级别,这里的pathMappings是最新的写法。
在dnmp目录启动:docker-compose up
在vscode按F5启动调试,记得打上断点,祝你成功。
如果已经生成过容器,则需要删除容器,删除镜像。重新生成dnmp-php命令如下:
docker rm dnmp-php
docker rmi dnmp_php
docker-compose up

又来了shimuFun的兴趣

为了女儿的暑假安排,也出于一直以来的兴趣,特别关注了一下木工手作。可是,最大的问题是如何在城市里拥有一个可以无扰玩木工的场地。

目前还没有有效的方案,尽管纯手工,排除电动工具是一个途径,但是那不是我的兴趣的,我又不是为了练手艺。我的目标是把实木与电子结合一下,或者是实木物联网。

尽管大陆也能零星看到一些木工坊的创业新闻,但至少目前还没有普及到像跳舞画画那样,满大街都是,家长们也愿意花钱去带孩子学。如果你有什么好办法请留言。

Error starting userland proxy: mkdir /port/tcp:0.0.0.0:3306:tcp:172.19.0.3:3306: input/output error

在windows10/win10上使用dnmp:https://www.awaimai.com/2120.html

首先需要安装docker环境:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe

装完以后在dnmp目录执行docker-compose up,启动失败,报错如标题,需要修改win10的快速启动设置,然后重启。修改方法见:https://www.tenforums.com/tutorials/4189-turn-off-fast-startup-windows-10-a.html