Pull to refresh
23
0
Антон Жидков @azhidkov

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

Send message

Объясняя необъяснимое. Часть 2

Reading time8 min
Views70K
Регистрация на конференцию PG Day’16 в разгаре, а мы продолжаем публиковать перевод статей Hubert Lubaczewski об explain и его основных компонентах.

В прошлый раз я писал о том, что показывает вывод explain. Теперь я хочу больше поговорить о разных типах «узлов» / операций, которые вы можете встретить в планах explain.

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments4

[Питер] Встреча JUG.ru с разработчиками Kotlin

Reading time2 min
Views6.1K
В пятницу, 26 февраля (да, уже завтра!), в 20:00 в петербургском офисе компании Oracle пройдет встреча JUG.ru c разработчиками языка Kotlin Андреем Бреславом и Дмитрием Жемеровым. Андрей — вообще самый главный человек в Kotlin, возглавляет разработку языка, а Дмитрий — возглавляет разработку плагина к IntelliJ IDEA. Так что у нас будет всем котлинам котлин!

Тема встречи — недавний и долгожданный релиз языка Kotlin. Это уже никакая не бета и не RC, это полноценный Final Release. И поэтому встреча тоже называется очень просто:

Для тех, кто всё проспал:
Kotlin — новый язык программирования для JVM и Android, выпущенный компанией JetBrains неделю назад. Выпуску предшествовало несколько лет разработки, ребята из JetBrains довольно много рассказывают про Kotlin на конференциях.

Докладчики


Дмитрий Жемеров работает в JetBrains с 2003 года и успел поучаствовать в разработке многих проектов, включая IntelliJ IDEA, PyCharm, WebStorm и другие. Сейчас он руководит командой, которая делает Kotlin-плагин для IntelliJ IDEA, а также в соавторстве со Светланой Исаковой пишет книгу о Kotlin.

Андрей Бреслав возглавляет разработку языка Kotlin в компании JetBrains. Раньше преподавал и в университете и в старшей школе; теперь вместо этого выступает на различных конференциях, рассказывая о своём проекте и о фундаментальных принципах, лежащих в основе профессии разработчика ПО.



Программа встречи


Встреча будет состоять из 4 частей, и целиком будет посвящена языку Kotlin.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments3

Как за 7 дней превратиться из server-side-программиста в client-side

Reading time11 min
Views45K
image
Фото: ivan dupont

Всем привет! Меня зовут Дмитрий Исайкин, и с недавних пор я занимаюсь мобильной разработкой. Почему с недавних? Еще три месяца назад я был руководителем группы C/C++-разработки Почты Mail.Ru. Но однажды я в очередной раз задумался о том, что мне всё меньше и меньше нравится то, чем я занимаюсь. Больше времени стали отнимать обязанности тимлида: мотивация, стимуляция, отчётность, административные заботы. И тогда я решил: пора что-то менять. Разместил резюме, сходил на несколько собеседований. Всё это время я размышлял о том, чего же я хочу. Мне предложили возглавить направление разработки в одной достаточно крупной фирме, и я практически согласился. Но, «переспав» с этим решением бессонную ночь, я понял, что такая работа будет мне не в радость. Ещё был вариант пойти старшим разработчиком в другую хорошую фирму. Но там пришлось бы заниматься примерно той же работой, что и в предыдущие годы.
Читать дальше →
Total votes 76: ↑65 and ↓11+54
Comments30

Upgrade до Middle PHP-разработчика за 3 месяца

Reading time2 min
Views193K

В очередной раз на меня свалилась задача найти хорошего PHP-программиста.
По результатам прозвона потенциальных кандидатов, 90% тех, кто мнит себя Middle, на самом деле Junior и годы опыта не спасают, потому что клепают однотипный код в пределах заданий, посланных свыше.
Прописал минимальный план желающим сделать рывок и перейти на следующий уровень без отрыва от производства.


Читать дальше →
Total votes 94: ↑55 and ↓39+16
Comments190

Исследование распространенной малвари под Android

Reading time16 min
Views37K

Часто вирусы для android приходят к нам при помощи рассылок. Раньше это были СМС, а теперь еще и современные мессенджеры. Мне было интересно посмотреть, что же сейчас на рынке вредоноса, поэтому зарегистрировалась и подала пару объявлений на avito.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments59

Основной цикл в Javascript

Reading time9 min
Views77K


Все мы слышали про ajax и node.js. Они прочно обосновались уже не просто в словарном запасе, но и в наборе инструментов веб-разработчика. Ajax — асинхронное подтягивание данных с сервера на страницу, node — фреймворк с асинхронным IO. Но как в таком однопоточном языке, как Javascript, реализуется та самая асинхронность?

Вы, наверное, уже догадались из заголовка, речь пойдет об основном цикле («main loop»).
Читать дальше →
Total votes 190: ↑186 and ↓4+182
Comments41

Маршруты на картах Google в Android-приложении

Reading time7 min
Views45K
Недавно у меня возникла необходимость отображать маршрут между двумя точками на карте Google в моем приложении. На Хабре уже были публикации на эту тему. Например, «Маршруты на картах Google в вашем Android-приложении». Однако этим материалам уже довольного много времени и они не используют новых возможностей. Хочу показать еще один способ рисования маршрутов, может быть, кому-то он окажется полезен.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments5

webpack: 7 бед — один ответ

Reading time12 min
Views179K
После моего недавнего выступления на MoscowJS #17 с одноимённым докладом у многих возник интерес к этому инструменту. В рамках 11-го выпуска RadioJS, Миша Башкиров bashmish рассказал, что решился попробовать его в своём новом проекте, об успешном опыте и множестве положительных эмоций. Но были озвучены вопросы и возникла дискуссия, в результате которой я решил написать эту статью, чтобы раскрыть основные тезисы с доклада и рассказать о том, что тогда не успел.
Статья ориентирована, как на профессионалов, так и на тех, кто с похожими технологиями ещё не сталкивался.
Итак, начнём.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments13

Коллекции в Java: о чём многие забывают

Reading time6 min
Views141K
Из опыта code-review и ответов на StackOverflow набралось немало моментов, касающихся Java Collections API, которые мне казались очевидными, но другие разработчики о них почему-то не знали или знали, но не чувствовали уверенности их применять. В этой статье я собираю в общую кучу всё, что накопилось.

Содержание:


  1. List.subList
  2. PriorityQueue
  3. EnumSet и EnumMap
  4. Set.add(E) и Set.remove(E) возвращают булево значение
  5. Map.put(K, V), Map.remove(K), List.set(idx, E), List.remove(idx) возвращают предыдущий элемент
  6. Map.keySet() и Map.values()
  7. Arrays.asList может быть ключом
  8. Collections.max
  9. LinkedList, Stack, Vector, Hashtable
Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments37

Архитектура open source-приложений: Как работает nginx

Reading time18 min
Views64K


Мы в «Латере» занимаемся созданием биллинга для операторов связи и рассказываем на Хабре о разработке своего продукта, а также публикуем интересные технические переводные материалы. И сегодня мы представляем вашему вниманию адаптированный перевод одной из глав книги «Архитектура open-source-приложений», в которой описываются предпосылки появления, архитектура и организация работы популярного веб-сервера nginx.
Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments10

Задачи на собеседованиях в Яндексе

Reading time15 min
Views358K
Открытые вакансии на должность разработчика в Яндексе есть всегда. Компания развивается, и хороших программистов не хватает постоянно. И претендентов на эти должности тоже хоть отбавляй. Главная сложность – отобрать действительно подходящих кандидатов. И в этом плане Яндекс мало чем отличается от большинства крупных IT-компаний. Так что базовые принципы, описываемые в этой статье, могут быть применимы не только к Яндексу.

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

image
Читать дальше →
Total votes 221: ↑178 and ↓43+135
Comments329

Как Яндекс.Метрика продает вашим конкурентам «обобщенную статистическую информацию» вашего сайта

Reading time2 min
Views93K
Все уже столкнулись, что запрос в поисковую систему сохраняется в ваши пользовательские предпочтения и потом «используется против вас» — реклама по этому запросу будет долго преследовать вас по всему Интернету.

Но сегодня меня озадачила реклама, которую показал Яндекс на сайте Яндекс.Погоды — с одной стороны тема мне знакома (это бизнес клиента, с сайтом которого мы работаем), но с другой стороны я осознал, что никогда не искал эту тему в Яндексе. В голову закралось подозрение, которое я проверил.

В режиме «инкогнито» браузера я открыл сайт клиента, а затем сайт Яндекс.Погоды. Сначала реклама не старгетировалась, но через 30 секунд я получил то, что искал — пять объявлений от конкурентов нашего клиента. Информация о моем визите «утекла» через Яндекс.Метрику и тематика сайта была записана в мои пользовательские предпочтения. Проверил на других тематиках — результат аналогичный.

Получается следующая ситуация. Вы можете потратить кучу сил и денег чтобы привлечь человека на сайт, причем это могут быть вообще офлайн-мероприятия — знакомства на выставке, наружная реклама или визит человека в фирменный салон. Или это может быть онлайн-реклама, не имеющая к Яндексу никакого отношения — например Гугл.Эдвордс.

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

Легально ли это? Да, вы соглашаетесь с пунктом номер 11 из условий использования Яндекс.Метрики. Этично ли это? Для каждого будет свой ответ.
Действия для повторения эксперимента
Total votes 125: ↑91 and ↓34+57
Comments79

Разработка плагина IntelliJ IDEA. Часть 5

Reading time9 min
Views12K
В этой части: подсветка, ссылочная система, автодополнение, навигация по коду. Предыдущая часть здесь.

Подсветка синтаксиса и ошибок


Класс, используемый в IDEA для определения, как соответствующий текстовый диапазон должен быть подсвечен, называется TextAttributesKey. Экземпляр этого класса создается для каждого различного типа элементов, которые должны быть подсвечены (ключевые слова, числа, строки, комментарии и т.д.), он определяет атрибуты по-умолчанию, которые применяются к элементам соответствующего типа (например, ключевые слова выделяются полужирным, числа – синим, строки – курсивом и зеленым фоном). Отображение TextAttributesKey на специфические атрибуты, используемые в редакторе, определено классом EditorColorsScheme и может быть настроено пользователем, если плагин предоставляет соответствующий конфигурационный интерфейс. В подсветке может использоваться наложение нескольких TextAttributeKey: например, один ключ может определять начертание, а другой – цвет элемента.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments0

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

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

осторожно, под катом - много англицизмов!
Total votes 59: ↑56 and ↓3+53
Comments19

Правда Сноудена

Reading time8 min
Views69K
Подборка наиболее интересных мыслей, озвученных в фильме «Гражданин четыре: правда Сноудена», который в свою очередь является квинтэссенцией откровений Эдварда Сноудена – бывшего сотрудника АНБ, разоблачившего антидемократическую деятельность правительственных спецслужб.



Всё началось с письма Эдварда Сноудена журналисту WikiLeaks, Лоре Пойтрас, которая в 2006 году была внесена в секретный список наблюдения, за то что сняла фильм о войне в Ираке. После этого её неоднократно задерживали и допрашивали на американской границе. Итак, «историческое» письмо Сноудена:
Читать дальше →
Total votes 56: ↑46 and ↓10+36
Comments69

Курс по машинному обучению на Coursera от Яндекса и ВШЭ

Reading time4 min
Views116K
Когда-то мы публиковали на Хабре курс по машинному обучению от Константина Воронцова из Школы анализа данных. Нам тогда предлагали сделать из этого полноценный курс с домашними заданиями и разместить его на Курсере.

И сегодня мы хотим сказать, что наконец можем выполнить все эти пожелания. В январе на Курсере пройдёт курс, организованный совместно Яндексом (Школой анализа данных) и ВШЭ. Записаться на него можно уже сейчас: www.coursera.org/learn/introduction-machine-learning.


Сооснователь Coursera Дафна Коллер в офисе Яндекса

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

Кроме того, мы верим, что после прохождения курса у человека должна остаться не только теория в голове, но и скилл «в пальцах». Поэтому все практические задания построены вокруг использования библиотеки scikit-learn (Python). Получается, что после прохождения нашего курса человек сможет сам решать задачи анализа данных, и ему будет проще развиваться дальше.

Под катом можно прочитать подробнее обо всех авторах курса и узнать его примерное содержание.
Читать дальше →
Total votes 83: ↑81 and ↓2+79
Comments59

Пишем простейший плагин для ReSharper

Reading time12 min
Views9K
Цель: написать, протестировать и развернуть простейший плагин для R#, содержащий пользовательские Quick-Fix и Context Action.

План статьи:
  1. Настройка среды разработки
  2. Пример №1: простейшее расширение-заглушка
  3. Установка плагина
  4. Отладка, полезные советы
  5. Пример №2: модификация кода с помощью R# API
  6. Функциональное тестирование плагинов средствами R# API

В ролях:
Visual Studio 2015
ReSharper Ultimate 10

Заинтересовавшихся приглашаю под кат.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments8

50 лучших инструментов для разработки CSS и JavaScript

Reading time3 min
Views73K
Веб-разработчику постоянно необходимо быть в курсе появления новых библиотек и инструментов. Я нашёл и выбрал несколько лучших инструментов для разработки как CSS, так и JavaScript. Это не просто копипаста – это выборка, основанная как на рекомендациях, так и на личном опыте использования.

Разработка фронтэнда – штука хитрая. И хотя она не слишком сложная для освоения, некоторые тонкости освоить также не помешает. В сети ежедневно появляются отличные ресурсы. Они могут дать толчок развитию ваших навыков и помочь вам лучше выполнить вашу задачу.

Лучшие инструменты для CSS и JavaScript


1) Fileicone

Сборник 100%-CSS файловых иконок. Может пригодиться для дизайна страниц.

image

2) Marx

Элегантное обнуление CSS безо всякого JavaScript.

image
Читать дальше →
Total votes 54: ↑36 and ↓18+18
Comments17

Лекции Технопарка: мастер-класс Алексея Рыбака «Про то, что я бы хотел, чтобы мне рассказали, пока я учился»

Reading time25 min
Views47K
Сегодня мы начинаем серию публикаций новых мастер-классов Технопарка. И первая из них — мастер-класс Алексея Рыбака на свободную тему, в котором он поделился со студентами соображениями о том, чем работа в реальной жизни отличается от учебы. Видео смотрите на нашем сайте, а адаптированную расшифровку — ниже.

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

Не буду рассказывать о современных трендах и о том сегодня важно и нужно — об этом вам многие могут рассказать. Вместо этого поговорим о некой общечеловеческой адаптации бывших студентов к работе, которую каждый человек проходит в течение одного, а порой и нескольких лет. Процесс этот достаточно болезненный, и далеко не все «правильно» проходят эту адаптацию. Именно эта тема должна больше интересовать студентов и выпускников, чем какие-то модные технологические фишки. Хотя о них мы тоже поговорим, когда коснемся темы самообразования.


Читать дальше →
Total votes 66: ↑61 and ↓5+56
Comments15

Создание плагина для Intellij IDEA. Заметки и мелкие советы

Reading time4 min
Views23K
Полгода назад или около того я загорелся-таки идей написать свой плагин для Intellij IDEA. Согласно задумке, он должен был считать, сколько времени разработчик потратил на проект (всего, за день, за сеанс) и отображать результат на диаграмме. Никакой магии, но такая функция здорово помогла бы мне рассчитывать время работы.


И что из этого вышло?
Total votes 16: ↑16 and ↓0+16
Comments17

Information

Rating
Does not participate
Location
Россия
Registered
Activity