Pull to refresh
0
0
Send message

C++ — это замечательно, и вот почему

Reading time8 min
Views30K

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

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

Читать далее
Total votes 38: ↑18 and ↓20+5
Comments110

Фулстеки — это будущие архитекторы, а не вечные мидлы (если захотят конечно)

Reading time12 min
Views23K

Ой, а напомни как называют очень опытного программиста, там что-то такое романтично-средневековое, кажется «милорд»...

Почти три года назад на Хабре вышла статья «Фулстеки — это вечные мидлы. Не идите по этому пути, если не хотите страдать». Я еще тогда был не согласен с изложенным, но сдержался:) Однако недавно я стал свидетелем весьма примечательного случая и сразу вспомнилась та самая статья... Итак, одна команда испытывала нехватку бекенд-разработчиков и сравнительный переизбыток раработчиков на фронте. Дело осложнялось сжатыми сроками сдачи проекта. Проблема типовая, но стек..., ах если бы не стек: бек — NodeJs, фронт — React, TypeScript и там и там.

Я не хочу отрицать важность специализации вообще, но в данном конкретном случае ответ очевиден: нужно перебросить кого-то с фронта на бек. Да, это будет неэффективно, да скорее всего в бекенд-коде, который напишет фронтендер будет больше проблем, но альтернатива то еще хуже: часть команды будет зашиваться, пока другая — простаивать. Если вы дочитали до этого места и уже готовитесь написать гневный комментарий о том, что «бекенды же бывают разные и в том числе такие сложные, что ваще капец и такой финт ушами не пройдет и только всех замедлит и сделает еще хуже», то не спешите не сдерживайтесь, пишите прямо сейчас (больше мнений в комментах!). Так вот, это был простой бекенд пишущий и читающий в/из базы данных. Никаких особенно сложных штучек-дрючек там не было...

Может быть я старомоден, но сегодняшняя специализация порой видится мне чрезмерной. Раньше все было как-то проще: ты либо умеешь программировать, либо нет. А сейчас все кругом ищут кибер-ниндзю с опытом работы исключительно на фреймворке X не менее пяти лет (хотя фреймворк X существует четыре года). Если ты работал с фреймворком X всего три года, то с тобой не о чем разговаривать: ты — джун. Ага, т.е. известному английскому банку не впадлу нанимать на Java-проект кандидата с десятилетним опытом на .NET’е, потому что они считают, что важны фундаментальные знания, а не знания конкретной платформы (ну напорется он пару раз на стирающиеся дженерики и сравнение строк через ==, почешет репу и перестанет так делать), а ООО «Рога и Копыта Интернейшнл» может работать только с теми, кто пять лет ковырял фреймворк Х. По-моему это фигня. Кстати, тот парень в банке, что перешел с .NET'а на Java сейчас там числится синьором и находит горы проблем в мердж-реквестах разработчиков, пишущих на Java значительно дольше него.

Читать далее
Total votes 54: ↑51 and ↓3+58
Comments35

Закалка тимлида: как вывести проект из пожара, не сгореть самому и не спалить команду

Reading time23 min
Views19K

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

На прошедшей в апреле конференции TeamLead Conf 2021 я поделился своим опытом, как вытащить проект из пожара и обойтись без человеческих жертв. Под катом моя история, а если предпочитаете смотреть — вот запись выступления.

Читать далее
Total votes 52: ↑52 and ↓0+52
Comments17

Как оценить Soft Skills на собеседовании и помочь разработчику их развить

Reading time13 min
Views36K

Довольно очевидно, что junior-разработчику и тимлиду требуется сильно различающийся набор навыков. И если в случае hard skills всё уже миллион раз проанализировано и посчитано, то о необходимом наборе soft skills в зависимости от должности мы можем только понимать на уровне ощущений и здравого смысла. 

Более того, в нашей индустрии не принято говорить после собеседования, что кандидату отказано из-за его уровня soft skills, хотя мы даже не пытаемся конкретизировать, что конкретно в нём нас не устраивает. Вы наверняка слышали или сами употребляли фразы вроде «просто человек странный», «почему-то не нравится» или «чувствуем, что он не вольется в команду». Но почему? Что на самом деле с ним не так?

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

Читать далее
Total votes 21: ↑18 and ↓3+24
Comments18

Зачем делать копию Facebook под Internet Explorer 6 в 2021 году?

Reading time15 min
Views28K

В августе этого года Microsoft прекращает поддержку Internet Explorer 11, тем самым заканчивает эпоху браузеров, которые несли в себе одну очень важную миссию… скачивали нормальный браузер знакомили людей с когда-то прекрасным местом как интернет.

И, в связи с этим, меня посетила мысль — «А не сделать ли мне современный сайт так, как делали их тогда?». Отличный повод вспомнить как начиналась моя дорога в разработку и поностальгировать за теми годами. Вечер свободный, каких-то сложностей с вёрсткой под Internet Explorer я уже не припомню. Так-то почти 15 лет прошло. Думаю, справлюсь за час сильно не напрягаясь…
Продолжить чтение...
Total votes 82: ↑81 and ↓1+109
Comments65

Как стать Java разработчиком за 1,5 года

Reading time10 min
Views310K

Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддержки и системной интеграции. Первого февраля 2019 г. закончился мой шестимесячный испытательный срок, и у меня на руках бессрочный контракт. Я хочу поделиться своим опытом, как можно самостоятельно выучить Java так, чтобы получить работу.



Это мой рабочий стол. Пить пиво в рабочее время у нас разрешено, мы же в Германии.


Моя первая статья: «IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там»

Читать дальше →
Total votes 129: ↑122 and ↓7+115
Comments212

«Прогрев» наушников — мифология

Reading time5 min
Views145K
На создание этого материала нас подвигли вопросы некоторых пользователей, заданные в л/с, а также в комментариях к недавней публикации о выборе наушников. Различными ресурсами в сети и большим количеством людей на соответствующих форумах распространяется и информация о «пользе» «прогрева» электродинамических излучателей. Под «прогревом» авторы подразумевают непрерывное многочасовое использование акустических систем и наушников с целью изменения их физических свойств и, соответственно, звука, зачастую, с использованием т.н. розового и белого шума.



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

Анализ информации и некоторые комментарии специалистов позволяют с уверенностью Ньютона после удара яблоком, говорить том, что «прогрев» наушников занятие бесполезное. Но всё же, чтобы всем людям стало понятно, о чем идет речь, начнём с самого мифа. Далее последует аргументация в пользу сделанных выводов.
Читать дальше →
Total votes 42: ↑37 and ↓5+32
Comments225

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

Reading time4 min
Views11K


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

В этой статье собраны советы о том, что следует учитывать при согласовании ЗП с зарубежной компанией.

Зарплатная вилка


Средняя зарплата разработчиков и инженеров-программистов варьируется в разных странах мира. Например, по данным PayScale, разработчики в Швейцарии зарабатывают 95 тысяч долларов. В Германии этот показатель составляет $60 тыс., в Норвегии — $64 тыс., в Дании — $72 тыс. В США разработчик в среднем зарабатывает $110 тыс. в год, в Израиле и Великобритании — $93 тыс. и $89 тыс. соответственно. Подробнее о зарплатах разработчиков в Европе можно почитать здесь.

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

Налоговый вопрос при переезде


Сколько денег останется на руках после уплаты налогов? Как происходит сбор налогов? Будет ли работодатель платить от вашего имени или вам придется подавать декларации и перечислять деньги самостоятельно?

Поговорите с иностранным работодателем или даже обратитесь к местному налоговому эксперту за консультацией. Договаривайтесь о льготах, вычетах и исключениях на берегу.
Читать дальше →
Total votes 6: ↑4 and ↓2+5
Comments19

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

Reading time6 min
Views94K


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


Я подумал — ну окей, так, наверное, бывает не всегда. С тех пор прошло лет 5, я не раз менял работу, но везде и всегда созвоны были пустой тратой времени.

Читать дальше →
Total votes 303: ↑203 and ↓100+163
Comments676

Как мы решили проблемы с z-index

Reading time4 min
Views9K

Привет, Хабр!

Буквально недавно на работе я получил баг с z-index, я его по быстрому пофиксил и получил еще два бага. Я как то не придавал этой проблеме значения, и тут мой коллега Дмитрий Рокало ревьювил мой очередной пул реквест и пришел ко мне с идеей, как покончить войну с z-index в нашем проекте. И как раз в тот же день, я слушал подкаст веб стандарты и там обсуждали статью по работе с z-index. И решение, которое предлагают в статье, показалось мне крайне нелепым по сравнению с тем, что предложил мне Дима. Поэтому я решил спонтанно записать это видео и написать статью. Возможно это решение кому-то будет полезным. (Данная статья является расшифровкой видео).

Read more
Total votes 8: ↑7 and ↓1+7
Comments17

Трёхпроходный алгоритм рефакторинга Front End

Reading time4 min
Views8K

Попался мне достаточно крупного размера проект написанный на React + Typescript.
Покопался в коде. Всё круто, контейнеры, компоненты, типы везде стоят, линтер настроен, styled-components, даже storybook есть и некий react-query.

Ну просто счастье, а не проект!

Сажусь делать простую таску – какую-то страничку собрать из компонентов.
Пишу в коде But… и IDE мне предлагает 16 Button компонентов.

Блииин…

Дальше больше...
Total votes 13: ↑12 and ↓1+14
Comments13

5 способов краулинга веб-сайта

Reading time3 min
Views18K


Из Википедии веб-краулер или паук – бот, который с просматривает всемирную паутину, как правило, с целью индексации. Поисковики и другие веб-сайты используют краулеры для обновления своего содержимого или индексации содержимого других сайтов.


Давайте начнем!!


Metasploit


Вспомогательный поисковый модуль Metasploit представляет собой модульный поисковый робот, который будет использоваться вместе с wmap или автономно.


use auxiliary/crawler/msfcrawler
msf auxiliary(msfcrawler) > set rhosts www.example.com
msf auxiliary(msfcrawler) > exploit

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


  • about.php
  • jquery contact form
  • html и т. д.
Читать дальше →
Total votes 12: ↑8 and ↓4+10
Comments5

Различные методы брутфорс атак WordPress

Reading time5 min
Views19K


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


Содержание:


  • Предварительные требования
  • WPscan
  • Metasploit
  • Люкс Burp
  • Как обезопасить сайт от брутфорса?

Предварительные требования


  • Сайт на WordPress. Здесь мы будем использовать собственную лабораторию для пентеста, о созданию которой был посвящен наш предыдущий пост.
  • Kali Linux (WPscan). Более подробно о WPScan и его возможностях мы уже писали, а вместо Kali Linux можно использовать любую другую из ОС для белого хакинга.
  • Burp Suite (Intruder). Более подробно о данном инструменте можно узнать здесь.

WPscan


WPscan – это фреймворк, который используется в качестве сканера уязвимостей методом «черного ящика». WPscan предустановлен в большинстве дистрибутивов Linux, ориентированных на безопасность, а также доступен в виде подключаемого модуля.


Здесь мы будем использовать WordPress, размещенный на локальном хосте.



Во время перебора можно использовать:


  • Собственные общие списки логинов и паролей
  • Базы логинов и паролей, которые уже есть в Kali Linux
Читать дальше →
Total votes 3: ↑2 and ↓1+1
Comments7

HackTheBox. Прохождение Intanse. Flask, атака HLE, SQL инъекция, SNMP to RCE, Ret2Libc

Reading time7 min
Views5.1K

Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox.

В данной статье получаем секрет Flask с помощью SQL инъекции, проводим криптоатаку удлинения сообщения, получаем RCE с помощью SNMP, и эксплуатируем уязвимость переполнения буфера в приложении с помощью Ret2Libc атаки.

Организационная информация
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments0

Пошаговый план старта на Upwork

Reading time3 min
Views263K
image

Рано или поздно разработчик всерьез задумывается о фрилансе. В этот момент большинство идут на биржи. Выбор бирж огромен. В СНГ: fl.ru, weblancer и прочие. Но когда доходишь до дела начинаешь понимать в каком все упадке. Единственным местом где водятся более-менее нормальные заказы можно назвать fl.ru и еще одну-две биржы. Но на fl.ru нужен pro аккаунт, ведь оказывается чтобы взять заказ нужно заплатить бирже, и далеко не факт что тебе что-то светит. Поэтому было решено идти на Upwork.
Читать дальше →
Total votes 57: ↑51 and ↓6+45
Comments99

Дилемма: пойти в проверенную столовую или попробовать новую?

Reading time5 min
Views15K

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


Читать дальше →
Total votes 44: ↑39 and ↓5+42
Comments26

Как не испортить своего джуна

Reading time9 min
Views41K


Меня зовут Дима Вдовин, я разработчик команды корпоративных рисков. Сегодня я хотел бы поговорить о джунах и их интеграции в команду разработки. С одной стороны, тема банальная и известна всем, а с другой, о ней часто забывают или игнорируют. Почему-то многие команды и руководители считают, что джун вольется в коллектив и работу над проектом как-то «самостоятельно», без активной поддержки, а если не вольется — значит он не справляется и не подходит. Это не так.

Мы крупный банк, к нам приходит работать много молодых ребят и в большинстве случаев для них это первая работа такого рода. Это тянет за собой целый ворох проблем, связанный со страхами неизвестности, неуверенностью, боязнью «уронить прод». Они боятся совершить серьезную ошибку, которая поставит крест на карьере в IT. Это сейчас подавляющее большинство из нас — опытных разработчиков — уверенные в себе профессионалы. Мы можем позволить себе хотя бы на время отказаться от подобной саморефлексии и делать «быстрее, выше, сильнее». Многих же джунов одолевают страхи, которые если и не парализуют, то заставляют их выверять каждый шаг.
Читать дальше →
Total votes 41: ↑36 and ↓5+44
Comments64

Почему я ушёл с React Native и перешёл во Flutter: Часть 1

Reading time8 min
Views23K
Много полезного про Flutter — в телеграм-канале Surf Flutter Team. Публикуем кейсы, лучшие практики, новости и вакансии Surf, а также проводим прямые эфиры. Присоединяйтесь!


Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutter и узнать его мнение. Теперь этот разработчик — я.

Скорее-всего вы видели такие отзывы о React Native и как компании отказываются от него. Я поделюсь своим личным мнением со стороны одного разработчика, а не компании.

Эта статья для тех, кто:


  • Не знаком с кросс-платформой и хочет понять основную разницу между технологиями.
  • Пишет на React Native и хочет узнать, что он выиграет при переходе на Flutter.
  • Не писал на React Native, а только на Flutter.

Ниже расскажу почему в своё время я выбрал React Native, поделюсь причинами ухода во Flutter и приведу основные различия между React Native и Flutter, которые, на мой взгляд, наиболее важны. Со времени ухода с React Native прошло много времени — что-то изменилось и исправлено. Я постарался это учесть, но что-то мог упустить из виду.


Читать дальше →
Total votes 18: ↑17 and ↓1+21
Comments101

Flutter для React/React Native разработчика

Reading time5 min
Views5.4K
Статья просвещена тем, кто пишет на стеке React/React Native и хочет освоить новую для себя технологию – Flutter. И нет, мы не будем тут писать приложение на этом фреймворке! Если вы ждете какой-нибудь очередной Todo List – этот материал не для вас.

image

Скорее это очередная история о том, как я перешел на новый фремйворк)

Материал не предполагает собой истину в последней инстанции. Тут описаны лишь те решения, которые я выбрал для себя, и которые мне, имея огромный бэкграунд в React & React Native разработке, было легче всего применить на реальном проекте.
Читать дальше →
Total votes 8: ↑7 and ↓1+9
Comments9

Безопасность веб-приложений: от уязвимостей до мониторинга

Reading time15 min
Views29K


Уязвимости веб-приложений возникают тогда, когда разработчики добавляют небезопасный код в веб-приложение. Это может происходить как на этапе разработки, так и на этапе доработки или исправления найденных ранее уязвимостей. Недостатки часто классифицируются по степени критичности и их распространенности. Объективной и наиболее популярной классификацией уязвимостей считается OWASP Top 10. Рейтинг составляется специалистами OWASP Project и актуализируется каждые 3-4 года. Текущий релиз выпущен в 2017 году, а следующий ожидается в 2020-2021.
Читать дальше →
Total votes 15: ↑7 and ↓8+4
Comments0

Information

Rating
Does not participate
Registered
Activity