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

Веб разработчик

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

Техдолга не существует

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

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

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

Читать далее
Всего голосов 38: ↑28 и ↓10 +18
Комментарии 33

Домашний DPI, или как бороться с провайдером его же методами

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

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!
Всего голосов 246: ↑245 и ↓1 +244
Комментарии 187

Гамак дривен девелопмент: «Сон — это важная часть работы программиста»

Время на прочтение 20 мин
Количество просмотров 8K
Рич Хикки — создатель языка программирования Clojure, независимый разработчик ПО и консультант с 20-летним опытом работы в различных областях разработки ПО. Примерно 2,5 года в одиночку работал над Clojure, прежде чем кому-либо его показать.

image

Предлагаю вашему вниманию расшифровку доклада 2010 года «Hammock Driven Development»

Это просто доклад, основанный на опыте. Не научный доклад, не будет какой-то методологии, науки или чего-то ещё.

Когда был последний раз, когда вы всерьёз думали о чем-то целый час? Чтобы вас никто не беспокоил и вы могли сосредоточиться. Или целый день? Помните ли вы день, когда вы могли целый день над чем-то думать? Или месяц? Почти всё время думая над чем-то? Или год?

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

Еще одна вещь, которую я хотел бы спросить: «Когда вы в последний раз чувствовали себя уверенно, пытаясь сделать то, чего никогда раньше не делали?» И как вы думаете, что нужно, чтобы стать уверенным в том, чего вы никогда не делали раньше?

Очевидно, что, как разработчики программного обеспечения мы часто делаем еще одно приложение, которое извлекает что-то из базы данных и размещает в Интернете, но чем вы удачливее, тем больше вероятность того, что вы столкнётесь с проблемами которых никогда раньше не решали. И как вы начнёте их решать? Не чувствуя себя в большой опасности?

Поэтому я начну с того, что расскажу о некоторых вещах в области разработки софта, о которых мы все знаем, что это правда.
Всего голосов 18: ↑11 и ↓7 +4
Комментарии 7

Книга «Чистый Agile. Основы гибкости»

Время на прочтение 4 мин
Количество просмотров 6.5K
image Привет, Хаброжители! Сегодня пришла из типографии новая книга «Дяди Боба»! Как вести управление проектом по разработке и сопровождению программного обеспечения? На протяжении многих лет существовало много подходов — и большинство из них, мягко говоря, далеки от идеала. Надежды и молитвы распространены среди менеджеров, верующих в то, что судьба их проекта зависит от воли божьей. А те, кто в это не верит, частенько полагаются на мотивационные методики: жесткие сроки с наказаниями плетками, цепями, раскаленным маслом, фотографии людей, покоряющих скалы, и чаек, парящих над морем.

Подобные подходы почти повсеместно приводят к характерным признакам отвратительного управления проектами — команды разработчиков постоянно задерживают проект, несмотря на то что много работают сверхурочно. Команды, которые пишут программы явно низкого качества, не соответствующие потребностям клиентов.
Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 4

Как оценить уровень владения английским языком

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


На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.

В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
Читать дальше →
Всего голосов 99: ↑95 и ↓4 +91
Комментарии 62

Домик с элементами хай-тека, для бездомного кота

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

Недавно заметил, что на сарайном чердаке поселился тощий и весьма пугливый кот, с вечно грустными глазами…
Читать дальше →
Всего голосов 202: ↑202 и ↓0 +202
Комментарии 98

Нано-нейрон — 7 простых JavaScript функций, показывающих, как машина может «учиться»

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

Нано-нейрон — это упрощенная версия нейрона из концепции нейронной сети. Нано-нейрон выполняет простейшую задачу и натренирован на конвертацию температуры из градусов Цельсия в градусы Фаренгейта.


Код NanoNeuron.js состоит из 7 простых JavaScript функций, затрагивающих обучение, тренировку, предсказание, прямое и обратное распространение сигнала модели. Целью написания этих функций было дать читателю минимальное, базовое объяснение (интуицию) того, как же все-таки машина может «обучаться». В коде не используются сторонние библиотеки. Как-говорится, только простые «vanilla» JavaScript функции.


Эти функци ни в коей мере не являются исчерпывающим руководством по машинному обучению. Множество концепций машинного обучения в них пропущено или же упрощено! Это упрощение допущено с единственной целью — дать читателю самое базовое понимание и интуицию о том, как машина в принципе может «учиться», чтобы в итоге «МАГИЯ машинного обучения» звучала для читателя все более как «МАТЕМАТИКА машинного обучения».


NanoNeuron

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

«Чтение на выходные»: аудиодайджест материалов о стриминговых сервисах и музыкальной индустрии

Время на прочтение 5 мин
Количество просмотров 3.5K
Для «чтения на выходных» мы подобрали материалы о рекордах музыкальных чартов, триумфальном возвращении медиаплеера Winamp и о том, как изменились аудиоформаты за последние 100 лет.

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

Выбор MQ для высоконагруженного проекта

Время на прочтение 5 мин
Количество просмотров 170K
Современные масштабируемые системы состоят из микросервисов, каждый из которых отвечает за свою ограниченную задачу. Такая архитектура позволяет не допускать чрезмерного разрастания исходного кода и контролировать технический долг.

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

Если микросервис перестает отвечать на запросы в результате аварии, его клиенты должны быть мгновенно перенаправлены на резервный. Для управления потоком запросов часто используют так называемые очереди сообщений (message queues).

Недавно используемая нами очередь перестала нас устраивать по параметрам отказоустойчивости и мы заменили ее. Ниже мы делимся нашим опытом выбора.
Читать дальше →
Всего голосов 46: ↑38 и ↓8 +30
Комментарии 57

Обработка изображений: Tensorflow Object Detection API

Время на прочтение 6 мин
Количество просмотров 23K
Последние несколько лет в развитии глубоких нейронных сетей происходит настоящая революция: возникают новые архитектуры, совершенствуются фреймворки для разработчиков, а железо для экспериментов можно получить совершенно бесплатно — например, в рамках проекта Google colaboratory. Всем, кому интересно как применить предобученные модели из репозитория Tensorflow Object Detection API к решению своей задачи, используя мощности Colaboratory — добро пожаловать под кат.

Если не хочется читать статью — можно сразу познакомиться с ноутбучеком в репозитории
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 2

Машинное зрение для ритейла. Как прочитать ценники в магазине

Время на прочтение 7 мин
Количество просмотров 17K
Машинное зрение – очень актуальная тема в наши дни. Для решения задачи по распознаванию магазинных ценников с использованием нейронных сетей мы выбрали фреймворк TensorFlow.

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

Отдельно хотелось бы отметить, что решение может работать как на платформе SAP HANA в связке с Tensorflow Serving, так и на SAP Cloud Platform.

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

Хватит лирики – гоу в технику!
Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 10

Компьютерное зрение на примере приложения для IKEA. Часть 1

Время на прочтение 8 мин
Количество просмотров 45K
Готовился к очередному хакатону, решил обновить свои знания в области компьютерного зрения. В прошлый раз задачу распознавания номеров авто в видеопотоке я так и не смог решить быстро «в лоб». Сейчас, поразмыслив, решил немного упростить задачу. Было много идей, листал фотки в телефоне и наткнулся на привычный кейс для всех, кто бывал в магазине ikea — фотографию с чеком, где указан номер товара и его положение на складе самообслуживания.

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

Стажёр Вася и его истории об идемпотентности API

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

Идемпотентность — звучит сложно, говорят о ней редко, но это касается всех приложений, использующих API в своей работе.


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

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

Я прочитал 80 резюме, у меня есть вопросы

Время на прочтение 6 мин
Количество просмотров 114K
У нас не очень простое собеседование. Нужно пройти 3 шага:

  1. Прислать резюме, программист его посмотрит, лайкнет если всё хорошо. Рекрутер позвонит, задаст несколько вопросов.
  2. Встретиться или созвониться с нами. Узнаем, какой вы специалист.
  3. Прийти на тестовый день. Познакомиться с командой и поработать вместе. Пообщаться с техническим директором, обсудить зарплату и получить оффер.


Я три месяца был тем программистом, который оценивает резюме. Мне есть о чём с вами поговорить.
Читать дальше →
Всего голосов 229: ↑135 и ↓94 +41
Комментарии 637

Иммиграция фрилансера: что нужно знать

Время на прочтение 6 мин
Количество просмотров 36K
Популярность фриланса растет с каждым годом. Ведь этот способ организации рабочего процесса включает целую массу плюсов: свободный график, отсутствие привязки к конкретному рабочему месту, возможности для международного сотрудничества, большая свобода в выборе проектов.

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

Но процесс релокации фрилансера в разных странах немного отличается от переезда штатного специалиста. Рассмотрим его на примерах разных стран Европы, Азии и Северной Америки.
Читать дальше →
Всего голосов 23: ↑17 и ↓6 +11
Комментарии 9

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

Время на прочтение 3 мин
Количество просмотров 38K
Для удаленной работы есть миллион причин. Торчать по 8-9 часов в офисе вовсе не так здорово, как это показано в сериалах. В один прекрасный день, летом 2018-го, я просто решила, что мне нужно больше личного пространства и собралась увольняться, тем более на моей должности в то время я доросла до максимума и дальнейших перспектив не предвиделось.

image

Моя работа была чем-то средним между саппортом, тестировщиком, оператором SQL и Excel-ниндзя, а хотелось углубиться в тестирование.

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

Я решила сосредоточиться на ресурсах, предлагающих постоянную удаленную работу в компаниях, с которыми можно было связаться напрямую. Идея была заманчива, так как очень импонировало работать на иностранного работодателя без цепочки менеджеров-начальников.
Наиболее полезными с точки зрения количества и качества вакансий, а также удобства пользования, выглядели следующие сайты:
Читать дальше →
Всего голосов 30: ↑24 и ↓6 +18
Комментарии 13

«Пора валить из фронтенда»: Андрей Ситник о стагнации сообщества, опенсорсе и не только

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


Андрей Ситник из Злых марсиан — одно из самых известных российских имён во фронтенде: у его проектов PostCSS и Автопрефиксер счёт GitHub-звёзд идёт на десятки тысяч. Но поскольку Андрей живёт в Нью-Йорке, а путешествует по всей планете, застать в России его можно нечасто.

В мае он будет в Петербурге на конференции HolyJS, и по этому поводу его подробно расспросили участники программного комитета HolyJS Дмитрий DmitryMakhnev Махнёв и Максим Юзва. Почему Андрей считает, что фронтенд стагнирует, а код наших проектов излишне разбухший? В чём различия IT-сообществ разных стран? Как учить английский и почему это менее важно, чем кажется? Куда пропал проект Logux, презентованный на HolyJS ещё в 2016-м?
Читать дальше →
Всего голосов 102: ↑88 и ↓14 +74
Комментарии 296

Лучшая худшая работа в мире: ищем хабраавтора

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


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

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

Мы (JUG.ru Group) с каждым годом проводим всё больше разных конференций для разработчиков, поэтому сейчас ищем ещё одного сотрудника (в дополнение ко мне и olegchir) для текстов в наш хабраблог. Чтобы стало ясно, кто нам требуется и что этого человека ожидает, я расписал, каково это вообще, когда твоя работа — писать тексты для разработчиков в корпоративный блог на Хабре.
Читать дальше →
Всего голосов 48: ↑42 и ↓6 +36
Комментарии 15

Принципы построения REST JSON API

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

Эта памятка писалась для внутренних нужд (открыть глаза менее опытным в вебе коллегам). Но, т.к. я насмотрелся велосипедов от довольно уважаемых, казалось бы, контор, — выкладываю на хабр. Мне кажется, многим будет полезно.


Зачем


Надеюсь, читающий уже понимает, зачем ему вообще нужен именно REST api, а не какой-нибудь монстр типа SOAP. Вопрос в том, зачем соблюдать какие-то стандарты и практики, если браузеры вроде бы позволяют делать что хочешь.


  • Стандарт HTTP это стандарт. Его несоблюдение вредно для кармы и ведёт к постоянным проблемам с безопасностью, кэшированием и прочими "закидонами" браузеров, которые совсем не закидоны, а просто следование стандарту.
  • Велосипеды со всякими {error: "message","result":...} невозможно нормально тестировать и отлаживать
  • Поддержка большим количеством готовых клиентских библиотек на все случаи жизни. Те, кто будет вашим api пользоваться, скажут большое человеческое спасибо.
  • Поддержка автоматизированного интеграционного тестирования. Когда сервер на любые запросы отдаёт 200 ОК — ну, это такое себе развлечение.
Читать дальше →
Всего голосов 71: ↑55 и ↓16 +39
Комментарии 207

Тестирование на примере ReactJS: насколько глубока кроличья нора

Время на прочтение 14 мин
Количество просмотров 23K
Всем привет, меня зовут Ярослав Астафьев, и сегодня я хотел бы провести обзорную экскурсию в тестирование ReactJS. Я не буду углубляться в сложности тестирования веб приложений с использованием определенных библиотек (руководствуясь подходом «сложно тестировать только плохой код»), взамен постараюсь разнообразить ваш кругозор. Так что в этой статье React — скорее повод собрать воедино подходы к тестированию, отправная точка, объединяющая хипстеров и технологии. Корректнее будет даже сказать, что речь пойдет о принципах тестирования вообще с иллюстрациями на ReactJS (и не только).

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



Если введение не вызвало приступ синестезии — добро пожаловать под кат.
Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 0

Информация

В рейтинге
Не участвует
Откуда
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Дата рождения
Зарегистрирован
Активность