В фэнтези и фантастике есть целый пласт произведений, которые уже давно считаются классическими и хорошо известны читателям. Большая часть таких книг давно переведена на русский язык, ведь в 90-х годах в наших палестинах очень активно издавались книги популярных фантастов. Однако некоторые романы, по праву имеющие на Западе статус классических, на русском языке впервые увидели совсем недавно. Иногда из-за того, что пик их популярности пришелся на время до распада Советского Союза, когда с переводами западной фантастики все было гораздо сложнее, иногда из-за неформатности или предполагаемой сложности для читателя, иногда по финансовым причинам. Рассказываем о нескольких таких произведениях, с которыми русскоязычные читатели смогли познакомиться только в последнее время.
User
Парочка компактных обзоров универсальных «полочников»
За этот год мы уже успели поделиться с вами подборкой обзоров примечательных моделей наушников, рассказали о том, как энтузиасты и аудиоманы пытаются сохранить для истории записи звучания старых модемов и не только, плюс — обсудили, какие музыкальные треки удостоились звания «худших».
Сегодня возвращаемся к обзорам акустики и смотрим на активные полочники Klipsch The Fives и классические ELAC Solano BS 283 за аналогичную сумму.
JavaScript: немного об интернационализации и локализации веб-приложений
Привет, друзья!
В данной статье я хочу рассказать вам об Internationalization API
— интерфейсе, предоставляемом браузером, позволяющем выполнять интернационализацию и локализацию веб-приложений.
Статья состоит из 2 частей: теоретической и практической. В теоретической части мы кратко рассмотрим возможности, предоставляемые Internationalization API
. В практической — создадим пример локализованного приложения с помощью разработанной мной утилиты.
Инструменты обработки OLAP-запросов для Big Data
Введение
Эта статья является компиляцией другой статьи. В ней я намерен сконцентрироваться на инструментах для работы с Big data, ориентированных на анализ данных.
Итак, предположим, вы приняли необработанные данные, обработали их, и теперь они готовы к дальнейшему использованию.
Существует множество инструментов, используемых для работы с данными, каждый из которых имеет свои преимущества и недостатки. Большинство из них ориентировано на OLAP, но некоторые также оптимизированы для OLTP. Часть из них использует стандартные форматы и сосредоточена только на выполнении запросов, другие используют свой собственный формат или хранилище для передачи обработанных данных в источник в целях повышения производительности. Некоторые из них оптимизированы для хранения данных с использованием определенных схем, например «звезда» или «снежинка», но есть и более гибкие. Подводя итог, имеем следующие противопоставления:
- Хранилище данных против Озера
- Hadoop против Автономного хранилища
- OLAP против OLTP
- Движок запросов против OLAP механизмов
Мы также рассмотрим инструменты для обработки данных с возможностью выполнения запросов.
PostgreSQL Antipatterns: уникальные идентификаторы
Таблица счетчиков
Казалось бы — чего проще? Заводим отдельную табличку, в ней — запись со счетчиком. Надо получить новый идентификатор — читаем оттуда, чтобы записать новое значение — делаем
UPDATE
…Так делать не надо! Потому что завтра же вам придется решать проблемы:
- постоянных пересекающихся блокировок при
UPDATE
см. PostgreSQL Antipatterns: сражаемся с ордами «мертвецов» - постепенной деградации скорости доступа к данным таблицы счетчиков
см. PostgreSQL Antipatterns: обновляем большую таблицу под нагрузкой - … и необходимости ее зачистки при активных транзакциях, которые будут вам мешать
см. DBA: когда пасует VACUUM — чистим таблицу вручную
10 советов схемотехнику
Яндекс записал звуки ретрокомпьютеров
Каждый день, когда Музей Яндекса открыт, я как сотрудник музея включаю все наши экспонаты: компьютеры и другую технику. Подолгу задерживаться у каждого устройства нет времени — не всегда можно визуально удостовериться, что компьютер включился. Помогают звуки: я помню «корректное» звучание каждого из экспонатов. В детстве эти звуки казались чем-то магическим. Я подумал — почему бы не сохранить звуки компьютеров для истории и не добавить их на сайт музея, чтобы оживить страницы экспонатов. Расскажу, как мы это делали и какую технику использовали.
5 практических рекомендаций по использованию React-хуков в продакшне
Intersection Observer API: примеры использования
Доброго времени суток, друзья!
Обзор
Intersection Observer API (IOA) позволяет приложению асинхронно наблюдать за пересечением элемента (target) с его родителем (root) или областью просмотра (viewport). Другими словами, этот API обеспечивает вызов определенной функции каждый раз при пересечении целевого элемента с root или viewport.
Примеры использования:
- «ленивая» или отложенная загрузка изображений
- бесконечная прокрутка страницы
- получение информации о видимости рекламы для целей расчета стоимости показов
- запуск процесса или анимации, находящихся в поле зрения пользователя
Что в Белизне тебе моей или Справочное пособие по гипохлориту натрия («хлорке»)
Сегодня читаем о самом простом, самом доступном и самом действенном антисептике — про гипохлорит натрия (он же «Белизна»). Совместимость с различными материалами, техника безопасности, свойства и эффективность не только против коронавируса, но и против страшной плесени и ее микотоксинов. В качестве «вишенки» — контрольная закупка магазинных отбеливателей и оценка их состава. Чтобы узнать как в эпоху пандемии нас дурят производители бытовой химии и прочий «менеджерский брат» — идем под кат. И обязательно закидываем в закладки. Эта информация пригодится еще не раз ;)
Как сервис Estimate помогает автоматизировать процесс оценки и узнать стоимость IT-проекта
При этом на рынке существует значительный разброс цен: например, одна IT-компания оценивает работу в 300 тысяч рублей, а другая – в 900 тысяч. Стоимость зависит от множества факторов: способа реализации, опыта экспертов, глубины оценки и т.д.
Мы в SimbirSoft уже пять лет используем собственный сервис для автоматизации процесса оценки – Estimate. Мы создали его для того, чтобы упростить работу специалистов, которые занимались оценкой вручную – потому что количество запросов на разработку постоянно росло, а опытные эксперты одновременно были нужны и в оценке, и в проектной работе. Мы постепенно улучшали Estimate и в результате получили инструмент, который учитывает особенности разработки IT-систем любой сложности. В статье расскажем, как вы можете с его помощью ускорить оценку и учесть возможные риски.
Находки аудиомана: где послушать музыку ушедших эпох
Надеемся, что подборка поможет вам разнообразить фон во время работы из дома.
Шаблон backend сервера на Golang — часть 1 (HTTP сервер)
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.
Ссылка на репозиторий проекта.
Домашний кинотеатр на Raspberry
Взаимодействие с NIDD через SCEF с использованием утилиты Postman. Краткий экскурс в SCEF и его возможности
Краткий обзор
NB-IoT легко наступает на пятки 2G и зарекомендовал себя как энергоэффективный стандарт сотовой связи, который уже в обозримом будущем будет способен потеснить укрепившийся на своей позиции 2G. Причиной тому является возможность гибко подойти к вопросу энергопотребления одной из самых потребляющих частей устройства – радиопередатчику. Если не вдаваться глубоко в детали, то вместе с NB-IoT у нас появилась возможность гибко настраивать режимы работы устройства за счет настройки расписания выхода устройства на связь и взаимодействия устройства с серверами в сети Интернет.
Параллельно с этим значительно увеличивается количество абонентских устройств одновременно подключенных к одной соте, равно как и затраты оператора сотовой связи на поддержание работоспособности самой этой связи.
Предполагается, что у читателя есть примерное представление о технологии NB-IoT и имеется минимальный опыт взаимодействия.
Статья регулярно дополняется и обновляется
Собеседования по алгоритмам: теория vs. практика
Когда я спрашиваю людей в модных больших технологических компаниях, почему на собеседовании так обязательно спрашивать об алгоритмах, самый распространённый ответ — что-то вроде: «У нас такой масштаб, мы не можем позволить, чтобы кто-то случайно написал функцию
O(n^2)
и повалил всю систему»1. Что особенно забавно, в последнее время я немало применял на практике эти алгоритмы и решал реальные проблемы, но не могу пройти собеседования, где о них спрашивают! Думаете, я проваливаю половину собеседований или что-то в этом роде? Нет, больше половины. Я участвовал примерно в 40 «настоящих» собеседованиях и прошёл, может, одно или два. Или ни одного2.Когда я написал черновик этой статьи, друзья посчитали его занудным, потому что я провалил слишком много собеседований. Они говорят, нужно свести все неудачи в таблицу, потому что никто не станет читать десять страниц текста с длинным перечнем неудач. Хороший совет. Уже работаю над таблицей.
Как перестать растрачивать время разработчиков на технический долг
Вы знаете, каково это. Впихнуть всё необходимое в спринт и так весьма непросто, а ведь ещё нужно где-то найти дополнительные
Но сделать это можно, и в этом руководстве мы выясним, как именно.
Подарки для внимательных слушателей: какие аудиопасхалки прятали в «pre-gap» на Audio CD
Нам понравился ваш отклик в комментариях и мы решили расширить тему. Посмотрим как на винил, так и на другие форматы — и поговорим о новых «пасхалках», скрытых на самых разных альбомах.
Как я попал в ThoughtWorks или образцовое интервью
Не кажется ли вам странным то, что когда вы собираетесь поменять место работы и возникает необходимость пройти интервью, то в первую очередь вы думаете «надо подготовиться к интервью». Прорешать задачи на HackerRank, почитать Crack the coding interview, зазубрить как устроен ArrayList и чем она отличается от LinkedList. Ах да, еще сортировки спросить могут, и явно будет непрофессионально сказать, что quick sort скорее всего будет лучшим выбором.
Но постойте, вы ведь программируете 8 часов в день, решаете интересные и нетривиальные задачи, и на новом месте работы будете делать плюс-минус тоже самое. Но тем не менее, чтобы пройти интервью необходимо как-то дополнительно готовиться, даже не оттачивать ежедневные навыки, а выучить то, что вам не понадобилось ни на текущем месте работы, ни вряд ли понадобиться на следующем. На ваши возражения о том, computer science у нас в крови, и разбуди нас посреди ночи мы обязаны написать с закрытыми глазами на наволочке обход дерева в ширину даже не приходя в сознание, я отвечу, что если я буду устраиваться в цирк, и моим главным трюком будет именно это — то пожалуй да, я согласен. Нужно этот навык проверить.
[По докам] Flutter. Часть 2. Для iOS разработчиков
Если у вас мало времени для самостоятельного и глубокого изучения документации, но вы хотите понять, чем хорош Flutter и как его использовать, загляните под кат.
Flutter. Часть 1. Для Android-разработчиков
Flutter. Часть 2. Для iOS-разработчиков
Flutter. Часть 3. Для разработчиков React Native
Flutter. Часть 4. Для веб-разработчиков
Flutter. Часть 5. Для Xamarin.Forms-разработчиков
Information
- Rating
- Does not participate
- Registered
- Activity