Pull to refresh
-1
0

Senior Javascript Dev / Tech Lead / Architect

Send message

Видео-чат через браузер. WebRTC — это просто, если есть библиотека

Reading time8 min
Views14K

Я работаю с MFF и GH. Дружат ли другие браузеры с WebRTC, можно узнать, зайдя на sipjs.com — там без регистрации можно полюбоваться на себя в двух экземплярах (если есть веб-камера), послать себе сообщение или файл. И все это на одной странице. Неинтересно. Интересно, когда я на одной странице, а мой визави на другой. Демо-пример нужно чуть-чуть подправить...


Читать дальше →
Total votes 15: ↑9 and ↓6+3
Comments10

Web-Оповещения в нагруженных проектах

Reading time3 min
Views9K
В современном WEB Конструировании очень часто возникают задачи, когда необходимо оповестить пользователя о каком-нибудь событии: пришло новое сообщение, изменился курс на бирже или статус заказа, с конвертировался видео-контент или подскочила температура больной бабушки.

Есть несколько вариантов решения такого класса задач. Наиболее оптимальное и распространенное решение – это подписка на события. Как это реализуется в нагруженных проектах?
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments11

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

Reading time8 min
Views197K


Каждую осень медведи умеренных и полярных широт (в частности бурый и черный) начинают готовиться к спячке. Всю весну, лето и осень эти животные активно питались, нагуливая запасы жира на зиму. А теперь, когда наступают холода, они ищут подходящее укрытие для того, чтобы перезимовать. После того, как укрытие найдено, медведь впадает в спячку.

Спячка медведей в некоторых случаях длится до полугода. Во время спячки некоторые виды, например, черный медведь (Ursus americanus), снижают пульс с 55 ударов в минуту до примерно 9. Уровень метаболизма снижается на 53%. Естественно, все это время медведи не едят, не пьют и не производят отходы жизнедеятельности. Как им это удается?
Читать дальше →
Total votes 91: ↑84 and ↓7+77
Comments168

Что мы ненавидим в собеседованиях?

Reading time5 min
Views51K


Все мы ходили по собеседованиям, разговаривали с представителями компаний и постоянно встречаемся с особенностями, которые рекрутеры либо культивируют, обучая друг друга, либо не обращают внимания, но при этом выглядят отталкивающими — со стороны человека, пришедшего в компанию. В моей 10-летней карьере я сменил порядка 10 компаний (в последней — Luxoft — уже 3 года, так что практику перебежчика закончил). И за это время провел как около 100 собеседований на стороне соискателя, так и порядка 150 — на стороне собеседующего, что дало мне возможность собрать Топ5 ошибок рекрутеров, которые могут так испортить собеседование, что я больше не захочу идти в компанию.
Читать дальше →
Total votes 76: ↑66 and ↓10+56
Comments294

Реализация бизнес-логики в MySQL

Reading time23 min
Views24K
Привет Хабр! Хочу рассказать в статье мой опыт реализации бизнес логики (БЛ) в MySQL.

Есть разные мнения насчёт вопроса стоит ли хранить БЛ в базе. Я много лет работаю с Oracle и философия Oracle подразумевает, что БЛ в БД это Best Practices. Приведу пару цитат Тома Кайта:

Tom Kyte. Effective Oracle by Design
If the database does something, odds are that it does it better, faster and cheaper, that you could do it yourself
Том Кайт. Oracle для профессионалов.
Прежде чем начать, хотелось бы объяснить вам мой подход к разработке. Я предпочитаю решать большинство проблем на уровне СУБД. Если что-то можно сделать в СУБД, я так и сделаю. [...] Мой подход состоит в том, чтобы делать в СУБД все, что возможно. [...]
При разработке приложений баз данных я использую очень простую мантру:

  • если можно, сделай это с помощью одного оператора SQL;
  • если это нельзя сделать с помощью одного оператора SQL, сделай это в PL/SQL;
  • если это нельзя сделать в PL/SQL, попытайся использовать хранимую процедуру на языке Java;
  • если это нельзя сделать в Java, сделай это в виде внешней процедуры на языке C;
  • если это нельзя реализовать в виде внешней процедуры на языке C, надо серьезно подумать, зачем это вообще делать...

В то же время в среде web-разработчиков приходится слышать мнения, что БЛ в БД это чуть ли не антипаттерн. Но я не буду останавливаться на вопросе стоит ли реализовывать БЛ в БД. Пусть каждый решает сам. Тем, кто хочет посмотреть, что у меня получилось в свете не столь обширного (по сравнению с Oracle) инструментария MySQL, добро пожаловать под кат.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments46

Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность

Reading time15 min
Views35K
image

Дмитрий Калугин-Балашов (Mail.RU)


Доклад у меня по базам данных In-Memory NoSQL. Кто знает, что такое In-Memory NoSQL база данных? Поднимите руки, пожалуйста… Как вам не стыдно? Зал по базам данных, и только половина знает, что это такое.

Если вы выбираете базу данных, ориентируясь на ее популярность, то так делать не надо. Как, вообще, выбираем базы данных?


Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments27

