20 Matching Annotations
  1. Feb 2024
    1. Those with a growth mindset were much more interested in learning than in just looking smart in school.

      I enjoyed this point because it seems people with a growth mindset are more focused on the journey then the end goal.

    2. In our society, we seem to worship talent — and we often portray it as a gift. Now we can see that this is not motivating to our students. Those who think they have this gift expect to sit there with it and be successful. When they aren't successful, they get defensive and demoralized, and often opt out. Those who don't think they have the gift also become defensive and demoralized, and often opt out as well.

      I really like the wording of this sentence. A lot of kids that I see today that have some sort of talent instead of being successful, they get discouraged and tend to give up what they're good at when they get out performed, especially when it's someone that didn't have natural born talent, rather aquired skill through hard work. Even if they don't get out performed, they can tend to develop a bit of an ego as well.

  2. Dec 2023
  3. Aug 2023
  4. May 2023
  5. Mar 2023
    1. Send the 304 Not Modified response

      ```js import etag from "etag"; import { renderToString } from "react-dom/server"; import type { EntryContext, HandleDataRequestFunction } from "remix"; import { RemixServer } from "remix";

      export default function handleRequest( request: Request, status: number, headers: Headers, remixContext: EntryContext ) { let markup = renderToString( <RemixServer context={remixContext} url={request.url} /> );

      headers.set("Content-Type", "text/html"); headers.set("ETag", etag(markup));

      // check if the If-None-Match header matches the ETag if (request.headers.get("If-None-Match") === headers.get("ETag")) { // and send an empty Response with status 304 and the headers. return new Response("", { status: 304, headers }); }

      return new Response("<!DOCTYPE html>" + markup, { status, headers }); }

      export let handleDataRequest: HandleDataRequestFunction = async ( response: Response, { request } ) => { let body = await response.text();

      if (request.method.toLowerCase() === "get") { response.headers.set("etag", etag(body)); // As with document requests, check the If-None-Match header // and compare it with the Etag, if they match, send the empty 304 Response if (request.headers.get("If-None-Match") === response.headers.get("ETag")) { return new Response("", { status: 304, headers: response.headers }); } }

      return response; }; ```

  6. Jul 2022
  7. Oct 2021
  8. Mar 2021
  9. Jun 2017
    1. 在过期时间前,资源缓存是有效的,反之则缓存失效。通过不停抛弃过期的缓存资源以保证资源的实时性。注意,旧的缓存不会被抛弃或者忽略;当发起一个针对旧缓存资源的请求时,会在请求头里带上If-None-Match用来判断缓存是否还有效。如果有效,服务端返回304(Not Modified)和空的body以节省一部分带宽。

      为何要有时效性:

      1. 空间有限
      2. 服务器可能有更新文件

      在缓存有效期过期前,不会去询问服务器资源是否有效..如果缓存过期,就会在请求头上带上If-None-Match来判断缓存是否依旧有效

  10. Sep 2016
  11. Aug 2016
    1. Turdus poliocephalus

      Higher taxon match, is actually Turdus poliocephalus löseri

      Original description in "Preliminary Report on the Birds of the George Vanderbilt Sumatran Expedition of 1939: Notulae Naturae of The Academy of Natural Sciences of Phila., No. 18" https://books.google.co.uk/books?id=d-nCni44OcoC