20 Matching Annotations
  1. Last 7 days
  2. Nov 2020
  3. Oct 2020
    1. const store = readable(machine.initialState, set => { service.subscribe(state => { if (state.changed) set(state) }) service.start() return () => { service.stop() } })
    2. The readable store takes a function as a second argument which has its own internal set method, allowing us to wrap any api, like Xstate or Redux that has its own built in sub­scrip­tion model but with a slightly different api.
    3. The $ contract for auto-sub­scrib­ing is lovely in its sim­plic­ity and flex­i­bil­ity. You can adapt your own preferred state-man­age­ment pattern or library, with or without Svelte stores as helpers. Svelte does not fuss about how you want to manage your state.
  4. Sep 2020
    1. A function that takes the value from the input and name of the field and converts the value into the value you want stored as this field's value in the form. Common usecases include converting strings into Numbers or parsing localized dates into actual javascript Date objects.
    1. Some Svelte component's allow you to bind to internal data which doesn't make too much sense outside of Svelte yet they often form an important part of the API. Instead I have added the option to use a watch* prop (similar to the on* prop). This also takes a callback function and recieves the value you wish to watch as its only argument. watchNumber={ n => setCount(n) } would watch the internal value number, when number changes the callback you passed to it would be executed receiving the new number value as its only argument. This may seem strange but many Svelte components are written to make use of this bind syntax, without it there is often a hole in the API leaving you unable to respond to internal state changes. You will probably want to control your state with React, this watch* prop is an escape hatch that allows you to pull out those internal values to use however you wish.
  5. Sep 2019
  6. Aug 2019
  7. Jan 2016
    1. ВЫВОДЫ

      <br>

      • Все комплектующие адаптера должны быть последнего поколения. К высокоскоростному Wi-Fi 802.11ac должен прилагаться высокоскоростной же USB 3.0, тогда и в двухантенном адаптере есть смыл.

      • Если комплектующие разных поколений. Высокоростной Wi-Fi 802.11ac + низкоскоростной USB 2.0 дадут ⩽ 270 Мбит/с и не больше. В двухантенном смысла нет.

      • Если все комплектующие предыдущих поколений. Средне- и низкоскоростные Wi-Fi 802.11 a/b/g/n (не ac) + низкоскоростной USB 2.0 — есть смысл в двухантенном адаптере. <br>

      Но для получения максимальных результатов адаптер должен принимать сигнал от роутера, соответствующего характеристикам адаптера. То есть поколение роутера тоже должно соответствовать.

    2. Минусом работы на 5 ГГц может быть уменьшение дальности работы (по сравнению с 2,4 ГГц), но этот вопрос мы в данной статье не затрагивали и постараемся вернуться к нему в следующих публикациях.
    3. Конечно, не забывайте, что и роутер должен соответствовать этому уровню.
    4. Если же адаптер работает в ПК или ноутбуке по интерфейсу USB версии 3.0, то скоростные показатели заметно интереснее — до 450 Мбит/с и выше.
    5. в случае работы с шиной USB 2.0 пользователи сетей 802.11ac могут рассчитывать на максимальные скорости около 270 Мбит/с. При этом особого смысла гнаться за двухантенным (скорость соединения 867 Мбит/с) адаптером практически нет. Единственное, где он может выиграть у одноантенного (скорость соединения 433 Мбит/с) — работа с сетями прошлого поколения.
    6. Если вы пользуетесь ноутбуком, встроенный беспроводной адаптер которого обеспечивает работу в 802.11n/300 Мбит/с (а таких моделей в среднем сегменте большинство), то установка внешнего контроллера может помочь существенно увеличить скорость работы с сетью, и подобный апгрейд может быть оправдан.