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

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

Как подготовиться к собеседованию в Google и не пройти его. Дважды

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


Заголовок статьи звучит как epic fail, но на самом деле все не так однозначно. Да и в общем и целом эта история закончилась весьма позитивно, хоть и не в Google. Но это уже тема для другой статьи. В этой же статье я расскажу о трех вещах: каким образом проходил мой процесс подготовки, каким образом проходили интервью в Google и почему же на мой взгляд все не так однозначно, как может показаться.
Кому интересно, прошу под кат.
Всего голосов 178: ↑174 и ↓4 +170
Комментарии 457

Коды Рида-Соломона. Часть 1 — теория простым языком

Время на прочтение 8 мин
Количество просмотров 51K
Добрый день! Меня зовут Максим, в YADRO, кроме всего прочего, я занимаюсь разработкой подсистемы, отвечающей за надежное хранение данных. Готовлю небольшой цикл статей про коды Рида-Соломона — теоретическую основу, практическую реализацию, применяемые на практике программные и аппаратные оптимизации. На Хабре и в остальной сети есть хорошие статьи по вопросам этой области — но по ним сложно разобраться, если ты новичок в теме. В этой статье я попытаюсь дать понятное введение в коды Рида-Соломона, а в следующих выпусках напишу, как все это запрограммировать.



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

Коды Рида-Соломона. Часть 2 — арифметика полей Галуа

Время на прочтение 7 мин
Количество просмотров 24K
Здравствуйте, друзья! В прошлый раз мы с вами начали говорить о том, как коды Рида-Соломона помогают обеспечивать необходимый уровень надежности хранения данных. Сегодня остановимся немного подробнее на арифметике полей Галуа, которая используется в расчётах.



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

Объясняем современный JavaScript динозавру

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


Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


Я не понял ни слова из предложения и стал разбираться, как это может помочь мне как разработчику.


Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

Всего голосов 174: ↑171 и ↓3 +168
Комментарии 505

Знай сложности алгоритмов

Время на прочтение 2 мин
Количество просмотров 975K
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Всего голосов 312: ↑296 и ↓16 +280
Комментарии 100

Негативный фидбек — эффективное SEO

Время на прочтение 3 мин
Количество просмотров 1.4K
Интересную тему подняли журналисты NY Times. Они провели журналистское расследование насчёт интернет-магазина DecorMyEyes.com, который продаёт очки дизайнерских моделей, и обнаружили невероятную вещь. Оказывается, владельцы этого магазина делают всё возможное, чтобы люди оставляли максимальное количество негативных отзывов о магазине. В большом количестве таких отзывов несложно убедиться, просто запустив поиск по названию магазина в Google.

Казалось бы, зачем магазин создаёт себе негативный пиар? Зачем они специально грубят покупателям и выставляют им дополнительные счета за услуги, балансируя на грани закона? Зачем врать об отсутствии товара и нарушать сроки доставки? Ответ простой. За счёт большого количества входящих ссылок с различных форумов сайт магазина находится на первых местах в поисковой выдаче. Например, по запросу [Christian Audigier glasses] они на пятом месте, сразу после официального сайта Кристиана Одигера — известного французского дизайнера очков.
Читать дальше →
Всего голосов 68: ↑57 и ↓11 +46
Комментарии 57

Запоздалый фоторепортаж с Е3 expo 2010

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

Удивлен, что на Хабре за 3 недели так и не появился нормальный обзор с E3. В основном отдельные новости на тему приставок и Portal 2. Видимо все потому, что нет ответственного, как в случае с обзорами новомодных железяк ;-) Что ж, придется мне отчитаться. Точнее отписаться.

Далее вас ждет небольшой обзор стендов, выставочный fun, и немного инсайда.

Смело кликайте на ссылку. Текста будет мало, а фотографии и интересной информации много. Фотографии кликабельны и почты все доступны в оригинальном разрешении.
Понеслась!
Всего голосов 122: ↑96 и ↓26 +70
Комментарии 62

10 юзабилити-преступлений, которых вы не должны совершать

Время на прочтение 2 мин
Количество просмотров 4.4K
На стадии дизайна и разработки мы должны учитывать прописные истины и основные концепции для улучшения юзабилити сайта. В этой статье описываются классические, но непростительные ошибки в области веб-дизайна и способы их решения.

Преступление #1: В формах метки не связаны с полями ввода


crime1
Использование атрибута «for» позволит пользователям кликать по метке, для выбора соответствующего поля формы. Это особенно важно для чекбоксов и радиокнопок — увеличить область клика.
Читать дальше →
Всего голосов 325: ↑289 и ↓36 +253
Комментарии 160

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

Время на прочтение 5 мин
Количество просмотров 31K
Antec_resize.jpgСегодня очередная статья из серии мини-обзоров. На этот раз речь пойдет об эргономике и о такой важной ее составляющей, как минимизация шума, издаваемого компьютером.

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

