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

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

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

Git happens! 6 типичных ошибок Git и как их исправить

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


Прим. перев.: На днях в блоге для инженеров любимого нами проекта GitLab появилась небольшая, но весьма полезная заметка с инструкциями, которые помогают сохранить время и нервы в случае различных проблем, случающихся по мере работы с Git. Вряд ли они будут новы для опытных пользователей, но обязательно найдутся и те, кому они пригодятся. А в конец этого материала мы добавили небольшой бонус от себя. Хорошей всем пятницы!

Все мы делаем ошибки, особенно при работе с такими сложными системами, как Git. Но помните: Git happens!
Читать дальше →
Всего голосов 63: ↑62 и ↓1+61
Комментарии62

Apollo graphql client — разработка приложений на react.js без redux

Время на прочтение4 мин
Количество просмотров58K
Apollo graphql client представляет удобный лаконичный спсоб работы с данными в приложениях react. В большинстве случаев все то, что мы привыкли делать с помощью redux, гораздо проще сделать при помощи Apollo graphql client. То, о чем я хотел бы рассказать в этой статье — это что связка react + apollo client + graphql существенно (на порядок) упрощает разработку приложений react.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии11

Зачем же нужна виртуализация?

Время на прочтение8 мин
Количество просмотров222K
Слово «виртуализация» в последнее время стало какой-то «модой» в ИТ-среде. Все вендоры железа и ПО, все ИТ-компании в один голос кричат, что виртуализация – это круто, современно, и нужно всем. Но, давайте, вместо того, чтобы идти на поводу у маркетинговых лозунгов (а иногда бывают такими, что сам Геббельс умер бы от зависти), попытаемся посмотреть на это модное слово с точки зрения простых «технарей» и решить, нужно нам это или нет.

Читать дальше →
Всего голосов 114: ↑95 и ↓19+76
Комментарии159

Что такое виртуализация и как работает виртуальный сервер

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


Важность и применение виртуализации простирается далеко за пределы виртуальных машин.

Ни одно из достижений в области информационных технологий за последние шестьдесят лет не имела столь огромной ценности как виртуализация. Многие ИТ-специалисты думают о виртуализации с точки зрения виртуальных машин (VM) и связанных с ними гипервизоров и операционных систем, но это только вершина айсберга. Все более широкий спектр технологий, стратегий и возможностей виртуализации переопределяет основные элементы ИТ в организациях по всему миру.
Читать дальше →
Всего голосов 15: ↑10 и ↓5+5
Комментарии11

Слёрм: видео занятий и организационные факапы

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

Слерм


Записи занятий:


День 1


Вступление (Павел Селиванов). Автоматизация развертывания инфраструктуры. Ansible (Сергей Бондарев)
Docker, его устройство, Dockerfile, docker-compose (Павел Селиванов)
Знакомство с Kubernetes, начало (Павел Селиванов)
Знакомство с Kubernetes, продолжение (Павел Селиванов)
Знакомство с Kubernetes, завершение (Павел Селиванов)
Kubespray, тюнинг и настройка кластера Kubernetes (Сергей Бондарев)


День 2


Ceph, настройка кластера и особенности работы в продакшен (Сергей Бондарев)
Введение в Helm (Павел Селиванов)
Траблшутинг кластера (Павел Селиванов)


День 3


CI/CD, построение деплоя в кластер с нуля (Сергей Бондарев)


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


А теперь — как все это было, с кровавыми подробностями.

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

Как я реализовал GraphQL для платформ компании InterSystems

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


О GraphQL и о том как им пользоваться мной уже было рассказано в этой статье. Здесь же я расскажу про то, какие задачи стояли передо мной, и о результатах, которых удалось добиться в процессе реализации GraphQL для платформ InterSystems.

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

Цена JavaScript в 2018 году

