Как стать автором
Обновить
2
0

Пользователь

Отправить сообщение

Классика фантастики и фэнтези, которая лишь недавно добралась до русскоязычного читателя

Время на прочтение 6 мин
Количество просмотров 57K

В фэнтези и фантастике есть целый пласт произведений, которые уже давно считаются классическими и хорошо известны читателям. Большая часть таких книг давно переведена на русский язык, ведь в 90-х годах в наших палестинах очень активно издавались книги популярных фантастов. Однако некоторые романы, по праву имеющие на Западе статус классических, на русском языке впервые увидели совсем недавно. Иногда из-за того, что пик их популярности пришелся на время до распада Советского Союза, когда с переводами западной фантастики все было гораздо сложнее, иногда из-за неформатности или предполагаемой сложности для читателя, иногда по финансовым причинам. Рассказываем о нескольких таких произведениях, с которыми русскоязычные читатели смогли познакомиться только в последнее время.

Читать далее
Всего голосов 124: ↑117 и ↓7 +110
Комментарии 22

Парочка компактных обзоров универсальных «полочников»

Время на прочтение 3 мин
Количество просмотров 11K

За этот год мы уже успели поделиться с вами подборкой обзоров примечательных моделей наушников, рассказали о том, как энтузиасты и аудиоманы пытаются сохранить для истории записи звучания старых модемов и не только, плюс — обсудили, какие музыкальные треки удостоились звания «худших».

Сегодня возвращаемся к обзорам акустики и смотрим на активные полочники Klipsch The Fives и классические ELAC Solano BS 283 за аналогичную сумму.

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 14

JavaScript: немного об интернационализации и локализации веб-приложений

Время на прочтение 18 мин
Количество просмотров 11K


Привет, друзья!


В данной статье я хочу рассказать вам об Internationalization API — интерфейсе, предоставляемом браузером, позволяющем выполнять интернационализацию и локализацию веб-приложений.


Статья состоит из 2 частей: теоретической и практической. В теоретической части мы кратко рассмотрим возможности, предоставляемые Internationalization API. В практической — создадим пример локализованного приложения с помощью разработанной мной утилиты.

Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 2

Инструменты обработки OLAP-запросов для Big Data

Время на прочтение 11 мин
Количество просмотров 12K


Введение


Эта статья является компиляцией другой статьи. В ней я намерен сконцентрироваться на инструментах для работы с Big data, ориентированных на анализ данных.

Итак, предположим, вы приняли необработанные данные, обработали их, и теперь они готовы к дальнейшему использованию.

Существует множество инструментов, используемых для работы с данными, каждый из которых имеет свои преимущества и недостатки. Большинство из них ориентировано на OLAP, но некоторые также оптимизированы для OLTP. Часть из них использует стандартные форматы и сосредоточена только на выполнении запросов, другие используют свой собственный формат или хранилище для передачи обработанных данных в источник в целях повышения производительности. Некоторые из них оптимизированы для хранения данных с использованием определенных схем, например «звезда» или «снежинка», но есть и более гибкие. Подводя итог, имеем следующие противопоставления:

  • Хранилище данных против Озера
  • Hadoop против Автономного хранилища
  • OLAP против OLTP
  • Движок запросов против OLAP механизмов


Мы также рассмотрим инструменты для обработки данных с возможностью выполнения запросов.
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 6

PostgreSQL Antipatterns: уникальные идентификаторы

Время на прочтение 4 мин
Количество просмотров 27K
Достаточно часто у разработчика возникает потребность формировать для записей таблицы PostgreSQL некие уникальные идентификаторы — как при вставке записей, так и при их чтении.


Таблица счетчиков


Казалось бы — чего проще? Заводим отдельную табличку, в ней — запись со счетчиком. Надо получить новый идентификатор — читаем оттуда, чтобы записать новое значение — делаем UPDATE

Так делать не надо! Потому что завтра же вам придется решать проблемы:

Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 6

10 советов схемотехнику

Время на прочтение 20 мин
Количество просмотров 114K
Недавно один мой знакомый, начавший интересоваться электроникой и схемотехникой, обратился ко мне с просьбой дать ему какие-то практические советы по разработке электронных устройств. Поначалу этот вопрос немного озадачил меня: как-то так получилось, что для себя я никогда не выделял какие-то перечни обязательных правил проектирования, всё это было у меня где-то на уровне подсознания. Но этот вопрос послужил хорошим толчком для того, чтобы сесть и сформулировать хотя бы небольшой список таких рекомендаций. Когда все было готово, я подумал, что, возможно, это будет интересно почитать кому-то еще, таким образом и получилась данная статья.


Читать дальше →
Всего голосов 212: ↑210 и ↓2 +208
Комментарии 244

Яндекс записал звуки ретрокомпьютеров

Время на прочтение 8 мин
Количество просмотров 12K


Каждый день, когда Музей Яндекса открыт, я как сотрудник музея включаю все наши экспонаты: компьютеры и другую технику. Подолгу задерживаться у каждого устройства нет времени — не всегда можно визуально удостовериться, что компьютер включился. Помогают звуки: я помню «корректное» звучание каждого из экспонатов. В детстве эти звуки казались чем-то магическим. Я подумал — почему бы не сохранить звуки компьютеров для истории и не добавить их на сайт музея, чтобы оживить страницы экспонатов. Расскажу, как мы это делали и какую технику использовали.
Всего голосов 46: ↑46 и ↓0 +46
Комментарии 43

5 практических рекомендаций по использованию React-хуков в продакшне

Время на прочтение 8 мин
Количество просмотров 14K
Автор статьи, перевод которой мы сегодня публикуем, говорит, что в компании commercetools приняли на вооружение хуки React в начале 2019 года — в момент их появления в React 16.8.0. С тех пор программисты компании постоянно перерабатывают свой код, переводя его на хуки. Хуки React позволяют, не используя классы, работать с состоянием компонентов и пользоваться другими возможностями React. Используя хуки, можно, работая с функциональными компонентами, «подключаться» к событиям жизненного цикла компонентов и реагировать на изменения их состояния.


Читать дальше →
Всего голосов 33: ↑33 и ↓0 +33
Комментарии 15

Intersection Observer API: примеры использования

Время на прочтение 7 мин
Количество просмотров 79K


Доброго времени суток, друзья!

Обзор


Intersection Observer API (IOA) позволяет приложению асинхронно наблюдать за пересечением элемента (target) с его родителем (root) или областью просмотра (viewport). Другими словами, этот API обеспечивает вызов определенной функции каждый раз при пересечении целевого элемента с root или viewport.

Примеры использования:

  • «ленивая» или отложенная загрузка изображений
  • бесконечная прокрутка страницы
  • получение информации о видимости рекламы для целей расчета стоимости показов
  • запуск процесса или анимации, находящихся в поле зрения пользователя

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 4

Что в Белизне тебе моей или Справочное пособие по гипохлориту натрия («хлорке»)

Время на прочтение 31 мин
Количество просмотров 212K
Не передать, насколько мне приятно это писать. Данная статья полностью профинансирована подписчиками канала LAB66. Ни один производитель описанных в тексте средств -  своего участия не проявил, так что никакой скрытой рекламы, чиcтый альтруизм и потребительский интерес :)

Сегодня читаем о самом простом, самом доступном и самом действенном антисептике — про гипохлорит натрия (он же «Белизна»). Совместимость с различными материалами, техника безопасности, свойства и эффективность не только против коронавируса, но и против страшной плесени и ее микотоксинов. В качестве «вишенки» — контрольная закупка магазинных отбеливателей и оценка их состава. Чтобы узнать как в эпоху пандемии нас дурят производители бытовой химии и прочий «менеджерский брат» — идем под кат. И обязательно закидываем в закладки. Эта информация пригодится еще не раз ;)


Даешь нормальную Белизну!
Всего голосов 179: ↑176 и ↓3 +173
Комментарии 73

Как сервис Estimate помогает автоматизировать процесс оценки и узнать стоимость IT-проекта

Время на прочтение 6 мин
Количество просмотров 11K
Как для бизнеса, так и для IT-компании оценка – один из самых важных этапов в начале работы над проектом. Бизнес готов сотрудничать с тем подрядчиком, который назовет стоимость объективно и быстро, кроме того, заказчикам нужна максимальная прозрачность оценки.

При этом на рынке существует значительный разброс цен: например, одна IT-компания оценивает работу в 300 тысяч рублей, а другая – в 900 тысяч. Стоимость зависит от множества факторов: способа реализации, опыта экспертов, глубины оценки и т.д.

Мы в SimbirSoft уже пять лет используем собственный сервис для автоматизации процесса оценки – Estimate. Мы создали его для того, чтобы упростить работу специалистов, которые занимались оценкой вручную – потому что количество запросов на разработку постоянно росло, а опытные эксперты одновременно были нужны и в оценке, и в проектной работе. Мы постепенно улучшали Estimate и в результате получили инструмент, который учитывает особенности разработки IT-систем любой сложности. В статье расскажем, как вы можете с его помощью ускорить оценку и учесть возможные риски.

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 7

