Как стать автором
Обновить
1
0

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

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

Как я успешно прошел шесть собеседований в Силиконовой долине

Время на прочтение10 мин
Количество просмотров35K
За шесть дней, в период с 13 по 20 августа 2018 года, я прошел собеседования в шести компаниях Силиконовой долины (LinkedIn, Yelp, Apple, Amazon, Facebook и Google) и получил от каждой предложение о работе.



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

Надеюсь, моя история вдохновит кого-нибудь, кто сейчас в том же положении (не совсем доволен текущей работой, мечтает переехать в область залива, но несколько недотягивает в плане подготовки), дерзнуть — кто знает, что готовит для них будущее.
Читать дальше →
Всего голосов 55: ↑46 и ↓9+37
Комментарии36

Управление разработками в большом проекте

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

Привычные в проектном управлении диаграммы Гантта работают в таком случае плохо. Типичный пример — разработка расширений для КИС.

Ниже я расскажу, какой метод мы использовали на проектах для того чтобы контролировать большое количество параллельных задач с минимальными затратами на администрирование.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии7

DevConf: перспективные базы данных для highload

Время на прочтение6 мин
Количество просмотров10K
DevConf 2018 уже на следующей неделе! В прошлом году Юрий Насретдинов провел интересный обзор перспективных систем хранения данных для highload. Видео с докладом доступно на странице доклада. А для хабра-читателей предлагаю краткий пересказ.

В начале расскажу как нужно подходить к выбору технологии для highload-проекта.

  • В первую очередь, должно быть понимание как оно работает. Не только сильные, но и слабые стороны.
  • Знание как это мониторить и бэкапить. Без хороших инструментов для этого, эту технологию рано использовать в продакшене.
  • Рано или поздно системы «падают»(это нормальная, штатная ситуация) и нужно знать что делать в этом случае.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии3

Распространенные ошибки, которые допускают разработчики в UX

Время на прочтение6 мин
Количество просмотров12K
Я занимаю должность консультанта по UX для одного из партнеров компании Mendix, и мне часто приходится работать с небольшими самоорганизованными командами, которые создают отличные приложения для решения внутренних проблем. Моя задача — совершенствовать UX в этих приложениях.


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

Все решения, которые я здесь предлагаю, не являются единственно верными, в каждом случае бывают исключения; рассматривайте все написанное ниже не как прямое руководство к действию, а как отправную точку для дальнейших рассуждений.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии7

DevOops 2017 Piter: Новая конференция от JUG.ru Group, поговорим про DevOps

Время на прочтение4 мин
Количество просмотров8.5K
Известный факт: мы в JUG.ru Group не делаем конференции просто так, обычно за идеей каждого нового проекта лежит какая-то проблема. Такая нашлась и у нас.

Когда мы были молоды и веселы и использовали генераторы статичных сайтов на Node.js (по секрету скажу, что мы продолжаем их использовать), с нами приключилась вот такая история. Мы только переехали на AWS и взяли самый простой EC2-инстанс, наивно полагая, что 10 Gb пространства на десяток статичных сайтов нам хватит. Однако, в один прекрасный день мы начали ловить ошибки от сервера о том, что место на диске… кончилось. 10 сайтов на 10 Gb пространства. Конечно, мы не поверили вражьим сообщениям и достаточно быстро установили, что на самом деле кончились inode.

Беглый поиск выявил мерзкого виновника — это был JavaScript Node.js, а именно папка node_modules. Посчитали inode, и поняли, что их там добрая сотня тысяч. Оокей, подумали мы и прикрутили еще 100 гигов. И сейчас все хорошо: 630k inode занято, зато есть еще 6kk сверху под зависимости Node.js. Надеюсь, нам хватит этого на ближайшие полгода… А к тому времени, когда они начнут заканчиваться, на новой конференции мы узнаем, как элегантно решить эту проблему.

А если серьезно, то 20 октября мы проведем DevOps-конференцию DevOops 2017 Piter. Один день, три трека, все как вы любите. Кто будет выступать, что будем обсуждать и другие подробности — под катом.


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

Как довести проект до ума с помощью PERT-диаграмм

Время на прочтение5 мин
Количество просмотров58K
Если вы читаете этот материал – на это, вероятно, есть две причины:

— Вы ищете оптимальное решение управления проектом, который нужно завершить к определенному сроку.
— Вы ищете определение аббревиатуры PERT.

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

image

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

Превращаем Java/JVM приложение в демона

Время на прочтение4 мин
Количество просмотров14K
Часто ли вы пишите shell скрипт и пакетный файл для запуска своего jvm приложения, а как часто копируете из другого проекта?


Если используете maven, эта информация вам поможет.
Всего голосов 20: ↑17 и ↓3+14
Комментарии15

Визуализация и работа с историческими данными: интерактивные карты и linked data базы знаний для изучения истории

Время на прочтение8 мин
Количество просмотров20K
Порой глянешь по сторонам и кажется, что современного мира вне IT не существует. Однако есть области человеческой жизни, очень слабо затронутые компьютеризацией. Одна из таких областей — история. И как наука, и как учебный курс. Конечно, работа за компьютером едва ли когда-то заменит историкам ковыряние в архивах. Но уж изучать историю по нарисованным в учебнике статическим картам, а порядок событий выстраивать, тщательно выписывая на бумажку даты в порядке возрастания — это точно прошлый век. Однако инструментов для наглядного изучения истории не так-то много и найти их очень непросто.

Если вы хотите узнать, какие есть интерактивные исторические карты, где стоит посмотреть на представление событий в форме таймлайнов и как делать сложные запросы к википедии типа «все государственные деятели, работавшие в Европе в 1725 году» — читайте дальше.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии12

Детская робототехника в Крыму превозмогает

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


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

Для полного погружения начнём мы с истории Сергея Щукина, приехавшего в Крым год назад поднимать ИТ. Началось с того, что у него был интернет, но не было питания в розетках.
Читать дальше →
Всего голосов 65: ↑39 и ↓26+13
Комментарии53

Параллельное программирование в Java8. Создание многопоточных программ с помощью Fork/Join Framework

Время на прочтение3 мин
Количество просмотров20K
Статья посвящена такому интересному и полезному механизму (совокупностям механизмов и библиотек), как Fork/Join Framework. Он позволяет многократно ускорить вычисления, добиться максимальных результатов при обработке, используя все доступные возможности системы (процессоры).

В рамках данной статьи будет созданы классы, использующие Fork/Join Framework. В коде показан один из возможных вариантов применения параллельного программирования. Итак, начнем.
Читать дальше →
Всего голосов 11: ↑4 и ↓7-3
Комментарии12

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

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

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

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


1) Fileicone

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

image

2) Marx

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

image
Читать дальше →
Всего голосов 54: ↑36 и ↓18+18
Комментарии17

Понятно и просто про веб-компоненты и Polymer

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


Кто я

Я — Александр Кашеверов. По образованию — магистр радиофизики. По профессии — веб-разработчик, работаю в компании DataArt с 2011 года, с 2009 увлекаюсь IT и веб-технологиями.

О чем статья, коротко

Рассмотрим, что такое веб-компоненты и polymer. Немного поразмышляем на тему развития веба. Посмотрим на технические детали, примеры, поддержку браузерами, тестирование. Коротко, понятно, по делу. С картинками.

Вступление

Веб постоянно развивается. Технологии были придуманы и внедрены, исходя из потребностей, актуальных на момент создания. Десять лет назад невозможно было сделать то, что мы реализуем сейчас, и сложно представить, что будет еще через 10 лет.

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

Для уменьшения головной боли хорошо бы, если в контексте веб:

  • CSS не пересекался.
  • Области видимости JS не пересекались.
  • HTML был понятным и читаемым, никаких лишних элементов.

Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии14

Мониторинг под рукой на IxoraRMS. Быстро и со вкусом

Время на прочтение16 мин
Количество просмотров8.5K
image
Иногда проблема с приложением выливается в небольшой кошмар, ребус. Назовите, как хотите. Хочу поделиться об опыте использования средств мониторинга разработчиками на одном из проектов. Хабр многолик и уже существуют десятки статей о продуктах, которые облегчают понимание происходящего: cacti — habrahabr.ru/post/179391; zabbix — habrahabr.ru/post/137641; collectd — habrahabr.ru/post/93205; штатные средства JVM — habrahabr.ru/post/147008 (дополняйте).

Попробую рассказать о еще одном небольшом универсальном и легковесном продукте в этой категории — IxoraRMS.
Всем интересующимся, добро пожаловать под кат.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

Эволюция Java на примере чтения строк из файла

Время на прочтение2 мин
Количество просмотров126K
Приведу небольшой и интересный, на мой взгляд, пример, как изменилась жизнь простого крестьянина Java разработчика, на примере задачи чтения и печати строк из файла.



Многие из нас помнят

'до Java 7' мучения:


        BufferedReader reader = null;
        try {
            reader = new BufferedReader(
                        new InputStreamReader(
                            new FileInputStream(FILE_NAME), Charset.forName("UTF-8")));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            // log error
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    // log warning
                }
            }
        }

Читать дальше →
Всего голосов 34: ↑18 и ↓16+2
Комментарии17

У нас проблемы с промисами

Время на прочтение16 мин
Количество просмотров237K
Разрешите представить вам перевод статьи Нолана Лоусона «У нас проблемы с промисами», одной из лучших по теме из тех, что мне доводилось читать.

У нас проблемы с промисами


Дорогие JavaScript разработчики, настал момент признать это — у нас проблемы с промисами.

Нет, не с самими промисами. Их реализация по спецификации A+ превосходна. Основная проблема, которая сама предстала передо мной за годы наблюдений за тем, как многие программисты борются с богатыми на промисы API, заключается в следующем:

— Многие из нас используют промисы без действительного их понимания.

Если вы мне не верите, решите такую задачку:

Вопрос: В чем разница между этими четырьмя вариантами использования промисов?

doSomething().then(function () {
  return doSomethingElse();
});

doSomething().then(function () {
  doSomethingElse();
});

doSomething().then(doSomethingElse());

doSomething().then(doSomethingElse);

Узнайте решение задачи
Всего голосов 139: ↑136 и ↓3+133
Комментарии121

Serge — решение для непрерывной локализации от Evernote

Время на прочтение3 мин
Количество просмотров12K
Сегодня я хочу рассказать вам о проекте, над которым я работал (и продолжаю работать) в Evernote с 2008 года, и которое несколько дней назад стало Свободным ПО.



Для многих разработчиков локализация ассоциируется с дополнительным пластом проблем: как поддерживать локализованные ресурсы в актуальном состоянии? А что если языков не 2-3, а 20-30? Как вовремя отправлять новые строки на перевод? А что если во время перевода разработка ушла вперед, и каких-то строк уже нет, а есть новые? Как мержить присланные переводчиками файлы ресурсов? Не секрет, что из-за этого многие просто забивают на локализацию или стараются отложить ее на потом.

Сейчас у Evernote более 150 млн пользователей по всему миру, более 70% этих пользователей находятся за пределами США, каждый месяц мы переводим по 15 тыс. новых слов в 40 с лишним проектах на более чем 26 языков, и выпускаем новые релизы наших продуктов одновременно на всех языках. При этом на техническую поддержку всей этой системы требуется один человек, и то изредка.

Как нам это удается?

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

Порт SoX для Android или попытка создать идеальный плеер

Время на прочтение4 мин
Количество просмотров8K
Здравствуй, Хабраюзер!

Несколько месяцев назад у меня появилась идея создания плеера под Android с огромным количеством эффектов. Единственным на то время (не знаю как сейчас:) плеером, с хоть какой-то обработкой звука, был PowerAMP, но количество аудио-эффектов в нем было мягко говоря скудным. Я попробовал реализовать эту идею. Из этого мало что вышло, но то, что получилось я расскажу в этом топике. Итак, кого заинтересовало, прошу под кат.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии44

Места распространения Android приложений

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

В какой-то момент разработчику андроид приложений становится тесно в рамках одного магазина Google Play. И тогда он начинает задумываться о том, как бы еще донести до пользователей свои приложения. Оказывается, достаточно много вариантов это сделать.

Перечислю те, которые попробовал сам. Сразу оговорюсь, что приложения у меня бесплатны, с рекламой внутри. С публикацией платных приложений разберусь, когда появятся достойные.
Читать далее
Всего голосов 72: ↑69 и ↓3+66
Комментарии37

Как бороться с низкокачественными Android приложениями

Время на прочтение5 мин
Количество просмотров58K
Все согласны, что Google Play переполнен некачественными приложениями, но никто не хочет брать вину на себя — принято винить абстрактный Android или просто Google, который выпустил систему без строгих гайдланов, создал маркет без модерации и дал возможность производителям делать свои оболочки с разноцветными иконками и градиентами.

Но каждый день выходят новые приложения с дизайном из iOS, темами из 2.3, не адаптированные для планшетов и с размытыми картинками на HD-экранах. И в этом виноват не Google, а разработчики. Кто-то не пытается спорить, когда заказчик присылает макеты от iOS версии, кто-то пытается, но сдается. Кто-то разрабатывает приложение ради опыта, откладывая «неважное» на потом, и так оно и остается. Стартапы делают приложения «за день», а потом лихорадочно фиксят баги, создавая снежный ком, который уже никто не перепишет с нуля. Крупные социальные сети, имея деньги и время, каким-то образом умудряются выпускать ужасные клиенты…
Читать дальше →
Всего голосов 139: ↑119 и ↓20+99
Комментарии125

Шпаргалка по графическому дизайну Android-приложений

Время на прочтение1 мин
Количество просмотров21K
Разработчик и дизайнер Питер Ноэджл опубликовал «Шпаргалку по графическому дизайну для Android». В ней практически все, что вам необходимо знать для создания графических элементов приложений и оформления страниц в Google Play.

Тут описаны размеры, DPI, цвета, соглашения по именам и много другой важной информации.

Кроме того даются ссылки на все важные ресурсы, такие как стандартные гайдлайны и инструменты, шаблоны и заготовки для Photoshop.

Всего голосов 32: ↑23 и ↓9+14
Комментарии10
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность