blog

Vue中的8种组件通信方式

我的未来我决定 提交于 2020-02-24 18:50:07
  Vue是数据驱动视图更新的框架,所以对于vue来说组件间的数据通信非常重要。   常见使用场景可以分为三类: 父子组件通信: props / $emit $parent / $children provide / inject ref $attrs / $listeners 兄弟组件通信: eventBus Vuex 跨级通信: eventBus Vuex provide / inject $attrs / $listeners 一、props / $emit (最常用的组建通信方式)    父组件通过props的方式向子组件传递数据,而通过$emit 子组件可以向父组件通信。   1. 父组件向子组件传值(props) 传入一个静态的值   <blog-post title="My journey with Vue"></blog-post> 传入一个动态的值, 任何 类型的值都可以传给一个 prop。   <blog-post v-bind:title="post.title"></blog-post>   <blog-post v-bind:likes="42"></blog-post>   <blog-post v-bind:is-published="false"></blog-post>   <blog-post v-bind:comment-ids="[234,

使用wordpress搭建的网站去掉域名中的wordpess

梦想的初衷 提交于 2020-02-24 07:13:17
在网上看到一个坑爹教程 说在这里去除/wordpress就可以了,结果导致后台无法连接,登陆博客格式全乱了。 正确做法应该是这样的: 进入自己wordpress安装的文件 我的是:/usr/share/nginx/html/wordpress 将文件夹下index.php复制到上层文件夹中 cp index.php .. 回到上一层,打开文件 cd .. vi index.php 把里面的 require ( dirname ( __FILE__ ) . './wordpress/wp-blog-header.php' ) ; 改成 require ( './wordpress/wp-blog-header.php' ) ; 然后保存退出就可以啦! 来源: CSDN 作者: parFu 链接: https://blog.csdn.net/qq_43552777/article/details/104459250

Django学习案例一(blog):一. 创建project、app

我与影子孤独终老i 提交于 2020-02-22 02:23:53
1.创建项目文件夹 此处在D盘新建chuangke文件夹 2.创建项目 方法1:使用命令行创建项目。 在chuangke文件夹中执行命令行: django-admin startproject myblog 注:myblog为项目名,可自行命名 自动生成了文件夹及文件: manage.py 是django中的一个工具 _init_.py 用于打包python工程 setting.py文件包含了项目的默认设置,含数据库信息、调试标志以及其他一些重要的变量。 urls.py文件在django里叫RULconf,将URL映射到应用程序的配置文件。 django-admin.py startproject myblog 方法2:使用pycharm创建项目。放置位置为D:\chuangke,项目名为myblog 3.创建虚拟环境 在myblog文件夹中执行命令行: python –m venv venv 注:第二个venve为虚拟环境名,可自行命名 4.启动虚拟环境 myblog中执行venv\scripts\activate,出现如下: (venv) E:\chuangke\myblog> 则启动了虚拟环境 5.虚拟环境中安装django 虚拟环境中: pip install django 或用上面提到的国内镜像方式:pip install -i https://pypi.doubanio

编写 Django 应用单元测试

被刻印的时光 ゝ 提交于 2020-02-21 09:35:32
作者: HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们博客功能越来越来完善了,但这也带来了一个问题,我们不敢轻易地修改已有功能的代码了! 我们怎么知道代码修改后带来了预期的效果?万一改错了,不仅新功能没有用,原来已有的功能都可能被破坏。此前我们开发一个新的功能,都是手工运行开发服务器去验证,不仅费时,而且极有可能验证不充分。 如何不用每次开发了新的功能或者修改了已有代码都得去人工验证呢?解决方案就是编写自动化测试,将人工验证的逻辑编写成脚本,每次新增或修改代码后运行一遍测试脚本,脚本自动帮我们完成全部测试工作。 接下来我们将进行两种类型的测试,一种是单元测试,一种是集成测试。 单元测试是一种比较底层的测试,它将一个功能逻辑的代码块视为一个单元(例如一个函数、方法、或者一个 if 语句块等,单元应该尽可能小,这样测试就会更加充分),程序员编写测试代码去测试这个单元,确保这个单元的逻辑代码按照预期的方式执行了。通常来说我们一般将一个函数或者方法视为一个单元,对其进行测试。 集成测试则是一种更加高层的测试,它站在系统角度,测试由各个已经经过充分的单元测试的模块组成的系统,其功能是否符合预期。 我们首先来进行单元测试,确保各个单元的逻辑都没问题后,然后进行集成测试,测试整个博客系统的可用性。 Python 一般使用标准库

Elasticsearch6.x数据处理(三)

