自由學習的風

幽夢影 張潮 少年讀書,如隙中窺月;中年讀書,如庭中望月;老年讀書,如臺上玩月。皆以閱歷之淺深,為所得之淺深耳。

[javascript] 新增、移除物件中的元素

2016年11月28日 星期一

新增成為最後一個:
.push( obj )
移除最後一個元素:
.pop()
從 x 元素開始移除 y 個元素:
.splice( x, y )
從 x 元素新增 元素:
.splice(x, 0, obj  )

example:
var data = {[
    {readerid: '100001', name: "吳一英 ", classname: "601"},
    {readerid: '100002', name: "吳二英 ", classname: "602"},
    {readerid: '100003', name: "吳三英 ", classname: "603"},
    {readerid: '100004', name: "吳四英 ", classname: "604"}
]};
data.splice( 2, 0,
    {readerid: '100005', name: "吳小英 ", classname: "605"}
);    

結果:
var data = {[
    {readerid: '100001', name: "吳一英 ", classname: "601"},
    {readerid: '100002', name: "吳二英 ", classname: "602"},
    {readerid: '100003', name: "吳小英 ", classname: "605"},    {readerid: '100004', name: "吳三英 ", classname: "603"},
    {readerid: '100005', name: "吳四英 ", classname: "604"}
]};

若有資料可以對應物件內的資料的話,可以利用 jquery 的語法來快速移除某個元素
var elm_readerid = 'aaa';
data = $.grep( data, function(e) {
    return e.readerid != elm_readerid;
});



[轉] 13 Best File Managers for Linux Systems

2016年11月17日 星期四

原文:http://www.tecmint.com/top-best-lightweight-linux-file-managers/

「13 個 Linux 最佳的檔案管理員」這個標題很吸引我,可惜,雖然說是 13 個,不過,用得最多的還是 Nautilus,MC 也不錯,不過,它是 Console 模式,所以反而不常用。

我自己也有找過幾個 File Manager,覺得還不錯,順便提供給大家參考:
1. Double Commander(win, linux, mac, freebsd) http://doublecmd.sourceforge.net/
2. Sun Flower(linux)  http://sunflower-fm.org/
3. Free Commander(win) https://freecommander.com/en/summary/

PS: total commander 和 ab commander 也很優,不過,TC快速鍵不習慣,AB要 $$,後來就沒接觸了


DNS 部分網域無法解析

2016年11月10日 星期四

OS: Debian GNU/Linux 7.11 (wheezy)

早上出現一個 case,只有 ntpc.edu.tw 的網域名無法解析,但是其它網域都 OK,看了一下 記錄資料,發現在 「error: No valid DS」的訊息。

這是 DNSSEC 未設定好的原因,先把本機的 named.config.options 設定檔中有關 dnssec 的設定修改如下:

dnssec-enable no;
dnssec-validation no;
然後再把 dns 重新啟動,就正常囉!
持續觀察…

[MySQL] MySQL預設編碼

2016年10月31日 星期一

指令:
SET NAMES 'utf8';
SET CHARACTER SET utf8;

設定檔 my.cnf:
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8


Ubuntu 裝在 SSD 硬碟的注意事項

2016年10月30日 星期日

1. 寫入磁碟極少化 (也是最重要的一點)
在/etc/fstab 裡加入nodiratime, noatime

2. 啟用 TRIM 功能
在 /etc/cron.weekly/fstrim 裡加入 exec fstrim-all --no-model-check

[MySQL] 升級 MySQL 5.7 後,資料庫會出現錯誤訊息

2016年10月28日 星期五

錯誤訊息:

1577 - Cannot proceed because system tables used by Event Scheduler were found damaged at server start

解決辦法1. 移除 mysql 資料庫中的資料庫

  •  innodb_index_stats
  •  innodb_table_stats
  •  slave_master_info
  •  slave_relay_log_info
  •  slave_worker_info
2. 在磁碟中找到 步驟1 中相同資料表名的 *.frm 和 *.ibd 的檔案

3. 利用下列的查詢語法來建立資料表
CREATE TABLE `innodb_index_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `stat_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `stat_value` bigint(20) unsigned NOT NULL,
  `sample_size` bigint(20) unsigned DEFAULT NULL,
  `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
CREATE TABLE `innodb_table_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `n_rows` bigint(20) unsigned NOT NULL,
  `clustered_index_size` bigint(20) unsigned NOT NULL,
  `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
CREATE TABLE `slave_master_info` (
  `Number_of_lines` int(10) unsigned NOT NULL COMMENT 'Number of lines in the file.',
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log currently being read from the master.',
  `Master_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last read event.',
  `Host` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'The host name of the master.',
  `User_name` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The user name used to connect to the master.',
  `User_password` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The password used to connect to the master.',
  `Port` int(10) unsigned NOT NULL COMMENT 'The network port used to connect to the master.',
  `Connect_retry` int(10) unsigned NOT NULL COMMENT 'The period (in seconds) that the slave will wait before trying to reconnect to the master.',
  `Enabled_ssl` tinyint(1) NOT NULL COMMENT 'Indicates whether the server supports SSL connections.',
  `Ssl_ca` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Authority (CA) certificate.',
  `Ssl_capath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path to the Certificate Authority (CA) certificates.',
  `Ssl_cert` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL certificate file.',
  `Ssl_cipher` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the cipher in use for the SSL connection.',
  `Ssl_key` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL key file.',
  `Ssl_verify_server_cert` tinyint(1) NOT NULL COMMENT 'Whether to verify the server certificate.',
  `Heartbeat` float NOT NULL,
  `Bind` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Displays which interface is employed when connecting to the MySQL server',
  `Ignored_server_ids` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The number of server IDs to be ignored, followed by the actual server IDs',
  `Uuid` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The master server uuid.',
  `Retry_count` bigint(20) unsigned NOT NULL COMMENT 'Number of reconnect attempts, to the master, before giving up.',
  `Ssl_crl` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Revocation List (CRL)',
  `Ssl_crlpath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path used for Certificate Revocation List (CRL) files',
  `Enabled_auto_position` tinyint(1) NOT NULL COMMENT 'Indicates whether GTIDs will be used to retrieve events from the master.',
  PRIMARY KEY (`Host`,`Port`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Master Information';
CREATE TABLE `slave_relay_log_info` (
  `Number_of_lines` int(10) unsigned NOT NULL COMMENT 'Number of lines in the file or rows in the table. Used to version table definitions.',
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the current relay log file.',
  `Relay_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The relay log position of the last executed event.',
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log file from which the events in the relay log file were read.',
  `Master_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last executed event.',
  `Sql_delay` int(11) NOT NULL COMMENT 'The number of seconds that the slave must lag behind the master.',
  `Number_of_workers` int(10) unsigned NOT NULL,
  `Id` int(10) unsigned NOT NULL COMMENT 'Internal Id that uniquely identifies this record.',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Relay Log Information';
CREATE TABLE `slave_worker_info` (
  `Id` int(10) unsigned NOT NULL,
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Relay_log_pos` bigint(20) unsigned NOT NULL,
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_relay_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_seqno` int(10) unsigned NOT NULL,
  `Checkpoint_group_size` int(10) unsigned NOT NULL,
  `Checkpoint_group_bitmap` blob NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Worker Information';
4. 重新啟動 mysql server

教育相關新聞、影片

2016年10月27日 星期四


  • 資訊教育成果-自由軟體 https://www.youtube.com/watch?v=ERvwEp-KUQs