Если у вас несколько лет опыта программирования на языке C, то, вероятно, вы гораздо более уверены в своих знаниях этого языка, чем если бы вы провели столько же времени, работая с C++ или Java.И язык C, и его стандартная библиотека довольно близки к к минимально возможному размеру.Текущая наиболее часто используемая версия языка, c99, принесла много новых возможностей, многие из которых совершенно неизвестны большинству программистов на C (в более старых спецификациях, очевидно, тоже есть сво…
Вот это южнокорейская зубная щётка. Она в два раза длиннее обычной, потому что корейцы привыкли получать максимум эффекта на каждую потраченную вону. Теперь простой вопрос: может, стоит тоже купить такую, раз она больше? Можно будет чистить зубы быстрее или эффективнее? Нет, не стоит. Лучше купить щётку с большим количеством щетинок, хотя бы 5 тысячами штук. Такие щётки стоят в Москве 500–900 рублей в аптеках. Вот с ними реально одно движение может быть эквивалентно по эффекту 4–5 движени…
Это статья познакомит вас с использованием возможностей Go для выполнения манипуляций с битами. Здесь мы разберём установку, очистку, инвертирование, сдвиг битов, использование техники SWAR, эффективную обработку Юникода и прочие приёмы, позволяющие повысить продуктивность программирования. На самом фундаментальном уровне программисту нужно манипулировать битами. Современные процессоры работают с данными через регистры, а не в виде отдельных битов, поэтому необходимо уметь управлять битами …
Атомики в Go - это один из методов синхронизации горутин. Они находятся в пакете стандартной библиотеки sync/atomic. Некоторые статьи сравнивают atomics с mutex, так как это примитивы синхронизации низкого уровня. Они предоставляют бенчмарки и сравнения по скорости, например Go: How to Reduce Lock Contention with the Atomic Package. Однако важно понимать, что, хотя это примитивы синхронизации низкого уровня, они разные по своей сути. Прежде всего атомики являются "low-level atomic memory …
Привет, Хабр! Создание небольшой системы управления базами данных - это всегда прекрасный опыт и способ почерпнуть новые знания или же, закрепить уже существующие навыки. В этом цикле статей мы попробуем собрать нашу небольшую СУБД с использованием стандартной библиотеки Go :P Та самая инновационная СУБДТребованияНачнем с определения требований, которые мы хотим выдвинуть к нашей будущей СУБД (далее для позерства удобства будем называть ее repaDB). Здесь выделяют множество этапов, но если крат…
ВведениеНередко в проектах необходимо заводить переменные окружения (environment variables). Существует много способов сделать это. Например, указать переменную "inline", как MY_VAR="my value" node index.js или обозначить источник командой source. Некоторые фреймворки имеют даже целые отдельные пакеты для формирования переменных окружения (прим. nest.js). Но чаще всего за годы работы в сфере фронтенд-разработки мне приходилось работать со способом, который подразумевает содержа…
Привет! Меня зовут Наташа, я фронтенд-разработчик в отделе рекламных спецпроектов KTS.В отделе мы делаем множество сервисов в мини-приложениях VK, Одноклассниках, Телеграме, создаём лендинги. Мы делаем как краткосрочные проекты, которые могут длиться 2 недели, так и долгосрочные — сроком работы от года.Изначально я написала этот материал для внутреннего использования, чтобы разработчик на каждом этапе разработки приложения знал, на что обратить внимание. Эта статья — подсказка, которая помога…
Библиотеки UI компонент популярны и удобны в некоторых случаях, но у них тоже есть обратные стороны. Одно дело, когда делаешь админку и используешь десятки компонент, другое - когда тебе надо всего пару компонент.Было проведено исследование - взяты три HTML элемента: Button, Input и Select, и проверено, насколько увеличатся js и css бандлы если использовать для них одну из 10 распространенных UI библиотек для Vue 3.Создать стилизованный по своему желанию компонент Button - это несколько килоба…
Что такое react-контекст?React Context API - это интерфейс, который позволяет сохранять некоторую величину (переменную или объект), и использовать ее между несколькими компонентами. Под самим же контекстным стором, или как его просто называют - контекстом, понимают эту сохраненную величину.Интерфейс react-контекста состоит из метода createContext, компонента Context.Provider и хука useContext. С их помощью вы можете создать контекст, а затем обернуть компоненты в провайдер от этого контекста. …