Находки аудиомана: где послушать музыку ушедших эпох

Время на прочтение 3 мин
Количество просмотров 10K
Мы уже писали о различных музыкальных находках: картах звуков и дереве жанров. Сегодня продолжаем тему — говорим о сервисах, которые позволяют погрузиться в атмосферу прошлых лет.

Надеемся, что подборка поможет вам разнообразить фон во время работы из дома.

Всего голосов 23: ↑23 и ↓0 +23
Комментарии 7

Шаблон backend сервера на Golang — часть 1 (HTTP сервер)

Время на прочтение 17 мин
Количество просмотров 31K

UPD. Ссылка на новый репозиторий проекта с поддержкой развертывания в Kubernetes


Представленный ниже шаблон сервера на Golang был подготовлен для передачи знаний внутри нашей команды. Основная цель шаблона, кроме обучения — это снизить время на прототипирование небольших серверных задач на Go.


Шаблон включает:


  • Передачу параметров сервера через командную строку github.com/urfave/cli
  • Настройка параметров сервера через конфигурационный файл github.com/sasbury/mini
  • Настройка параметров TLS HTTP сервера
  • Настройка роутера регистрация HTTP и prof-обработчиков github.com/gorilla/mux
  • Настройка уровней логирования без остановки сервера github.com/hashicorp/logutils
  • Настройка логирования HTTP трафика без остановки сервера
  • Настройка логирования ошибок в HTTP response без остановки сервера
  • HTTP Basic аутентификация
  • MS AD аутентификация gopkg.in/korylprince/go-ad-auth.v2
  • JSON Web Token github.com/dgrijalva/jwt-go
  • Запуск сервера с ожиданием возврата в канал ошибок
  • Использование контекста для корректной остановки сервера и связанных сервисов
  • Настройка кастомной обработки ошибок github.com/pkg/errors
  • Настройка кастомного логирования
  • Сборка с внедрением версии, даты сборки и commit

Вторая часть посвящена прототипированию REST API.


Третья часть посвящена развертыванию шаблона в Docker, Docker Compose, Kubernetes (kustomize).


Пятая часть посвящена оптимизации Worker pool и особенностям его работы в составе микросервиса, развернутого в Kubernetes.


Ссылка на репозиторий проекта.

Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 7

Домашний кинотеатр на Raspberry

Время на прочтение 6 мин
Количество просмотров 117K
Так случилось, что решил я упростить себе вопрос он-лайн просмотра фильмов, вариант стандартного смарт ТВ меня не устраивал, а постоянно торчащий кабель HDMI для подключения к ноутбуку раздражал. Решение моей проблемы я увидел в приобретении Raspberry Pi 4, который можно аккуратно спрятать за корпусом телевизора.
Читать дальше →
Всего голосов 32: ↑26 и ↓6 +20
Комментарии 164

Взаимодействие с NIDD через SCEF с использованием утилиты Postman. Краткий экскурс в SCEF и его возможности

Время на прочтение 13 мин
Количество просмотров 7K
Данная статья позволит тем, кто еще только начинает свою разработку или уже применяет технологию NB-IoT, составить представление о том, как можно удаленно взаимодействовать с NB-IoT устройством.

image

Краткий обзор


NB-IoT легко наступает на пятки 2G и зарекомендовал себя как энергоэффективный стандарт сотовой связи, который уже в обозримом будущем будет способен потеснить укрепившийся на своей позиции 2G. Причиной тому является возможность гибко подойти к вопросу энергопотребления одной из самых потребляющих частей устройства – радиопередатчику. Если не вдаваться глубоко в детали, то вместе с NB-IoT у нас появилась возможность гибко настраивать режимы работы устройства за счет настройки расписания выхода устройства на связь и взаимодействия устройства с серверами в сети Интернет.

Параллельно с этим значительно увеличивается количество абонентских устройств одновременно подключенных к одной соте, равно как и затраты оператора сотовой связи на поддержание работоспособности самой этой связи.

Предполагается, что у читателя есть примерное представление о технологии NB-IoT и имеется минимальный опыт взаимодействия.
Статья регулярно дополняется и обновляется

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 3

Собеседования по алгоритмам: теория vs. практика

Время на прочтение 17 мин
Количество просмотров 45K
tl;dr За последние десятилетия мода на собеседования программистов менялась несколько раз, и каждая из них выглядит нелепо в ретроспективе. Либо мы наконец-то нашли настоящий секрет эффективных собеседований, либо увлеклись очередным модным течением, которое через десять-двадцать лет покажется столь же нелепым.

Когда я спрашиваю людей в модных больших технологических компаниях, почему на собеседовании так обязательно спрашивать об алгоритмах, самый распространённый ответ — что-то вроде: «У нас такой масштаб, мы не можем позволить, чтобы кто-то случайно написал функцию O(n^2) и повалил всю систему»1. Что особенно забавно, в последнее время я немало применял на практике эти алгоритмы и решал реальные проблемы, но не могу пройти собеседования, где о них спрашивают! Думаете, я проваливаю половину собеседований или что-то в этом роде? Нет, больше половины. Я участвовал примерно в 40 «настоящих» собеседованиях и прошёл, может, одно или два. Или ни одного2.

Когда я написал черновик этой статьи, друзья посчитали его занудным, потому что я провалил слишком много собеседований. Они говорят, нужно свести все неудачи в таблицу, потому что никто не станет читать десять страниц текста с длинным перечнем неудач. Хороший совет. Уже работаю над таблицей.
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Комментарии 42

Как перестать растрачивать время разработчиков на технический долг

Время на прочтение 5 мин
Количество просмотров 9.8K


Вы знаете, каково это. Впихнуть всё необходимое в спринт и так весьма непросто, а ведь ещё нужно где-то найти дополнительные 10–20% времени разработчиков на возврат технического долга. Если вы когда-либо отстаивали необходимость выкраивания времени на это, то вы знаете, что это походит на крестовый поход эпических масштабов.


Но сделать это можно, и в этом руководстве мы выясним, как именно.

Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 5

Подарки для внимательных слушателей: какие аудиопасхалки прятали в «pre-gap» на Audio CD

Время на прочтение 3 мин
Количество просмотров 6.8K
Мы уже рассказывали про сюрпризы, которые хранят в себе виниловые пластинки. Это был винил 1901 года, композиции Pink Floyd и The B-52's, небольшие программы и даже оптические эксперименты.

Нам понравился ваш отклик в комментариях и мы решили расширить тему. Посмотрим как на винил, так и на другие форматы — и поговорим о новых «пасхалках», скрытых на самых разных альбомах.

Всего голосов 14: ↑13 и ↓1 +12
Комментарии 4

Как я попал в ThoughtWorks или образцовое интервью

Время на прочтение 11 мин
Количество просмотров 7.3K
image

Не кажется ли вам странным то, что когда вы собираетесь поменять место работы и возникает необходимость пройти интервью, то в первую очередь вы думаете «надо подготовиться к интервью». Прорешать задачи на HackerRank, почитать Crack the coding interview, зазубрить как устроен ArrayList и чем она отличается от LinkedList. Ах да, еще сортировки спросить могут, и явно будет непрофессионально сказать, что quick sort скорее всего будет лучшим выбором.
Но постойте, вы ведь программируете 8 часов в день, решаете интересные и нетривиальные задачи, и на новом месте работы будете делать плюс-минус тоже самое. Но тем не менее, чтобы пройти интервью необходимо как-то дополнительно готовиться, даже не оттачивать ежедневные навыки, а выучить то, что вам не понадобилось ни на текущем месте работы, ни вряд ли понадобиться на следующем. На ваши возражения о том, computer science у нас в крови, и разбуди нас посреди ночи мы обязаны написать с закрытыми глазами на наволочке обход дерева в ширину даже не приходя в сознание, я отвечу, что если я буду устраиваться в цирк, и моим главным трюком будет именно это — то пожалуй да, я согласен. Нужно этот навык проверить.
Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Комментарии 11

[По докам] Flutter. Часть 2. Для iOS разработчиков

Время на прочтение 22 мин
Количество просмотров 13K
После длительного перерыва я продолжу рассказывать о популярном фреймворке Flutter в формате «вопрос — ответ». Первую статью для Android-разработчиков вы можете найти здесь, а сегодня будет полезный материал для разработчиков под iOS.

Если у вас мало времени для самостоятельного и глубокого изучения документации, но вы хотите понять, чем хорош Flutter и как его использовать, загляните под кат.



Flutter. Часть 1. Для Android-разработчиков
Flutter. Часть 2. Для iOS-разработчиков
Flutter. Часть 3. Для разработчиков React Native
Flutter. Часть 4. Для веб-разработчиков
Flutter. Часть 5. Для Xamarin.Forms-разработчиков
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Комментарии 10

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность