、登陸數據庫
psql -U postgres -d postgres
2、創建數據庫hstore,并安裝extension
create database hstore;
create extension hstore;
3、建表
create table users(
id serial,
info hstore
);
4、插入數據
insert into users values(1,'"name"=>"zhangsan","age"=>"20"');
5、查詢數據
select info from users;
6、增加數據
update users set info = info || '"company"=>"Qunar"' :: hstore;
7、刪除數據
update users set info = delete(info, 'company');
8、將key值轉為set輸出。
select skeys(info) from users;
9、將key值轉為array輸出。
select akeys(info) from users;
10、將value值轉為set輸出。
select svals(info) from users;
11、將value值轉為array輸出。
select avals(info) from users;
12、將hstore值轉為array輸出。
select avals(info) from users;
13、查詢age為20的所有記錄。
查詢之前再入兩條數據
insert into users values(1,'"name"=>"lisi","age"=>"20"');
insert into users values(1,'"name"=>"wangwu","age"=>"21"');
查詢
select * from users where info@'age=>20';
文檔參考:http://www.postgresql.org/docs/current/static/hstore.html
提要:在本教程中,我們將向您展示如何使用 PostgreSQL HSTORE 數據類型。
hstore 模塊實現了將鍵/值對存儲到單個值的 HSTORE 數據類型。注意,HSTORE 中的 鍵 和 值 都只能是字符串。
使用 HSTORE 數據類型之前,需要先啟用 hstore 模塊:
CREATE EXTENSION hstore;
CREATE TABLE books (
id serial primary key,
title VARCHAR (255),
attr hstore
);
INSERT INTO books (title, attr)
VALUES
(
'PostgreSQL 輕松學',
'"paperback" => "685",
"publisher" => "sjk66.com",
"language" => "簡體中文",
"ISBN-13" => "1234567890123",
"weight" => "412 克"'
);
SELECT
attr -> 'ISBN-13' AS isbn
FROM
books;
SELECT
attr -> 'weight' AS weight
FROM
books
WHERE
attr -> 'ISBN-13' = '1234567890123'
UPDATE books
SET attr = attr || '"freeshipping"=>"yes"' :: hstore;
UPDATE books
SET attr = attr || '"freeshipping"=>"no"' :: hstore;
UPDATE books
SET attr = delete(attr, 'freeshipping');
SELECT
title,
attr->'publisher' as publisher,
attr
FROM
books
WHERE
attr ? 'publisher';
SELECT
title
FROM
books
WHERE
attr @> '"weight"=>"412 克"' :: hstore;
SELECT
title
FROM
books
WHERE
attr ?& ARRAY [ 'language', 'weight' ];
SELECT
akeys (attr)
FROM
books;
或
SELECT
skeys (attr)
FROM
books;
SELECT
avals (attr)
FROM
books;
或
SELECT
svals (attr)
FROM
books;
SELECT
title,
hstore_to_json (attr) json
FROM
books;
SELECT
title,
(EACH(attr) ).*
FROM
books;
不知道能不能當hbase使用
家好,我是 Echa。
今天來分享 50 個超實用的 Chrome 瀏覽器擴展!
JSON Viewer Pro 用于可視化JSON文件。其核心功能包括:
輸入界面如下:
格式化之后:
JSONVue 是一個JSON數據查看器,主要用來格式化JSON數據:
Library Sniffer 是一款給開發者使用的工具,能夠探測當前網頁所使用的類庫、框架和服務器環境,為開發者提供了方便。
Wappalyzer 擴展可以用來識別網站背后的底層技術。通過此擴展,可以了解特定應用程序是否是用 React、Vue、Angular、PHP等編寫的。還可以訪問有關 Web 服務器、編程語言、框架、內容管理系統、分析的信息工具、數據庫等。
WhatRuns 擴展程序只需單擊一下即可找到任何網站上使用的技術。
使用PerfectPixel插件可以將設計圖加載至網頁中,與已成型的網頁進行重疊對比,以幫助開發和設計人員規范網頁像素精度。這是一款可以優化前端頁面顯示的Chrome插件。
可以使用此擴展程序快速清除緩存,無需任何確認對話框、彈出窗口等。可以在選項頁面上自定義要清除的數據和數量,包括:應用程序緩存、緩存、Cookie、下載、文件系統、表單數據、歷史記錄、索引數據庫、本地存儲、插件數據、密碼和 WebSQL。
VisBug 是一個使用 JavaScript 構建的開源網頁設計調試工具,它可以讓用戶使用點擊式和拖放式界面來查看網站的元素。
Debug CSS 是一個幫助調試CSS的插件。他可以顯示出頁面元素的輪播,按住Ctrl,并將鼠標懸浮在元素上,即可查看其信息:
CSS Viewer 是一款適用于 Web 開發人員的高效 Chrome 擴展。顧名思義,CSS 查看器可以顯示將鼠標懸停在任何網頁上的元素的 CSS 屬性。
EditThisCookie 是一個 cookie 管理器。可以添加,刪除,編輯,搜索,鎖定和屏蔽cookies。
React Developer Tools 是開源 JavaScript 庫 React 的 Chrome DevTools 擴展。它允許我們在 Chrome 開發者工具中檢查 React 組件層次結構。安裝此插件之后,將在 Chrome DevTools 中獲得兩個新選項卡:"?? Components" 和 "?? Profiler":
Vue.js devtools 是一款基于chrome瀏覽器的用于調試Vue.js應用程序的插件,可以使得開發人員大大提高調試效率。支持用戶對DOM結構數據結構進行解析和調試功能。
Augury 可以幫助開發人員在 Google Chrome 瀏覽器中調試和分析 Angular 應用程序。
Firebug Lite是火狐瀏覽器中著名的開發者工具firebug插件移植到Chrome中的插件,在Chrome中安裝了Firebug Lite插件以后,開發人員可以像在火狐瀏覽器中使用firebug一樣熟悉的方式來調試網頁內容,其包含了基本的HTML、CSS以及Javascript的調試功能,用于幫助網頁前端開發工程師快速地調試網頁,以便及時地找到網頁中的BUG并及時修復。
HTML Validator 在 Chrome 的開發者工具中添加了 HTML Validator。HTML 頁面的錯誤數通過瀏覽器狀態欄中的圖標顯示,詳細信息可以在瀏覽器的開發者工具中查看。
Web Developer 擴展為帶有各種 Web 開發工具的瀏覽器添加了一個工具欄按鈕。該擴展適用于 Chrome 和 Firefox,并且可以在這些瀏覽器支持的任何平臺上運行,包括 Windows、macOS 和 Linux。
Requestly 是一款Chrome和Firefox瀏覽器插件,提供URL轉發、修改HTTP請求和結果、插入腳本等功能。
Window Resizer 主要用來調整瀏覽器窗口的大小以模擬各種屏幕分辨率。
Responsive Viewer 是在一個視圖中顯示多個屏幕的 Chrome 擴展程序。該擴展將幫助前端開發人員在開發響應式網站/應用程序時測試多個屏幕。
此插件允許直接從瀏覽器發送跨域請求,而不會收到跨域錯誤。可以使用此插件覆蓋 Request Origin 標頭,并將 Access-Control-Allow-Origin 設置為 *.
ColorPick Eyedropper 是一個放大的吸管和顏色選擇器工具,可讓從網頁等中選擇顏色值。
CSS Peeper 用于檢查和復制元素樣式的優秀工具,使用 CSSPeeper 可以將鼠標懸停在網頁中的任何元素上,然后單擊鼠標即可復制元素的樣式。
24. Dimensions
Dimensions是一款能幫助使用者對網頁上各種元素屬性之間的距離進行測量的Chrome頁面元素測量插件,該插件在點擊啟動插件圖標后,可以對頁面中圖像、輸入字段、按鈕以及視頻等頁面元素之間上下左右的方位尺寸進行測量,同時還可以通過使用快捷鍵來快速啟用或關閉該插件的功能,簡單實用。
Site Palette 用于生成調色板。設計師和前端開發人員必備的工具。可以通過這款插件輕松獲取網站的配色方案。
ColorZilla 是一款功能強大地提取網頁色彩的工具;也是個快速的對顏色進行調節的Chrome插件,許多的用戶將這款軟件稱呼為顏色吸取插件,它提取的顏色是非常的多樣化,還可生產css顏色的代碼等。
當我們想查看網頁中文字的字體時,最常用的方法就是在控制臺查看文字的字體樣式。那還有沒有更簡單的方法呢?WhatFont 就是一個查看網頁字體的Chrome擴展。只需要的點擊擴展圖標,再點需要查看為文字即可:
Fonts Ninja 可以從任何網站識別字體、添加書簽、試用并購買它們。
使用 BrowserStack 快速啟動擴展在任何瀏覽器中啟動一個新的測試會話。最多可設置 12 個瀏覽器以實現快速訪問并最大限度地減少切換瀏覽器所花費的時間。
Toby 是一款 Chrome 新標簽頁工具,能夠將未讀的標簽頁分組顯示在新標簽頁中,這樣就能把所有未看完的標簽頁都關閉了。分組相當于多個 Chrome 窗口,將你的標簽頁都拖進 Toby 中,就不需要實時開著占地方了。
該擴展提供了每日熱門開發者新聞,不需要再浪費時間搜索高質量的文章了。
Momentum 擁有漂亮的新標簽頁面,每日更新精彩背景壁紙圖片,可設置每日新鮮事焦點以及跟蹤待辦事項,無廣告,無彈窗。
The Great Suspender 是一個輕量級的擴展用來減少 Chrome 的內存占用。如果同時打開許多選項卡,在可配置的時間之后未查看的選項卡將在后臺自動掛起,從而釋放該選項卡消耗的內存和 CPU。
Session Buddy是一個可以幫助用戶查看、新增、編輯當前網站Session狀態的Chrome插件。用戶可以利用該插件保存網站當前的狀態以便在關閉Chrome或關閉計算機后恢復,從而達到節省內存的作用。
Octotree 旨在讓 GitHub 體驗更好。通常,為了檢查 Github 中的子文件夾,需要手動單擊文件夾并導航。Octotree 擴展解決了這個問題。此擴展在項目的左側顯示存儲庫的目錄結構,這有助于更好地理解文件夾結構。
1_EKF88oqIyX6FzgueCKdtXg.gif
File Icons for GitHub and GitLab 可以將 GitHub 和 GitLab 上的原始文件圖標替換為特定文件類型的圖標。
ax DevTools 是一個快速、輕量級但功能強大的測試工具,由 Deque 開發的世界上最值得信賴的可訪問性測試引擎 axe-core 驅動。使用 ax DevTools 在網站開發過程中查找并修復更多可訪問性問題。
OctoLinker 可以將特定語言的語句(如 include、require 或 import)轉換為鏈接。當打開一個包含多個導入語句的文件并且想要快速打開它時,只需將鼠標懸停在鏈接的文件上并單擊即可打開。
此擴展可幫助 Web 開發人員分析網頁是否違反最佳實踐。
Check My Links 是一個鏈接檢查器,它可以抓取網頁并查找損壞的鏈接。
Checkbot 是用于驗證一組HTML頁面上的鏈接的工具。Checkbot可以檢查一個或多個服務器上的單個文檔或一組文檔。它會創建一個報告,該報告匯總了引起某種警告或錯誤的所有鏈接。
Google Page Speed Insighs 是一款旨在優化所有設備上的網頁、提高網頁加載速度的工具。
META SEO inspector是一款可以幫助用戶分析網頁的meta信息并得到SEO評估的谷歌瀏覽器插件。
Ghostery 是強大的隱私保護擴展程序。其主要有以下功能:
AdBlock 用來在YouTube、Facebook、Twitch和其他你喜愛的網站上攔截廣告和彈窗。
番茄工作法(Pomodoro?)時間管理助理。? 長短兩種休息時間 ? 帶有倒計時顯示的工具欄圖標 ? 追蹤Pomodoro歷史和統計訊息 ? 可配置的長休間隔 ? 可配置的定時器時長 ? 桌面與新標簽頁通知 ? 超過20種音效可選的聲音通知 ? 計時器秒針走動音效
Loom 可以用來快速錄制視頻,并且能夠將錄制的視頻上傳到指定的網頁中,Loom還支持在用戶點擊啟動插件時,立即捕捉屏幕圖像,同時開始視頻錄制操作,還可以將錄制好的視頻復制到粘貼板中存儲。
GoFullPage 是一款全屏截圖插件(整個網頁截圖),完整捕獲您當前頁面的屏幕,進行滾動截圖,而無需任何額外的權限。單擊擴展程序圖標,然后將其傳輸到屏幕快照的新標簽頁中,可以在其中將其下載為圖像或PDF,甚至只需拖動即可,保存到桌面。
BetterViewer 可以提供更好的圖像查看體驗,旨在替代基于 Chrome 瀏覽器中內置的圖像查看模式。使用時,只需在頁面右鍵點擊圖片,選擇“在新標簽頁中打開圖片”即可。
svg-grabber 是一個快速預覽并從網站獲取所有 svg 的工具。可以用來預覽、下載和復制網站中所有 SVG 圖標和插圖的代碼。
要成為哈佛大學的學生,很難;但想要上哈佛大學的課,很容易。
這個學期,我上了三門哈佛大學的 MOOC,分別是:
一般哈佛大學本科生一學期也就上三到四節課,所以可以說我假裝在哈佛大學上了一學期。
哈佛大學是 edX 的創始者之一,所以在 edX 有許多哈佛大學的課程,其中最著名的可能就是計算機課程 CS50,它被彭博社譽為全美前五的計算機課程。我在 edX 這個平臺選擇了 CS50 和它的系列課程 CS50's Web Programming with Python and JavaScript。網易云課堂里則能找到積極心理學(《哈佛大學公開課:幸福課》),并有中文翻譯。
讓我們先看一些概念,有助于學習美國高校所開設的 MOOC。
在美國高校,一節課包括以下 3 種教學形式:
一些可能會用到的名詞:
Psychology 1504 名為 Positive Psychology (積極心理學),在網易云課堂上名為《哈佛大學公開課:幸福課》,主講人是 Tal Ben-Shahar,被譽為哈佛大學「最受歡迎的教師」。該課程是哈佛有史以來最受歡迎的課程之一,教你如何變得更快樂。課程總共有 23 個課時,每節課 80 分鐘。
《哈佛大學公開課:幸福課》
積極心理學是心理學近年來才有的分支。在心理學界,研究焦慮和研究快樂的論文比是 21:1,也就是說學者研究 21 次人們為什么焦慮才會研究 1 次人們為什么會快樂。Tal 說在哈佛開設積極心理學的目的,除了想讓上過課的人變得更快樂之外,就是想重新平衡這種天平,因為知道如何變得快樂和知道為什么不快樂一樣重要。
Tal 在課上提出的核心觀點就是:快樂不僅僅在于外在的條件,而在于主觀期望和外在條件的匹配。人們總認為富人比窮人更快樂,誠然富人在很多事情上有更多選擇權,但這也與自身的主觀期望有關:窮人可能就想要平平淡淡的生活,而事實如此,他就會十分快樂;富人可能開著寶馬,但買不起朋友們都有的勞斯萊斯,那他可能也會不快樂。所以快樂不在于地位的高低,而在于主觀期望和外界條件是否相匹配。
積極心理學不光是講授調整心理的課程,控制身體一樣能夠影響心理。Tal 在課堂上提出了變得更快樂的 the wonder drug (靈丹妙藥),只有簡單的 4 點,并有學術研究支持該觀點:
我也發現充足的睡眠和運動能夠讓我變得更加有活力,雖然冥想和擁抱在現階段我還在進一步嘗試,但我相信這四點確實可以使我更快樂。通過調整自己的身體,讓心靈變得更加快樂,畢竟心靈和身體本就是一體的。
在課程上,涉及了許多與快樂有關的方面,比如學會專注、擁抱改變、克服拖延、學會感恩等等,每一節課都從不同的方面講授變得更快樂的能力。我強烈推薦你去看《哈佛大學公開課:幸福課》的課程視頻,相信你能在看完后有所收獲,擁有變得更快樂的能力。
網易云課堂上只有課程視頻,并沒有課程 PPT。
CS50: Introduction to Computer Science 是哈佛大學的計算機基礎課程,該課程還被耶魯大學引用,在耶魯開設了同樣的課程。該課程分為 10 周,前 5 周講解 C 語言和基本的計算機科學基礎知識,后 5 周會涉及 Python,HTML,SQL 等進階知識。課程主講是 David Malan,被譽為全球知名計算機科學教育者之一,Facebook CEO 馬克-扎克伯格也曾在該課上當過 授課嘉賓。
CS50
該課程共分為 11 周,每周的任務分為以下三個部分:
我個人覺得 CS50 最大的優勢就是擁有網頁編程環境,讓初學者不用先安裝復雜的 IDE (集成開發環境)與編程環境,先專注于編程語法與編程體驗,這樣一步步就可以培養出對編程的興趣。試想一個編程初學者不光要學習編程語法,還要在實際編程時面對復雜界面上的一堆按鈕,是什么樣的體驗。我當時大一在學校機房用著古老的機器和 IDE,只知道 Complie 和 Run 兩個選項,剩下幾十個選項完全不知道是干什么的,壓力鋪面而來,完全感受不到編程的樂趣。
在 CS50 的環境下,打開瀏覽器就可以編程,界面干凈而現代。當遇到問題時,不光有系統給出的報錯信息,使用課程團隊自己開發的命令行工具 help50 可以給你自然語言的指導;style50 工具可以自動找出縮進格式的不對稱并給出建議,讓代碼更美觀。這些工具都是初學者該使用的,來不斷改進自己良好的編程習慣,在以后的路上走的更順利。
網頁端簡潔的 IDE
除了優秀的課程網站設施和課程團隊外,主講教師 David 在課上激情且富有活力的講解也是我在上課時感受到的亮點。他每節課都因為講得激情而大汗淋漓,讓我透過屏幕也能感受到他的活力與激情,上課用起例子來也是毫不留情,比如:
現場撕書
課堂上吃早餐
真-人工排序
這種看似浪費物資和人力的舉例講解,其實不僅讓課堂變得不那么死板,也會讓學生記住這種生動而深刻的舉例,從而類比到計算機的一些知識點,對于初學者還是挺重要的。
CS50's Web Programming with Python and JavaScript 是 CS50 系列中的網頁開發課程。課程講解了網頁開發三劍客 HTML,CSS 和 JavaScript,同時也會涉及 Python 的講解和用 Flask 框架進行網頁開發,以及使用 SQL 和建立數據庫的相關細節,還會講到 Git 和 GitHub 的相關操作。主講人是 Brian Yu,他也是 CS50 主課的首席 TF,上課邏輯清晰,幾乎沒有廢話。
CS50' Web Web Programming with Python and JavaScri
全課程分為 12 周,每周為一個將近 2 小時的 Lecture。全課程共有 4 個 Project 和 1 個 Final Project,每個 Project 都要求做出相應功能的網頁并附上演示說明。該課程的特色是直接上手,以項目為主講解功能,而不像很多國內的課程先分化講一堆功能。項目制的好處,就是你可以先用很少的功能先完成一個網頁,雖然它可能很丑陋,但是這種成就感是繼續學習的重要動力。如果只是灌輸一大堆功能再讓你開發一個網頁,有可能反而無從下手。
雖說 MOOC 的上課時間很自由,但不進行規劃,等到有時間再來補充知識,結果往往是一直推遲。為 MOOC 規劃一個上課時間,像真實聽課的那樣按照時間去上課,會給自己一種儀式感,就好像自己身臨其境地在哈佛大學里上課,也能按照規劃完成自己想學的課程。
某周的上課日歷
上圖是我日常周內只有上課的日歷圖層。除了自己學校的兩門課外,我為我選的三門 MOOC 都安排了時間,到了時間就去圖書館打開電腦準備上課。給自己這種像正式上課一樣的儀式感,才能有條不紊地按計劃完成 MOOC 學習。當然因為這學期時間充裕,我才能將課程安排在周一或周二,但方法是一樣的,將它安排到下班后或者晚上,給自己一個上課的儀式感是很有必要的。
以上就是我選擇的三門哈佛大學的 MOOC 課程,本文的目的是想告訴大家網上的教育資源很發達,大家完全可以在網上選擇自己心儀的大學所開設的課程,總有網上的課程能夠覆蓋你想學的知識。在課堂上老師為了講清楚概念都會放慢語速,所以聽英語課程是鍛煉英語聽力的一種很好的方法,想要出國留學的朋友也可以聽幾節全英文的課程來適應美國大學的課堂。
當然在網上上課不能完全等同于在校園內上課,MOOC 的線上溝通比起真人交流還是有一定差距,哈佛校園內的資源和社交網絡仍是用在線課程代替不了的優勢。但 MOOC 相比于傳統校園課程,也有其一定的優勢,其一是對上課時間的靈活掌控,你可以選擇在自己有狀態的時間進行上課,比如有些人晚上上課反而效率更高;其二是少了一些考核的壓力,專注于知識的獲取,充分發揮自學的優勢。
哈佛大學一門課的 學費 約為 6000 美元,而在 edX 和網易云課堂上是完全免費的,學完后可以花 90 美元獲得課程證書。學會獲取互聯網上優質的資源,不僅可以拓寬自己的視野,也可以更高效地獲取知識,祝大家學習愉快。
(題圖和配圖來自哈佛大學、edX 和網易云課堂)
*請認真填寫需求信息,我們會在24小時內與您取得聯系。