Отрадно, что производители, наконец, стали уделять пристальное внимание уровню шума, поэтому выбор правильных комплектующих постепенно становится делом более легким. Для себя я эту проблему давно и успешно решил, но прогресс не стоит на месте, и собирая бесшумную систему сегодня, вы можете выбрать более совершенные решения. Поэтому я расскажу о том, что удалось найти интересного в этой области за последние 3-4 месяца.

Начнем с корпусов (внутри 1.5 Мб картинок).
Читать дальше →
Всего голосов 81: ↑76 и ↓5 +71
Комментарии 59

Ускорение воспроизведения HD-видео

Время на прочтение 2 мин
Количество просмотров 14K
Однажды на моём нетбуке (Acer Aspire One 110) я не смог нормально посмотреть видео по причине тормозов (аниме в 720p). После чего последовало разбирательство на тему, как же это можно исправить, результат которого читайте здесь.
Читать дальше →
Всего голосов 80: ↑74 и ↓6 +68
Комментарии 104

Бесплатная замена могучим Alcohol, Nero и другим программам для виртуальных дисков

Время на прочтение 1 мин
Количество просмотров 9.8K
В российские школы 2 года назад прислали замечательный комплект полезнейших (большей частью) программ «Мультимедийная библиотека». Чего там только не было: и полезный известный софт типа Photoshop и Corel Draw, и куча учебно-тестирующего.

Но беда: всего по одной штуке, по одному экземпляру диска.

Нужно было поставить одну неплохую российскую программу, привязанную к CD. Никакого лицензионного соглашения на учебные программы не прилагалось, поэтому непонятно: можно программу пользовать на 20 компьютерах или нет.

Вышли из положения просто: программа для виртуальных CD и все в порядке. Однако триальный период кончился, а проверяющие органы (прокуратура и минобразования, ведь с преступностью в стране покончено, да и в системе образования все идеально) не дремлют.
Читать дальше →
Всего голосов 71: ↑52 и ↓19 +33
Комментарии 108

Решение проблемы с Seagate Barracuda 7200.11, ES.2 и DiamondMax 22

Время на прочтение 2 мин
Количество просмотров 169K
Seagate сегодня выложил прошивку, устраняющую недавние проблемы с жесткими дисками серии 7200.11, ES.2 и DiamondMax 22.

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

Я давно хотел открыть свою страницу на vkontakte.ru

Время на прочтение 3 мин
Количество просмотров 2.4K
и наконец я смогу это сделать! теоретически…

итак, основная идея — использовать данные моего профайла на сайте vkontakte.ru при формировании моей домашней страницы (она естественно не требует никакой аутентификации и видна всему интернету — в это и заключается смысл «открывания профайла»). сделать это я планирую используя API, который недавно открыли для разработки социальных сетей и клиентских приложений на основе vkontakte.ru (userapi.com).

зачем это мне? всё просто — у меня пока нет блога и домашней странички тоже нет, но иногда я пишу заметки vkontakte.ru и хочу шарить их ещё и с теми кто предпочитает блоги и xml-ленты (я и сам предпочитаю гугл reader) + с теми, кто ещё не знает меня и возможно и никогда не узнает, если гугл и яндес не будут знать… + в моём профиле достаточно информации, которую я не хочу скрывать, но и копипастить на свой сайт при изменении не хочу

+меня можно будет комментить с openid и вообще доздраствует open social :)

UPD
я зарегистрировал свой «проект» на userapi.com и получил id проекта — при авторизации необходимо указывать это идентификатор — это сделано для того чтобы я имел возможность авторизоваться используя только свой номер на сайте (он указывается при регистрации проекта).

дальше я попробовал авторизоваться как написано в документации и ввёл в строку браузера:
login.userapi.com/auth?login=force&site=[MY_PROJECT_ID]&email=[MY_EMAIL]&pass=[MY_PASSWORD]
сервер перенаправил меня сайт моего проекта #sid=сгенерированный идентификатор сессии
«странный механизм» — подумал я — «но работает и какая разница как я получу этот идентификатор»

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

дальше я написал маленький код, чтобы чуть-чуть приблизиться к своей задумке:
from httplib import HTTPConnection
from urllib import urlencode
import re

site = [MY_PROJECT_ID]
email = [MY_EMAIL]
password = [MY_PASSWORD]

id = 389606

auth_conn = HTTPConnection("login.userapi.com")
auth_conn.request("GET", "/auth?"+urlencode({"login": "force",
"site":site,
"email": email,
"pass":password,}))
auth_resp = auth_conn.getresponse()
location = auth_resp.getheader("location")
auth_conn.close()

sid = re.compile("\w+$").search(location).group()

conn = HTTPConnection("userapi.com")
conn.request("GET", "/data?"+urlencode({"act": "activity",
"from": 0,
"to": 10,
"id": id,
"sid": sid,}))
resp = conn.getresponse()
data = resp.read()

print data

conn.close()

