Как стать автором
Обновить
4
0
Дмитрий Сураев @DiSur

Разработчик C#

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

Сколько ты стоишь? Метод анализа вакансий с HR-агрегаторов

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

Конечно, когда мы решаемся сменить работу, мы исходим из своих личных побуждений и мотиваций; и очевидно, что увеличение своего материального положения — не последняя из причин. Но при ответе себе лично на вопрос «сколько я хочу получать» обычно оперируем своим собственным потреблением. Но случалось ли вам слышать именно на собеседовании такой вопрос: «А почему Вы хотите получать именно столько?» Мне случалось пару раз, и, признаюсь, в те разы терялся что ответить. Некоторые размышления меня натолкнули, что лучший ответ будет: «Столько предлагает рынок».

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

15 важных карьерных советов для разработчиков

Время на прочтение6 мин
Количество просмотров37K
Перевод от Alconost

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



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

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



Разные цвета? Это смены направлений: из разработки в продуктовый менеджмент, из продаж в основатели стартапа и т.п.

На графике есть и неудачи. И знаете, почему? Потому что быть лучшим предполагает некоторый риск. А если принять достаточно рисков, то обязательно в чем-то оступитесь.

Принимая во внимание все вышесказанное, позвольте дать вам 15 советов о ваших карьерных выборах, кодинге, амбициях и всем остальном.
Читать дальше →
Всего голосов 38: ↑25 и ↓13+12
Комментарии15

Софт пожирает мир. Закат универсальных CPU

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

Tesla по сравнению с другими автомобилями сегодня — примерно как первый смартфон среди кнопочных телефонов в 2006 году

Десять лет назад Марк Андриссен опубликовал в WSJ статью «Почему софт пожирает мир» ("Why Software Is Eating The World"). Он утверждал, что произошёл фундаментальный сдвиг в важности программного обеспечения для человеческой цивилизации.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+40
Комментарии84

Selenium для игр: автоматизируем крестики-нолики

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

На тему моего стрима на этой неделе меня вдохновила демонстрация Судхарсана Селвараджа, где он использовал Selenium для игры на виртуальном пианино. Я тоже хотела использовать Selenium, чтобы немного развлечь вас и себя, поэтому составила этот «рецепт», наглядно демонстрирующий, как автоматизировать игру в крестики-нолики (tic-tac-toe) онлайн!

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

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

Шпаргалка по SOLID-принципам с примерами на PHP

Время на прочтение10 мин
Количество просмотров446K
Тема SOLID-принципов и в целом чистоты кода не раз поднималась на Хабре и, возможно, уже порядком изъезженная. Но тем не менее, не так давно мне приходилось проходить собеседования в одну интересную IT-компанию, где меня попросили рассказать о принципах SOLID с примерами и ситуациями, когда я не соблюл эти принципы и к чему это привело. И в тот момент я понял, что на каком-то подсознательном уровне я понимаю эти принципы и даже могут назвать их все, но привести лаконичные и понятные примеры для меня стало проблемой. Поэтому я и решил для себя самого и для сообщества обобщить информацию по SOLID-принципам для ещё лучшего её понимания. Статья должна быть полезной, для людей только знакомящихся с SOLID-принципами, также, как и для людей «съевших собаку» на SOLID-принципах.

Читать дальше →
Всего голосов 110: ↑100 и ↓10+90
Комментарии67

Первые пять шагов для перелома ситуации с читерами в PvP-шутере

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

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

Итак, эти шаги:

• Обфускация.
• Хранение данных.
• Миграция прогресса.
• Система бана.
• Подсчет хеша всех библиотек.
• Защита от переподписывания версий.
• Photon Plugin.
• Серверная валидация инаппов.
• Защита от взлома оперативной памяти.
• Собственная аналитика.
• И одновременный релиз всех решений.

Сегодня поговорим про первые пять пунктов.

Читать далее
Всего голосов 34: ↑33 и ↓1+40
Комментарии83

Прочти меня: код, который не выбесит соседа

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


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

Я расскажу о подходах, которые мы используем в Яндекс.Такси для написания читаемого кода на C++, Python, JavaScript и других языках.
Читать дальше →
Всего голосов 51: ↑42 и ↓9+49
Комментарии75

Стоицизм в IT: почему древняя философия захватила Кремниевую долину?

Время на прочтение6 мин
Количество просмотров20K
Стоицизм попал в момент. Античная греческая философия недавно засветилась в The New Yorker, The New York Times и The Guardian. Из этих статей понятно, что стоицизм почему-то стал популярным среди тех, кто задает социальные тренды во всем мире — технических специалистов. Тим Феррис, Джек Дорси (основатель Twitter), Бред Фелд (венчурный инвестор), Кевин Роуз (основатель Digg), Блейк Ирвинг (СЕО GoDaddy) — только начало списка гуру Кремниевой долины, которые говорят и популяризируют стоицизм.

Группа психологов и ученых Modern Stoicism организовывает обучающие семинары и ведут блог с 2012 года. Каждый год проводят конференции Stoicon в разных странах, а небольшие собрания Stoicon-X независимо проходят в разных городах, включая Торонто, Москву и Нью-Йорк.

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


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

Как мы «вырастили» и победили читеров в своем онлайн-шутере

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

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

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

Читать далее
Всего голосов 68: ↑63 и ↓5+83
Комментарии111

Отслеживание лиц в реальном времени в браузере с использованием TensorFlow.js. Часть 1

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

Такие приложения, как Snapchat, предлагают удивительное разнообразие фильтров для лиц и объективов, которые позволяют накладывать интересные эффекты на фотографии и видео. Если вы когда-либо дарили себе виртуальные собачьи уши или праздничную шляпу, вы знаете, насколько это может быть весело!
Задумывались ли вы о возможности создания таких фильтров с нуля? Что ж, теперь у вас есть возможность научиться всему, используя только веб-браузер! В этой серии статей мы узнаем, как создавать в браузере фильтры в стиле Snapchat, обучать модель искусственного интеллекта (ИИ) понимать выражения лиц и добиваться ещё большего, используя библиотеку Tensorflow.js и отслеживание лиц.

Приятного программирования!
Всего голосов 9: ↑8 и ↓1+7
Комментарии0

Обнаружение эмоций на лице в браузере с помощью глубокого обучения и TensorFlow.js. Часть 2

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

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

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

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

Приятного программирования!
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Опыт разработки первой мобильной игры на Unity или как полностью перевернуть свою жизнь

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

Заурядная история заурядного новичка в геймдеве.

Читать далее
Всего голосов 11: ↑10 и ↓1+14
Комментарии18

Мы компания в айти — нам всё равно, куда идти

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

«Забудь дедукцию, давай продукцию», —  эту формулу я усвоил сразу после окончания института. Тогда я ещё был финансистом и мир науки и образования меня буквально выкинул в мир бизнеса. Я ждал матриц, проектных структур, менеджмента строго по Мескону и Хедоури, а получил «твою мать, какого х** бюджет не сводится, давай, подрисуй цифирь и отправим это уже главнюкам». Вооот, а это была компания на 120 человек с чистой прибылью в пару сотен миллионов. Это было начало 2008 года, который компания пережила, сократив 23 человека. А вот декабрь 2014-го стал последним месяцем существования всего холдинга. Я, уже большой чувак, понимал, что это всё — результат череды управленческих ошибок. К тому времени я работал сисадмином в ИТ-компании и был уверен, что здесь всё будет круто. Сменив три ИТ-компании, я понял, что айтишники при всей инженерной стройности управляют и развиваются без вектора. И знаете, сейчас меня это тревожит.

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

Читать далее
Всего голосов 69: ↑61 и ↓8+80
Комментарии62

Как учить рекурсию разработчикам программного обеспечения

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

Пришло время переосмыслить обучение рекурсии с помощью реальных кейсов вместо элегантных математических уравнений




Для программистов, особенно программистов-самоучек, первое знакомство с миром «рекурсии» в основном связано с математикой. При упоминании рекурсии программисты сразу вспоминают некоторые из наших любимых слов на F – нет, не те самые слова на F, а:

Фибоначчи

function fibonacci(position) {
 if (position < 3) return 1;
 return fibonacci(position - 1) + fibonacci(position - 2);
}

Факториал

function factorial(num) {
 if (num === 1) return num;
 return num * factorial(num - 1);
}

Приятного чтения!
Всего голосов 14: ↑11 и ↓3+12
Комментарии27

Продвижение программы в Apple Store, на примере совершенно конкретного приложения

Время на прочтение7 мин
Количество просмотров14K
Этот пост — попытка обобщить мой небольшой опыт продвижения программ в АппСтор и начать обсуждение способов продвижения

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

Сейчас после двух месяцев стремительного набивания шишек, места на моей голове уже почти не осталось — как следствие пора делится опытом и очищать место под новые :)

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

Пишем игру Гонки на бумаге, C# WPF

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

Дело было в начале 90-х, компьютера не было, но было желание поиграть в гонки ) Показал мне друг как можно на тетрадном листе бумаги в клеточку играть в гонки. А еще говорят, что есть настольная игра с такими правилами. И что чуть ли не все играли в эту игру в университете за парами. Появилась идея реализовать алгоритмы данной игры и реализовать разработку на C#, WPF.

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

Часть 6. Карьера программиста. Свой стартап

Время на прочтение10 мин
Количество просмотров10K
Продолжение рассказа «Карьера программиста».

Я не притрагивался к книге “Карьера программиста” ровно год, и видимо не зря. За последние месяцы, со мной произошло много трансформаций, которые позволят дополнить эту историю материалами о том, как создать и развивать IT-компанию. Это кажется закономерным. Если вы амбициозный программист или фрилансер, то рано или поздно задаетесь вопросом: «А что дальше?». Вот, я уже старший разработчик — а что дальше? Назначили архитектором — а что дальше?..

Но давайте вернемся к тому, где остановились. Последняя часть №5. Карьеры Программиста окончилась тем, что я заканчивал карьеру разработчика-фрилансера и собираюсь вложить все свои сбережения в создание стартапа. С момента публикации последней 5-ой главы, мне пришло с десяток личных сообщений на Хабр и даже несколько в социальные сети, с вопросом о продолжении книги. Многим читателям Хабра оказалось полезным и познавательным сие чтиво. И так как каждое дело нужно доводить до конца и на это дело есть спрос — спешу продолжить делиться своим опытом.
Читать дальше →
Всего голосов 8: ↑6 и ↓2+7
Комментарии14

Карьера программиста. Часть 7. Последние 7 лет

Время на прочтение8 мин
Количество просмотров14K
Продолжение рассказа «Карьера программиста».

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

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

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

Не заблудиться в трёх if'ах. Рефакторинг ветвящихся условий

Время на прочтение11 мин
Количество просмотров11K
На просторах интернета можно найти множество описаний приемов упрощения условных выражений (например, тут). В своей практике я иногда использую комбинацию замены вложенных условных операторов граничным оператором и объединения условных операторов. Обычно она дает красивый результат, когда количество независимых условий и выполняемых выражений заметно меньше количества веток, в которых они комбинируются различными способами. Код будет на C#, но действия одинаковы для любого языка, поддерживающего конструкции if/else.

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

Определяем пульс по вебкамере в 50 строчек кода

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

Привет Хабр.

Однажды мне попалось описание приложения для Android, которое определяло пульс по камере телефона, просто по общей картинке. Камера не прикладывалась к пальцу, кожа не просвечивалась светодиодом. Интересный момент был в том, что ревьюеры не поверили в возможность такого определения пульса, и приложение было отклонено. Чем дело кончилось у автора программы, не знаю, но стало интересно проверить, возможно ли это.

Для тех кому интересно что получилось, продолжение под катом.

Читать далее
Всего голосов 67: ↑66 и ↓1+86
Комментарии72

Информация

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