Креатин — одна из самых хорошо изученных, безопасных и эффективных добавок. Его основная функция — буст энергии во время тренировок. Это самое изученное поле применения креатина. Но мы с вами пойдём дальше и выясним, кто ещё извлечёт пользу кроме любителей спорта.
User
Асинхронное программирование в однопоточных средах JavaScript
Асинхронное программирование в однопоточных средах JavaScript
Моя прошлая обучающая статья Введение в Redux & React-redux набрала больше 100к просмотров. Что же это не может не радовать меня. И поэтому я решил порадовать и вас написав очередную статью по JavaScript. Хотя если честно я не хотел больше писать статьи поскольку это довольно сложно, занимает уйму времени и сил, а еще мне не платят за всю эту научную работу. Так что следующую статью я напишу только если эта наберет 150к просмотров.
Оглавление
1. Введение в асинхронное программирование
2. Цикл событий
3. Отложенное выполнение кода с помощью setTimeout setImmediate и process.nextTick
....3.1 setTimeout
....3.2 setImmediate
....3.3 process.nextTick
4. Устаревшие паттерны асинхронного программирования
5. Promise
....5.1 Основы Promise
....5.2 Методы экземпляра Promise
........5.2.1 Promise.prototype.then
........5.2.2 Promise.prototype.catch
........5.2.3 Promise.prototype.finally
....5.3 Композиция и цепочки промисов
........5.3.1 Графы промисов
........5.3.2 Параллельная композиция промисов с Promise.all и Promise.race
........5.3.3 Серийная композиция промисов
6. Асинхронные функции
....6.1 Остановка и возобновление выполнения
....6.2 Стратегии для асинхронных функций
........6.2.1 Реализация Sleep
........6.2.2 Максимизация распараллеливания
........6.2.3 Серийное выполнение промисов
........6.2.4 Трассировка стека и управление памятью
1. Введение в асинхронное программирование
Разбираемся с параллельными и конкурентными вычислениями в Python
Я собираюсь рассказать историю о еде, раскрывающую различные возможности конкурентного и параллельного выполнения кода в Python.
Прим. Wunder Fund: для задач, где не критичны экстремально низкие задержки — при сохранении и обработке биржевых данных, мы используем Питон, и естественно применяем описанные в статье подходы. Статья будет полезна начинающим разработчикам.
Мы увидим, что когда один человек одновременно делает несколько дел — это похоже на конкурентность, а когда несколько человек, работая бок о бок, заняты каждый собственным делом — это напоминает параллелизм. Эти ситуации мы разберём на простом и понятном примере закусочных, в которые люди заходят в обеденный перерыв. Такие заведения стремятся обслуживать клиентов как можно быстрее и эффективнее. Потом я покажу реализацию механизмов этих закусочных на Python, а в итоге мы сравним разные возможности одновременного «приготовления нескольких блюд», которые даёт нам этот язык, и разберёмся с тем, в каких ситуациях их применение наиболее оправдано.
А именно, я раскрою здесь следующие вопросы:
▪ Отличия конкурентности от параллелизма.
▪ Различные варианты организации конкурентного выполнения кода (многопоточность, модуль asyncio
, модуль multiprocessing
, облачные функции) и их сравнение.
▪ Сильные и слабые стороны каждого подхода к организации конкурентного выполнения кода.
▪ Выбор конкретного варианта организации конкурентного выполнения кода с использованием специальной блок-схемы.
Читаем EXPLAIN на максималках
Многим, кто работает с MySQL, известно, что команда EXPLAIN используется для оптимизации запросов, получения информации об использованных и возможных индексах. Большинство разработчиков и администраторов СУБД этой информацией и ограничивается. Я же предлагаю изучить команду EXPLAIN максимально подробно.
Как формируются зарплаты с точки зрения экономики и почему программисты столько получают
Всем же интересно про зарплаты? Давайте про зарплаты
Меня зовут Алексей и я работаю в Райффайзенбанке техлидом. Последние 12 лет я нон-стоп нанимаю технических специалистов и меня всегда интересовал зарплатный гэп между айтишниками и не-айтишниками. Судя по дискуссиям в интернете — разница в зарплатах волнует многих. Так получилось, что в качестве хобби я интересуюсь экономикой. Поэтому когда моих знаний стало хватать для понимания причин такого разрыва, то в голове сразу же щелкнули шестеренки, картина мира обрела гармонию и я получил заслуженную порцию дофамина.
Под катом я рассказываю о том, как формируется зарплата (особенно программиста) с точки зрения экономики.
+23% к защите от депрессии
Прим.пер.: Несколько раз в год у меня съезжает график сна в режим «мафии»: когда мирные жители засыпают, я просыпаюсь. Пару лет назад я тестировал очки для нормализации сна, с тех пор я заинтересовался сном, что влияет на сон, и на что влияет сон. Сон — важная штука для мозга, но вот советы по сну бывают противоречивые. Мне много попадается новых исследований и лайвхаков про сон и я решил делиться ими тут на Хабре (лонгриды) и в телеграме: Sleep Hackers (что не в формате Хабра).
Новое исследование в области генетики, опубликованное в журнале JAMA Psychiatry 26 мая, показало, что пробуждение на час раньше снижает вероятность депрессии на 23%.
Исследователи из Университета Колорадо в Боулдере и Института Броуда Массачусетского технологического института и Гарварда изучили 840 000 человек и нашли одно из лучших доказательств того, что хронотип, или склонность человека спать в определенный час, влияет на риск депрессии.
Это также одно из первых исследований, в котором измеряется, насколько много или мало изменений необходимо, чтобы повлиять на психическое здоровье. Результаты могут иметь серьезные разветвления, когда люди возвращаются к работе и учебе удаленно после эпидемии — тенденция, которая заставила многих приспособиться к более позднему режиму сна.
SQLite — не игрушка
Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.
Как перестать принимать слабительное для мозга, чтобы не спустить свою жизнь в унитаз
Однажды наступит время, когда мы сможем узнать всё обо всём, избежать бОльшую часть всевозможных проблем, жить в гармонии с природой и окружающими людьми, наслаждаясь каждым новым днем в богатстве и здравии. А пока…
Мы живем в мире, где научные данные перемешаны и противоречат друг другу, а система образования с каждым днём всё сильней отстает от действительности. Предметы и отрасли науки находятся в рассинхроне, что не позволяет осознать нечто приближенное к истине на стыке наук. Расфокусировка внимания, дефицит времени и невозможность одновременно следить за происходящим в разных сферах сильно усложняют познание мира и понимание происходящих в нем процессов. В этой связи затруднено формирование понятийного аппарата через расширение познаний в разных областях знаний.
TypeScript: Раскладываем tsconfig по полочкам. Часть 1
В данной статье я хочу предоставить переработанную и упорядоченную выжимку документации по настройке tsconfig.json, которая, я уверен, будет полезна тем, кто только начинает свой путь в мире TypeScript или тем, кто до этого момента не нашёл времени и сил, чтобы разобраться в деталях и теперь хочет закрыть этот пробел.
CSS: о выводе коротких и длинных текстов
Есть много ситуаций, в которых изменение некоего текстового фрагмента путём добавления или удаления всего одного слова способно заметно изменить внешний вид страницы, или, что ещё хуже «поломать» макет и сделать невозможной нормальной работу с сайтом. Когда я только начинал изучать CSS, я недооценивал последствия, к которым может привести добавление единственного слова в некий элемент или удаление из него всего одного слова. Здесь я хочу поделиться различными способами обработки текстов разной длины средствами CSS.
PHP коммьюнити в СНГ. Было плохо — стало хуже
Я пишу на PHP уже 12 лет, и застал ещё даже перевод проектов с PHP 4 на PHP 5. Уже тогда, после института, я понимал насколько низок уровень большинства людей, пишущих на PHP. Тяжелое наследие PHP 4, невысокая алгоритмическая и структурная сложность проектов(даже при объёмной кодовой базе), выбор №1 для малого бизнеса, всё это делало своё дело. Сообщество было непрофессиональным, и мне это не нравилось. Но то что творится сейчас еще хуже.
Детальный обзор Well-known Symbols
Доброго времени суток, друзья!
Символ (Symbol) — это примитивный тип данных, представленный в ECMAScript2015 (ES6), позволяющий создавать уникальные идентификаторы: const uniqueKey = Symbol('SymbolName').
Вы можете использовать символы в качестве ключей для свойств объектов. Символы, которые JavaScript обрабатывает особым образом, называются хорошо известными символами (Well-known Symbols). Эти символы используются встроенными алгоритмами JavaScript. Например, Symbol.iterator используется для перебора элементов массивов, строк. Его также можно использовать для определения собственных функций-итераторов.
Данные символы играют важную роль, поскольку позволяют осуществлять тонкую настройку поведения объектов.
Будучи уникальными, использование символов в качестве ключей объектов (вместо строк) позволяет легко добавлять объектам новый функционал. При этом, не нужно беспокоиться о возникновении коллизий между ключами (поскольку каждый символ уникален), что может стать проблемой при использовании строк.
В данной статье речь пойдет о хорошо известных символах с примерами их использования.
Полное визуальное руководство-шпаргалка по Flexbox и Grid + туториал
Доброго времени суток, друзья!
Представляю вашему вниманию полное визуальное руководство-шпаргалку по всем свойствам CSS-модулей Flexbox и Grid.
Основные источники: A Complete Guide to Flexbox, A Complete Guide to Grid.
В конце статьи вас ждет небольшой туториал по созданию тренажера по Flexbox.
Без дальнейших предисловий.
Готовим console.log() правильно
Вы не знаете как должны работать модальные окна
Уверен, многие хоть раз создавали всплывающее модальное окно. Но задумывались ли вы об определении этого компонента? Как он должен работать?
В этом материале я постарался собрать максимально полный свод правил, рекомендаций и примеров реализации по которым модальные окна должны работать.
Я покажу, как просто создавать сложные, удобные, производительные и доступные модальные окна независимо от браузера, платформы, устройства или способа взаимодействия пользователя.
Этот список сформирован на основе спецификаций WAI-ARIA, HTML Living Standard и моего личного опыта. И хотя я буду говорить про веб, большинство правил и рекомендаций применимы для модальных окон где угодно.
Введение в ASGI: становление асинхронной веб-экосистемы Python
Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca.
"Черепахи рядом с водоемом", Ricard Baraham на unsplash.com
Python не замыкается только на Data Science, веб-разработка на Python вернулась с новым асинхронным витком в развитии языка!
Сейчас происходит много важных событий в экосистеме веб-разработки на Python. Одним из основных драйверов этих изменений является ASGI — Asynchronous Standard Gateway Interface.
Я уже несколько раз упоминал ASGI в моем блоге, в частности, когда анонсировал Bocadillo (асинхронный open-source веб-фреймворк на Python — прим.пер.) и tartiflette-starlette (библиотека для построения GraphQL API поверх HTTP через ASGI — прим.пер.), но я никогда не писал подробное введение о нем. Теперь я это сделаю.
Эта статья нацелена на людей, интересующихся последними трендами в веб-разработке на Python. Я хочу пригласить вас на экскурсию, из которой вы узнаете, что такое ASGI, и что он означает для современной веб-разработки в мире Python.
Прежде чем мы начнем, я хотел бы рассказать, что недавно создал awesome-asgi — отличный список для отслеживания постоянно расширяющейся экосистемы ASGI.
Переезд инженера на Кипр: работа и зарплаты, море и природа
Здесь и далее автор фото: @nati_kseni
По версии компании Mercer, Лимассол входит в топ-100 городов в рейтинге качества жизни за 2019 год, находясь сразу за Куала-Лумпуром и опережая, например, Ригу и греческие Афины. В еще одном рейтинге Quality of Life Index от сайта Numbeo, Кипр обходит не только все страны Восточной Европы, но и, например, Италию:
Неудивительно, что уже несколько лет как Кипр стал центром постсоветской IT-индустрии. Находящиеся на острове компании активно нанимают инженеров из России и соседних стран. Поэтому мы решили составить небольшой гайд для инженеров, которые подумывают о переезде на Кипр.
Продуманный front-end. Правильная архитектура для быстрых сайтов
Мы давно обходили вниманием тему браузеров, CSS и accessibility и решили вернуться к ней с переводом сегодняшнего обзорного материала (оригинал — февраль 2020). Особенно интересует ваше мнение об упомянутой здесь технологии серверного рендеринга, а также о том, насколько назрела необходимость в полноценной книге по HTTP/2 — впрочем, давайте обо всем по порядку.
Как перепрограммировать режим сна: 30 дней каждое утро я светил ярким зеленым светом себе в глаза
Как я себя чувствовал во время испытаний.
Исходные условия: засыпаю перед рассветом, просыпаюсь в обед.
Желаемый результат: просыпаться в 7-9 утра без будильника.
Способ: 1 месяц тестировать очки «для просыпания».
И вот что из этого вышло.
Время до первого байта: что это такое и почему это важно
Однако есть один показатель, которому, как кажется, фронтенд-разработчики часто не уделяют должного внимания. Речь идёт о времени до первого байта (Time to First Byte, TTFB). Это можно понять, можно и хотя бы отчасти простить разработчикам такое отношение к TTFB, особенно учитывая то, что они видят этот показатель как нечто, зависящее только от бэкенда проектов. Но если попытаться буквально в двух словах выразить проблему, касающуюся этого показателя, то можно сказать следующее: «Хотя хорошее значение TTFB не обязательно означает того, что демонстрирующий его сайт можно счесть быстрым, плохой показатель TTFB практически гарантированно указывает на проблемы с производительностью проекта».
Information
- Rating
- Does not participate
- Location
- Южно-Сахалинск, Сахалин, Россия
- Date of birth
- Registered
- Activity