Едем в город южный: как живут разработчики в Ростове-на-Дoну

Reading time6 min
Views53K
Как-то наш юный коллега рассказал, как выбился из депрессивного поселочка «в большой Ростов с его ИТ-компаниями» и за пару лет стал главой отдела верстальщиков. А в ответ услышал: «В Москву тебе надо». Он до сих пор не понимает, зачем ему надо.

Почему не понимает? Если отвечать в одной картинке, то:


Знакомьтесь, это Рита — фронтенд-разработчик в R&D «Юкоз Медиа» в Ростове

А если серьезно, за МКАДом есть айтишная жизнь. И она прекрасна и непредсказуема, как наша Рита. В этой статье расскажем, как живут разработчики в самом крупном городе юга России.
История в четырех действиях
Total votes 67: ↑50 and ↓17+33
Comments220

Asterisk и информация о входящих звонках в браузере

Reading time8 min
Views24K
Прочитав заголовок, вы, наверное, подумаете «Избитая тема, да сколько можно об это писать», но всё равно не смог не поделиться своими велосипедами с костылями наработками.

Введение


В нашей компании запись клиентов осуществлялась по телефону через мини-атс (я в этом деле не силен и могу ошибаться). Все заказы сохранялись в базу данных, интерфейсом служит веб-приложение. Плотность звонков в определенные моменты бывает очень высока и диспетчеры, в силу человеческого фактора, не всегда правильно или не с первого раза записывают телефон клиента (когда он отображается на экране телефона).
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments25

Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженном проекте

Reading time12 min
Views38K

Аникин Денис (danikin, Mail.Ru)


Денис Аникин

Сегодня я расскажу, как сэкономить на базах данных огромные деньги, например, миллион долларов, как это сделали мы. Для начала вопрос: почему чаще используют именно базы данных, а не файлики?

Базы данных – это хранилище, более структурированное, чем файл, и обладающее рядом некоторых фич, которых у файла нет.



Там можно делать запросы, там есть транзакции, индексирование, таблицы, устойчивые, более-менее надежные хранилища. На самом деле, базы данных – это более удобно, чем файлы.
Total votes 71: ↑66 and ↓5+61
Comments56

Несколько способов оптимизации работы с Git

Reading time4 min
Views19K
В нашем блоге на Хабре мы рассказываем о различных технологиях из мира IaaS и не только. Например, недавно мы публиковали материал по программным реализациям VPN [Часть 1; Часть 2], а также рассказывали о DNS. Сегодня нам бы хотелось углубиться в тему разработки приложений и сервисов и поговорить о такой вещи, как Git, в частности, о способах оптимизации работы с ним.


/ фото hackNY.org CC
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments12

Как сделать, чтобы они не уходили

Reading time3 min
Views25K
Вопрос удержания IT специалистов занимает умы не одного ИТ и HR менеджера. ИТ специалисты, особенно девелоперы, очень избалованы предложениями о работе, как внутри страны, так и за её пределами. Найти нового девелопера на замену ушедшему — задача не одного дня (иногда и не одного месяца, если это senior или lead developer). Как же их удержать? Начну с того, что это нормально, когда человек уходит из компании через 3-4-5 лет работы. Если люди начинают уходить более часто — это уже проблема.

image

Читать дальше →
Total votes 47: ↑26 and ↓21+5
Comments100

Как дать адекватную оценку времени, когда неопределённость бьёт по башке

Reading time12 min
Views82K
Большинство людей не умеют адекватно оценивать сроки выполнения задач. Ой как это заставляет порой понервничать… Тут и «дэдлайн подкрадывается незаметно». И перестраховка в 500% на всякий случай (все равно не хватает). И отжимание «заведомо раздутых сроков», чтобы исполнитель пообещал чего-то более приемлемого. И невнятные бормотания вместо конкретных цифр.

image

В этой статье собраны и структурированы принципы и методы, с помощью которых можно научить себя и других давать адекватные оценки. В начале — общие принципы и чуть-чуть математики. В конце — конкретика для студий.
Читать дальше →
Total votes 81: ↑68 and ↓13+55
Comments24

Массивы в РНР 7: хэш-таблицы

Reading time22 min
Views37K
Хэш-таблицы используются везде, в каждой серьёзной С-программе. По сути, они позволяют программисту хранить значения в «массиве», индексируя его с помощью строк, в то время как в языке С допускаются только целочисленные ключи массива. В хэш-таблице строчные ключи сначала хэшируются, а затем уменьшаются до размеров таблицы. Здесь могут возникать коллизии, поэтому нужен алгоритм их разрешения. Существует несколько подобных алгоритмов, и в РНР используется стратегия связных списков (linked list).

В Сети есть немало замечательных статей, подробно освещающих устройство хэш-таблиц и их реализации. Начать можно с http://preshing.com/. Но имейте в виду, вариантов структуры хэш-таблиц — несметное множество, и ни один из них не совершенен, в каждом есть компромиссы, несмотря на оптимизацию циклов процессора, использования памяти или хорошее масштабирование потокового окружения (threaded environment). Одни варианты лучше при добавлении данных, другие — при поиске и т. д. Выбирайте реализацию в зависимости от того, что для вас важнее.