всё заработало и я решил перенести это дело на хостинг, чтобы быстренько сделать свой сайт на django :) и что я вижу? не могу подключиться к серверу!!! я смотрю в код, пробую wget, потом lynx — тоже самое! проверяю соединение с другими хостами — всё работает, копипую скрипт на другой хостинг — опять не работает :) прошу исполнить мой скрипт друга — работает… и тут я понимаю хостеры тупа забанены!!! зачем?

смотрим в документацию и размышляем… api написан с учетом того, чтобы работать через AJAX (в большинства запросов передаётся имя колбэка и «странная» авторизация сделана по тем же причинам). хостеров видимо забанели чтобы не возможности напрямую «сливать» данные и как защиту от нарушений пользовательского соглашения, предполагая что разработка проектов сторонних будет вестись таким образом что запросы к userapi.com будут идти напрямую от пользователя минуя сервер проекта т.е. сторонний проект по суте предоставлял бы только интерфейс…

по-моему, очень достаточно дурацкая защита… никто не мешает воровать пользовательские данные, а главное пароли с помощью того же AJAX (только вставлять код-воришку не всегда, чтобы втереться в доверие)… почему было не сделать авторизацию так как она реализована в openid?! странно…

в итоге, думаю, не проблема найти «чистенький» хостинг, но может это была дурацкая идея? и vkontakte.ru не мой выбор?
Всего голосов 51: ↑8 и ↓43 -35
Комментарии 7

Ресурсы по поиску качественных иконок.

Время на прочтение 1 мин
Количество просмотров 6.1K
Все когда-нибудь сталкивались с проблемой поиска качественных иконок для различных нужд. Список лучших поисковиков:
Читать дальше →
Всего голосов 57: ↑50.5 и ↓6.5 +44
Комментарии 24

3 лучших SEO совета 2008 года

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

SEO совет #1: Сделайте Google Alerts вашим личным интернет шпионом.


Google Alerts это отличный способ позволить крупнейшей в мире поисковой системе стать вашим личным шпионом в интернете. Этот способ позволит поисковой оптимизации инсайдерской информации выйти на совершенно новый уровень.

Вот выдержка прямо из Google:
"Google Alerts оповещает вас по эл. почте об обновлении соответствующих результатов (веб, новости и т.д.) на основе выбора вашего запроса или темы."
Читать дальше →
Всего голосов 21: ↑12.5 и ↓8.5 +4
Комментарии 5

Разрабатываем свой Sidebar Gadget

Время на прочтение 7 мин
Количество просмотров 21K
image
Как часто вы пользуетесь гаджетами боковой панели Windows? А хотелось бы написать свой? Не простой гаджет «Hello World», а действительно полезный, который помог бы оптимизировать затраты времени на определенный кусок работы. Тогда давайте рассмотрим случай, когда вам нужно мониторить нагрузку 10-20 серверов.
Читать дальше →
Всего голосов 83: ↑73 и ↓10 +63
Комментарии 35

Создаем мероприятия в Google Calendar голосом с мобильного телефона.

Время на прочтение 1 мин
Количество просмотров 5.4K
Теперь в ситуациях, когда нет интернета под рукой, можно заносить новые мероприятие в Google Календарь простым звонком с телефона.

Как это работает:
Читать дальше →
Всего голосов 57: ↑52 и ↓5 +47
Комментарии 83

Десять маленьких программ, без которых неуютно жить

Время на прочтение 5 мин
Количество просмотров 7.9K
Заменяем диспетчер задач
Управляем автозагрузкой и следим за состоянием системы
Устанавливаем переключение раскладки
Создаем виртуальные рабочие столы
Сохраняем все заметки в одно место, не задумываясь ни о чем, кроме текста
Ускоряем навигацию по винчестеру
Ставим плагины к проводнику Windows и радуемся
Легко и быстро удаляем папки-файлы «занятые другими процессами»
Копируем и перемещаем быстрее и качественнее
Перестаем парится с кодировками, заменив блокнот

и как мы это сделаем?
Всего голосов 180: ↑139 и ↓41 +98
Комментарии 306

Десять советов как написать (чуть) менее ужасное резюме

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

«Цель: получить работу в IBM»
— пишет какой-то идиот-соискатель в Amazon.com.




ВНИМАНИЕ: это мое собственное, *персональное*, мнение, не Google, не Amazon или кого-либо еще. Я думаю вы обнаружите, что большинство рекрутеров, оценивающих анкеты в технических компаниях — особенно в технических компаниях, которые производят собственное программное обеспечение сами, такие как Yahoo!, Ebay, Amazon.com, Microsoft или Google — в целом, согласятся со многим из перечисленного. Но опытные рекрутеры расходятся во мнениях касательно многих мелких деталей, и, в конце-концов, это всего лишь мое собственное мнение. Эти советы не гарантируют получения Вами сколь-нибудь лучших результатов. Возможно, у вас будет другой опыт. Не используйте эти советы в ванной или стоя в луже. Не стучите по стеклу, это раздражает советы. Советы не кормить! И т.д.

Читать дальше →
Всего голосов 104: ↑82.5 и ↓21.5 +61
Комментарии 101

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность