Как стать автором
Обновить
35
0
Бабинин Антон @Kyborg2011

Full Stack Web Developer

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

MongoDB: производительность запросов на диапазонах

Время на прочтение3 мин
Количество просмотров15K
Если вы путешествовали по территории индексов MongoDB, вы возможно слышали принцип: Если ваши запросы содержат сортировку, то добавте сортированное поле в конец индекса который используется в этих запросах.

Во многих случаях когда запросы содержат условия равенства как например {“name”: “Charlie”}, принцип который выше очень полезен. Но что о нем можно сказать со следующим примером:

Запрос:
db.drivers.find({"country": {"$in": ["A", "G"]}).sort({"carsOwned": 1})
Индекс:
{"country": 1, "carsOwned": 1}

Эта связка является не эффективной, хотя принцип соблюдается. Потому что тут есть ловушка в которую вас может привести этот принцип.
Ниже мы рассмотрим причины возниконвения этой ловушки и к концу статьи вы будете иметь новое правило которое будет вам помогать при индексировании.
Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии15

Обещания Google начали сбываться — теперь сайты https помечаются как надёжные

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

(Разница между HTTPS и HTTP к которой идет Google)

Пару месяцев назад Google решила перевести весь интернет на HTTPS, стимулируя пользователей браузера Chrome посещать только HTTPS сайты.

Сейчас начался первый этап — пометка сайтов с https как безопасные.

Что там будет дальше?
Читать дальше →
Всего голосов 73: ↑64 и ↓9+55
Комментарии302

От арбитражника до владельца компании с оборотом в $100 млн

Время на прочтение14 мин
Количество просмотров29K
Каждый арбитражник, хоть раз задумывался о том, чтобы создать свой бизнес. В арбитраже есть много плюсов — можно много путешествовать, ни от кого не зависеть и при этом зарабатывать хорошие деньги. Но рано или поздно наступит момент, когда ты начнешь задавать себе вопрос: «А что дальше?»



Мы хотим рассказать о Роберте Грине, основателе Zeropark и Voluum. Роберт прошел нелегкий путь от обычного арбитражника до владельца крупной компании с оборотом более $100 млн в год.

Под катом мы публикуем перевод интервью с Робом, в котором он рассказал:

  • как завязал с арбитражем и начал собственный бизнес;
  • как выжил из компании двух владельцев;
  • как ему удалось справиться с эмоциональным и физическим выгоранием;
  • как потерял на старте $300 000 за четыре часа;
  • как научился делегировать.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии12

Предновогодний тест по продвижению мобильных приложений

Время на прочтение1 мин
Количество просмотров3.7K
Перед самым Новым годом вместе с друзьями и партнерами из myTarget, Zeptolab, Affise, Adjust, LinguaLeo, Aviasales, AppsFlyer, ASODesk, White Nights, Appfollow и FraudScore мы подготовили тест из 15 вопросов на знание User Acquisition. В нем будут теоретические и практические задачи про ASO, аналитику, привлечение трафика, фрод и многое другое.



Узнай, насколько ты хорош в продвижении мобильных приложений, делись результатами и с наступающим!
Всего голосов 24: ↑22 и ↓2+20
Комментарии2

19 неожиданных находок в документации Node.js

Время на прочтение11 мин
Количество просмотров45K
Мне хотелось бы думать, что я вполне прилично знаю Node. Вот уже три года, как ни один из сайтов, над которыми я работал, не обходится без него. Но документацию до сих пор я как следует не читал.

Мне нравится записывать полезные вещи об интерфейсах, свойствах, методах, функциях, типах данных, и обо всём прочем, что относится к веб-разработке. Так я заполняю пробелы в знаниях. Сейчас я занят документацией к Node.js, а до этого проработал материалы по HTML, DOM, по Web API, CSS, SVG и EcmaScript.

image

Чтение документации Node.js открыло мне немало замечательных вещей, о которых я раньше не знал. Ими я хочу поделиться в этом небольшом материале. Начну с самого интересного. Так же я обычно делаю, когда показываю новому знакомому свои гаджеты.
Читать дальше →
Всего голосов 82: ↑75 и ↓7+68
Комментарии72

Я провел 3 месяца, пытаясь устроиться на работу после лагеря программирования, и вот чему я научился

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

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

image
< 3% заявлений становились предложениями

Я окончил Hack Reactor в июле 2016, и мне потребовалось почти 3 месяца, прежде чем я принял предложение от Radius Intelligence. Я подавал заявления в 291 компанию, прошел 32 собеседования по телефону и 16 обычных, а также выполнил 13 задач по программированию, 11 из них — в офисах. И получил в итоге 8 предложений. Мне предлагали 60-125 тысяч долларов в компаниях США. В общем 2.8% заявок обернулись для меня выгодными предложениями.

Вот 5 вещей, которые я хотел бы знать, прежде чем устраивался на работу.
Всего голосов 91: ↑58 и ↓33+25
Комментарии202

Книги, рекомендованные Y Combinator на зимние каникулы 2016-2017

Время на прочтение5 мин
Количество просмотров29K
«Чтение и личный опыт формируют мировоззрение. И даже если вы не помните самый момент получения опыта или содержания книги, то их влияние на ваше представление о мире непременно остается в Вас. Ваш разум похож на скомпилированную программу без исходного кода — он работает, но не ясно как.»
— Пол Грэм, основатель Y Combinator, программист, инвестор, эссеист


Очередная подборка книг от крутейшего в мире бизнес-инкубатора кремниевой долины.
Всего голосов 15: ↑13 и ↓2+11
Комментарии14

Экзотичные заголовки HTTP

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

Привет Хабрахабр! В этой статье будут наглядно продемонстрирован результат применения некоторых важных и экзотичных HTTP заголовков, большинство из которых связаны с безопасностью.
Читать дальше →
Всего голосов 83: ↑80 и ↓3+77
Комментарии35

О бравом React'е замолвите слово

Время на прочтение8 мин
Количество просмотров11K
Здравствуйте, уважаемые читатели!

Спешим вас порадовать — мы уже вовсю переводим книгу небезызвестного Стояна Стефанова о библиотеке React


Мы сочли, что этот молодой росток на массивном стволе JavaScript нелишне будет бережно прорекламировать, поэтому предлагаем почитать обзорную и слегка восторженную статью, которая, на наш взгляд, устарела всего на пару абзацев (их мы опустили)
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии20

Неизменяемый JavaScript: как это делается с ES6 и выше

Время на прочтение5 мин
Количество просмотров23K
Здравствуйте, уважаемые читатели. Сегодня мы хотели бы предложить вам перевод статьи о неизменяемости в современном JavaScript. Подробнее о различных возможностях ES6 рекомендуем почитать в вышедшей у нас замечательной книге Кайла Симпсона "ES6 и не только".
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии42

Обертываем алгоритмы в итераторы

Время на прочтение6 мин
Количество просмотров17K
Здравствуйте, дорогие читатели. Сегодня пятница, а у нас на борту продолжается напряженный отсмотр и анализ новинок по C++, желательно с учетом C++ 17. В ходе этого увлекательного занятия мы набрели на блог Яцека Галовица (Jacek Galowicz). Из сравнительно свежих материалов нам особенно понравилась статья, размещенная под катом.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии43

Сравнение скорости исполнения кода Drupal для PHP 5.3-5.6 и 7.0. «Битва оптимизаторов кода» apc vs xcache vs opcache

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




В продолжение статьи:

Ускорение и оптимизация PHP-сайта. Какие технологии стоит выбирать при настройке сервера под PHP




В отличии от предыдущего материала, в этой статье сделан упор на сравнение скорости отклика и интерпретации кода для различных версий PHP, включая PHP 7 beta3.

Для ранних версий PHP, проведено тестирование между оптимизаторами кода apc, xcache и opcaсhe.
Эта статья не содержит тестов на производительность, таких как нагрузочные тесты ab и siege. Возможно, об этом я напишу в одной из следующих статей.
В данном случае, меня не интересует сколько страниц за секунду способна сгенерировать та или иная версия php-интерпретатора, скорее то, с какой скоростью она сгенерирует мне страницу и с какой задержкой.
В данном случае разница в том, что тесты производительности замеряют отношение скорости интерпретатора к общим ресурсам сервера, а так же подготовленности других связанных компонентов web-системы к работе на повышенных нагрузках.
Остановимся на скорости и отклике. Очевидно что производительность зависит от скорости, но высокая скорость не может гарантировать высокую производительность. Это, возможно, связанно с тем, что недостаточно хорошо настроен web-сервер или база данных, а также с какими-то не было ограничениями, например сетевого стека.
Что бы не заниматься попыткой объять необъятное, мы просто замерим скорость и отклик работы интерпретаторов php, на мощном сервере без нагрузки, с одинаковыми конфигурациями web-сервера, базы данных и операционной системы для всех испытуемых. Используем конфигурацию php-fpm + nginx. База данных MariaDB. Все технические детали скрыты под спойлером ниже.

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

Перевод: Инструкция по проведению code review

Время на прочтение3 мин
Количество просмотров37K
Не так давно мой коллега переводил интересную статью о code review, перевод хабражителям понравился. А сегодня утром запутанный граф кроссылок вывел eyeofhell на еще более крутую статью. Вашему вниманию предлагается перевод краткой, но емкой инструкции о том, как делать review чужого кода и пережить review собственного. В отличие от упомянутой выше статьи, эта больше фокусируется на практических аспектах code review и содержит множество полезных рекомендаций как и что делать, чтобы не было мучительно больно. Хинт: чтобы почитать оригинал, кликните на имени автора в плашке под переводом.

осторожно, под катом - много англицизмов!
Всего голосов 59: ↑56 и ↓3+53
Комментарии19

Вперед, на поиски палиндромов

Время на прочтение7 мин
Количество просмотров22K
Не так давно на Хабре была статья про codebattle от hexlet.io. Ну и затянуло же нас с друзьями, это как наркотик! Вроде пытаешься на работу отвлечься, а руки прям сами тянутся зайти на сайт, и все мысли — об оптимизации решений.

И вот однажды попалась мне задачка, звучала она так: «The decimal number 585 is 1001001001 in binary. It is palindromic in both bases. Find n-th palindromic number». А если по-русски, то так: «десятичное число 585 в двоичном виде выглядит как 1001001001. Оно является палиндромом в обеих системах счисления. Найдите n-ый подобный палиндром». Она совсем не сложная и решена была быстро.

function is_palindrome($num) {
   return $num == strrev($num);
}
function solution($num) {
   $count = $i = 0;
   while($count<$num) {
      $i++;
      // Проверяем по порядку все числа, являются ли они палиндром в десятичном и двоичном виде
      if (is_palindrome($i) && is_palindrome(decbin($i))){
         $count++;
      }
   }
   return $i;
}

Но вот незадача. Примерно в то время на сайт напал хабраэффект, и тесты ни в какую не хотели проходить, отваливались по timeout. В местном чате началось обсуждение по оптимизации решения, но никто дельного совета так и не дал. Потом сайт отпустило, все тесты прошли, но желание оптимизировать осталось…
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии15

Лучшие плагины для Sublime Text

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

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



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

Интроверты в IT. Как использовать особенности своего характера для достижения целей

Время на прочтение13 мин
Количество просмотров105K
Несколько лет назад я работал сценаристом обучающих курсов. Однажды утром, начальник встретил меня с лицом «нам надо поговорить».

Он попросил меня пообщаться с приглашенным психологом. «Спасибо, что не психиатром», подумал я. Оказалось, он нанял психолога, который «помогает преодолевать барьеры общения в коллективе». Для отвода глаз, психолог поговорил со всеми работниками, хотя проблему они видели только во мне.

Я отклонил это заманчивое предложение и благополучно забыл о нем. Но на следующей неделе я снова встретился с этим психологом. Сначала она сидела на диване и разглядывала каталоги. А потом села неподалеку с видом «я здесь если тебе понадобится помощь». Через какое-то время, мне это надоело и я сказал, что я об этом думаю.



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

Google глазами инсайдера

Время на прочтение6 мин
Количество просмотров156K
Привет, Хабрахабр!

Около года назад я написал свой предыдущий пост на Хабре Amazon глазами инсайдера. Я трижды проходил практику в компании Амазон и, тут нечего скрывать, привязался к этой компании, принял многие ее принципы, и многому научился. Причем увидел я компанию с разных сторон, так как довелось поработать и в Amazon Retail и в Kindle, и в Сиэтле и в Калифорнии. Однако моей целью, начиная со второго курса, была практика в Гугле. Поэтому, когда меня наконец пригласили на интервью, и по его результатам позвали в Mountain View на практику в качестве Software Engineer, отказаться я не смел. Провел я там три месяца, работая в команде Gmail Spam & Abuse. Поневоле и бессознательно, я сравнивал жизнь и работу в Гугле с Амазоном, о чем и хочу поделиться.

Дисклеймер: в предыдущей статье я рассказывал обо всем как есть без сравнений. Это отчасти потому, что про внутреннюю культуру Амазон мало что известно. Про Гугл же, напротив, знают все. Рассказать о Гугле «с чистого листа» не получится. Поэтому здесь приведены мои сугубо личные наблюдения и сравнения. Надеюсь, ничьих чувств не задену.

image
Читать дальше →
Всего голосов 141: ↑127 и ↓14+113
Комментарии56

Последний день 21 века или конец нефтяной жабе?

Время на прочтение2 мин
Количество просмотров98K
Доброе (если оно такое) утро всем.
У меня, как и у всех вас, никогда нет времени, но это не про сегодняшний день.
Это всё о Последнем дне 21 века в России и 1 августа — Всероссийской интернет-забастовке.
В ответ на мой комментарий Bertolomych написал:
Или даже круче: цель — угробить Рунет как таковой. Это ж конкуренты. То вся элита была одного генезиса — ресурсная, и потому легко контролируемая, а тут вдруг начали какие-то люди еще каким-то способом зарабатывать. Того гляди появится другая элита. Которую вообще непонятно как контролировать. Сеть-то дело глобальное, это не месторождение в ХМАО!

Вот оно!
Читать дальше →
Всего голосов 247: ↑162 и ↓85+77
Комментарии129

Художественные и документальные фильмы о космонавтике

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

Статьи о книгах и играх требуют «третьего кита» — рассказа о фильмах на космическую тему. Тем более, что я «заболел» космонавтикой именно после просмотра нескольких фильмов подряд. В данной статье я хочу рассказать о лично виденных достойных упоминания художественных (не фантастических) и документальных фильмах о космонавтике.
Что бы посмотреть на выходных?
Всего голосов 49: ↑44 и ↓5+39
Комментарии37

RE: Возможны ли путешествия во времени?

Время на прочтение9 мин
Количество просмотров66K
Вчера на Хабре появился потрясающий по своей безграмотности пост "Возможны ли путешествия во времени". В ответ на моё замечание о незнакомстве с базовыми научными представлениями о пространстве и времени автор припечатал меня вот так:
Если для Вас википедия — главный оплот истины и знаний, а физические законы непоколебимы — Вам пора на работу в инквизицию. Еще столько людей, опровергающих теоретические выдумки физиков 18 века, не сожжено!

Такого уровня воинствующего невежества я давно не видал, и уж на Хабре-то его видеть вдвойне странно.

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

Время



В классической механике время считается абсолютным и неизменным в том смысле, что при переходе от одной системы отсчёта к другой временные интервалы не изменяются:






Здесь (x, y, z, t) — координаты в старой системе, (x', y', z', t') — координаты в новой системе. Здесь и далее предполагается (для упрощения формул), что одна система движется относительно другой параллельно оси x со скоростью v.

Это т.н. преобразования Галилея — что происходит с координатами при смене системы отсчета. В галилеевом смысле «поток времени» один на всю Вселенную, и временные координаты у всех объектов одинаковы. При этом классическая механика никак не трактует уникальность стрелы времени; более того, само понятие движения времени в ньютоновы формулы не входит никак.

В классической механике мы сами вводим движение от прошлого к будущему. Допустим, у нас задан набор материальных точек (координаты и скорости) и действующих сил. Далее мы задаёмся каким-то интервалом dt и смотрим, как система будет эволюционировать во времени. Никто не мешает нам двигаться в обратном направлении и следить, что происходило с системой в прошлом.

Однако «путешествие во времени» — т.е. перемещение одного конкретного объекта по шкале t в прошлое — ньютоновой механикой запрещено (см. выше — временной поток один на всю Вселенную).

Ситуация стала гораздо веселее, когда Максвелл сформулировал свою электродинамику, а затем Эйнштейн в попытках решить противоречия электродинамики и классической механики создал теорию относительности.

Читать дальше →
Всего голосов 293: ↑271 и ↓22+249
Комментарии252
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Херсон, Херсонская обл., Украина
Дата рождения
Зарегистрирован
Активность