Время на прочтение27 мин
Количество просмотров39K
Процесс работы пользователей с интерактивными веб-сайтами может включать в себя шаг отправки им JavaScript-кода. Часто — слишком большого объёма такого кода. Если на сайте используется очень много JavaScript, это особенно сильно сказывается на мобильных пользователях. Например, вам случалось бывать на мобильных веб-страницах, которые, вроде бы, выглядят как уже готовые к работе, но не реагируют на щелчки по ссылкам или на попытки прокрутить страницу?


JavaScript-код, который попадает в мобильные браузеры, всё ещё остаётся самым дорогостоящим ресурсом, так как он, многими способами, может задержать переход страниц в состояние, в котором с ними можно взаимодействовать. Какую нагрузку на системы создаёт JavaScript в наши дни? Как анализировать сайты? Как ускорить загрузку и обработку браузерами интерактивных веб-страниц? Эдди Османи, перевод материала которого мы сегодня публикуем, решил найти ответы на эти и на многие другие вопросы, встающие перед теми, кто пользуется JavaScript для разработки веб-сайтов в 2018 году.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии47

Интерфейсы командной строки Java: picocli

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

Очередной старт группы «Разработчик Java», на котором мы всё продолжаем наш эксперимент того, что процесс обучения не обязан быть непрерывным («Контрамоция должна быть непрерывной?» ). То есть мы чуть переработали и перетасовали программу, и разбили её на три ступени, которые можно спокойно проходить с перерывом между ними. В общем интересно и для студентов, и для нас, лишь бы никто не расхолаживался, а то программа стала даже вроде чуть сложнее, хотя и была непростой до этого. Ну и традиционно интересная статья связанная с нашим курсом.

Поехали!

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

Нам обещают видео в реальном времени без фризов и дерганий

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

Каждый раз, запуская Skype, Zoom или Hangouts, я с интересом жду свежую порцию косяков с видео и звуком. Технологии редко меня разочаровывают: квакание, фоновые шумы, пропадание голоса, распадение видео на «квадратики», замороженные кадры и другие радости видеоконференций преследуют видеозвонки, сколько я себя помню. Интерес во многом профессиональный: кроме программируемой телефонии для обычных телефонов, веб-страниц и мобильных приложений, мы в Voximplant отгружаем разработчикам видео. Хочется Full HD, в реальном времени, без фризов, в любом браузере и конференция человек на 50. Что интересно, в лабораторных условиях оно именно так и работает. А вот в каком-нибудь парке на 3G видеоконсультация с доктором может превратиться в пошаговую стратегию: пакеты-то теряются! Современный стек технологий пока не позволяет на равных бороться с «мигающим» интернетом, но исследования постоянно ведутся. Под катом — адаптированный для Хабра перевод про Salsify: сплава видеокодека и сетевого протокола, минимизирующего проблемы при передаче видео в реальном времени.
Читать дальше →
Всего голосов 60: ↑59 и ↓1+58
Комментарии119

Автоматическое разрешение конфликтов с помощью операциональных преобразований

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

Автоматическое разрешение конфликтов в среде с более, чем одним ведущим узлом (в данной статье под ведущим узлом понимается узел, который принимает запросы на изменение данных) – очень интересная область исследований. Существует несколько различных подходов и алгоритмов, в зависимости от области применения, и в данной статье будет рассмотрена технология Операциональных Преобразований (Operational Transformations, OT) для разрешения конфликтов в приложениях совместного редактирования, таких как Google Docs и Etherpad.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии3

Оптимизируем LIMIT offset

Время на прочтение2 мин
Количество просмотров83K
Везде, где используется LIMIT offset для больших таблиц, рано или поздно начинаются тормоза. Запросы вида

SELECT * FROM test_table ORDER BY id LIMIT 100000, 30

могут выполнятся очень долго. Например, в моем случае, на одном из сайтов кол-во комментариев перевалило за 200к и постраничная навигация по комментариям начала ощутимо тормозить, а в mysql-slow.log все чаще стали попадать запросы с временем выполнения 3-5сек.
Читать дальше →
Всего голосов 77: ↑61 и ↓16+45
Комментарии30

Функции для документирования баз данных PostgreSQL. Часть третья

