Pull to refresh
2
0
Сергей Викторыч @SpyDeX

ПО (разработка, разработка и ещё раз разработка)

Send message

Обязан ли разработчик развиваться?

Reading time5 min
Views58K

Мир IT довольно токсичен. Нас окружает успешный успех — он захлёстывает и сбивает нас с ног каждый раз, когда мы смотрим на публичных людей в нашей отрасли. Один — ворочает «маленьким кластером на тысячу машин», другой — уже три пет-проекта запустил за утро субботы, этот — за день подготовился к собеседованиям и лениво перебирает оферы из топовых компаний.

Из каждого утюга раздаются возгласы, что разработчик должен развиваться день и ночь, ведь у нас такая профессия! Каждый должен обладать солидным профилем на гитхабе, для чего, придя домой после дня работы, обязан контрибутить в опенсорс-проекты. Впрочем, отдохнуть тоже можно — например, запустив в перерыве свой пет-проект и поучаствовав в хакатоне. Ночью можно совсем расслабиться и понабивать себе профиль в литкоде, а во время походов в туалет — прочитать пару статей.

Но действительно ли всё это надо? Разработчик в самом деле обязан проводить всё своё свободное время за написанием кода? А обязан ли разработчик постоянно развиваться?

Читать далее
Total votes 190: ↑174 and ↓16+158
Comments188

Невыжившие в IT

Reading time7 min
Views194K

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

Есть такое понятие – ошибка выжившего. Грубо говоря, о явлении, тенденции или событии судят по людям, которые прошли его успешно – выжили. Совершенно игнорируя информацию о тех, кто успеха не достиг. В результате случайная удача интерпретируется как устойчивая вероятность. Если интересна мат.часть – почитайте Нассима Талеба или Даниэля Канемана. Их книги существенно дешевле курсов по ИТ.

Я опишу типичные ошибки тех, кто не выжил. И, соответственно, не вошёл в ИТ. Всё из опыта личных наблюдений.

Да, если «тут всё неправда», «а вот мой друг Коля успешно…» или «а у меня получилось» - прекрасно, текст не про вас и не для вас. Вы и ваш друг Коля – выжившие.

Читать далее
Total votes 362: ↑349 and ↓13+336
Comments445

Оформляем README-файл профиля на GitHub

Reading time14 min
Views202K

Летом 2020 года GitHub позволила пользователям создавать персональные README-файлы и с их помощью кастомизировать свои профили. Сама платформа при создании подобного файла предлагает уже готовый шаблон, в который можно вписать свои данные. Но о какой кастомизации может идти речь, если у всех будут одинаково оформленные профили? За почти два года сообщество придумало множество различных способов выделиться и особенно оформить свою страницу на GitHub.

Читать далее
Total votes 77: ↑75 and ↓2+73
Comments25

Книга «Python для сетевых инженеров. Автоматизация сети, программирование и DevOps»

Reading time13 min
Views24K
image Привет, Хаброжители!
Сети образуют основу для развертывания, поддержки и обслуживания приложений. Python — идеальный язык для сетевых инженеров, предлагающий инструменты, которые ранее были доступны только системным инженерам и разработчикам приложений. Прочитав эту книгу, вы из обычного сетевого инженера превратитесь в сетевого разработчика, подготовленного ко встрече с сетями следующего поколения.
Третье издание полностью переработано и обновлено для использования Python 3. Помимо новых глав, посвященных анализу сетевых данных с помощью стека ELK (Elasticsearch, Logstash, Kibana и Beats) и Azure Cloud Networking, в него включены сведения по использованию Ansible и фреймворков pyATS и Nornir. Кроме того, были обновлены примеры для лучшего понимания концепций и обеспечения совместимости.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments5

5 полезных и just for fun DIY-проектов на базе Raspberry Pi лета 2022 года

Reading time4 min
Views12K

Привет, Хабр! Проектов на базе Raspberry Pi столько, что при всем желании подсчитать их не получится. Тут и профессиональные, и для дома, и для развлечений и just for fun. Сегодня поговорим о нескольких интересных DIY-проектах лета этого года. Если вы пока еще не приобрели «малинку» — самое время это сделать и попробовать повторить какой-то из указанных в подборке. Ну или сделать что-то свое, а потом рассказать об этом на Хабре. Ну а пока — поехали!
Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments1

Простое REST api для сайта на php хостинге

Reading time10 min
Views30K

Иногда бывает необходимо развернуть не большое рест апи для своего сайта, сделанного по технологии СПА (Vue, React или др.) без использования каких-либо фреймворков, CMS или чего-то подобного, и при этом хочется воспользоваться обычным php хостингом с минимальными усилиями на внедрение и разработку.  При этом там же желательно разместить и сам сайт СПА (в нашем случае на vue).

Использование php позволяет для построения ендпоинтов апи использовать даже статические php файлы, размещаемые просто в папках на хостинге, которые предоставляют результат при непосредственном обращении к ним. И хотя, видимо в своё время, такой подход послужил широкому распространению php мы рассмотрим далее более программистский подход к созданию апи, который очень похож на используемый в библиотеке Node.js Express и поэтому интуитивно понятен, и прост для освоения.

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments22

Доверие в компании: когда сотрудники подводят

Reading time10 min
Views7.7K

Кто-то говорит, что в компании главный актив и ресурс — люди, кто-то — средства производства, прагматичные ребята всё сводят к деньгам. И только самые умудрённые опытом знают точно: в компании всё решает доверие. Если его нет, не сложатся отношения с людьми, будут неэффективно использованы средства производства, а деньги станут причиной постоянных споров и раздоров. Только давайте прямо с первого абзаца не будем путать доверие, вседозволенность, раздолбайство и слабую волю руководителя. Доверие — это взаимное чувство уважения, осознание возможностей друг друга и отсутствие страха и стыда перед чужими поступками, перед потенциально неосторожными действиями. 

Казалось бы, как просто: ты доверяешь сотрудникам, они — тебе, вы активно работаете над общими целями и задачами, совместно находите самые успешные решения, каждый получает по труду, все довольны, никто не обижен. (Ой, кажется, я переизобрёл социализм, где моя борода?) Но идеальным сущностям не суждено случиться: увы, обжегшийся один раз руководитель теряет доверие даже к преданным сотрудникам и восстановить его сложно. Порой почти невозможно.

Читать далее
Total votes 31: ↑27 and ↓4+23
Comments10

Как работает WorkManager в Android

Reading time5 min
Views14K

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

Как бороться с Android’ом и не позволять ему уничтожать важные фоновые процессы, расскажет Сергей Смирнов, Android-разработчик CleverPumpkin, который так овладел инструментом WorkManager, что смог в фоновом режиме написать эту статью.

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

История про баг, который обернулся фичей

Reading time3 min
Views11K
Все мы случайно или в результате ошибки, бывает, создаем баги в процессе разработки, так ведь? Мне еще не встречался программист, который бы от начала и до конца не допускал никаких оплошностей.

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

Но эта статья не о том, как баги могут негативно повлиять на бизнес, а о том, как один мой коллега ухитрился создать баг и извлечь из этого пользу. Неплохая история в арсенале разработчика – по невнимательности прописать что-то не то в коде и получить за это лавры. К сожалению, это случилось не со мной.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments3

Динамический импорт модулей в Python

Reading time3 min
Views8K

Давайте представим ситуацию, когда вам нужно установить на все виртуальные машины (агенты сервера сборки) определенный пакет Python. Но вы не можете изменить образ агента, а загрузка, к примеру из pypi.org или github.com непроверенных пакетов, ограничена. Как тут не вспомнить последние новости про вредоносные изменения в пакете nmp или более свежую информацию про PyPi.

Python использует подход под названием EAFP — Easier to ask for forgiveness, than permission (легче попросить прощения, чем разрешения). Это значит, что проще предположить, что что-то существует (к примеру, словарь в словаре, или в нашем случае модуль в системе) или получить ошибку в противном случае.

Этот подход, развитый в PEP-0302, позволяет делать хук импорта модулей, что в итоге приводит нас к возможности написания следующего кода:

Читать далее
Total votes 15: ↑10 and ↓5+5
Comments8

Tkinter, раскрытие потенциала. + Игра на рабочем столе

Reading time8 min
Views15K

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

ВАЖНО! Tkinter - не лучшее решение для создания больших приложений. И по большей части эта статья нацелена на начинающих программистов, которые уже имеют представление о библиотеке и хотят рыть дальше.

Если вы плохо знакомы с Tkinter, вот прекрасный курс, рекомендую >>>

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

Деньги, знания, самооценка: зачем айтишнику становиться ментором

Reading time6 min
Views6.2K

Недавнее исследование MentorcliQ показало, что все компании США из списка топ-50 по версии Fortune используют программы менторства. Также наставничество практикуют 84% компаний, входящих в топ-500. Во время экономического спада из-за Covid-19 у компаний с программами обучения стажёров прибыль была выше, чем у тех, кто не применял такой подход. Но наставничество приносит пользу не только компаниям, но и самим менторам. В статье мы расскажем, в чём заключается эта выгода.

Читать далее
Total votes 32: ↑28 and ↓4+24
Comments6

Как написать «Змейку» в четыре переменные?

Reading time10 min
Views11K

Пишем классическую «Змейку», как на КДПВ, в четыре переменные. По словам автора, «Можно написать и с двумя, но зачем осложнять себе жизнь?» К старту курса по разработке на С++ приглашаем под кат.

Читать далее
Total votes 22: ↑18 and ↓4+14
Comments19

Шахматы на C++

Reading time68 min
Views45K

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

Читать далее
Total votes 190: ↑189 and ↓1+188
Comments56

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

Reading time8 min
Views70K

У вас возникал синдром «сожалений специалиста по найму»? Это когда вы жалеете о том, что наняли кого-то сразу после того, как он начал работать. Может быть, вам не нравится внешность новичка, а может вы просто желаете погрузить мир в хаос. Или, хуже того, он как-то упомянул, что любит джаз. Какой бы ни была причина, этот пост поможет вам заставить его уволиться самостоятельно, выбрав для него худший первый проект.

Не ждите, пока он обустроится


Ему всё ещё не выдали монитор? Менеджер проекта так и не добрался до него, чтобы познакомить с продуктом, над которым работает команда? Его бейдж не работает и ему приходится просить коллег провести его в туалет? Это самое подходящее время встретиться с ним и объяснить все подробности нового проекта. Есть какой-то компонент, который он пока не освоил? Сэкономьте своё время и пока не объясняйте его — пусть разберётся самостоятельно после завершения проекта.
Читать дальше →
Total votes 111: ↑107 and ↓4+103
Comments80

7 причин не становиться тимлидом

Reading time6 min
Views12K

Как становятся тимлидами? Типичный путь в этот омут — “эволюционный”. Ты успешно выполнил кучу экспидайт-эпик-мамонтов, принёс в своё разработческое племя благодатный огонь метрик и мониторинга, показал, что тесты — это хорошо... И вот тебя уже назначают тимлидом — просто по принципу, что ты самый сильный среди других разработчиков. А бывает, что ты слишком долго на проекте, и вот, вуаля, предыдущий тимлид сгорел в битве при Монолите, и теперь по наследству мантия обязанностей переходит к тебе. Ну, и, конечно, путь инициативы — где ты сам вызвался на эту должность, из-за того, что очень ответственный, или от скуки, ради денег, или просто по фану.

Меня зовут Константин, недавно в Каруне я стал тимлидом и тут я поделюсь причинами, почему не стоит необдуманно падать в управленческую бездну.

Читать далее
Total votes 31: ↑25 and ↓6+19
Comments28

Автоматное программирование: определение, модель, реализация

Reading time36 min
Views10K

Термин «автоматное программирование» (АП) был введен в широкую практику в 90-х годах прошлого века [1, 2], хотя о применении автоматов в программировании шла речь задолго до этого. R первым упоминаниям уже начала 70-х годов можно отнести метод введения переменной состояния или, по-другому, метод преобразования неструктурированных программ Ашкрофта и Манны [3]. За прошедшее время сформировалось достаточное число его поклонников и не меньшее число критиков. Если говорить об их разногласиях, то в их основе отсутствие формального определения АП и поверхностное восприятие его возможностей. Из-за этого автоматное программирование формируется интуитивно, что и приводит к противоречивым его формам, порой, мало похожим на первоисточник – модель конечного автомата.

Читать далее
Total votes 12: ↑7 and ↓5+2
Comments41

Введение в Event Modeling

Reading time12 min
Views7.7K

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

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

Онлайн курсы по программированию и что они дают на самом деле

Reading time4 min
Views61K

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

Все то время, что я подбираю стажеров, я имею дело в основном с выходцами из других профессий. Типичный стажер – человек, который окончил ВУЗ по любому другому профилю (медики, учителя, админы, маркетологи, кого только не было), получил опыт работы по специальности и решил, что ему надо что-то другое. Мотивация перемены области деятельности, как я понимаю, обычно деньги и комфорт. Есть поверье, что средний начинающий программист – это человек, который работает из дома три часа в день, а остальное время купается в деньгах как Скрудж МакДак. 

Все эти чудесные люди практически в обязательном порядке проходят некие онлайн курсы и сразу по прохождении размещают резюме на вакансию junior-программист с ценником от 50 000 рублей. 

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

Читать далее
Total votes 30: ↑27 and ↓3+24
Comments146
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity