1+1=10

Debao's Blog...

Joomla!笔记2

隐藏Joomla相关信息

为了避免被攻击,我们可能不想让别人知道自己使用的是Joomla!。

网站URL...

Joomla后台提供了一定的SEO设置功能,使得我们能将

http://example.com/index.php?option=com_content&view=article&id=3&Itemid=117

变成

http://example.com/aaaa/bbb.html

这种样子。但是其他人仍然能通过原始形式进行访问。比如通过下面的URL访问登录界面

http://example.com/component/users
http://example.com/?option=com_users

JoomSEF 和 sh404SEF 似乎能解决这种问题(没有试过,以后慢慢看)。

meta generator

Joomla! 建的网站,源码中会包含类似下面的meta信息 ...

Joomla!扩展笔记

Joomla! 的扩展分:组件、模块、插件、模板

简单了解一下

组件(Component)

组件是Joomla!的一种扩展,是Joomla!的主要功能单元。大部分组件都包含administrator和site两部分,它们分别装在Joomla!根目录下的 administrator/components 和 components目录中。

当用户通过类似如下的http://example.com/index.php?option=com_<name>的url请求页面时,Joomla!平台将试图加载组件文件components/com_<name>/<name>.php。在该文件中,可以决定:直接返回HTML代码,还是使用模型-视图-控制器(MVC)模式。

组件的控制流程见 Component_Program_Flow

Old-Flat-Model(直接返回HTML代码)

假定我们创建一个名为 hello 的组件 ...

Joomla!笔记

问题

googleapis.com 加载问题

不少扩展都使用了 googleapis.com 中的 fonts 和 jQuery ,而google的服务在国内无法访问。需要换成360提供的镜像 http://libs.useso.com/

NoNumber ReReplacer 比较好的解决这个问题。

创建两条规则:

  • 用 ajax.useso.com 替换 ajax.googleapis.com
  • 用 fonts.useso.com 替换 fonts.googleapis.com

如果模板用的 https 而不是 http。 用 http://fonts.useso.com 替换 https://fonts.googleapis ...

Notes on MySQL

MySQL vs mysql

  • MySQL ==> the entire MySQL package
    • The MySQL server (mysqld)
    • MySQL client programs
    • MySQL client library
  • mysql ==> a client program of the MySQL package
    • The MySQL Command-Line Tool

Connecting to server

shell> mysql -h host -u user -p

If mysqld is running on the same machine:

shell> mysql ...

Install MediaWiki on Windows

MediaWiki + Apache + php + MySQL

MySQL

Download and install the msi installer of MySQL 5.6 from http://dev.mysql.com/downloads/installer/

Apache

Download and install Apache 2.4 from http://www.apachelounge.com/download/

PHP

Download and install php 5.8.6 from http://windows.php.net/download/

Rename ...

Install Bugzilla on Windows

According to the documentation of Bugzilla 5.0, the following applications should be installed first:

  • ActiveState Perl 5.18.2 (5.12.4 or higher)
  • Apache 2.4 (2.2.x or higher)
  • MySql 5.6 (5.0.15 or higher)

Download Bugzilla

git clone --branch 5.0 https://git ...

使用LGPL授权的Qt开发商用程序的注意事项

注意:我不是律师,本文内容也只是我个人的理解,故内容仅供参考。如对LGPL如有任何疑问,请咨询你的律师。

从Qt5.4开始,一些新增加的模块开始使用LGPLv3授权,而不是先前的LGPLv2.1授权。 而这两个东西到底有什么区别,还真搞不清楚。

LGPLv2.1 vs LGPLv3

A Quick Guide to GPLv3 一文中介绍了GPL引入新版本的目的:主要是使用户远离以下三种的威胁。这应该也是LGPL 新旧版本的主要区别吧。

  • Tivoization
  • Laws prohibiting free software
  • Discriminatory patent deals

另外,这两个版本也不完全兼容 How are the various GNU licenses compatible with each other?

不过这些区别对普通用户似乎没有多大影响。

好吧,忽略二者的区别,那么LGPL有哪些基本要求 ...

"Notes on OpenSSL and Qt"

  • Libraries name of openssl?

The "library" portion of OpenSSL consists of two libraries.

On posix system they are named:

  • libssl
  • libcrypto

while on Windows(32bit) they are named completely different:

  • libeay32
  • ssleay32

qsslocket_openssl_symbols.cpp

static QPair<QSystemLibrary*, QSystemLibrary*> loadOpenSslWin32()
{
    QPair<QSystemLibrary*,QSystemLibrary*> pair;
    pair.first = 0;
    pair.second = 0;

    // When ...

"How to use QThread in the right way (Part 2)"

There are two way to use QThread:

  • Subclass QThread and reimplement its run() function
  • Use worker objects by moving them to the thread

As the QThread::run() is the entry point of worker thread, so the former usage is rather easy to understand.

In this article, we will try to ...