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

Пользователь

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

Основы функционального программирования на Python

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

Этот пост служит для того, чтобы освежить в памяти, а некоторых познакомить с базовыми возможностями функционального программирования на языке Python. Материал поста разбит на 5 частей:

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Комментарии42

Как найти удаленную работу в зарубежной компании. 10 шагов

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


Каждый год Оксфордский словарь английского языка выбирает «Слово года». Но в 2020-м что-то пошло не так. Издательство Оксфордского университета описало 2020-й как «год, который лишил нас дара речи», и сказало, что к нему невозможно подобрать правильное слово.


Но на наш взгляд, такое слово всё-таки есть. С прошлого марта в мире резко возросло использование слова «удаленно». Большинство предприятий отошли от традиционной модели офисной работы и стали пытаться организовать труд сотрудников из дома. Для разработчиков из СНГ это прекрасная возможность начать работу в лучших мировых компаниях. Зарплаты за рубежом выше, а возможностей сейчас стало больше, чем когда-либо прежде.


Мы постоянно исследуем рынок. Публикуем сотни вакансий ежедневно. И сейчас 40% выручки получаем от иностранных компаний, которые в основном нанимают программистов для удаленной работы.


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

Читать дальше →
Всего голосов 26: ↑24 и ↓2+28
Комментарии16

Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама

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

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

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

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

Принципов много. Мы остановимся на семи самых важных. Их использование поможет вам в развитии и позволит стать лучшим программистом.

1. YAGNI

You Aren’t Gonna Need It / Вам это не понадобится

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

Этот принцип применим при рефакторинге. Если вы занимаетесь рефакторингом метода, класса или файла, не бойтесь удалять лишние методы. Даже если раньше они были полезны – теперь они не нужны.

Может наступить день, когда они снова понадобятся – тогда вы сможете воспользоваться git-репозиторием, чтобы воскресить их из мертвых.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+16
Комментарии9

Как подключить содержимое любых файлов для использования в коде C / C++

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

Задача состояла в подключении файлов: HTML, JS, CSS; без специальной подготовки. Так же неудобно подключать бинарные файлы (например картинки) конвертируя их в HEX. Так как не хотелось конвертировать в HEX или разделять на строки, искал способ подключения файла в адресное пространство программы.

Читать дальше →
Всего голосов 58: ↑57 и ↓1+82
Комментарии33

FizzBuzz по-сениорски

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

- Добрый день, я на интервью на позицию старшего разработчика.

- Здравствуйте, давайте начнем с небольшого теста, пока я ваше CV смотрю. Напишите программу, которая выводила бы числа от 1 до, скажем, миллиарда, притом если число кратно трем, то вместо числа выводится Fizz, если кратно пяти, то Buzz, а если и трем, и пяти, то FizzBuzz.

Серьезно, FizzBuzz? Задачка для начальной школы, на сениорскую позицию? Ну ладно.

Читать далее
Всего голосов 295: ↑288 и ↓7+369
Комментарии306

Бизнес, госслужба, вуз, наука: все ли работы хороши?

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

Мне много лет, я вышел из тьмы я так и не сделал карьеру. Да, я неплохо зарабатываю, уважаем на работе. Более того, я везунчик: каждая моя работа, с самого первого места, по-настоящему любимая. Кайф от того, что ты делаешь, заменяет многое: мотивацию, карьеризм, часть амбиций. Ты просто работаешь в потоке, ты не знаком с выгоранием (ой ли?), ты активно развиваешься. Всё отлично, но карьеры — в понимании общества и HR-ов — нет. И если в 20, 25, даже 30 это вообще не напрягает, то стоит перевалить за 35, начинаешь думать, а всё ли так, а что дальше? А вдруг хорошо на госслужбе? Или пойти преподавать до самых глубоких седин? Я гоню от себя эти мысли, потому что в моей жизни было преподавание, была наука, была госслужба и вот уже более 15 лет есть работа в бизнесе. А что бы и не поделиться опытом с теми, кого тоже угнетают «карьерные» мысли? 

Читать далее
Всего голосов 38: ↑32 и ↓6+43
Комментарии40

Думай как инженер: 4 способа находить нестандартные решения

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

В работе и быту нам часто приходится сталкиваться с проблемами, которые заводят в тупик, хотя кажется, что их решение лежит где-то на поверхности. «Эх, мне бы сейчас чужие мозги», — думаете вы. К счастью, операция необязательна, достаточно использовать МФО, РВС, детский язык и маленьких человечков! Не переживайте, это научно подкрепленные методы, которые заставляют мозг работать иначе. Вместе с ведущими телеграм-канала Креативность 101 разбираемся с феноменом инерции мышления и преодолеваем психологические барьеры.
Вот как это делается
Всего голосов 29: ↑22 и ↓7+22
Комментарии12

Как я добавил функции автомобилю по шине CAN, не умея программировать

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


Цель этой статьи — рассказать о моём опыте модификации автомобиля и экспериментах с шиной CAN.

С чего всё началось


Сначала я решил добавить фронтальную камеру в свой 2017 Chevrolet Cruze. Поскольку у автомобиля уже есть заводская камера заднего вида, то на высоком уровне нужно было выяснить две вещи:

  1. Способ передачи видео с фронтальной камеры, которую я добавлю.
  2. Способ отображения на экране картинки с камеры заднего вида в любое время.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии28

Печатная плата заменяет два линейных двигателя

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


Предлагаемая конструкция показывает, насколько безграничны возможности двух довольно старых изобретений — печатной катушки и линейного двигателя. Одна плата заменяет сразу два таких двигателя. Положите на неё магнит, и он будет перемещаться в двумерном пространстве. Положите несколько — они будут перемещаться синхронно. Новую электронику разрабатывать не придётся, подойдут существующие драйвера шаговых двигателей.
Читать дальше →
Всего голосов 114: ↑114 и ↓0+114
Комментарии101

Внедрение LoRaWAN на сельскохозяйственном предприятии. Часть 2. Учет топлива

Время на прочтение1 мин
Количество просмотров9.5K
Здравствуйте уважаемые читатели! Со времени публикации первой статьи, мы подросли, наши любимые поставщики-разработчики Atiko, проделали не мало кропотливой работы, и наступил день, когда есть что рассказать и показать!

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

image
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии28

Настройка VSCODE под разработку для ARM на примере отладочной платы stm32f429i-disco

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


Всем привет!


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


Все шаги проверены на виртуальной машине со свежеустановленной Ubuntu 16.04 xenial desktop x64.


Подразумевается, что у Вас уже есть исходники какого-либо проекта.


Все настройки, касающиеся конкретного железа (в моём случае это контроллер STM32F429 и девборда STM32F429DISCO), нужно подменить на свои. То же самое касается и путей.


Если готовы, то

Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии53

Cogear.JS – современный генератор статических сайтов

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

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


Хочу представить вниманию хабровчан генератор статических сайтов с открытым исходным кодом, написанный на Node.JS, в основе которого лежит Webpack.


Проект вдохновлён тем же Jekyll, но в основе своей использует современный технологический стек. Например, предоставляет возможность «горячей подгрузки» (без перезагрузки страницы) изменённых скриптов и стилей.


image

Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии62

Записки IoT-провайдера. LoRaWAN и RS-485

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

Здравствуйте, уважаемые любители Интернета Вещей. Продолжаю свой цикл статей.


Первая частьВторая частьТретья частьЧетвертая частьПятая часть

Итак, мы научились работать с импульсным выходом счетчиков и освоили шифрование. Какой шаг следующий? Ответ очевиден. RS-485.

Чуть-чуть теории. RS-485 (Recommended Standard) – это асинхронный интерфейс физического уровня. Получил огромную популярность в Промышленном Интернете, начиная от ЖКХ и заканчивая различными заводами и предприятиями.


В принципе, почти любой счетчик, который хочет передать нам не один, а несколько параметров, скорее всего, будет снабжен RS-485. Реже RS-232 или M-Bus, но их пока оставим в стороне и разберем самый показательный пример. Точнее проблемы в работе с ним.


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

Как защититься от переполнения стека (на Cortex M)?

Время на прочтение8 мин
Количество просмотров27K
Если вы программируете на «большом» компьютере, то у вас такой вопрос, скорее всего, вообще не возникает. Стека много, чтобы его переполнить, нужно постараться. В худшем случае вы нажмёте ОК на окошке вроде этого и пойдете разбираться, в чем дело.

image

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

В этой статье я расскажу о собственных изысканиях на эту тему. Поскольку я программирую в основном под STM32 и под Миландр 1986 — на них я и фокусировался.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии66

Оптический приемопередатчик FTDI-POF

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

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

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

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

Задача: создать рабочий прототип платы с последовательным портом, сигналы которого передаются по пластиковой волоконно-оптической линии связи. За основу взят программатор MBFTDI, построенный на микросхеме FT2232H. Разъем JTAG с программатора нужно было убрать и на его место поставить оптический приемник и передатчик. Что и было сделано.
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии55

Фантастика и фентези за два с половиной года, почти сто хороших книг

Время на прочтение22 мин
Количество просмотров244K
На этот пост меня подтолкнула публикация «Почему я ворую книги, бедные авторы, и как это исправить», а именно — скепсис и возражения на мой комментарий о том, что я не читаю плохие книги. Мне предложили рассказать, как я выбираю книги для чтения и что именно читаю. Ну я и повелся.
Оформить список было сравнительно просто, FBReader любезно хранил на GoogleDrive все скачанные книги с того момента, как там появилась эта услуга. Предлагаю вашему вниманию список прочитанного мной за 2,5 года из жанров фентези и фантастики.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии553

Как я автоматизировал дачу на 90%

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


Дачная электрика – известная проблема, отношение к ней в большинстве случаев наплевательское, если не сказать хуже. Если есть возможность подключить что-то не так и не туда — это, конечно, будет сделано.

Когда мы с женой начинали строить новую дачу вместо старой (где электрика прокладывалась многими поколениями и представляла собой жуткую мешанину из проводов и распаячных коробок), то прежде всего решили, что электрика будет грамотной, а дача – умной.
Читать дальше →
Всего голосов 114: ↑109 и ↓5+104
Комментарии304

Подводные камни настройки Mikrotik SXT LTE

Время на прочтение5 мин
Количество просмотров117K
Доброго времени суток Хабр, попытаюсь рассказать о своём знакомстве с такой вещью, как Mikrotik SXT LTE, муках настройки и последующего доведения до ума.


Немного предыстории:

Своё знакомство с Mikrotik и RouterOS начал около двух лет назад, имеется сертификат MTCNA, планирую в ближайшее время получить MTCRE и MTCWE. За это время я не устаю восхищаться оборудованием Mikrotik за их функциональность. В основном работал с представителями линейки RouterBoard 7xx и 9xx, так как их возможностей и мощностей всегда хватало, до недавних пор.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии56

Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 1

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

26 апреля 2018 года компания ИНФОРИОН провела конференцию для студентов МГТУ им. Баумана SMARTRHINO-2018. Специально для конференции было подготовлено небольшое устройство на базе микроконтроллера STM32F042.

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

Первая часть статьи составлена по мотивам проведённого мастер-класса и рассчитана на начинающих — уделяется внимание базовым подходам к реверсу прошивок и особенностям работы с дизассемблером IDA.

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

Осторожно, под катом мигающий носорог и его прошивка!
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии26

Удалённое включение компьютера бесплатно, без SMS и без облаков, с помощью Mikrotik

Время на прочтение3 мин
Количество просмотров108K
… а также без проброса портов, SSH/telnet и установки сторонних приложений. С любого компьютера, подключённого к интернет и даже с телефона!

Периодически мне бывает нужно включить домашний компьютер, когда я нахожусь не дома. Обычно я не запаривался и звонил или отправлял сообщение с такой просьбой жене, которая сидит дома в декрете. Очень удобное средство удалённого управления с голосовым интерфейсом. Однако у этого способа есть ряд недостатков — ушла гулять, укладывает ребёнка, или ещё чем либо занята. Хотелось простого решения из того что есть под рукой.
Тыкни меня!
Всего голосов 30: ↑24 и ↓6+18
Комментарии69

Информация

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