ⅰ亾dé卋堺 提交于 2020-02-21 07:19:37
1.处理冲突 当使用 index API更新文档的时候,我们读取原始文档,做修改,然后将整个文档(whole document)一次性重新索引。 最近的索引请求会生效——Elasticsearch中只存储最后被索引的任何文档。如果其他人同时也修改了这个文档,他们的修改将会丢失。 很多时候,这不是问题。 也许我们的主数据存储是关系数据库,我们只是将数据复制到Elasticsearch中以使其可搜索。 也许两个人几乎不可能同时更改同一个文档。 或者,如果偶尔失去变化,对我们的业务来说也许并不重要。 但有时失去变化 非常重要 。 想象一下,我们正在使用Elasticsearch来存储我们在线商店中库存的小部件数量。 每次我们出售小部件时,我们都会减少Elasticsearch中的库存数量。 有一天,管理层决定进行销售。 突然间,我们每秒都在销售几个小部件。 想象一下,两个并行运行的Web进程,每个进程都处理一个小部件的销售,如下图显示没有并发控制的结果 。    在数据库领域,通常使用两种方法来确保在并发更新时不会丢失更改 : 悲观的并发控制 这种方法广泛用于关系数据库,它假定可能发生冲突的更改,因此阻止对资源的并发访问以防止冲突。 一个典型的例子是在读取数据之前锁定一行,确保只有放置锁的线程才能对该行中的数据进行更改。 乐观的并发控制 由Elasticsearch使用,

10 EF Core 继承类关系映射

爷,独闯天下 提交于 2020-02-19 10:55:59
1、约定情况,可以在模型中包含类型,通过 DbSet 公开继承层次结构中每个类型 class MyContext : DbContext { public DbSet<Blog> Blogs { get; set; } //约定指定映射表到数据库 public DbSet<RssBlog> RssBlogs { get; set; } //约定指定映射表到数据库 } public class Blog { public int BlogId { get; set; } public string Url { get; set; } } //继承类 public class RssBlog : Blog { public string RssUrl { get; set; } } Blog、RssBlog 模型在数据库表里以基类的名称映射同一张表,对不同的数据模型类型用Discriminator字段标识,如果想更换Discriminator 字段名为其它名时可以使用Fluent API配置 数据库列会根据数据库模型类型需要自动设置模型中没有类型的字段为null 2、HasBaseType显式指定基类型 如果不依赖约定在MyContext类型配置public DbSet<Blog> Blogs { get; set; } 属性可以使用 HasBaseType显式指定基类型

树莓派开机启动启动终端(terminal)窗口并执行Python脚本

こ雲淡風輕ζ 提交于 2020-02-19 05:22:46
http://7iang.com/blog/?p=486 https://shumeipai.nxez.com/2015/02/09/run-python-script-when-the-raspberry-pi-start.html 这个方式不用修改 rc.local 文件。机制上类似于 Windows 的“开始”菜单中的“启动”菜单。方法如下: 在 /home/pi/.config 下创建一个文件夹,名称为 autostart,并在该文件夹下创建一个xxx.desktop文件(文件名以.desktop结尾,前面可以自定义),文件内容如下: 1 2 3 4 5 6 7 8 9 10 [Desktop Entry] Name=example Comment=My Python Program Exec=python /home/pi/example.py Icon=/home/pi/example.png Terminal=false MultipleArgs=false Type=Application Categories=Application;Development; StartupNotify=true 以上 Name、Comment、Icon 可以自定,分别表示这个启动项目的名称、备注以及显示的图标。Exec 表示调用的指令,和在终端输入运行脚本的指令格式一致。 之后

Hello World

烈酒焚心 提交于 2020-02-18 22:18:28
Petermaner 这是我的第一篇博客😀 希望这是一个良好的开端,在这里我将和大家一起分享知识、经验和见解😄 以上 - Petermaner - This is my first Blog😀 - I hope this is a benign* start place where I will share my knowedge、 - experience and understanding😄 - That‘s all 来源: https://www.cnblogs.com/petermaner/p/12328840.html

一点点欣喜,一点点若狂

只谈情不闲聊 提交于 2020-02-17 02:45:34
上星期六考完试回家,打开BLOG后,竟然看到有人留言。熟人还是陌生人?我想对于我来说他是熟人,对于他来说我是陌生人。 现在我体会到网络是如此的妙不可言,让我看到许多很有才华的男孩,女孩。博客也从真正意义上满足了人的偷窥欲望。当然,欣赏别人也是为了看重自己。 一直没有把BLOG告诉给任何人,享受着所谓的一个人的狂欢。偶尔也会想像会否有陌生人来到此地,却不曾料到TURKEY同志会是第一个留言的来客。我不会作图,不会作网页,我BLOG的版面单调而乏味,不像别人的那么华丽而多彩。只是记录了一些似是而非的东西。你的到来让我感到这里有一丝丝的生机,感谢你朋友!感谢你不经意的闯入!虽然我们未曾谋面。 来源: https://www.cnblogs.com/glady/archive/2005/06/01/166104.html

wordpress、Discuz产品部署

落爺英雄遲暮 提交于 2020-02-17 00:23:27
Wordpress、Discuz产品部署 三个产品提供挂载的目录信息 BLOG /data/www/blog/wp-content/uploads/ 图片和附件 BBS: /data/www/bbs/data/attachment/image /data/www/bbs/uc_server/data/avatar 图像目录 /data/www/bbs/data/attachment/forum/ 图片路径 WWW: /data/www/www/images/swfupload /data/www/www/uploads/allimg/ 创建一个博客,用wordpress 数据库的设置 把nginx和php加入开机自启动: [root@lnmp-1 extra]# vim /etc/rc.local /application/nginx/sbin/nginx /application/php/sbin/php-fpm 首先,在数据库创建一个wordpress的数据库 mysql> create database wordpress; 创建wordpress 的数据库 mysql> show databases; 查看所有的数据库 创建用户wordpress 并指定wordpress在192.168.162.135上登录,给出密码 mysql> grant all on