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

Разработчик бэкенда

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

Переговоры о зарплате — как не прогореть

Время на прочтение8 мин
Количество просмотров127K
image
Все фотографии в этой статье взяты из трилогии Кристофера Нолана «Тёмный рыцарь». Это всё же Бэтмен!

Давайте сыграем!

При подготовке вы хорошо поработали с телефоном. Интервью в офисе этим утром проходили занятно. После общего обеда сотрудник отдела кадров сел за стол напротив вас. Он спросил: «Какую зарплату вы бы хотели?».

Что вам делать? Что же вам делать?!


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

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

Этот вопрос звучит вполне резонно. Разве не надо отвечать на этот вопрос?
Читать дальше →
Всего голосов 81: ↑67 и ↓14+53
Комментарии392

Команда dd и все, что с ней связано

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

В UNIX системах есть одна очень древняя команда, которая называется dd. Она предназначена для того, чтобы что-то куда-то копировать побайтово. На первый взгляд — ничего выдающегося, но если рассмотреть все возможности этого универсального инструмента, то можно выполнять довольно сложные операции без привлечения дополнительного ПО, например: выполнять резервную копию MBR, создавать дампы данных с различных накопителей, зеркалировать носители информации, восстанавливать из резервной копии данные на носители и многое другое, а, при совмещении возможностей dd и поддержке криптографических алгоритмов ядра Linux, можно даже создавать зашифрованные файлы, содержащие в себе целую файловую систему.
Опять же, в заметке я опишу самые часто используемые примеры использования команды, которые очень облегчают работу в UNIX системах.
Читать дальше →
Всего голосов 323: ↑315 и ↓8+307
Комментарии119

На что смотрит свёрточная нейросеть, когда видит наготу

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


На прошлой неделе в компании Clarifai мы формально анонсировали нашу модель распознавания непристойного контента (NSFW, Not Safe for Work).

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



Автоматическое выявление обнажённых фотографий было центральной проблемой компьютерного зрения на протяжении более двух десятилетий, и из-за своей богатой истории и чётко поставленной задачи она стала отличным примером того, как развивалась технология. Я использую проблему детектирования непристойности для пояснения, как обучение современных свёрточных сетей отличается от исследований, проводившихся в прошлом.
Читать дальше →
Всего голосов 75: ↑60 и ↓15+45
Комментарии96

Разработка power bank для ноутбука. От макета к готовому изделию. Часть первая

Время на прочтение10 мин
Количество просмотров50K
Сделать себе внешний аккумулятор для ноутбука я хотел уже давно, 3-4 года назад для работы в парке. Хоть и мечта рисовать схемы и трассировать платы в парке Горького или Битцевском лесу так и не реализовались (пока), но внешний аккумулятор (назовем его по-современному — PowerBank) я таки сделал. О том как это устройство проходило путь от макета до конечного изделия и почему я делал то, что уже есть на рынке, под катом.


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

Грандиозное тестирование аккумуляторов AA/AAA

Время на прочтение6 мин
Количество просмотров297K
После моего грандиозного тестирования батареек многие просили провести такие же основательные тесты NiMh-аккумуляторов. За четыре месяца я протестировал 198 аккумуляторов (44 модели AA и 35 моделей AAA).



Читать дальше →
Всего голосов 217: ↑215 и ↓2+213
Комментарии73

Ещё раз про семь основных методологий разработки

Время на прочтение8 мин
Количество просмотров979K
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


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

Как я учился работать с XML

Время на прочтение4 мин
Количество просмотров81K
image
Честно говоря, я довольно сильно удивился, не найдя статьи по подобной теме на хабре. А тема-то довольно актуальная и нужная, поэтому возьму на себя смелость немного ее осветить.
И как же?
Всего голосов 75: ↑68 и ↓7+61
Комментарии55

Что такое быть хорошим разработчиком?

Время на прочтение2 мин
Количество просмотров19K
Опыт вождения по дорогам Киева натолкнул меня на пару интересных мыслей. Все мы знаем, что на дорогах «куча идиотов». Ровно так же дело обстоит и в разработке – куда ни глянь, страшно на код взглянуть. Почему так происходит?
Читать дальше →
Всего голосов 49: ↑30 и ↓19+11
Комментарии27

Книги, которые должен прочитать Java программист: от новичка до профессионала

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

Книги, которые должен прочитать Java программист: от новичка до профессионала


[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
Читать дальше →
Всего голосов 90: ↑77 и ↓13+64
Комментарии77

Что такое красивый код, и как его писать?

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

1. Вступление


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

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

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

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

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

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

В этом-то и заключается вся сложность: твое представление о “достойном” и “красивом” коде полностью основано на личном многолетнем опыте. Попробуй теперь передать это представление в сжатые сроки человеку с совсем другим опытом или даже вовсе без него.

Но если для нас действительно важно качество кода, который пишут люди, работающие вместе с нами, то попробовать все же стоит!
Читать дальше →
Всего голосов 97: ↑79 и ↓18+61
Комментарии145

Универсальный метод обхода запрета Yota раздавать интернет с телефона или собираем модуль ядра Android

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

Старые методы и их недостатки


Я думаю, никому уже не интересно читать во второй раз (а может быть и в третий), о том, как Yota определяет, пользуется ли человек телефоном в режиме модема или точки доступа. «Зачем нам ещё одна статья?» — спросите вы.

Дело в том, что методы обхода, приведённые по ссылкам, не позволяют настроить телефон таким образом, чтобы позже при подключении любых устройств не потребовалось ничего настраивать заново. Кроме того, пользователь будет испытывать серьёзные неудобства, если он подключает несколько устройств с разными TTL. Придётся как минимум менять TTL на одном из них.

Именно эти причины мотивировали меня копать дальше в поисках ответа на вечный вопрос «Как же всё-таки нахаляву раздать интернет всему офису?». И найти такой ответ удалось (только для android, у меня нет яблока).
Читать дальше →
Всего голосов 59: ↑57 и ↓2+55
Комментарии42

Не учите фреймворки, учите архитектуру

Время на прочтение5 мин
Количество просмотров198K
Некоторое время назад у меня состоялся интересный разговор, коллега активно защищал Angular, говорил, что тот ускоряет веб-разработку. Я более десяти лет разрабатываю сложные web-сервисы, работал в Microsoft, в Spotware Systems на Кипре, сейчас создаю приложение для стартапа из Кремниевой долины, и в общем то слежу за трендами. Однако почувствовал себя динозавром, потому что не видел смысла использовать фронтэнд-фреймворки до того момента, а оказалось, что это уже мейнстрим. Шёл 2014-й год, я погрузился в мир Angular, Knockout и Backbone, что из этого вышло, почему я от них в итоге отказался и рекомендую коллегам сделать то же самое – под катом.
Читать дальше →
Всего голосов 152: ↑133 и ↓19+114
Комментарии123

Универсальные платформы это зло

Время на прочтение6 мин
Количество просмотров20K
Перевод статьи «Core Frameworks Don’t Work (most of the time)» от Rudy Lacovara, в которой он критикует практику, когда компании создают собственные универсальные платформы для разработки ПО, на основе которых реализуют несколько совершенно не связанных проектов. На картинке изображен Борг из Стар Трека, это раса киборгов, которая ассимилирует все встречающиеся организмы в единый супер-организм.


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

Национальная Программная Платформа — новый мегапопил или будет что-то полезное?

Время на прочтение5 мин
Количество просмотров2.4K
Если кто-то следит за телеящиком, то мог заменить знаковое выступление В.В. Путина, в котором он выразил недоумение, куда исчезли 80 миллиардов рублей на развитие «Электронной России» и других госпрограмм по ИТ.

И вот, мы наблюдаем старт нового госпроекта — Национальной Программной Платформы, с очень сильным акцентом на СПО (свободное программное обеспечение. Не всегда — бесплатное, но [обычно] — в исходных кодах). Интересно разобраться, что готовят нам чиновники, ведь «национальная платформа» звучит серьезно и может затронуть всех нас.

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

В "Справка о Перечне технологических платформ..." в пункте 4 перечислены виды ПО, которое будет входить в НПП. Рекомендую посмотреть, но если коротко — там перечислено вообще все, начиная с базового системного ПО:
• Операционные системы
• Компиляторные технологии
• Виртуализация
• Веб-серверы
• Серверы приложений
• СУБД (в т.ч. нереляционные)

до технологий построения электронных государственных решений, систем распознавания образов, защиты мобильного трафика, искусственного интеллекта и т.д. и т.п.
UPDATE — судя по дискуссии, никто список не изучил. А зря — он далеко за рамками операционных систем.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии140

Дружим Python 3 с MS Visual C++. Строим мост в Boost.Python с автоматической перекодировкой

Время на прочтение9 мин
Количество просмотров14K
Всем доброго {daytime}!

Сегодня пришла пора рассказать вам о фундаментальной проблеме перекодировки при взаимодействии проекта собранного на MS Visual C++ на платформе Windows и наиболее приятной скриптовой обвязки для языка C++, благодаря библиотеке Boost.Python, собственно написанной для языка Python.

Вы ведь хотите использовать для вашего приложения на C++ под ОС Windows хорошую скриптовую обвязку на последней версии Python 3.x, либо вы хотите использовать для вашего приложения на Python максимально ускоренный участок кода вашего модуля, переписанный на C++. В обоих случаях, если вы знаете оба языка как минимум хорошо, вам стоит это прочитать.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии6

Интернет-эквайринг «для чайников»

Время на прочтение13 мин
Количество просмотров266K
Доброго времени суток, хабравчане!

Этой статьей я хочу пролить свет на интернет-эквайринг в целом, рассказать с чем его едят.
Цель статьи: для общего развития.

Электронная коммерция – это сфера экономики, которая включает в себя все финансовые и торговые транзакции, осуществляемые при помощи компьютерных сетей, и бизнес-процессы, связанные с проведением таких транзакций.
Читать дальше →
Всего голосов 16: ↑11 и ↓5+6
Комментарии9

Сервисы мобильного эквайринга и мини-терминалы в России — пора принимать Visa и MasterCard!

Время на прочтение31 мин
Количество просмотров247K
Square, PayPal, iZettle — известные во всем мире компании, которые предлагают решения по приему банковских карт. Ни один из брендов не представлен в России. Зато у нас есть десять собственных. Мною проведено независимое исследование сервисов мобильного эквайринга в России, позволяющих принимать платежи по банковским картам Visa и MasterCard: iPay, Sum Up, Pay Me, 2Can, SimplePay, LifePay, Термит, ibox, Paybyway и RBK Card.

Захотелось понять: что движет людьми и рынком, что предлагают сервисы и кому могут быть интересны эти решения. Если Вы занимаетесь частной практикой или фрилансом, у Вас есть свой бизнес, или Вы интересуетесь e-commerce — эта статья для Вас. Под катом Вы найдете обзор сервисов, отчет о тестировании, а также конкретные рекомендации по приему карт.
Читать дальше →
Всего голосов 72: ↑70 и ↓2+68
Комментарии69
12 ...
25

Информация

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

Специализация

Backend Developer
Senior