Время на прочтение31 мин
Количество просмотров4.1K
Это третья часть статьи, которая описывает пользовательские функции для работы с системными каталогами: pg_class, pg_attribute, pg_constraints и т.д.

В этой части статьи обсуждаются функции, возвращающие характеристики последовательностей, унаследованных таблиц, а также особенные характеристики атрибутов таблиц.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии10

Глобальное потепление сделает наш мир более зеленым, но радоваться не стоит

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

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

В русском языке нет термина «Глобальное озеленение», а вот в английском есть несколько таких вариантов, включая «Global greening» и «Greenhouse effect». Кроме прочих значений, речь идет о том, что чем больше углекислого газа выбрасывается в атмосферу, тем лучше себя чувствуют растения, тем их больше и они активнее растут. Ну а поскольку человек выбрасывает в атмосферу около 40 млн тонн углекислоты ежегодно, то растениям есть, чему радоваться (образно говоря, конечно).

Сейчас несколько групп ученых занимаются изучением ситуации с «глобальным озеленением», которое влечет за собой активиизацию процесса фотосинтеза у тех же растений. Есть уже и результаты некоторых исследований. Одно из них показывает, что сейчас растения превращают в органику на 31% углекислого газа больше, чем было до промышленной революции.
Читать дальше →
Всего голосов 34: ↑22 и ↓12+10
Комментарии87

DZ Online Tech: ABBYY. Как не запутаться в нейронных сетях?

Время на прочтение10 мин
Количество просмотров2.3K
Мы (DZ Systems) уже второй год снимаем серию передач о цифровой трансформации. Обычно это передачи «про бизнес», в основном ориентированные на топ-менеджеров и призванные помочь разобраться в бизнес-ценности того, что называется цифровая трансформация.

Но в этом году снимаем так же и вторую «линейку» передач — DZ Online Tech, теперь уже ориентированную на технологические аспекты той же темы. Если коротко — о том, что находится «под капотом».

Ниже — расшифровка очередной такой передачи, в которой мы с Иваном Ямщиковым (Яндекс, ABBYY, да и вообще профессионал высокого класса) говорим о применении нейронных сетей в современном мире.

Если интересно, можно посмотреть и саму передачу.

А для тех, кто любит читать — расшифровка ниже:

— Здравствуйте. Наш сегодняшний гость – Иван Ямщиков из компании ABBYY, который
расскажет нам как устроен современный искусственный интеллект.
По отношению к AI условно есть две позиции: люди, которые говорят: «Мы не хотим
ничего понимать про суть происходящего в системе. У нас есть статистические методы,
которые сами вынут модель из внешней жизни. Эта модель будет правильной, она будет
чувствовать все семантические тонкости». И есть люди, которые говорят: «Нет, так
нельзя. Мы же понимаем, что происходит. Мы это понимание должны вложить в систему
искусственного интеллекта, и тогда она будет ценнее, лучше и качественнее». Эта битва
имеет внутри себя какие-то критерии?


— Давай я объясню на менее философском языке. Есть люди, которые говорят: «Нам нужны более
сильные, более производительные алгоритмы и бОльшие объёмы данных. Мы возьмём более
производительный алгоритм, и он на бОльшем объёме даст нам бОльшее качество целевой
метрики, неважно какой». Я не знаю людей, которые говорят, что им не нужны данные или
алгоритмы. Поэтому у второй группы людей, на мой взгляд, подход следующий: «Помимо
всего этого нам бы неплохо ещё человеческой разметки в том или ином виде, какое-то
экспертное знание, добавить поверх».
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии3

Структуры данных: бинарные деревья. Часть 1

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

Интро



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

В своих статьях я буду приводить примеры кода сразу на двух языках: на Java и на Haskell. Благодаря этому можно будет сравнить императивный и функциональный стили программирования и увидить плюсы и минусы того и другого.

Начать я решил с бинарных деревьев поиска, так как это достаточно базовая, но в то же время интересная штука, у которой к тому же существует большое количество модификаций и вариаций, а так же применений на практике.
Читать дальше →
Всего голосов 110: ↑101 и ↓9+92
Комментарии53

Как отлаживать WebRTC

Время на прочтение11 мин
Количество просмотров37K
В Voximplant мы используем WebRTC с момента ее появления: сначала как альтернативу Flash для голосовых и видеозвонков, а затем как полную замену. Технология прошла долгий и болезненный путь развития, только недавно ее стали поддерживать все основные браузеры, есть сложности с передачей экрана, нескольких видеопотоков, а иногда браузер падает просто если выключить и включить видеопоток. Накопленный опыт позволяет переводить для Хабра интересные статьи, и сегодня мы передаем слово Ли Сильвестру из Xirsys, который расскажет про отладку (видео)звонков в Chrome, Firefox, Safari и Edge. Отлаживать WebRTC непросто, у нас даже есть специальные инструкции по снятию логов в популярных браузерах. А что есть у Ли – вы узнаете под катом (спойлер: много всего, включая WireShark).

Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии2

CRDT: Conflict-free Replicated Data Types

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

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии14

Реактивность в JavaScript: простой и понятный пример

Время на прочтение12 мин
Количество просмотров57K
Во многих фронтенд-фреймворках, написанных на JavaScript (например, в Angular, React и Vue) имеются собственные системы реактивности. Понимание особенностей работы этих систем пригодится любому разработчику, поможет ему более эффективно использовать современные JS-фреймворки.



В материале, перевод которого мы сегодня публикуем, продемонстрирован пошаговый пример разработки системы реактивности на чистом JavaScript. Эта система реализует те же механизмы, которые применяются в Vue.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии14

Как SSH появился на 22 порту

Время на прочтение5 мин
Количество просмотров88K
SSH по умолчанию работает на порту 22. Это не совпадение. Вот история, как ему достался этот порт.

Когда я (Тату Илонен) впервые опубликовал эту историю в апреле 2017 года, она стала вирусной: её прочитали около 120 000 читателей за три дня.

История получения порта 22 для SSH


Я написал первую версию SSH (Secure Shell) весной 1995 года. В то время широко использовались Telnet и FTP.

Но я всё равно разработал SSH для замены и telnet (порт 23) и ftp (порт 21). Порт 22 был свободен и удобно располагался между портами для telnet и ftp. Я подумал, что такой номер порта может стать одной из тех маленьких деталей, которые придадут некоторую ауру доверия SSH. Но как его получить? Я никогда не распределял порты, но я знал тех, кто этим занимается.

В то время процесс выделения портов был довольно простым. Интернет был меньше, и мы находились на самых ранних стадиях интернет-бума. Номера портов выделяла организация IANA (Internet Assigned Numbers Authority). В то время это означало уважаемых первопроходцев интернета Джона Постела и Джойс К. Рейнольдс. Среди всего прочего, Джон являлся редактором таких незначительных протоколов, как IP (RFC 791), ICMP (RFC 792) и TCP (RFC 793). Возможно, кто-то из вас слышал о них.
Читать дальше →
Всего голосов 76: ↑69 и ↓7+62
Комментарии119

Технокнига, часть 1: литература по веб-технологиям, алгоритмам и структурам данных, углубленному программированию на С++

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


В процессе построения учебной программы наших образовательных проектов мы составили список специализированных книг, рекомендованных к изучению по каждой из дисциплин, — всего более 100 наименований на весь период обучения. Не станем таить и представим вам этот список, сопроводив краткими комментариями. Уместить такой объем информации в рамках одной статьи затруднительно, поэтому обзор рекомендованной Технопарком литературы разбит на четыре части — по числу семестров, с небольшой добавкой полезных книг, предложенных студентами. Ссылки в комментариях на дополнительное интересное чтиво только приветствуются.

Первый семестр призван «выровнять» знания студентов. Он содержит такие дисциплины, как алгоритмы и структуры данных, программирование на C++, а также обзорный курс по веб-технологиям. С книг по этим предметам и начнется обзор. Большая часть представленных книг относится к нестареющей «классике», являющейся собранием основополагающих концепций.
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии10

Информация

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