Pull to refresh
16
0
Send message

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

Reading time24 min
Views166K

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее
Total votes 435: ↑423 and ↓12+411
Comments300

Как разработчик, я никогда не знаю себе цену, потому что её нет. Но вся система построена так, как будто она есть

Reading time11 min
Views105K


Каждый раз перед собесом я говорю себе: "Спокойно, не нужно ничего выдумывать, доучивать и врать, твоих знаний и опыта достаточно для того, что бы работать у них. Ты усилишь любую команду, тебе есть что предложить, а пробелы в твоих знаниях — приемлемы. Если бы они знали о твоих навыках всё, что знаешь ты, они бы точно тебя взяли". Но когда начинается собеседование, я всегда перестаю в это верить. Все два часа интервью я хожу как по минному полю, что бы не дай бог не спалиться, что я чего-то не знаю.

Читать дальше →
Total votes 229: ↑205 and ↓24+181
Comments324

Легальный вывод средств с Upwork в РФ

Reading time8 min
Views66K
На Хабре уже написано достаточно много статьей по теме, в частности:


В ответ на повторяющиеся просьбы написать статью, в которой:

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

родилось следующее руководство.
Total votes 78: ↑70 and ↓8+62
Comments383

Инвестирование для чайников

Reading time12 min
Views377K
Финансы для чайниковМногие из читателей хабра неплохо зарабатывают (я надеюсь) и имеют возможность покрывать не только текущие расходы, но и тратить деньги на что-то перспективное. Опять же, многие из нас задумываются — как отложить деньги на будущее, дабы они не «сгорели» со временем (задача минимум) и как заставить деньги делать деньги (задача среднемум средняя). И, снова, многие из нас мечтают, чтобы сбережения росли достаточно быстро, чтобы устроить себе пенсию не в 65 лет, а пораньше. Причем в идеале так, чтобы не надо было тратить все свое время на это, а заниматься любимым делом.

Этим вопросами я заинтересовался года два назад. Как оказалось, задача максимум решаема, а мечта о свободном времяпрепровождении до 60 лет вполне реальна. Более того, на Западе популярен подход «asset allocation», который позволяет тратить на вопрос инвестирования до часа в год и иметь на выходе результаты, сравнимые с профессиональными инвесторами. Причем необходимо всего лишь крепко разобраться в базовой информации и не погружаться в пучины технического и фундаментального анализа.

Как оказалось, этот подход доступен и в нашей стране, в нашей действительности. Результатами исследования я хочу поделиться с вами. Да, пока только исследования… Через 30 лет расскажу о результатах практики.

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

P. S. Почему «Сделай сам»? Потому что вы сами можете накопить себе неплохие деньги — вы, а не банки, пенсионный фонд или финансовые компании!
UPD. P. P. S. Мои размышления базируются на статье Сергея Спирина «Портфель лежебоки, или как за 12 лет увеличить капитал в 118 раз». Собственно, от него я и узнал про эту инвестиционную стратегию. Я — IT-шник, а не финансист. Посему за подробностями от эксперта — к нему!
Детали, как водится, под катом!
Total votes 118: ↑105 and ↓13+92
Comments184

Управление личным благосостоянием как основополагающее право человека

Reading time7 min
Views13K
Несколько месяцев назад индийское правительство изъяло из оборота 86% всех банкнот. На первый взгляд, эта мера была предпринята для борьбы с черным рынком и уходом от налогов, однако на деле она привела к обесцениванию накоплений беднейших слоев населения, представители которых держат все средства в наличных. Через несколько недель после этого к похожей мере прибегнула и Венесуэла.

О подробностях мы расскажем в материале Брайана Армстронга, который мы приводим в блоге нашего платежного блокчейн-сервиса Wirex.

image

Купюры в 500 и 1 тыс. рупий были упразднены. Жители Индии стоят в очереди, боясь не успеть обменять их на новые в отведенный срок.

Все это навело меня на размышления о том, в какой степени жители современного мира способны контролировать собственное материальное благосостояние, и следует ли им получить над ним больший контроль?

Кто управляет деньгами?


На протяжении большей части истории человечества, рядовые члены общества имели очень немного прав с точки зрения возможности управления и распоряжения своим материальным благосостоянием. Враждующие племена совершали набеги на деревни, а всемогущие короли и императоры могли захватить любое имущество одним щелчком пальца. Если вы работали усердно и вам удавалось накопить некоторое состояние, вы, тем не менее никогда не могли быть уверены, удастся ли вам его сберечь, поэтому большинству людей приходилось мириться с текущим положением дел, влачить жалкое существование, не привлекая слишком много внимания.
Читать дальше →
Total votes 27: ↑22 and ↓5+17
Comments97

Обучаемся самостоятельно: подборка видеокурсов по Computer Science

Reading time11 min
Views127K
image

Содержание


  1. Введение в Computer Science
  2. Структуры данных и Алгоритмы
  3. Системное программирование
  4. Распределенные системы
  5. Базы данных
  6. Объектно-ориентированный дизайн и разработка софта
  7. Искусственный интеллект
  8. Машинное обучение
  9. Веб-разработка и интернет-технологии
  10. Concurrency
  11. Компьютерные сети
  12. Разработка мобильных приложений
  13. Математика для программистов
  14. Теория информатики и языки программирования
  15. Архитектура компьютера
  16. Безопасность
  17. Компьютерная графика
  18. Работа с изображениями и компьютерное зрение
  19. Интерфейс Человек-Компьютер
  20. Вычислительная биология
  21. Прочее

Total votes 78: ↑64 and ↓14+50
Comments23

Почему «мотивирующие» статьи не работают, не сработают и как устроена мотивация на самом деле

Reading time3 min
Views51K
Многие любят читать мотивирующие статьи типа «30 способов заставить себя работать». Да и писать многие любят. Но что многие не любят — так это писать о том, что советы, изложенные в этих статьях, у них не сработали. То есть советы-то разумные. И применить их часто пытаются. Но есть одна проблема — стоит начать их применять, как возникает огромное внутреннее сопротивление. Настолько огромное, что применить советы не получается. Так в чем же дело?

Ответ, на самом деле, является сколь простым, столь и ошеломляющим — причина в том, что мы сами не знаем, чего хотим.

Читать дальше →
Total votes 68: ↑62 and ↓6+56
Comments361

Сколько зарабатывает программист в Москве по мнению ФНС

Reading time3 min
Views84K

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


5 000 000 рублей в год или 417 000 рублей в месяц зарабатывает московский предприниматель, оказывающий услуги по разработке компьютерных программ и баз данных. Если же он ещё и компьютеры ремонтирует, то его доход удваивается и достигает заветной круглой цифры в 10 000 000 рублей. Такие суммы потенциально возможного годового дохода IT-специалиста приводятся в законе г. Москвы от 31.10.2012 № 53 «О патентной системе налогообложения».
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments175

Опыт телефонного собеседования в Google, демонстрирующий несостоятельность процесса найма

Reading time7 min
Views72K
«Диагноз — не конец, а начало дела».
Мартин Х. Фишер.

Недавно я проходил телефонное собеседование с кадровиком из Google. Поскольку я соответствовал критериям на такое (добровольное) собеседование, но не смог пройти тест, в этом посте перечислены вопросы и предполагаемые ответы на них. Этот пост может оказаться полезным тем, кому в один прекрасный день позвонят из Гугла.

Для ясности: я начал заниматься программированием 37 лет назад (мне тогда было 11 лет) и постоянно занимаюсь этим. Кроме того, 24 года назад (мне было 24) я был назначен директором по исследованиям и развитию; с тех пор среди многих других работ мною были проведены НИОКР по наиболее ответственным частям проектов TWD — все они поставляются, как коммерческие продукты:


Представитель Гугла подчеркнул, что требуется как опыт управления, так и современного программирования (редкое сочетание). Но наличие более 20 лет опыта в первом и почти 40 лет во втором оказалось недостаточным — я не смог дать «правильные ответы». Означает ли это, что Гугл слишком высоко поднимает планку или что у его кадровиков самих не хватает знаний, которые они, как предполагается, должны оценивать?

Давайте посмотрим!
Читать дальше →
Total votes 153: ↑143 and ↓10+133
Comments172

Бесплатные курсы, книги и прочие материалы по разработке

Reading time4 min
Views80K


У кого сейчас есть время на получение второго академического образования? Хм. Все больше компаний и команд обращают внимание не на формальные «корочки», а на реальные способности и достижения конкретного человека. Речь, конечно о хороших компаниях с современным взглядом на реальность и продвинутым руководством.

Необязательно проходить всю программу университета, чтобы научиться программировать. Онлайн-курсы, конечно, требуют самоконтроля, усердия и ответственности. Но, если есть цель и стремление, то все приложится. В компании таких же «вольных» слушателей по сети вы наверняка сможете пройти курс успешно.
Читать дальше →
Total votes 47: ↑38 and ↓9+29
Comments52

Frontend-разработчики должны быть в теме всего

Reading time7 min
Views206K

Мысли Криса Койера


Одна из мыслей, которая поселилась в моей голове: должен ли frontend-разработчик быть в курсе всего? В общем смысле, frontend-разработчик может использоваться и на других рабочих местах. Вся команда разработчиков заканчивает разговор на frontend-разработчике. В этом смысл моей идеи. Frontend-разработчики создают те вещи, с которыми будут взаимодействовать люди. Все этапы разработки проходят вместе с frontend-разработчиком. Возможно, именно поэтому это такая забавная работа! Поскольку frontend-разработчик занимает центральное место в цепочке разработки, и при этом мы имеем дело с большим количеством разных специалистов, мы должны понимать их работу и иногда подсказывать, что и как сделать лучше.

От переводчика


Всем привет, с вами Максим Иванов, и сегодня мы поговорим на довольно острую тему в сфере веб-разработки. Как утверждает Крис Койер, frontend-разработчик должен разбираться в очень многих вещах, о которых не все даже и задумываются. Конечно, мы должны понимать, что frontend-разработчик не главный в процессе разработки любого онлайн-сервиса или ПО в целом. На ту же позицию frontend-разработчика вы найдете больше откликов на вакансию, чем на позицию backend-разработчиком. Но почему же тогда Крис Койер считает, что работать frontend-разработчиком сложнее, ибо ты должен специализироваться во всем. Конечно, ситуаций в жизни очень много, разные компании по-разному используют своих специалистов, но в чем наверняка должен разбираться frontend-разработчик? Об этом мы сегодня и поговорим. Жду комментариев на эту тему, а сейчас приступим.
Читать дальше →
Total votes 45: ↑39 and ↓6+33
Comments76

Опрос. Почему айтишнику скучно

Reading time1 min
Views19K
Друзья, у нас новый челлендж – узнать, бывает ли айтишнику скучно?
Скучаете ли вы на работе и почему? А может быть вас все устраивает? Планируете ли вы что-то менять?

Будем рады вашим ответам.

Результатами поделимся в нашем блоге на Хабре.

UPD Друзья, спасибо за ваши комментарии. Если не сложно, продублируйте, пожалуйста, ваши ответы в гугл форме, чтобы у нас была возможность подготовить более подробные результаты опроса.На Хабре, к сожалению, опросы не очень удобные.

image
Читать дальше →
Total votes 21: ↑14 and ↓7+7
Comments36

Почему некоторые люди ощущают «эмоциональный озноб» от музыки

Reading time3 min
Views116K

Древний температурный триггер в человеческом мозге настроился на новые входные данные




Трепет, дрожь, гусиная кожа, мурашки, озноб, кожный оргазм, по-английски frission, cold chill — всё это названия одного и того же явления, для которого в языке нет устоявшегося термина. По-научному, это трансцендентные психофизиологические переживания, а проще говоря — волна удовольствия, которая иногда проходит по коже при прослушивании некоторых музыкальных произведений. В качестве триггера срабатывает не только музыка, но и физический контакт с человеком, эмоциональная сцена в художественном фильме и др. На Reddit даже есть сообщество /r/frission, члены которого делятся друг с другом триггерами «кожного оргазма».

Почему возникает такая психофизиологическая реакция на эмоциональные раздражители? Почему она наблюдается не у всех, а только у некоторых людей? Учёным пока не удалось до конца изучить этот феномен, но полвека исследований позволяют сделать некоторые предположения.
Читать дальше →
Total votes 39: ↑34 and ↓5+29
Comments180

Важные годы. Определяющее десятилетие от 20 до 30 лет

Reading time9 min
Views75K

Многие люди, подойдя к 30 годам начинают задумываться кто они, чем им заниматься, чего они достигли и как жить дальше.
Мэг Джей, автор книги «Важные годы», утверждает, что время от 20 до 30 лет — это определяющее десятилетие. В это время мы находим подходящую работу, определяемся с семьёй, увлечениями, друзьями и смыслом жизни. Мэг Джей — психолог; она специализируется на молодых людях в возрасте от 20 до 30 лет и провела с ними множество сеансов психотерапии. Она знает, о чём пишет.
Статья будет полезна молодым людям от 20 до 30 лет и тем, у кого есть друзья, знакомые или родственники этого возраста.
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments28

Иван Григоров: «Для топовых багхантеров $25К в месяц — не проблема»

Reading time9 min
Views90K


Программы поиска уязвимостей всегда привлекают немало внимания со стороны хакеров и специалистов по безопасности. Ведь это легальный способ неплохо зарабатывать одними только поисками багов (при условии, что есть хороший опыт и голова на плечах). На днях нам представилась возможность взять интервью у багхантера Ивана reactors08 Григорова. Он лидер нашей программы Bug Bounty и занимает 11-е место в общем рейтинге платформы HackerOne.

Как начать искать баги? Может ли это быть единственным источником дохода? В каких Bug Bounty участвовать? Сколько зарабатывают багхантеры? И почему поиском уязвимостей особенно выгодно заниматься в кризис? Ответы на эти и другие вопросы читайте в нашем интервью.
Читать дальше →
Total votes 69: ↑62 and ↓7+55
Comments22

ES5 руководство по JavaScript

Reading time25 min
Views91K

JavaScript quality guide


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

От переводчика


Всем привет, с вами Максим Иванов, и сегодня мы поговорим о правилах оформления кода на языке JavaScript. Николя Бэвакуа (Nicolás Bevacqua), автор книги «Дизайн JavaScript-приложений» (JavaScript Application Design), разработчик из Аргентины, опубликовал данное руководство достаточно давно, первая запись появилась еще в 2014 году, многое написано по стандарту ES5, однако, в наши дни это все равно актуально, сейчас, когда ES6 еще нигде полноценно не работает без babel и прочих транспайлеров. Хотя мы видим прогресс в топовых десктопных браузерах (Google Crhome, Firefox), где уже реализовано 70-90% задуманного, мы видим, что они стремятся поддерживать новый стандарт, но, к сожалению, ещё нет браузеров, которые полностью могли бы поддерживать ES6. К слову, я буду очень рад вашим комментариям. В общем, удачи и давайте начнем.
Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments35

Вычисление факториала на числах Чёрча

Reading time5 min
Views26K
Доброго дня, друзья!

Тема функционального программирования раскрыта на Хабре весьма неплохо, есть целая куча статей посвященных λ-исчислению, числам Чёрча и подобным темам, так что ничего нового я не открою, зато мы напишем одну бесполезную и крайне неэффективную программу.

Для того, чтоб жизнь мёдом не казалась, ограничим себя небольшим подмножеством языка JavaScript, а именно, будем использовать только анонимные функции от одного аргумента. Больше нам ничего не потребуется (ну почти).

Начнем с определения факториала, и посмотрим, что нам понадобится в процессе решения задачи:

var fact = function (n) {
  if (n === 0) return 1;
  return n * fact(n - 1);
};


Итак, нам потребуются функции, логические значения (для результата операции сравнения с нулем), условный оператор, операции умножения и вычитания единицы, кроме того нужно будет реализовать рекурсивный вызов функции.

Готовы?
Ну тогда поехали.
Total votes 51: ↑51 and ↓0+51
Comments47

40 книг и образовательных ресурсов для изучения фондового рынка и алгоритмической торговли

Reading time5 min
Views39K


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

В нашем сегодняшнем материале — подборка из 40 книг и образовательных, которые помогут лучше подготовиться к началу работы на фондовом рынке и написанию механических торговых систем.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments8

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

Reading time4 min
Views19K


В предыдущей статье, раскрывающей общие тенденции развития рынка удаленной работы, мы слегка затронули тему составления грамотного резюме. Нами были перечислены основные пункты и важные моменты, на которых работодатели акцентируют пристальное внимание. Сегодня мне бы хотелось осветить данную тему подробнее, тем более что большинство вопросов, получаемых нашей службой поддержки, связано именно с необходимостью корректного составления резюме.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments2

Электронные часы в духе Qlocktwo

Reading time3 min
Views13K
Привет от команды uMove! Как-то раз увидели в интернете такое изображение часов. Текущее время на них задается словами: пять минут третьего, без четверти час, половина пятого и тому подобное с шагом в 5 минут.



Недавно мы сделали такие!
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments19

Information

Rating
Does not participate
Registered
Activity