<header>:網頁的標頭,通常放置網站標題。
<nav>:網頁的選單、導覽。
<main>:網頁的主要內容。
<aside>:網頁的側欄、附加內容。
<article>:一篇文章內容。
<section>:自訂的區塊,例如數篇摘要組成的空間。
<footer>:網頁的頁尾,通常放置聯絡方式、著作權宣告等等。
<mark>:Highlight parts of a text.
<time>:顯示日期時間。
Google 的 Matt Cutts 說過的話、發表的內容可以相信,因為他是搜尋引擎的頭頭,基本上 SEO 的規則他說了算。不過要得到彙整過、消化過的資訊並不容易,因為他發布的消息比較零散。
臉書創辦人祖克柏曾說:「最大的風險不在於承擔風險⋯⋯在一個快速變動的世界,唯一保證會失敗的策略,就是不承擔風險。」(The biggest risk is not taking any risk⋯⋯ In a world that changing really quickly, the only strategy that is guaranteed to fail is not taking risks.)
So if we can’t rely on what the internet says and opinions of other people, then how to make clever decisions? Here come some good practises:
Test and research before you decide:
Spikes — learn about your technology not from blogs, but from experience. Take 1 or 2 days to build a prototype of a new functionality in the new technology, before you make the decision. Let the team analyse pros and cons. You might take a couple of competitive technologies and let different parts of the team builds prototypes with different technology.
Hackathon is a great way to build awareness of a team on tradeoffs of different technologies. Take 1 or 2 days for the whole team to hack all the technologies that are on the rise and look tempting to use. That will allow the team to make clever decisions on its own and take decisions based on their own experience.
When to go?
In principle when the return on investment is huge. Most technologies are created to solve a particular problem. Do you have that problem? Is it a big problem? Will it save a lot of time? Will the use of the technology pay back the cost of the entrance curve and rewriting? What if we initially slow down development by the factor of two? Or four? Is it still worth it?
Great teams are allowed more — some teams are just faster than others at delivering the value. They get bored with what they do more easily. These teams can introduce new technologies more often. That’s no excuse not to use spikes and do hackathons. On the other hand, if the team has troubles delivering — proceed with caution.
Hire the right people:
Strong technical background is your friend — people who know different paradigms, understand the theory of programming (e.g. algorithms, concurrency) and have good engineering culture tend to hype less.
Experience — hype is stronger with young developers. With years people who have seen many technologies and been in troubles many times tend to get more balanced views of picking technology.
從行銷的觀點來看,參照「無架構、未管理的數據」(rogue data)所得出的錯誤推論,點出了自動化模型的局限:例如,從直接回應電視廣告(direct response TV ad;在廣告中直接號召觀眾撥打電話、傳真或寫信,以獲得產品樣本、目錄或直接購物)來預估客服中心的來電話量,結果勢必會產生誤差。
上一段提到歐美客戶的專業性,但是歐美國家並不是百分之百不會犯錯誤,偶爾也會發生突然的藝術方針的改變,而這部分也分兩個階段:草稿和完稿。需要插畫師修改創作時,如果是草稿階段沒提到的,態度會非常委婉甚至願意付修改費用,而更有水平的客戶是直接呈上修改費並對於需要修改的部分感到抱歉。 無論是大公司如 Apple Inc. 到小公司如獨立的出版社,基本上對於合作的插畫家的態度都是相當尊重而且慎重的。
但這邊值得注意的一點是,form能夠帶的 content type 只有三種:application/x-www-form-urlencoded, multipart/form-data 跟 text/plain。在上面的攻擊中我們用的是最後一種,text/plain,如果你在你的後端 Server 有檢查這個 content type 的話,是可以避免掉上面這個攻擊的。
只是,上面這幾個攻擊我們都還沒講到一種情況:如果你的 api 接受 cross origin 的 request 呢?
意思就是,如果你的 api 的 Access-Control-Allow-Origin 設成 * 的話,代表任何 domain 都可以發送 ajax 到你的 api server,這樣無論你是改成 json,或甚至把 method 改成 PUT, DELETE 都沒有用。
Same-site cookies (ne “First-Party-Only” (ne “First-Party”)) allow servers to mitigate the risk of CSRF and information leakage attacks by asserting that a particular cookie should only be sent with requests initiated from the same registrable domain.