Pull to refresh
-2
0.1
Эдуард Зиганшин @e-zig

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

Send message

Мегагайд: культура работы с Git

Level of difficultyEasy
Reading time16 min
Views2K

Привет всем! Меня зовут Юля, я фронтенд-разработчик, наставник на курсах по JS и React и организатор профессионального сообщества Tbilisi JS. В Практикуме я помогаю студентам на курсе «React-разработчик».

За время работы в разных компаниях и над разными проектами я поняла, что Git — это не только (и не столько!) знание самой технологии и конкретных команд, но и определённая культура взаимодействия, практики, подходы, договорённости. Всё это помогает участникам команды лучше понимать друг друга и работать быстрее и чётче.

Поговорим как раз об этом — о том, что формирует культуру работы с Git: начнём с конвенций именования коммитов и закончим практиками работы в пуллреквесте. В конце статьи я поделюсь полезными ссылками на интерактивные обучалки, шпаргалки и гайды.

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

Введение в нейросети: что, зачем и как?

Level of difficultyMedium
Reading time25 min
Views36K

Это модное слово всё чаще используется в разговорной речи: обывателей плотнее окутывают угрозами бунта искусственного интеллекта и войны с роботами — с одной стороны, и рекламой нейросетевых продуктов — с другой. Отдельный котёл в аду — для тех, кто впаривает «курсы дата‑саентистов». А когда бедный юзернейм в поисках истины обращается к Гуглу своему любимому поисковику — то вместо простого ответа на простой вопрос, получает ещё больше вопросов — таких как тензорфлоу, сигмоида и, не дай Бог, линейная алгебра.

Как же нейросети рисуют картинки?
Total votes 58: ↑56 and ↓2+54
Comments26

Территория Большого Взрыва. От трёх китов к изначальной сингулярности

Level of difficultyEasy
Reading time11 min
Views5.6K

Представляю вниманию уважаемого сообщества вторую статью из серии «Территория Большого взрыва». От современного устройства Вселенной, описанного в первой части, перейдём к эволюции представлений человечества о её устройстве от древности до теории Большого взрыва. Взглянем на эту теорию в её классическом виде и обозначим её основные проблемы и противоречия

Читать далее
Total votes 16: ↑17.5 and ↓-1.5+19
Comments24

Территория Большого Взрыва. Как устроена Вселенная и что с ней не так?

Level of difficultyEasy
Reading time15 min
Views46K

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

Рад поделиться с уважаемым сообществом своей любовью к популярной науке, в первую очередь, к космологии. Эта статья открывает небольшую серию, основанную на моём курсе лекций, который я читаю школьникам в летней школе Химера.
И который до сих пор был кипой листов А4, исписанных от руки буквально в лесу под деревом.

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

Читать далее
Total votes 150: ↑147.5 and ↓2.5+145
Comments149

Не всё так просто с луддитами, как кажется

Level of difficultyEasy
Reading time24 min
Views14K

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

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

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

Читать далее
Total votes 135: ↑138 and ↓-3+141
Comments131

Стандартное отклонение и стандартная ошибка: две статистики с похожими названиями, но разными смыслами

Level of difficultyMedium
Reading time9 min
Views8.8K

Я читаю курс статистического мышления магистрам, и одна тема вызывает у них явные затруднения — чем стандартное отклонение отличается от стандартной ошибки, и в каких случаях, применять ту или иную статистику. Думаю, будет интересно поговорить об этом в блоге ЛАНИТ.

Читать далее
Total votes 35: ↑35.5 and ↓-0.5+36
Comments8

В чем разница между движками и средами выполнения JavaScript?

Level of difficultyEasy
Reading time4 min
Views7.1K

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

Вы скорее всего слышали термины "движок JavaScript" и "среда выполнения JavaScript", которые используются, как взаимозаменяемые понятия, подразумевающие под собой "программу, которая выполняет JavaScript". Их часто смешивают, ссылаясь на V8, Node.js или некоторые другие комбинации схожих программ. Однако, существует значительная разница между движком и средой выполнения JavaScript с точки зрения их области применения и функциональности. Понимания этого различия является ключом к хорошему пониманию языка JavaScript в целом.

Читать далее
Total votes 23: ↑23.5 and ↓-0.5+24
Comments15

Знакомство с SSH

Level of difficultyEasy
Reading time10 min
Views15K

Как гласит википедия, «SSH — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем». Когда в первый раз знакомишься с ним, то, скорее всего, он представляется как средство для доступа к удалённому серверу. В первую очередь, так оно и есть. Однако его возможности намного шире.

Читать далее
Total votes 24: ↑22 and ↓2+20
Comments20

Linux From Scratch на Zynq UltraScale+ MPSoC

Level of difficultyHard
Reading time17 min
Views2.6K

В данной статье я постараюсь описать процесс создания кастомного образа Linux на Zynq UltraScale+ MPSoCс. Каждый необходимый компонент будет собран отдельно с использованием соответствующих утилит. Статья разбита на разделы, которые шаг за шагом знакомят вас с процессом сборки и запуска системы на данной платформе.

Читать далее
Total votes 8: ↑9 and ↓-1+10
Comments15

Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind

Reading time24 min
Views5.2K

В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind. Эти два инструмента работают совершенно по-разному. Поэтому, хоть Sanitizers (разработанный инженерами Google) имеет ряд преимуществ перед Valgrind, у каждого из них есть свои сильные и слабые стороны. Следует сразу отметить, что проект Sanitizers имеет название во множественном числе, потому что он состоит из нескольких инструментов, которые мы рассмотрим в этой статье в совокупности.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments3

Основы литья под давлением: проектирование литых деталей

Level of difficultyEasy
Reading time7 min
Views6.4K

Дисклеймер: это достаточно вольный перевод статьи с protolabs.com, в который мы добавили немного отсебятины. Но не просто так, а для лучшего понимания, потому что соотношение терминов «там» и «здесь» — отдельный адский котелок. Заметите что-то не то (или у вас так не говорят), без стеснения отпишитесь в комментариях, исправим вместе.

Таблица тоже будет
Total votes 22: ↑22 and ↓0+22
Comments6

Tcpdump на разных уровнях

Reading time4 min
Views10K

Утилита Tcpdump знакома любому сетевому администратору, с ее помощью мы собираем трафик для последующего анализа. Типичная история – собираем траффик, приходящий на нужный интерфейс и затем уже анализируем его Wireshark. Подход практичный, ведь Wireshark Действительно очень мощный и полезный инструмент и о нем мы напишем еще не одну статью, но сегодня речь пойдет про Tcpdump. Не секрет, что утилита Tcpdump не интерпретирует протоколы прикладного уровня, ограничиваясь работой с транспортным уровнем. Однако, в этой статье мы рассмотрим различные варианты использования утилиты Tcpdump для более глубокой фильтрации трафика.

Итак, Tcpdump - утилита UNIX, позволяющая перехватывать и анализировать сетевой трафик, проходящий или приходящий через компьютер, на котором запущена данная программа.

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments4

Квантовая случайность против детерминизма и супердетерминизма. Изгоняем демона Лапласа

Level of difficultyMedium
Reading time33 min
Views10K

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

Разумеется, ответы следует искать в квантовой механике, ведь в основе всех физических явлений лежат законы движения и взаимодействия элементарных частиц. На сегодняшний день это самая фундаментальная и самая экспериментально подтверждённая теория из всех, которые у нас есть. У неё сложный математический аппарат, но он работает безотказно и даёт предсказания, сбывающиеся с точностью до тысячных знаков после запятой. Тем не менее, именно квантовая механика даёт понять, что будущее принципиально непредсказуемо, и никакая сила не может заранее предопределить ход событий. Как же так? Нет ли здесь противоречия? Может, учёные сами не знают, детерминированы физические процессы или случайны? Нет, на этот счёт наука даёт чёткий и недвусмысленный ответ. Всё, что вы прочитаете в данной статье – только конкретика, никакой философской неоднозначности.

Читать далее
Total votes 17: ↑17.5 and ↓-0.5+18
Comments95

Правило трех и пяти в C++: что это такое и зачем они нужны?

Level of difficultyEasy
Reading time5 min
Views21K

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

Сегодня я хочу поговорить о двух правилах С++: правиле трех и правиле пяти.

Правильное понимание этих правил способно уберечь код от утечек и неопределенных поведений.

Читать далее
Total votes 38: ↑28 and ↓10+18
Comments10

Подробное введение в rvalue-ссылки для тех, кому не хватило краткого

Reading time17 min
Views73K

Вместо КДПВ — короткая драма для привлечения внимания, основанная на реальных событиях. Ее можно смело пропустить и перейти к статье, которая поможет вам разобраться в rvalue-ссылках, конструкторах перемещения, универсальных ссылках, идеальной передаче (perfect forwarding) и т. д.


Драма в трех действиях


Действие первое


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


Объект x. Что? Я не какой-то там временный объект, у меня постоянная регистрация, вы не имеете права!


Компилятор. Никто вас не выселяет. Но согласно одиннадцатой редакции стандартного кодекса, все ваши вещи будут переданы другому объекту, которому они нужны больше.


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

Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments19

Автодокументация Doxygen и её развертывание на GitHub Pages

Level of difficultyEasy
Reading time8 min
Views6.2K

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

Документация будет создаваться на основе исходного кода, она будет обновляться при каждом коммите и при этом будет доступна через интернет. Документирование происходит через Doxygen, в качестве хостинга выступает GitHub, а за обновление документации отвечает GitHub Pages.

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

Корутины C++ для чайников: пишем асинхронный веб-клиент

Level of difficultyMedium
Reading time24 min
Views21K

Написать этот материал меня побудило... отсутствие хороших статей по корутинам в C++ в русскоязычном интернете, как бы странно это не звучало. Ну серьезно, C++20 существует уже несколько лет как, но до сих пор почти все статьи про корутины, что встречаются в рунете, относятся к одному из двух типов. Или обзор начинается с самых глубин и мелочей, пересказывая cppreference, а потом автор выдыхается и все сводится к "ну а дальше все понятно, возьмите и примените это в своем коде", что напоминает известную картинку с совой. Либо иногда в статьях рассматривается применение корутин на примере генераторов, и этим все и ограничивается. Но, давайте будем честны, генераторы — это замечательно, но за все время моей многолетней карьеры разработчика я, вероятно, делал что‑то подобное генераторам разве что разок, в то время как асинхронный ввод‑вывод приходится использовать почти в каждом проекте. И поэтому меня гораздо больше интересует реализация асинхронного ввода‑вывода с использованием корутин, а не генераторы. Поэтому пришлось разбираться во всем самому.

Читать далее
Total votes 68: ↑66 and ↓2+64
Comments34

Как я делал сеть на 10 гигабит с минимальным бюджетом

Level of difficultyMedium
Reading time11 min
Views57K


Решил я ускорить тривиальную задачу в виде передачи файлов с одного компьютера на маленький домашний NAS. Раньше 10 гигабит были для меня чем-то заоблачным (с учётом цены на свичи, а также сетевые карты). Но благодаря апгрейду дата-центров, а также свежим чипам для свичей от Realtek, апгрейд оказался недорогим и безболезненным.

О выборе железа и тестах — под катом.
Читать дальше →
Total votes 124: ↑129.5 and ↓-5.5+135
Comments142

Как не надо проверять размер массива в С++

Level of difficultyMedium
Reading time7 min
Views24K

Как часто вам приходится сталкиваться с конструкцией sizeof(array)/sizeof(array[0]) для определения размера массива? Очень надеюсь, что не часто, ведь на дворе уже 2024 год. В заметке поговорим о недостатках конструкции, откуда она берётся в современном коде и как от неё наконец избавиться.

Читать далее
Total votes 84: ↑83.5 and ↓0.5+83
Comments103

А в чем проблема работать с файлами?

Level of difficultyMedium
Reading time53 min
Views28K

Данные - это важный компонент системы. Приложение может хранить их где угодно, но в результате все сводится к файлам. Файлы - это хорошая абстракция, но она протекает: если не знать того, как работают ОС или гарантии файловой системы, то легко выстрелить себе в ногу.

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

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как это этого защититься

Читать далее
Total votes 171: ↑170 and ↓1+169
Comments23
1
23 ...

Information

Rating
3,292-nd
Location
Мытищи, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Embedded Software Engineer, Application Developer
Senior
From 170,000 ₽
C++
Qt
Verilog HDL
VHDL
C
Git