Хэш-таблицы в РНР 5 подробно рассмотрены в материале phpinternalsbook, который я написал вместе с Nikic, автором хорошей статьи про хэш-таблицы в РНР 7. Возможно, её вы тоже сочтёте интересной. Правда, она писалась до релиза, поэтому некоторые вещи в ней слегка отличаются.

Здесь же мы подробно рассмотрим, как устроены хэш-таблицы в РНР 7, как с ними можно работать с точки зрения языка С и как ими управлять средствами РНР (используя структуры, называемые массивами). Исходный код в основном доступен в zend_hash.c. Не забывайте, что хэш-таблицы мы используем везде (обычно в роли словарей), следовательно, нужно проектировать их так, чтобы они быстро обрабатывались процессором и потребляли мало памяти. Эти структуры решающе влияют на общую производительность РНР, поскольку местные массивы не единственное место, где используются хэш-таблицы.
Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments14

It’s the future

Reading time5 min
Views85K

Этот пост просто шутка и не пытается выставить инструменты, упомянутые здесь, в дурном свете. Я использую их постоянно, они великолепны, и я рекомендую их использовать. По мотивам It's the future @ CircleCI Blog


— Эй, я бы хотел научиться писать крутые веб-приложения. Слышал, у тебя есть опыт.


— Да, я как раз занимаюсь фронтендом, юзаю пару тулз.


— Круто. Я щас делаю простое приложение — обычный TODO-лист, используя HTML, CSS и JavaScript, и планирую заюзать JQuery. Это норм?


— Не-не-не. Это олдскул. Джиквери мёртв — никто не использует его теперь! Тебе нужен React. Это будущее.


— Окей, лады. А что это?


Читать дальше →
Total votes 178: ↑167 and ↓11+156
Comments287

Войти в АйТи

Reading time5 min
Views61K

Но фоне роста зарплат в ИТ отрасли стало популярным движение под названием "вайти в айти". Это когда живешь себе такой, учишься или работашь — врачом или юристом, или вообще не работаешь и тут такой внезапно понимаешь, что все тлен, надо войти в айти. Там можно и покемонов поганять, и смузи попить, и пропитчить кого-то на кухне (когда никто не видит), а еще и платят за это. И вот как после дождя начали появляться ИТ курсы, школы повышения квалификации, резко все стали экспертами в образовании, выучили страшное слово "курсера", а некоторые особенно удачливые еще и пару грантов под это дело взяли. Чтобы все вошли в айти.


Включаем музычку и поехали.


Читать дальше →
Total votes 107: ↑73 and ↓34+39
Comments170

Пройди техническое собеседование (уровень 4)

Reading time4 min
Views19K
image

Разговор о том, как пройти техническое собеседование, мы начали в этой статье. И с тех пор значительно продвинулись вперед. Сегодня мы завершим беседу на эту тему.
Читать дальше →
Total votes 14: ↑10 and ↓4+6
Comments9

Пройди техническое собеседование (уровень 3)

Reading time4 min
Views6.2K
image

Продолжаем разговор о том, как пройти техническое собеседование, который мы начали здесь. Итак, следующий уровень – менеджер по программному обеспечению.
Читать дальше →
Total votes 11: ↑5 and ↓6-1
Comments17

Пройди техническое собеседование (уровень 2)

Reading time5 min
Views19K
image

Перед вами продолжение статьи, которая сделает процесс получения работы в сфере программного обеспечения веселее и интереснее. Рассматривать её следует, скорее, как чит-код к игре, в которой вы главный герой, готовящийся выступить против менеджеров по подбору персонала.
Читать дальше →
Total votes 22: ↑13 and ↓9+4
Comments2

Пройди техническое собеседование

Reading time6 min
Views12K
image

Мы предлагаем отнестись к собеседованию на должность разработчика программного обеспечения с юмором и воспринимать его так, словно вы проходите компьютерную игру, в которой вы движетесь к победе и проходите уровни. Поэтому мы подготовили несколько чит-кодов в помощь главному герою этой игры.
Читать дальше →
Total votes 24: ↑11 and ↓13-2
Comments5

Собеседование на программиста в Amazon

Reading time7 min
Views127K

Представляю вашему вниманию перевод своей статьи Amazon software engineer interview, изначально опубликованной на английском на sobit.me.


Amazon - We Pioneer


Не так давно со мной связался технический рекрутер из Amazon. Компания организовывала трехдневное онсайт собеседование по найму программистов в их берлинский офис.


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


Если я не упомянул чего-то важного в статье, спрашивайте в комментариях. Постараюсь ответить максимально подробно.

Читать дальше →
Total votes 71: ↑62 and ↓9+53
Comments258

Information

Rating
Does not participate
Location
Лимассол, Government controlled area, Кипр
Date of birth
Registered
Activity

Specialization

Frontend Developer, Software Architect
Lead
From 10,000 €
JavaScript
Node.js
TypeScript
React
Redux
Webpack
Web development