Whatisanembeddedsystem9973b860b8142db0b5b4290e405d38cadb0cc242.png18 Кб, 595x516
Вката в embedded 3406565 В конец треда | Веб
Сап /pr
До окончания института осталось 2 года, всякие популярные направления по типу фронта и Бэка перенасыщены кандидатами. Как вкатиться в embedded?
2 3406621
Первый нах!
Эмбеддед - хуйня для макак.
3 3406639

>Как вкатиться в embedded?


Проще чем куда-либо через годик или уже ща приходишь в любое нии и устраиваешься. Они и сами охотно набирают со старших курсов. К нам приходили на 4 и прямо после защиты дипломов визитки давали. Но я вкатился через знакомого.
ЗП где-то 170к через год работы в ДС2. Но везде по-разному. Где-то 200+, где-то придётся дрочить копьё < 1к далларов.
В целом мнение о низких ЗП байтоёбов преувеличено.
4 3406688
>>06639
Реально ли на удаленку попасть? Смотрю щас HH и большая часть только офис
5 3406872
>>06688
Как и всегда, ответ один: зависит от. Но в целом сложнее дефолт вати- работы. Поскольку эмбед подразумевает, что ты будешь отлаживаться на каком-то девайсе в свлей конторе, который тебе офк не разрешат вынести. Но у меня, например, гибрид, но я ходу в офис, потому что удаленка хуета.
6 3407841
Ну неужели тред по моей тематике
7 3407842
А по теме треда
В эмбеддед нужно постепенно вкатываться: ибо там не только С/С++, там еще можно прикрутить разработку схем электрических принципальных, рисование топологии печатных плат по схеме, умение работать с измерительный аппаратурой по типу мультиметра, осциллографа, вольтметра и тд
8 3407845
Причем после пары лет программирований микроконтроллеров (при чем разных архитектур: армы, риски, 8051) приходишь к тому, что по-хорошему еще надо уметь под ПЛИС что-то разрабатывать, так как не будет в микроконтрллерах хватать харда, который требуется для одной задачи
9 3407846
По мере изучения микроконтроллеров, начинаешь еще курить всякие интерфейсы вычислительных систем. Начинаешь с простых: uart, i2c, spi, onewire, их различные конфигурации, понимаешь, как выстроить топологию устройств на этих интерфейсах, что для них требуется
10 3407848
Потом начнешь по мере необходимости переходить к более ебанутым интерфейсам, который уже прям протоколы. По типу can, usb, milstd-1553-b. Там уже протоколы внешних обвязок требуют (например на милстд микросхема приемопередатчика физика-логика требуется и пара трансформаторов). Юсб вообще начнет часто требоваться, когда захочешь между ПК и контроллером перегонять байтики с нормальной скоростью
11 3407849
Еще узкоспециализированные темы есть, когда используешь ip-стек какой-нибудь tcp/udp, для этого тоже свои контроллеры есть. Или вообле в беспроводную связь пытаться через wifi или bluetooth, но я таким никогда не занимался и мало знаю в этой теме
12 3407850
Когда-нибудь столкнешься с JTAG интерфейсом. Тебе понадобится например отлаживать изделие через него, и ты поймешь, что ни один контроллер не имеет в себе встроенного модуля периферии jtag, будешь пытаться gpio дергать, но поймешь, что скорость прям будет очень медленной 100-200 кГц. Тогда задумаешься о применении плис уже по-настоящему
13 3407851
Иногда приходится лезть в дебри аналоговой схемотехники, во всякие операционные усилители и линейные стабилизаторы напрчжения. Когда требуется сделать какую-то обвязку на устройство, чтобы выдавало стабильное напряжение без скачков во время включения или че-то такое
14 3407852
А вообще спрашивайте что-либо. Если в чем-то разбираюсь конкретно, то подробно попробую расписать
15 3407860
>>07852
А разве разработкой железа занимаются не аппаратчики?
У нас в НИИ разделение на аппаратчиков и программистов. И если у меня не работает железка, то я иду к аппаратчикам и мы вместе смотрим, что не так.
16 3407861
>>07852
Кстати, а платят нормально?
Или ты должен работать за двоих (аппаратчик+программист), а зарплата меньше, чем у QA-макаки.
17 3407865
>>07860
Тут надо уточнить, какие именно аппаратчики? Если ты имеешь в виду тех, кто именно устройство создает на базе ПЛИС/микроконтроллера, то чаще всего происходит так, что в башке уже план возникает, как программу под mcu писать, какие интерфейсы потребуются, какие выводы, какая внешняя обвязка, и проще самому схему разработать, а вот рисование платы уже можно и делегировать другим.
Мне как разработчику прошивки под устройство проще самому выбрать модель ПЛИС/микроконтроллера. Например, если мне требуется что-то ебанутое, то можно взять STM32F4, попроще уже можно брать, STM32F1, а совсем легкое и дешевое можно уже Atmega/Atiny взять. Сами аппаратчики вряд ли будут шарить за возможности конкретного камня, количество памяти и тд
18 3407866
>>07861
Ну как разработчику платят по рынку. У меня в должности младший программист написано, получка 180к. Но работа специфическая, так как требует образование высшего, связанного с программно-аппаратным обеспечением ИУС.
19 3407871
>>07865
У нас почти всё собственной разработки, включая CPU. Часть на ПЛИСах.
Один человек, даже если он прям всё знает, чисто физически не успеет всё это разработать, развести плату со всеми интерфейсами типа CAN, USB и т.д., и запрограммировать её, чтобы дать конечному потребителю функции для работы с устройствами на плате.
20 3407901
>>07871
Тут не вопрос времени, а вопрос согласования железа и ПО. Один человек может сделать плату, нарисовать схему Э3, топологию нарисовать. А потом при разработке ПО программист скажет, что ножки не те разведены. А это либо дорожки резать, либо просто перезаказывать плату и ждать
21 3407902
>>07871
>>07901
Да и если чел с отдела, который рисует платы и занят он только этим. Он может в душе не чаять как работает микроконтроллер и почему для I2C дорожки должны быть максимально короткими с подтяжками, а для USB нужно Dp и Dm экранировать, но зато он будет знать, как развести дорожки на плате максимально эффективно
22 3407917
>>07902
А если нужно развести что-то высокочастотное, например, DDR или NAND, этим же должны заниматься аппаратчики? Они должны учитывать всякие отражения сигнала и т.д. Или у вас этим занимается программист?

Я, например, не разбираюсь в схемотехнике на таком уровне.
Я беру даташиты и схему от аппаратчиков и программирую что они мне дали. Если что-то не работает, то иду к ним и мы вместе разбираемся что не так.
23 3407986
>>07917
Тут скорее разработчик должен схему предоставить, какие КП куда подключить, а тополог уже плату нарисует с учетом частотности сигналов и тд
24 3407987
>>07917
>>07986
Да и я бы сказал, что чел может называться программистом, но на самом деле его знание будут охватывать не только написание кодов, но и проектирование устройства вообще
25 3408007
Бамп
26 3408013
test
27 3408077
Бамп
28 3408091
>>07987

>написание кодов


Пиздец
29 3408277
>>08091
Писька
30 3408356
>>07852
Какие проекты можно сделать например на stm 32, чтобы потом не стыдно было показать на собесе?
31 3408703
>>08356
Попробуй программно проэмулировать JTAG с разной длиной загружаемых данных в SHIFT-IR и SHIFT-DR состояниях, при этом чтобы можно было параметризировать скорость кое-как.
Подсказка, можешь использовать два SPI (один мастер, другой слейв), т.к. и JTAG, и SPI являются полнодуплексными интерфейсами
32 3408707
>>08356
>>08703
Если хочешь прям что-то показать на собесе, а не только код
То можешь простенький проект придумать, где стмка будет по прерыванию таймера периодически опрашивать какие-нибудь датчики, например, акселерометры и выводить это на эрканчик, например I2C OLED дисплей
Будет очень хорошо, если используешь DMA+прерывания по какому-нибудь интерфейсу
Отлаживаешь проект на NUCLEO какой-нибудь, затем рисуешь схему и топологию платы, заказываешь плату и компоненты, паяешь и приносишь свою платку на собес
33 3408710
>>08356
https://www.youtube.com/watch?v=AtBViXty3F4&ab_channel=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2
В дополнение могу скинуть этот видос, но здесь прям полный фарш, думаю, для джюна слишком трудно будет реализовать это все, но чел здесь также рассказывает, какой проект - какой скилл показывает
34 3408932
Мрази тред топят, но я буду каждый день заходить и бампать
35 3409047
>>07852
Привет, анончик,можешь привести пример какого либо тестового задания, для того что бы попасть на собес (лучше всего реальное тестовое которое ты проходил) ?
Почекал вакансии, думаю, что на изи потяну какую нибудь джуновскую специальность (высшее закончил программная инженерия москвобад), так как по своему стеку тяжело вкатиться уже пол года безработный.
36 3409186
>>09047

>программная инженерия


Пиздец
37 3409199
>>09186
Всмысле? Это самая базированная специальность. Даже лучше ИВТ.
38 3409203
>>09199
Какая инженирия, ты ведь просто кодо-макака ёбаная.
39 3409208
>>09203
Кто ты? Ты в курсе вообще чему там учат? Там далеко не только кодинг, но та же электротехника, микрики, ЦОС etc. Поэтому это инженерная специальность в том числе.
40 3409210
>>09203
Инженегры ведь тоже макаки по большей части: сидят дрочат свои болванки в солиде, для которого скрипты писать можно, т.е. в теории программист с этим справится лучше, автоматизировав всё. Заменят ли прогеры инженеров?
По такой логике не макаки только врачи какие-нибудь, да и то хирурги условные, а не выписыватели рецептов в кабинетах. Ну или те, кто често занимаются тяжёлым физическим трудом.
41 3409327
Хороший тред. Буду рад любой помощи.
Мой цели (для обучения):
цель-минимум: установить линукс, поиграться, написать какой-нибудь драйвер.
цель-максимум: присобачить камеру, захуячить в железку нейронку (распознавание лиц например).

Вопрос 1:
Какую машинку купить?
я в них плохо шарю: Raspberry Pi, AVR что там еще есть
Вопрос 2:
смотрю ценники: хорошая от 10-15к
есть варик достать дешевле? а в идеале вообще может где-то беспалатно урвать, лол
Вопрос 3:
Может подскажете что-нибудь еще интересное+полезное
42 3409446
>>09327

>есть варик достать дешевле? а в идеале вообще может где-то беспалатно урвать, лол


Любая стмка с алика (блюпил тот же), либо esp8266. Почти даром стоят.
17389459917120.mp4942 Кб, mp4,
406x720, 0:11
43 3409455
>>09186
>>09199
не опять, а сново, клоун с первого курса пришел попку рвать, что он самый важный
44 3409799
>>09047
Привет, если честно, то никогда не видел тестового в эмбедед, да и я пооходил только два собеса. Если найдешь вакансии с тестовыми, то скинь, будет интересно посмотреть, а я скажу, насколько это нормально для стажера или джуна
45 3409824
>>09799
Вообщем я нашел несколько вакансий описание примерно следующее и в одной из них фигурировало, что надо сделать тестовое задание, так как я уже давно не могу вкатиться(сделал около 600 откликов на хх ру, без накрутки). У меня план примерно следующий заказать с озона все, что надо сделать пару тестовых которые я нашел в инете и попробовать на лакичах залететь в эту специальность на сИ подобных языках я прогал, последние полтора года прогал на котлин и делал алгосы на литкоде код варсе, могу писать без синтаксического сахара, поэтому считаю, что на изи вкачусь по теме программирования.
Касаемо темы не программирования тоже некая база есть изучал схематехнику сдавал физику.
Вообщем что я хочу от тебя дорогой анон, сказать на сколько тестовые которые я скину приближены к реальности ? какое тестовое задание может быть по этой вакансии ?

Задачи, которые предстоит решать:

Разработка приложений для ARM микроконтроллеров на языках С, С++ с использованием средств разработки IAR, Keil, Eclipse;
Разработка вспомогательных приложений на языках С, С++, С# с использованием средств Microsoft Visual Studio;
Первичное тестирование разработанных продуктов;
Формирование документации по разрабатываемым проектам.
Требования к кандидату:

Наличие профильного высшего образования;
Умение программирования на языках С, С++;
Умение писать хорошо понимаемый и комментируемый код;
Готовность работать с проектами, разрабатываемыми другими людьми;
Знание принципов работы систем контроля версий (GIT);
Знание английского на уровне, необходимом для чтения технических спецификаций, стандартов, программной и аппаратной документации;
Решение о приеме на работу принимается по итогам собеседования и выполнения тестовых задач на проверку вышеперечисленных знаний и умений.
Будет большим плюсом:

Наличие опыта программирования низкоуровневого ПО для микроконтроллеров;
Понимание принципов архитектур микропроцессоров и/или микроконтроллеров;
Знание и понимание принципов работы систем управления проектами (Jira);
Опыт работы с использованием системы контроля версий (GIT).
45 3409824
>>09799
Вообщем я нашел несколько вакансий описание примерно следующее и в одной из них фигурировало, что надо сделать тестовое задание, так как я уже давно не могу вкатиться(сделал около 600 откликов на хх ру, без накрутки). У меня план примерно следующий заказать с озона все, что надо сделать пару тестовых которые я нашел в инете и попробовать на лакичах залететь в эту специальность на сИ подобных языках я прогал, последние полтора года прогал на котлин и делал алгосы на литкоде код варсе, могу писать без синтаксического сахара, поэтому считаю, что на изи вкачусь по теме программирования.
Касаемо темы не программирования тоже некая база есть изучал схематехнику сдавал физику.
Вообщем что я хочу от тебя дорогой анон, сказать на сколько тестовые которые я скину приближены к реальности ? какое тестовое задание может быть по этой вакансии ?

Задачи, которые предстоит решать:

Разработка приложений для ARM микроконтроллеров на языках С, С++ с использованием средств разработки IAR, Keil, Eclipse;
Разработка вспомогательных приложений на языках С, С++, С# с использованием средств Microsoft Visual Studio;
Первичное тестирование разработанных продуктов;
Формирование документации по разрабатываемым проектам.
Требования к кандидату:

Наличие профильного высшего образования;
Умение программирования на языках С, С++;
Умение писать хорошо понимаемый и комментируемый код;
Готовность работать с проектами, разрабатываемыми другими людьми;
Знание принципов работы систем контроля версий (GIT);
Знание английского на уровне, необходимом для чтения технических спецификаций, стандартов, программной и аппаратной документации;
Решение о приеме на работу принимается по итогам собеседования и выполнения тестовых задач на проверку вышеперечисленных знаний и умений.
Будет большим плюсом:

Наличие опыта программирования низкоуровневого ПО для микроконтроллеров;
Понимание принципов архитектур микропроцессоров и/или микроконтроллеров;
Знание и понимание принципов работы систем управления проектами (Jira);
Опыт работы с использованием системы контроля версий (GIT).
46 3409827
>>09799
Задание #1:
Необходимо разработать систему мониторинга для ARM микроконтроллера, которая будет выполнять следующие функции:

Чтение данных с нескольких датчиков:

Считывание температуры и влажности с двух различных датчиков (например, DHT11 или аналогичных) через I2C или SPI интерфейс.
Обработка данных:

Преобразование полученных данных в удобный формат (например, температуру в градусах Цельсия и влажность в процентах).
Если температура превышает заданный порог (например, 30°C), включить сигнализацию (например, светодиодный индикатор или звуковой сигнал).
Запись данных в память:

Данные с датчиков должны записываться в кольцевой буфер или на внешнюю флеш-память (например, через SPI или I2C).
Отправка данных на внешний сервер (опционально):

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

Создать простой интерфейс с выводом текущих показаний температуры и влажности (например, на ЖК-дисплее или через интерфейс с ПК).
Требования:

Программа должна быть написана на языке C или C++ для ARM микроконтроллеров.
Использование I2C или SPI для работы с датчиками.
Обработка ошибок при работе с датчиками и памятью.
Опционально: использование систем контроля версий (например, GIT) для ведения истории изменений.
Код должен быть чистым и хорошо структурированным с понятными комментариями.
Дополнительное задание (если предусмотрено):

Написать unit-тесты для проверки обработки данных с датчиков.
Подготовить краткое описание проекта с архитектурой системы.
46 3409827
>>09799
Задание #1:
Необходимо разработать систему мониторинга для ARM микроконтроллера, которая будет выполнять следующие функции:

Чтение данных с нескольких датчиков:

Считывание температуры и влажности с двух различных датчиков (например, DHT11 или аналогичных) через I2C или SPI интерфейс.
Обработка данных:

Преобразование полученных данных в удобный формат (например, температуру в градусах Цельсия и влажность в процентах).
Если температура превышает заданный порог (например, 30°C), включить сигнализацию (например, светодиодный индикатор или звуковой сигнал).
Запись данных в память:

Данные с датчиков должны записываться в кольцевой буфер или на внешнюю флеш-память (например, через SPI или I2C).
Отправка данных на внешний сервер (опционально):

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

Создать простой интерфейс с выводом текущих показаний температуры и влажности (например, на ЖК-дисплее или через интерфейс с ПК).
Требования:

Программа должна быть написана на языке C или C++ для ARM микроконтроллеров.
Использование I2C или SPI для работы с датчиками.
Обработка ошибок при работе с датчиками и памятью.
Опционально: использование систем контроля версий (например, GIT) для ведения истории изменений.
Код должен быть чистым и хорошо структурированным с понятными комментариями.
Дополнительное задание (если предусмотрено):

Написать unit-тесты для проверки обработки данных с датчиков.
Подготовить краткое описание проекта с архитектурой системы.
47 3409828
>>09799
Задание #2:
Напишите программу на языке C для ARM микроконтроллера, которая будет выполнять следующие действия:

Чтение данных с датчика: Программа должна считывать данные с датчика температуры через аналоговый вход (например, с использованием ADC).
Обработка данных: Преобразовать считываемое значение в температуру в градусах Цельсия.
Управление выводом: В зависимости от значения температуры (например, меньше 20°C — выключить вентилятор, больше 30°C — включить), программа должна управлять выходом (например, с использованием GPIO) для управления вентилятором.
Требования:

Программа должна быть написана на языке C.
Код должен быть хорошо структурирован и комментирован.
В коде должен использоваться механизм обработки ошибок, например, для проверки корректности считывания данных.
Код должен быть совместим с платформой разработки IAR или Keil (в зависимости от выбранного инструмента).
Программа должна использовать систему контроля версий (например, GIT) для управления версиями кода.
17419744684900.mp4693 Кб, mp4,
604x606, 0:02
48 3410900
>>09799
ну что там ?
49 3411766
>>10900
Сорян, на работе последние дни занят был сильно, а дома не до двачей было. Сейчас почитаю тестовые, что ты скинул и ответить постараюсь оперативно
50 3411776
>>09824
Ну по задачам тут прям совсем стандартные требования.
Типа разработка ПО для ARM контроллеров это скорее всего прошивку просто писать для STM32, либо под китайские аналоги какие-нибудь.
Ну вообще жирнющий плюс, если ты сможешь написать прошивку под стм32 без использования кубиде, кубмх. То есть накатить любую иде, накатить гсс, выставить в иде ему нужные флаги, карту памяти для конкретного камня взять, стартап файлик, линковщик и написать хоть что-нибудь.
Иначе, пользуясь кодогенератором и HAL, ты никогда не поймешь, что на самом происходит в твоем коде и внутри камня.
В идеале ты должен понимать все этапы компиляции: препроцессинг, компиляция .S и .cpp/.c файлов в обьектные файлы, линковка этих обьектных файлов, преобразования elf файл типа в bin или в hex, как правильно посмотреть сколько код занимает пространства программ и пространства данных.
51 3411779
>>11776
Я когда-то вообще hex-файл под 8051 преобразовывал в команды процессорные через таблицу ISA и анализировал, че он там делает
52 3411787
>>09827
Ну довольно обычный, несложный проект.
Завести таймер с прерыванием, по прерыванию выполнять всю процедуру (чтение датчиков, оьработка, сохранение в памяти).
По поводу tcp/ip стека и отправление на сервер ничего не скажу, никогда не работал.
GUI на qt можно написать и подключаться к плате через usb-uart мост (какую-нибудь схему СР2102, на компе она будет как виртуальный ком порт отображаться)
Ну самое сложное это отладиться, потому что на руках железо должно быть, либо эмулировать как-то
53 3411795
>>09828
Тут тоже самое.
По таймеру опрашивать датчик и при выполнении условия дергать гпиошкой
А в остальном базовые умения (git, jira)
Знание микроконтроллереых архитектур тоже спорное, ну знаешь ты, что там шина системная, пару шин периферийных, что у каждой периферии свое адресное пространство (ДАЖЕ У ПАМЯТИ RAM/ROM), что у ядра внутри может быть своя резидентная память и тд
Тут например, можно поговорить об устроцстве конкретно ARM ядра, я точно знаю, что в памяти программ самый первый адрес - это вершина стека, второй адрес - адрес э, где лежит обработчик ресета, то есть ядро сначала записывает SP, а затем прыгает по адресу обработки ресета и дальше только в стартап попадает, лол
У риск5 может быть свои особенности, я особо его не исследовал так подробно
54 3411798
Ну для джюна оба тестовые прям овер выполнимые, только надо определиться с железом мб или как-то эмулировать рандомайзером показания с датчиков
55 3411800
То есть ты просто этими тестовыми показываешь, что ты сможешь под камень проект написать и собрать и залить, сможешь его отладить, сможешь завести таймер с прерыванием, сможешь завести интерфейс (spi/i2c), сможешь почитать даташит на датчик и определить, как с него считать вообще что-то, сможешь дернуть там гпиошкой по какому-то условию. Тут из неявного только если интерфейс залипнет где-то и ты в вайле зависнешь, пока будешь его ждать, но тут таймаутом можно это все решить
56 3412009
достаточно esp32 и растишки разъебывать нахуй?
57 3412093
>>11776
>>11787
>>11795
>>11798
вообщем спасибо анончик, несколько раз перечитал твой анализ, вообщем хочу попробовать данную авантюру вообщем мне хватит этого, что бы выполнить два тестовых и если вдруг мне дадут ещё какое то ?
58 3412105
>>12093
Ну очевидно еще понадобятся провода, чтобы это все соединить между собой (датчик и память к контроллеру), там еще на i2c своя обвязка может понадобиться, если на отдельных компонентах ее нет, ибо там у него свои особенности
59 3412107
>>12105
>>12093
Ну тут конечно в идеале все смотреть еще осциллографом, когда все сделаешь или во время отладки, чтобы ты смотрел ьам на шину ту же i2c и такой «ооо, нихуя, реально АСК прилетает, устройство ответило», заодно положительные фронты посмотришь у шины
Но понятное дело дома осциллографа не найдется, а покупать двухканальный или самому делать впадлу и дорого
60 3412122
>>12107
чет я с проводами запутался смотрю короче, ну макетную плату возьму на будущее, type c это понятно, типо надо вот такой радужный набор взять?
почему то с первого пика орнул
61 3412175
>>09824

>я уже давно не могу вкатиться(сделал около 600 откликов на хх ру, без накрутки).



А куда пытался вкатиться?
Плюс других областей для вката в том, что тебе не надо покупать кучу железок, как в embedded.
image.png4 Кб, 241x172
62 3412196
>>12175
да я даже не хочу про это разговаривать, а то у меня опять жопа сгорит, вот из последнего сделал тестовое задание все там идеально выдрочил, что бы не приебались, скинул, через неделю пишут ну вы нам не подходите, через дня 4 пишу, а есть фидбек ? мне пишут ой ну знаете, на самом деле его никто не проверил ну вы там вы понимаете пук пук, просто сразу же стер нахуй своё резюме на хх, без накрутки и скила пиздабольства щас никуда, вот сижу по тихой грусти дрочу алгосы на кодварсе литкоде

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



да мне уже абсолюнто похуй когда выкатывался из уника думал ну все сука, глаза аж горели наконец то нахуй, а потом столкнулся с реальностью. че мне вот я посмотрел эти несколько вакансий щас закажу всю эту шляпу ебанную, сделаю мб ещё там какой нибудь проект позвоню скажу все как есть, если возьмут то хоть 10 зарплат готов въебывать на кучу железяк
63 3412204
>>12175
че там с проводами лучше подскажи не хочу на самом очевидном объебаться и ждать доставку
17339117591571.mp43,1 Мб, mp4,
540x960, 0:10
64 3413271
>>06565 (OP)
ну вообщем взял себе все на озоне, немного углубился в эту тему, завтра заберу за выхи сделаю и посмотрим че там
image.png77 Кб, 604x401
65 3414498
>>06565 (OP)
>>09799
в тред призывается ОП и грамотный анон
Вообщем собрал свой первый микро контролер сижу делаю задания, пока курил понял, что хотелось бы подготовиться к скринингу или собесу быстро пробежать по вопросам. соответственно вопрос, подойдет ли этот список для подготовки ? если нет то есть какой то не знаю авторский список ? заранее скажу, что есть достаточное кол-во вакансий в которых опыт не требуется или если требуется то там что то типо такой формулировки " наличие реализованных проектов в данной области"
https://habr.com/ru/articles/676076/
какие вопросы спрашивают на скрининговых звонках, если такие есть в данной специальности ?
66 3414500
>>14498

> заранее скажу, что есть достаточное кол-во вакансий в которых опыт не требуется или если требуется то там, что то типо такой формулировки " наличие реализованных проектов в данной области"



ну и соответсвенно какую либо легенду я сочинять не буду про невъебенный опыт работы, который не внесен в трудовую
67 3415402
бамп
17419744684900.mp4693 Кб, mp4,
604x606, 0:02
68 3415426
>>06565 (OP)
бамб
69 3415443
>>06565 (OP)
Умирающая отрасль в РФ. Сам только из эмбедда в люди вылез. Изучаю как студент сисколы, теорию ОС, чисто на чесании языком вышел на собесе на сеньку.
Начали б валить - не вывез бы.
Сейчас цель - догнать и перегнать мидлов на испыталке. И не спалиться, что не сильно хорош ядре Линукс.
70 3415710
>>15443
А в какую область перешёл из embedded?
Я думал, что обычно программирование ядра Linux нужно как раз в embedded, запиливать в него драйвера всяких железок.
71 3415720
>>15710
Ну я честно не прям уж эмбеддер и пиздец. У меня было достаточно опыта в линуксе. Но это не более чем программки писать в юзерспейсе.

Область - дата сторейдж.

Эмбеддед в линуксе это не более чем DTS, YOCTO собрать и накатить на плату, может там ещё запустить и экран повесить. Потом подключить кнопки по SPI. А потом фронтендеру дать чтоб подключил веб страничку и на выходе получишь POS-терминал.

То о чем ты говоришь, это надо в Сименс, ABB, ATLAS COPCO идти, а в РФ это взять MXM2 плату и подключить ее.
72 3416176
Работал рядом с эмбедщиками, из перекуров и прочих разговоров сейчас представляю их работу как эдаких жаваскриптеров, которые перекладывают жсончики от одного сервиса другому.

Только тут данные от одного устройства по каналу связи передать другому, опционально что-то сделать и передать по другому каналу связи другому.

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

Я правильно понял или шиз?
73 3416271
>>16176

>Работал рядом с эмбедщиками


А сам из чьих будешь?
74 3416365
>>16271
Тогда?
Разнорабочим блять. Вот эту хуйню напиши, вот эту хуйню принеси, вот эту штуку припаяй, вот эту штуку шуруповертом прикрути. Кстати устраивался программистом.

Сейчас?
Разрабом в команде по ОС в одной зелёной компании
75 3416497
>>16176

>Я правильно понял или шиз?


Ты понял всё прикладное программирование в целом. Перекладывание и визуализация данных - это 90 процентов работы прогеров где угодно.
76 3418572
bump
17430723255981.mp4307 Кб, mp4,
608x1080, 0:05
77 3418880
>>06565 (OP)

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

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

Применить правило Кирхгофа? нарисовать схему в визио ? что же там что же ? спаять платы ?!
78 3420543
>>18880
Ну что, рассказывай, как тебя попустили на схемотехнике на собесе :)
79 3420934
>>18880

>казали что программирования будет по минимуму, больше надо будет работать с техникой


Это хуета. Скипай.
80 3420989
>>18880
Ну вообщем сгонял на собес меня там школотрона разъебали в принципе если заранее знать что такую хуету будут спрашивать можно было бы и подготовиться, приеду домой вечером опишу чо было
Ну хотя бы какой то фидбек получил понял чё там надо подтянуть по проекту своему что нужно мямлить на собесах

Позвали на другой собес там будут какие то тесты в Зеленоград , тоже интересуюсь чё там за тесты могут быть делайте ваши ставки
81 3422511
>>20989
ты жив?
82 3422552
>>22511
Ну вот так прошло первое в моей жизни собеседование на типо в айти
Да я жив, просто друг по вузу приехал в гости сидели бухали искали работу codewarse/leetcode по фану прогали.
Ну вообщем я пошел на собес меня встретил олд.
Собеседование особо технического не было, достал схему показывал элементы спрашивал че это такое, ну я такой ну это транзистор это резистор, это конденсатор, потом он показывает на какой то ебучий квадритик, я вообще нихуя не понял, что это, говорю ну наверное микроконтролер какой то. оказалось логический элемент
Потом достал изи задачку, егэ по программированию, я че то тупанул блять ну и вообщем там была функция, которая сама себя вызывает ну короче хуйня, но даже с этим я блять не справился.
Касаемо схемотехники я думал то, что будут спрашивать конкретно, какую то теорию спрашивать а там надо было просто по обозначением пробежаться.

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

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

Самый интересный момент был, когда он понял, что у меня нету какого то особого энтузиазма в том что бы именно электросхемотехникой заниматься , он мне начал рассказывать про компанию. Он такой говорит говорит показывает шкаф по типу пик рилл, говорит говорит, че такое реле знаешь ? не знаешь ммм плохо( говорит говорит а че такое протокол UDP мммм не знаешь ну ладно, потом говорит говорит, первые два три вопроса я ещё пытался че то там мямлить, потом говорил нет нет нет нет.

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

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

Вообщем меня пригласили ещё на два собеса в понедельник уже чистый embedded, будет какой то тест, ГОВОРИТЕ СУКИ ЧТО ТАМ МОЖЕТ БЫТЬ ЗА ТЕСТ ЧЕ ТАМ НАХУЙ СПРОСЯТ, А ТО БУДУ СИДЕТЬ БЛЯТЬ ОПРЕДЕЛЕНИЯ ДРОЧИТЬ
И второй собес, мне дал номер телефона одногруппник, сказал типо вот сходи туда, но я так понял, там че то ссиловыми структурами связана, набирают айтишников в кгб или хуй знает куда, но мне уже честно похуй куда, я бы даже вот в эту шляпу в которой проходил собес пошел бы работать
82 3422552
>>22511
Ну вот так прошло первое в моей жизни собеседование на типо в айти
Да я жив, просто друг по вузу приехал в гости сидели бухали искали работу codewarse/leetcode по фану прогали.
Ну вообщем я пошел на собес меня встретил олд.
Собеседование особо технического не было, достал схему показывал элементы спрашивал че это такое, ну я такой ну это транзистор это резистор, это конденсатор, потом он показывает на какой то ебучий квадритик, я вообще нихуя не понял, что это, говорю ну наверное микроконтролер какой то. оказалось логический элемент
Потом достал изи задачку, егэ по программированию, я че то тупанул блять ну и вообщем там была функция, которая сама себя вызывает ну короче хуйня, но даже с этим я блять не справился.
Касаемо схемотехники я думал то, что будут спрашивать конкретно, какую то теорию спрашивать а там надо было просто по обозначением пробежаться.

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

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

Самый интересный момент был, когда он понял, что у меня нету какого то особого энтузиазма в том что бы именно электросхемотехникой заниматься , он мне начал рассказывать про компанию. Он такой говорит говорит показывает шкаф по типу пик рилл, говорит говорит, че такое реле знаешь ? не знаешь ммм плохо( говорит говорит а че такое протокол UDP мммм не знаешь ну ладно, потом говорит говорит, первые два три вопроса я ещё пытался че то там мямлить, потом говорил нет нет нет нет.

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

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

Вообщем меня пригласили ещё на два собеса в понедельник уже чистый embedded, будет какой то тест, ГОВОРИТЕ СУКИ ЧТО ТАМ МОЖЕТ БЫТЬ ЗА ТЕСТ ЧЕ ТАМ НАХУЙ СПРОСЯТ, А ТО БУДУ СИДЕТЬ БЛЯТЬ ОПРЕДЕЛЕНИЯ ДРОЧИТЬ
И второй собес, мне дал номер телефона одногруппник, сказал типо вот сходи туда, но я так понял, там че то ссиловыми структурами связана, набирают айтишников в кгб или хуй знает куда, но мне уже честно похуй куда, я бы даже вот в эту шляпу в которой проходил собес пошел бы работать
83 3422769
>>22552

>Вообщем меня пригласили ещё на два собеса в понедельник уже чистый embedded, будет какой то тест, ГОВОРИТЕ СУКИ ЧТО ТАМ МОЖЕТ БЫТЬ ЗА ТЕСТ ЧЕ ТАМ НАХУЙ СПРОСЯТ, А ТО БУДУ СИДЕТЬ БЛЯТЬ ОПРЕДЕЛЕНИЯ ДРОЧИТЬ



Если будешь заниматься больше программированием, а не схемотехникой, то вот https://habr.com/ru/articles/676076/
Удачи выдрочить всё это за 3 дня.
85 3422777
>>22769
спасибо анон, я скидывал эту ссылку, я прочитал и постарался своими словами ответить в ворд файле осталось где то 60% вопросов, это можно потянуть, только если можешь пруфани, что это пригодиться ну с высоты своего опыта или если ты оп, то почему ты так не внимательно свой же тред читаешь
видеорандом
86 3422778
>>22777
а ну и заранее отвечу тебе на 40% вопросв я ответил правильные остальные стер
а второе это какая то статься от создателя видоса на ютубе типо ожидание/реальность
unnamed.jpg74 Кб, 474x843
87 3423054
>>22769
А я тоже хочу с вами вкатится в embedded!
Я уже чё-то на третьем вопросе коллоквиума поплыл.

int square(volatile int ⚹ptr) {
return ⚹ptr ⚹ ⚹ptr;
}

И что тут не так? Первое предположение: вдруг компилятор строку ⚹ptr ⚹ ⚹ptr видит как ⚹ptr ⚹⚹ptr и выдаёт синтаксическую ошибку что тут два раза разименовывание указателя типо. Но нет, нихрена, собрал программу - всё правильно работает.
Кажется, тут какой-то очень изьёбистый низкоуровневый подвох есть!!
88 3423065
>>23054
Я не уверен, но видимо суть в том что раз указатель на volatile, значит там значение может измениться в любой момент, а если оно изменится - то перемножаться будут разные числа и результат по логике будет уже нихрена не square.

Я правда не пынямаю нахрена тут volatile. Разве и так кококонпелятор имеет право не брать каждый раз значение по указателю а закешировать его где то?
89 3423066
>>23065
А зачем тогда мютексы и семафоры? Если ты создал программу так, что у тебя данные могут поменяться в процессе - это разве не значит, что программа распараллелена неправильно, и тут проблема не в функции, а в том как эту функцию используют.

Хотя может ты и прав, если операция присваивания - атомарная, то может можно закешировать переменную, заранее избавив её от всякого непредсказумого поведения.
90 3423067
>>23066

> А зачем тогда мютексы и семафоры?


Опять же я не уверен, но мьютексы и семафоры мне кажутся высокоуровневой штукой, как и потоки, потоки же средствами ОС реализуются? А есть ли все это в голом железном байтодрочерстве?
91 3423076
>>23067

>но мьютексы и семафоры мне кажутся высокоуровневой штукой, как и потоки, потоки же средствами ОС реализуются?


Все верно. Но на голом железе и многопоточности нет. Хочешь fork() - пиши сам свой fork(). Я даже читал, у бумеров были программы для многозадачности на прикладном уровне. Т.е. MS-DOS это же однозадачная система, там нельзя выполнять больше одного процесса. Но все же мы помним, что есть некая "графическая оболочка для MS-DOS" с названием Windows, и всякие видео как бумеры из нулевых на досе запускают по несколько программ. Как я слышал, они устанавливали на дос некую программу, которая выполняла сама распараллеливание задач в пакетном режиме, и под этой программой они запускали другие программы. Хз может ошибаюсь, но во всяком случае, звучит прикольно.

Короче, ты скорее всего прав, потому что как я понял, на голом железе хоть и нет многопоточности, но там же есть наверняка некоторые "области памяти для ввода-вывода" типо как видеобуфер, чтобы всё на внешние устройства выводить. Так что получается что память может самопроизвольно менятся и без участия как таковых "параллельных процессов".
92 3423081
>>23076
По идее там должно быть dma (но я его никогда в глаза не видел, на лабах в вузике на мк 51й серии ничего такого не было) и по идее в любой момент могут дергуться обработчики прерываний.

На windows как оболочке для доса многозадачность была не вытесняющая (когда планировщик ОС стопает процесс по таймеру и возобновляет следующий) а кооперативная (программа сама у себя должна натыкать вызовов "я все, следующий")

Кстати если там нет многопоточности и ОС - то как на этих модных крутых микроконтроллерах с немколькими ядрами собсно полтзуются этими ядрами?
93 3423091
>>23081

>По идее там должно быть dma


Я слышал что dma это какая-то древняя фигня из 2000 - 2010. Его часто приводят просто для демонстрации прогресса, что вот, от прерываний пришли к прямому доступу к памяти в обход процу.

>Кстати если там нет многопоточности и ОС - то как на этих модных крутых микроконтроллерах с немколькими ядрами собсно полтзуются этими ядрами?


На микроконтроллерах несколько ядер?! Я думал там всегда одно ядро. Ну а на компьютерах - там какими только аппаратными средствами современный компьютер не напичкан, там и менеджер памяти аппаратный вроде.
94 3423123
>>23065
Без volatile компилятор может оптимизировать код, например сохранить значение по указателю ptr в регистр процессора и возвести его в квадрат.
А с volatile будут 2 обращения по указателю. Между этими обращениями значение может измениться в другом потоке.

Вообще, пример выглядит искусственно. В данном случае проще передавать аргумент в функцию по значению, а не по указателю.
95 3423130
>>23123

> Без volatile компилятор может оптимизировать код, например сохранить значение по указателю ptr в регистр процессора и возвести его в квадрат.


Какое право он имеет на эту "оптимизацию"? Чего вообще вместо чтения значения по адресу бы не возвращать 4? Почему 4? А почему бы и не 5...
96 3423164
>>23130
Компилятор оптимизирует так, чтобы с его точки зрения результат не изменился. Если тупо возвращать 4, то логика работы кода изменится, поэтому компилятор так не сделает.

В embedded вообще в объявлении указателей на регистры устройств надо всегда ставить volatile. Иначе компилятор увидит, что мы читаем данные по указателю и больше их не используем и подумает, "а зачем вообще читать данные по указателю, если они не используются?" и вообще выкинет код чтения. А это был указатель на регистр железки, который нужно было прочитать.

Я так даже ездил в командировку к клиенту, который жаловался, что наша железка зависает. Оказалось, что при чтении регистра клиент не поставил volatile, компилятор при оптимизации тупо выкинул это чтение. А чтение регистра нужно было для сброса прерывания.
97 3423171
>>23065

>закешировать его где то?


Простой пример зачем нужен volatile. У тебя есть устройство, у него есть регистры, они замаплены в память, проц может через load операцию забрать значение из регистра устройства в свой регистр, без volatile модификатора конпелятор создаст тебе код, который допустим лишь раз обратится к устройству.
98 3423202
Хоче несложный девайсик сделать - датчик co2, там вроде по i2c интерконнекту нужно общаться с самим сенсором. Какой микроконтроллер взять, чтобы дешево/была возможность купить в РФ, и был сишный конпелятор под линупсом?
99 3423226
>>22552
Пик 1 на закон Ома то как смог проебать? Эта херня в уме решается.
Набирайся опыта и удачи в собесах, не тупи.
image.png62 Кб, 254x199
100 3423552
Вообще, подготавливаясь по коллоквиуму сам открываю для себя удивительные вещи, которые вроде бы и очевидны, но которые раньше просто как-то не волновали.

"11--Как проверить, что два float числа равны между собой?"

Я подумал:"а в чём подвох? почему бы просто == не сравнить". Оказалось, что формат float предполагает запись в степени двойки m2^(-x). И в таком формате невозможно точно записать даже числа 0.2 и 0.3 так как для них тупо нельзя нормально подобрать мантиссу, чтобы она точно соотвествовала. То есть 0.2 + 0.1 != 0.3, потому что погрешность... И чтобы их сравнить нужно блядь делать (fabs(f) < epsilon) (целых три ебучие операции!!)

Бля... вы долбоёбы что ли все?! Вы все поехавшие?! Прошло 30 лет, а у вас даже числа - ебучее костыльное багованное говно.

Почему бы не реализовать степень десятки!? типо m
10^(-x) вполне себе никакой погрешности не даёт. Нужно просто сделать аппаратную поддержку для таких чисел, чтобы они были быстрыми. Может, специальную память сделать на ОЗУ чтобы чисто для действительных чисел. Но блядь, не считать же всё на костыльно-багованых числах уже какой век, бляд, караул.
101 3423591
Кстати, вот ещё интересный вопрос
14--Есть ли способ запустить С-код до запуска main?

Но меня больше инересует, а что если программу не завершить при помощи exit, или return из main.

Вот допустим такая программа
void _start(void) {
}

Она ничего не делает. Компилируем.
gcc -o prog.o -c prog.c -nostdlib
ld prog.o -e _start
./a.out

получаем Segmentation fault (core dumped)

А почему? Потому что программа продолжает выполняться после _start, и выходит за область выделенного ей процесса? Или что?
102 3423618
20--Как делать примитивы инкапсуляции в C?

И что тут имеется ввиду? В C же нет инкапсуляции в рамках одного файла. Да и какой впизду инкапсуляции, если классов нет? Что от чего скрывать-то?

Я читал статью, где шизы пытались реализовать ООП на С, и они пришли к тому, что "один файл - один класс". Значит всё верно, инкапсуляции как таковой в рамках одного файла нет, поэтому они и полезли в другие файлы.
103 3423623
>>23552
Ты блин серьезно? Уж что что, а что флоаты сравнивать между себя нельзя - нифига не микроконтроллерные знания. В кутешечке вон есть qFuzzyCompare для этого
104 3423624
>>23618

> И что тут имеется ввиду? В C же нет инкапсуляции в рамках одного файла. Да и какой впизду инкапсуляции, если классов нет? Что от чего скрывать-то?


Классов нет, а ООП есть. Инкапсуляция видимо через... непрозрачный указатель это называется? Короче есть структурка, объявления которой у тебя нет. Ты можешь ее создавать только через всякие create_shit/destroy_shit, и передаешь пойнтеры на нее в функции, реализации которых ты не знаешь. Так как хедера с объявлением нет - работать ты с ней можешь только через функции которые про нее в курсе.
105 3423633
>>23623
А я не знал. Возможно у меня, кстати, из за этого раньше баги были, но я просто забил хуй какой-то фигней закрыл.

>>23624

>ООП есть


Нет ооп в С. Если ООП есть в С, то он есть и в ассемблере, а значит есть вообще везде. Знашь как называют высказывания которые всегда истины? Их называют лишёнными смысла, это тавтология.

>непрозрачный указатель это называется


Так это же всё равно между файлами сокрытие идёт. Это не более чем финт ушами. Самой по себе поддержки инкапсуляции в С нет, а static - это указание именно линкеру не индексирвоать эти функции. Т.е. от слова static зависит содержимое обьектного файла, а на само включение файлов оно никак не влияет. Поддержки со стороны языка тупо 0.
Хотя может такой ответ и сойдёт для собеседования. Я хз. Просто вдруг сейчас окажется что в GCC есть и классы, и ООП, и вообще С превратился чудестным образом в подобие С++, чисто из-за особенностей GCC. Там же вроде у GCC есть какая-то фишка что можно полиморфизм реализовать. Мб и всё остальное тоже можно яхз.
image.png20 Кб, 1051x1059
106 3423637
>>23624
Хотя с полиморфизмом я обосрался чуть.
22--Как делать примитивы полиморфизма в С?
Его оказывается можно и без gcc сделать. Что-то ранее я до этого не догадался.
107 3423640
>>23618
Есть ООП в виде структур с указателями на функции. Это активно используется в сложных проектах.
Например, вот драйвер контроллера USB во FreeBSD https://github.com/freebsd/freebsd-src/blob/main/sys/dev/usb/controller/ehci.c

Ищи в нём слово methods
Раз методы есть, значит и ООП есть.
108 3423654
>>23640

>Раз методы есть


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

В языке реализован ООП, когда в нём есть чёткое и ясное ключевое слово "класс". Вот тогда это ООП язык. А если этого нет - то значит и поддержки ооп нет.
109 3423663
>>23633.

> Нет ооп в С.


ООП в С есть. Нет синтаксического сахара для него, так что его костылят из структур и указателей на функции. Напоминаю, что кресты изначально в си кодогенерировали.
110 3423668
>>23663

>Нет синтаксического сахара для него, так что его костылят из структур и указателей на функции


Ну это не класс, это костыльный урод который считает себя классом, как пидор который напялил чулки и считает себя женщиной.
image.png284 Кб, 474x494
111 3423719
Что то не вдупляю

23--Напишите функцию, которая при передаче по аргументу значения 1 печатает "One". При передаче 2 печатает "Two". Запрещено использовать оператор if и оператор switch.

Что от меня хотят?! Ну я могу сделать
void func(int n){
while(n != 2){
printf("Оne\n");
return;
}
printf("Two\n");
}

Но в чём смысл?! Формально, задание выполнено. Но от меня же наверняка хотят явно чего-то другого. А чего?!

И ведь я могу придумать ещё дебильный вариант

void func(int n){
char ⚹str[] = {
"One",
"Two"
};
printf("%s\n", str[n - 1]);
}

Но зачем?! Кажется, что задача должна решаться "математически", т.е. должен сущестовать алгоритм, который любому числу вычислит буквенный аналог. Но это бред, такого алгоритма не может быть!! Чисел бесконечно много, и названия у них нерегулярные, т.е. ты досчитал до nineteen, дальше что должно быть twenteen, а хуй там дальше twenty. Ну и толку, постоянно будут появлятся новые миллионы, биллионы итд. Т.е. для каждого числа нужно будет писать своё слово. Т.е. никак математически из 1 не получить One. А значит все решения задачи, будут предствлять из себя вариацию оператора if. Ну и нахрена это нужно?! В чём смысл тогда задачи, не понимаю.
112 3423733
>>23668

> Ну это не класс, это костыльный урод который считает себя классом, как пидор который напялил чулки и считает себя женщиной.


Если уродливый пидор может родить ребенка - то вполне себе, как бы уебищно он не выглядел.

По факту на си пишут через ооп, без синтаксического сахара, через костыли и устоявшиеся "соглашения".

Вон, пример "наследования" - struct sockaddr, всякие sockaddr_in, sockaddr_un начинаются с тех же полей так что их можно кастовать к sockaddr, а читая поле sa_family - понимать к какому из них кастовать, имея пойнтер просто на sockaddr
113 3423734
>>23719
Я конечно не вдупляю, но что мешает сделать массив строк и просто доставать нужную строку по индексу? Или нужно что то более хитровыебанное?
114 3423735
>>23734
Можно. Так я это и сделал во втором примере. Просто... а нахуя? почему if нормально не использовать? В чём суть задания, в чём подвоха. Демонстрацию каких знаний от меня хотят увидеть.
115 3423737
>>23735
Нв вот я не знаю. Если это не массив и не тернарный оператор - может есть что то более байтодрочерское?
116 3423739
>>23737
Может быть и есть. Но зачем? Все даже самые хитровыебанные способы решить это задание абсолютно лишены смысла, потому что из самого задания никак не следует что именно они должны быть выбраны. Задание, грубо говоря, не содержит в себе верного решения, ведь формално оба два моих решения верны, но они оба бессмысленны.
117 3423842
>>06565 (OP)
Бля. а никто не искал пак ответов на все эти вопросы трехлетней давности ? Или может у кого то есть ?
118 3423847
>>23719
Тут типа на логику вопрос.
Ты забываешь, что в функцию могут передать что-то отличное от 1 или 2, в этом случае функция ничего не должна делать.
В первом случае при >1 всегда будет печатать two, во втором выход за пределы массива и вообще жопа.
Мимо проходил
119 3423863
>>23847
Да, но ты не заметил что тут цикл while - это костыльный if().

Зачем использовать while, когда можно по нормальному через if сделать.

Если задача - ограничить область двумя значениями, то if тут как никогда подходит. Городить деревья из if, конечно - моветон, но не потому что это медленно работает, а потому что получается нечитабельная портянка, в которой зачастую даже автор кода путается. Но если тут значений всего 2, то зачем что-то другое?!
120 3423875
>>23847
Фикс , при n! =2 всегда будет печатать One.
Сорри
121 3423878
>>23863
Ну так это учебная задача на выбор из доступных способов решения.
В реале никто 2-мя while-ами это реализовывать не будет, естественно.
122 3423888
>>23863
Но если тут значений всего 2, то зачем что-то другое?!
Привычка.
На самом деле, зависит от того, какая это функция. Если это функция интерфейса, то проверять допустимость диапазонов входных параметров обязательно. Если внутренняя static функция, которую никто извне дёрнуть не сможет, то по необходимости.
123 3423971
>>23878

>Ну так это учебная задача


Учебная задача должна иметь адекватное решение. То что она "учебная" не означает что она может быть бессмысленной. Это всё равно что на матеиатике, у тебя было бы задание "задача #1: Сколько? (Но только не 2)". Чего блядь "сколько"? Ну допустим 5 - "ответ: верно". Сука а нахуя оно верно?! В чем смысл задачи????? Вот тут также. "Сделайте программу без if". Ну сделал. А зачем? Это что какой-то принцип или навык показывает или что??
124 3423981
>>23888
Не, просто есть задачи, когда чистый if-else будет выглядеть плохо. Например, когда я писал свой програмный рендер, там изначально клиппинг линий происходил протянкой из if-else. Просто это был настолько длинный и запутанный код, что я потом всё стер и реализовпл алгоритм Cohen-Sutherland, для обрезки линий, потому что так понятнее. Но если значения только 2 то if()'ом обойтись самое простое и логичное
125 3424010
>>23971

>Это что какой-то принцип или навык показывает или что??


Да хрен его знает. Возможно это способ понять, умеешь ли ты мыслить нестандартно.
126 3424017
>>23971
Ты просто не вдупляешь
>>23981
Тут просто задачка уровня K&R, когда циклы мы прошли, а ифы ещё не прошли, поэтому хуярим задачу без ифов и будь что будет.
17412731653800.mp42,8 Мб, mp4,
1080x1080, 0:05
127 3424721
>>06565 (OP)
Ебать вы раздухарились ПЕРЕД НЕ ПРИКЛОННЫМ АВТОРИТЕТОМ СИНЬЙОРА ПОМИДОРА А ВОТ ТУ ТРУФ РАВНО НУЛЕ А В СИКЛЕ ПО СИАОДУ НЕ РАВНО NULL, спасибо за подсказки решил тз мейнстримным путем, в понедельник не поеду, решил объединить все собесы в один день, нашел соседнию компанию у которых есть чел который выдал свое блестящее резюме в hh
бля я же написал вот этому челу который сделал контрл с контрл в написал ну подтверди, что это реально спрашивают хоть чем то
17389459917120.mp4942 Кб, mp4,
406x720, 0:11
128 3424726
129 3424755
>>07861
В россии embeded работает за двоих, сейчас стало лучше, году в 18 пхп макака джун получал 60, ембедед дед 20 лет опыта в физики, электроннике плюсах - 45 т.р., c++ 5 лет опыта прикладник около 100.
130 3425127
>>24721
Хватит постить шлюх. У посетителей этого треда нет денег на шлюх.
131 3426666
>>22552
Ну что, как собесы прошли?
IMG-20250408-WA0022.jpg31 Кб, 637x415
132 3426812
>>26666
Меня не приняли. И все эти вопросы из коллоквиума - в помойку. Никаких тестов или заданий не давали. Просто спросили про глубокие познания протоколов физического уровня. Про RS-232, итд. Я в жизни ни одного протокола не прочитал, ни ip, ни tcp ни http, не говоря уж о физическом и канальном уровне. Я только в общих чертах представляю, что вот есть там канальный с деауф-пакетами для подключения к соседскому wi-fi, есть там ip, для того чтобы удобно разбивать сети и подсети (на собеседовании сказали что ip - протокол маршрутизации. Странно, я всегда думал что ip это для создания сколь угодно большие сетей, ведь понятия сеть и подсеть - относительны в отличие от мак адресов, а маршрутизацией занимаются bgp, ospf). Спросили, что я разработал на С. Я сказал про пет-проект. Ну мы ещё что-то поговорили, и чем дальше мы говорили, тем больше я как дурачок с 0 iq издавал звуки "ээээ... Мээээ... Пук, серьк". Короче сказали: "мы рассмотрим вашу кандидатуру". На вежливом языке наверное это значит: "проваливай! Ты нам не подходишь!".

Эх. Нищета.
133 3426819
>>26812
А зачем тебе вообще этот ебмеддед? Иди в обычные высокоуровневые мартыхи.
134 3426843
>>26812
У тебя базу спрашивали. Нужно подучиться. Ты в универе же? Это всё входит в стандартные предметы га том же ИВТ. Про проекты это бред. Какие проекты могут быть у вкатуна. Только лабы.
135 3426845
>>26819
Нохаир же. Знакомый фронтендер на 80к застрял. Я в нии за 170 пержу.
Мимо
136 3426866
>>26819
Да не такие уж они мартыхи. На высоком уровне тоже начинают спрашивать react, electron, ещё сотню всяких фреймворков. А я даже java не знаю, я только C/C++.

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

>>26843

>У тебя базу спрашивали. Нужно подучиться. Ты в универе же?


Ты в Беркли что ли учился. Нас в университете вообще никаким сетям не обучали от слова совсем (специальность АСУ ТП). А типичный инжинер, не всегда даже знает как каталог на компьютере создать. Про то какие протоколы существуют я чисто а свободное время обучился. Как собственно и коддингу на С. В университете вообще ничему этому не учат. Только датчкики ввбирать и электропривод рассчитывать. Ну и я уже отучился.
137 3426984
>>26812
Много лет сижу-пержу в НИИ и что-то очкую идти на собес.
Я не привык держать всё в голове. Зачем, если в любое время можно загуглить?
Про RS-232 помню про TX, RX, GND, CTS, RTS. А вот названия и подключение остальных модемных сигналов не вспомню без гугла. Какая напруга должна быть (вроде 0,5В?), положительная или отрицательная тоже не помню.
Получается, меня даже с RS-232 на собеседовании обоссут, хотя я постоянно с ним работаю и могу загуглить за пару минут все эти сигналы и регистры.

Боюсь представить, что будет, если детально начнут спрашивать про какой-нибудь USB. Когда у меня перед глазами мануалы и примеры кода, то всё понятно, а если их убрать, то я и не вспомню, в каком порядке у устройства запрашиваются всякие дескрипторы-хуипторы. Или если полезут в дебри и начнут спрашивать, в каких версиях USB какие должны быть интервалы между микрофреймами и т.д.
Я представляю, как всё это работает, но вот без гугления подробно ничего не отвечу.
138 3426994
>>26984
Под windows пишешь драйверы? Винде скоро капец, в России ее перестанут продавать и все компании перейдут на astra linux.
139 3426995
>>26994

> в России ее перестанут продавать


Типа кто то ее покупал лол
140 3427001
>>26994
Нет, под специализированную встраиваемую ОС.
141 3427022
>>26984

>Про RS-232 помню про TX, RX, GND, CTS, RTS. А вот названия и подключение остальных модемных сигналов не вспомню без гугла.


Ну а я даже не ебу что это. Я просто знаю что жто какой-то устаревшей COM порт, типо того. Если что-то общее можешь рассказать то не обоссут наверное. Меня же конкретные вещи не спрашивали. Меня просто спросили, что я знаю про физический уровень. Я хз что сказать. Во всех книгах где я читал, говорили: "да похуй чё там на физическом уровне, нас интересует TCP"

Так что нет. Не валят наверное. Но у меня опыта работы нет.

Вечная какая-то нищета:
На работу не берут потому что ничего не знаешь -> знания получить сложно потому что на практике нет никаких задач которые можно было бы решить с сетью на физическом уровне.

В итоге я, как всегда, никому нахуй не усрался. Посос.
142 3427075
>>26866

>специальность АСУ ТП


Ну понятно. Я закончил баку ИВТ. Вуз из мидтира спб. В принципе у нас всё было, от ассембли до каких-то примитивных нейроночек даже, типо мниста. Ну и само-собой плисины, микроконтроллеры, сети и вот это всё.
143 3427083
>>27075
Хорошее направление выбрал. Я просто когда поступал вообще особо ни о чем не думал, и на первом курсе и сам компьютером пользоваться не умел (каталоги создавать умел, и чертить в Автокаде умел, что вприципе уже знания превышающие 90% инжинеров. У нас по крайней мере в группе никто не умел чертить в автокад и все как дети из северной кореи - нелепо пытались водить мышкой по экрану). В компьютеры интересно стало выкатываться лишь на последних курсах.
Да и работы нихрена в АСУ-ТП нет. Полторы вакансии. Поэтому решил откликаться вприципе по спектру чего-то околоинжинерного: электрика, электронщина, робототехника, автоматизация, embedded разработка.
Жрать охота. И ботинки летние хочется - ноги уже в зимних гниют. А денег нет нихрена. Подумал что в инжинерке и embedded хоть какие-то бафы будут, что работку за 70-100к можно найти. Не, нихуя. Недостаточно.
144 3427087
>>27075

>Я закончил баку ИВТ. Вуз из мидтира спб. В принципе у нас всё было, от ассембли до каких-то примитивных нейроночек даже, типо мниста. Ну и само-собой плисины, микроконтроллеры, сети и вот это всё.


Да хуйня это все. В универе дают знания обо всем, но по верхам. На работе нужна узкая специализация, но знать ее надо глубоко. Как писал Крис Касперски, просиживание штанов в учебных заведениях разной степени тяжести еще никого не сделало программистом, только опыт, сын ошибок трудных, да общение с коллегами делают из человека программиста.
145 3427094
>>27087
И что ты сказать этим хотел? Все так и происходит: в вузе дают базу, потом ты идёшь батрачить и погружаешься в предметную область.
Зачем ты свои цитатки для коупящих вкатунов вставил?
146 3427100
>>27022
Странно, что учился АСУ ТП и ничего не знаешь про RS-232/422/485, через них как раз работает протокол MODBUS (либо через Ethernet).
И ещё ты должен был изучать EtherCAT и, соответственно, более-менее разбираться на низком уровне в Ethernet.
P.S. инженер а не инжинер.
147 3427107
>>27100
Мне на собеседовании тоже так же сказали. Я уж не стал говорить что нас в университете этому не учили. Но я хз, а на каком курсе должны были обучать? У нас была только автоматика. Там жирный ленивый еврей что-то про scada затирал. Были системы уравнения электроприводов. Был сам электропривод. Была электронника, но там нас учил дед-маразматик, из электронники только карты карно и решение логических уравнений запомнил.
Чтобы что-то связанное с сетями - такого вообще не было. Только в дипломной работе, я типо соединил ПЛК с промышленным компьютером. Я спросил у руководителя, мол, а как это работать должно, что он по Ethernet вообще может передать, под какими протоколами это вообще должно работать, на что мне сказали: "хорошие вопросы. Но вы главное покажите схему конечного автомата мура". Вообще я хуй знает что происходит. Меня в университете считали умным, просто потому что все мои одногруппники не знали нихуя от слова совсем (за исключением пару тройку инцелов), а на практике при трудоустройстве получается что и мои знания ничтожны. Да что за дьявол!! Почему чтобы купить еду, мне нужно быть сверхчеловеком по Ницше нахуй. В какой момент еда стала элементом роскоши!!?!!? Кризис что ли. И ведь возможности жить с мамкой уже нет.
ab67616d0000b273ac23011c27f27ca203477595.jpeg111 Кб, 640x640
148 3427172
В следующий раз на собесе, если спросят:

>А что вы знаете про RS-232


А я ебу что ли, я ведь не Пушкин.

>Вот вы умянули vlan, что вы про это знаете


А я чо бох я ебу что ли
149 3427198
>>26812
что за компани? это точно ембедед было ?
photo2025-04-1001-56-46.jpg79 Кб, 590x1280
150 3427227
Кто знаком с рынком вакансии ембеддед/встраивавемых систем? Принято ли накручивать опыт, врать на собеседованиях так же как в других it направлениях?

Сегодня знакомый прислал пикрил.
151 3427229
>>27083

> и на первом курсе и сам компьютером пользоваться не умел


Ты в 90-е что-ли учился, когда компьютеры были мало у кого? Или сейчас школота со своими мобилками уже и компьютером не умеет пользоваться?
152 3427232
>>27227
Да а смысла нету, в чем смысл пиздеть в it, что бы тебя пригласили на собес
А тут и так приглашают без пиздежа
Я вот вчера откликнулся на вакансию, где год опыта работы нужен, там около 10-20 откликов, мне позвонили я объяснился, что вот в андроиде не могу найти работу решил в эту область вкатиться мне сказали хорошо, завтра позвонит тим лид

Таких пикрилов гуляет по интернету тонна, они реальную ситуацию не отражают
153 3427233
>>27232
+ ко всему те кто пиздят, они надеються, что они типо на удаленке будут и их типо не спалят, что они себе очко разорвут, а тут нет удаленки, в любом случае в офис будешь ходить, что через год что через 10 лет
154 3427252
>>27198
Да. Прямо в вакансии написано какие микроконтроллеры прогать нужно.

>>27229

>Или сейчас школота со своими мобилками уже и компьютером не умеет пользоваться?


Вот это. Сейчас практически у всех смартфоны, и существует действительно большая прослойка людей которые банально не понимают как мышкой двигать. Правда, таких людей в областях близких с программированием совсем не встретишь: они обычно в школе не могли информатику осилить поэтому избегают программирования как огня. А на инжинерном факультете вполне себе.
Ну, кстати, справедливости ради больше половины из них к последнему курсу неизбежно научились чертить и работать в word. Остальные кто не наусился - просто все курсачи покупали и поэтому до последнего тупили.
image.png16 Кб, 1152x648
155 3427258
Анон, это сработает? Ничего не крутилось, пока нейросеть не посоветовала объединить схему по общему контуру через резистор. Но не уверен, можно ли так оставлять.
Крутиться начинает на 45 дьюти и уже почти на максимуме - 14мА, а на 55% уже на максимуме - 16мА. Закажу свитч полегче типа IRLML2402, может дело в Vgs th, но я не уверен в схеме как таковой.
156 3427424
>>26866

>react, electron, ещё сотню всяких фреймворков


Ебало человеков, которые тратят на это свою драгоценную жизнь.
>>26984

>Я представляю, как всё это работает


Мне кажется, это только и нужно, иметь понимание.
>>27022
RS-232 - это же UART, а UART - це база, там несложно, просто разберись в жизнихозяйстве потом пригодится.
А зачем у тебя на собесе спрашивают вот эти TCP/IP, я бы понял, если бы спросили про ethernet, нахуй им во встройке тисипи ой пи? Они сетевое оборудование делают?
2607b655918b84355f0ba608251f6907.jpg63 Кб, 735x865
157 3427439
>>27424

>Они сетевое оборудование делают?


Да.

>RS-232 - это же UART, а UART - це база, там несложно, просто разберись в жизнихозяйстве потом пригодится.


Я сразу и погуглил после собеседования. Мб повезет кто нибудь ещё пригласит.
Пиздец, пришла платёжка за комуналку, на карточке всего 2к осталось. Проклятье. Я снова в говне.
158 3427454
А что если брать долги "до зарплаты", потом когда будут требовать вернуть долг, брать взаймы у другого человека, а задолженность от первого человека отдавать частично деньгами со второй задолженности, частично склонять человека купить у тебя всякий хлам по оверпрайсу, тем самым человек сжаливается, соглащается взять у тебя твой хлам и часть денег, а ты тем временем берешь третий заём чтобы покрыть второй заём по такой же схеме: предлагаешь человеку часть денег, а вторую часть отдать всяким хламом с помойки. И получается вечный двигатель! В каком то смысле это торговля ненужным хламом по оверпрайсу.
159 3427496
>>23091

>Я слышал что dma это какая-то древняя фигня из 2000 - 2010.


Только сейчас попалось на глаза твоё сообщение.
Как это DMA - устаревшая фигня?! В современных устройствах только оно и используется.
Без DMA процессор вручную пересылает байты устройству. А с DMA устройство само пишет/читает в ОЗУ минуя процессор. Потом говорит процессору (например, прерыванием), что транзакция DMA завершена.

Короче давай гугли, что такое BUS MASTER в PCI, виртуальные и физические адреса и gather/scatter DMA для работы с ними. Если что, BUS MASTER в PCI используется во всех устройствах, а не только в IDE, как написано в древних статьях.
Ещё погугли про когерентность кэша процессора. Это когда устройство записало по DMA данные в ОЗУ, но процессор ничего об этом не знает и использует старые данных из своего кэша. Или наоборот, процессор может не скинуть данные кэша в ОЗУ и устройство по DMA прочитает старые данные. В x86 кэш когерентный и такой проблемы нет(правда как там с многоядерностью не знаю), в других архитектурах может быть по разному.
160 3427524
>>27496

>В современных устройствах только оно и используется.


>Без DMA процессор вручную пересылает байты устройству.


Нет, я просто что то слышал, что чтобы в современных компьютерных используется какой-то более совершенный механизм, типо как DMA но новее. Но забей, я не разбираюсь. Я вообще думал что rs-232 - устаревшей ненужный способ передачи данных, оказалось для embedded это актуальная технология. Собеседование провалил, теперь я нищий ведабомж, не надо меня слушать.

>Ещё погугли про когерентность кэша процессора. Это когда устройство записало по DMA данные в ОЗУ, но процессор ничего об этом не знает и использует старые данных из своего кэша.


Забавно. Вообще что почитать чтобы с картинками было понятно что где находится. Танненбаума мб? А то у меня очень смутное понисание работы компьютера. Конечно, лучшие знания приходят на практике, но пока чё то не берут, хоть почитаю.
161 3427564
>>27524
Советую книгу Гук М.Ю. Шины PCI, USB и FireWire. Энциклопедия.
Про FireWire и AGP можешь не читать, а PCI, PCI Express и USB пригодятся.
Правда минус в том, что ты не знаешь, что именно важно и можешь застрять в деталях(которые в книге не всегда понятно описаны), при этом пропустить что-то важное.
Например, для PCI важно знать про PCI Configuration space и что взаимодействие с устройствами происходит через BAR'ы, которые заданы в этом PCI Configuration space. Ещё важно знать про адресацию устройств на PCI (шина, устройство, функция).

С USB пока не влезай в детали реализации контроллеров (UHCI, EHCI и т.д.), а сосредоточься на взаимодействие с устройствами.
Ещё про USB советую книгу Агуров П. В. Практика программирования USB

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

Ещё возьми Wireshark и перехватывай им сетевые пакеты, чтобы понять, как устроена сеть.
Потом им же с помощью USBPcap перехватывай взаимодействие с USB. Посмотри, как общаются по USB клавиатура, мышка, флешка. Загугли команды SCSI, которые ты увидишь при общении с флешкой.
162 3427570
>>27524

>Я вообще думал что rs-232 - устаревшей ненужный способ передачи данных, оказалось для embedded это актуальная технология.



Можешь загуглить протокол какого-нибудь электросчётчика, например, вот https://www.incotexcom.ru/support/docs/protocol
Используется RS-485 или CAN.
16056372253180.png125 Кб, 328x368
163 3429816
Шалом! Тут есть выкатыши из классического бэка, в написание софта под кернел спейс? Вида или линь, без разницы. На те же 300-350 к. через сколько можно выйти?
164 3429952
>>29816

>написание софта под кернел спейс


Это не особо популярная тема нынче. Есть всякие безопасники и около-драйверщики, которым этим занимаются, но нахуя тебе оно нужно?

300-350к это большие деньги в системщине, где-то настраивайся на то, что лет 5 минимум будешь выходить на эти деньги с самого нуля. Если хочется норм денег и условий труда, то лучше учить жабу, голанк, котлин, питон и бекенд в целом - паттерны построения микросервисов, очереди сообщений, базы данных, логирование, трейсы, телеметрия итд.
165 3430107
>>27570

>меркурий


>CAN


Это отдельное ололо, потому что у меркурия не кан, а юарт через кановский трансивер. Эти жопоруки, видимо, думали, что этого достаточно.
доводилось работать с этим говном
166 3431439
>>26812
Как у тебя дела? Что вообще спрашивали на собесах?
167 3431451
>>31439
Дела так себе. Никто пока на второй собес не пригласил. Читаю пока мануал по RHCSA по-приколу, охота полноценно все тонкости линухов изучить. Написали в пятницу с другой компании, что рассмотрят моё резюме и ответят, но пока ещё на собес не пригласили. Надо будет в конце недели им напомнить, а то чё. Также понаписывал на вакансии АСУ-ТП на завод по производстсву пива, на инжинера-электронщика, на завод по производству сливок. Нигде пока даже не ответили.

>Что вообще спрашивали на собесах?


На прошлом уже говорил: Vlan спросили. Я начал про ip рассказывать - меня сразу оборвали, сказав что vlan на канальном уровне работает. Подобосрался немного. Мне почему-то казалось vlan - это какой-то высокоуровневый оверлей.
Спросили по RS-232, я ничего не сказал, кроме того что это ком-порт, и что я в дипломной работе плк с пк им связывал. Они попросили уточнить, знаю ли я в чём этот протокол заключается, ну я не знаю конечно же. По С вообще ничего не спросили. Спросили только знаю ли я С, я ответил что знаю, что вот пет-проекты есть. Короче не приняли.

денег нет, дела кал
168 3431597
>>31451
Я конечно сварщик ненастоящий и нифига не помню, но разве у rs-232 там есть какой то "протокол"? Мне казалось там просто выставляются уровни напряжения всырую с какой то скоростью, вот и все. Ну и еще какие то доп. биты типа стартового/стопового/контроля четности, которые могут быть или не быть как настроишь.

Мне казалось в этом и суть, что он простой как две копейки и там буквально ничего нет. В отличие от всяких там usb
169 3431630
>>31597
Может и простой. Во всех книгах которые я читал, физический уровень OSI просто отметали, говорили "ну там електричество какое-то нам не важно". Поэтому я и не интересовался никогда.
170 3431631
rutube.ru/video/d2bffdd09314ebe2fe97b53e4afa06e3/
171 3433618
Бамп
172 3433634
>>06565 (OP)
Минус эмбеддед что тут удалёнки гораздо меньше, часто нужно знать ТОЭ и электронику, нужно уметь аблтать с прототипами продуктов и тестовыми стендами. Зарплаты меньше чем в backend'е

Зато конкуренции меньше.
173 3433635
>>33634

>аблтать


работать*
174 3433668
>>07842

> В эмбеддед нужно постепенно вкатываться: ибо там не только С/С++, там еще можно прикрутить разработку схем электрических принципальных, рисование топологии печатных плат по схеме, умение работать с измерительный аппаратурой по типу мультиметра, осциллографа, вольтметра и тд



В большинстве нормальных компаний программированием, разработкой схем и топологией в электронике занимаются разные люди. Эмбедед программисты ТОЛЬКО пишут код, иногда могут поработать с тестовым стендом. Если в твоей компании что-то иначе, и человека-оркестра запрягают делать всё за пятерых, то это говноконтора с сомнительным качеством конечного продукта.
175 3433672
>>09210

>Инженегры ведь тоже макаки по большей части: сидят дрочат свои болванки в солиде, для которого скрипты писать можно, т.е. в теории программист с этим справится лучше, автоматизировав всё. Заменят ли прогеры инженеров?



Большинство болванок в солиде вообще техники или слесари делают, а инженеры обычно проектируют оборудование в рамках полного цикла проекта, т.е дрочить болванку многого 24/7 в автокаде тебе никто не даст
176 3433694
>>33634

>часто нужно знать ТОЭ и электронику


Так для меня это плюс. Я на автоматизацию закончил и С хорошо изучил. Чисто идеальна вакансия. Но пока что не берут :(
177 3433701
>>33694
Хз, может если отлично знаешь электронику и ТОЭ, то тогда поищешь вакансии инженера электронщика? Там могут и по Си задачи дать. Конкуренции меньше
178 3433704
>>33701

>тогда поищешь вакансии инженера электронщика?


Я и их рассматриваю в том числе.
179 3433708
>>33704
Cтранно, обычно туда должны то взять, особенно если на невысокую зп на вакансию стажера
180 3433717
>>33708

>если на невысокую зп


А вот поэтому и не берут. Я и так вьебываю в офисе, а мне на еду не хватает. Это хуже чем рабство - у рабов на еду хватало. Поэтому я ни за что блядь не пойду на "невысокую зп". Рассматриваю только вакансии от 100к.
181 3433753
>>33717
увы, но без релевантного опыта и стажа в индустрии хуй тебе кто от 100к просто так будет платить. Только если у тебя знания прям норм для стажера
182 3433863
>>33717

>Рассматриваю только вакансии от 100к


Так это потолок в ембеде лол.
183 3433884
>>33863
Если в мухосранске, то может быть, из-за отсутствия удалёнки. Грубо говоря, когда есть один завод на весь город, где платят копейки и больше некуда идти, а полную удалёнку в embedded найти проблематично.
А если речь про ДС и ДС2, то потолок раза в 3 выше, т.к. сотыгу можно получать простым эникеем.
184 3433890
>>33884

>ДС либо ДС2


Да я забыл, что есть Россия и отдельно ДС и ДС2.
185 3433896
>>06565 (OP)
>>23054

Дебилы, не идите в эмбеддед, я вам как эмбеддер с опытом +5 лет говорю. Я выкатился из него 3 года назад. Окончательно и пути назад нет.
Нету эмбеддеда в РФ. Чта там у нас по эмбедду? 3 госухи дроны делают и 3 финтеха делают роботов и анальные шары с RGB подсветкой?
НЕТУ ТУТ ЭМБЕДДЕД. Если вам интересно что это хотя бы пошарьте что значит эмбеддед в Европе, это автоматика для авто, роботизированные механизмы для конвейера, высокоточные инструменты для обслуживания сложных механизмов, томографы, высокоскоростные микросхемы для электронных торгов, протоколы. Там задачи дают что вы просто усретесь ещё втором этапе. Литкод будете дрочить говорите? Ха!
И теперь скажите, на чем вы будете учиться находясь в РФ, чтобы поднять планку и поехать туда? Делать всех заебавший Яндекс автомобиль с автопилотом? Который делают уже, не знаю, ещё до ковида делали.
А события кончатся по щелчку пальцев, закончатся попилы, и вы пойдете в НИИ.
186 3433897
>>33896
Да чё, будут дрочить вообще всё, разводкой заниматься сами, схемы делать будут сами, это же рэфэ.
187 3433907
>>33897
Ога, за 200К. Может доверят ещё ручные тесты делать и кнопки все нажимать по пятницам, перед релизом. Ведь делать автоматизированные тестовые дораха и "не то", никто и ничто лучше человека на голом железе не проверит.
188 3433973
>>33896
двачую, все так. Но у эмбеддеда во всем мире зп ниже, чем в обычном software engineering, это каксиома
189 3433997
>>33896
А куда выкатился? Сложно ли было найти работу в новой области?

Мне кажется, эмбеддеру сложно перейти в другую область из-за специфических знаний.
Эмбеддер привык говнокодить на C в процедурном стиле в вкраплениями ООП в виде структур с указателями на функции. А на той же Java наоборот доведённое до абсурда ООП, на каждый чих нужны всякие фабрики.
И предметные области области сильно разные. Эмбеддер умеет дрочить регистры, знает, сколько микросекунд занимает у него обработчик прерывания и т.д. Только эти знания бесполезны в прикладном ПО. В прикладном ПО важно знать фреймворки, предметную область.

Грубо говоря, эмбеддерство - это говнокод в процедурном стиле на C, изобретение велосипедов, экономия байт, фокус на железе, а не прикладных задачах.
Прикладное ПО - это ООП, использование готовых фреймворков в ущерб размера и производительности, абстрагирование от железа в пользу прикладных задач.
190 3434003
>>33997

>Грубо говоря, эмбеддерство - это говнокод в процедурном стиле на C, изобретение велосипедов, экономия байт, фокус на железе, а не прикладных задачах.


Ну хуй знает, смотря что за эмбед у тебя. Если ты делаешь какой-нибудь авиатренажёр, то дохуя ты там на сях напишешь? В общем-то любая железка сложнее дёргалки релешек уже подразумевает высокоуровневую разработку. Зачастую там ещё и сеть будет с какой-нибудь веб-мордой. Т.е. для ухода в бэкенд знания вполне себе релевантны будут.
191 3434005
>>33890

>Да я забыл, что есть Россия и отдельно ДС и ДС2


В прикладном программировании такой разницы нет. Ну может поначалу придётся работать за еду на местной галере, а потом ты найдёшь удалёнку за норм зепку.
А эмбеддером придётся всю жизнь работать за еду на местном заводе, т.к. удалёнки нет, а других предприятий либо нет, либо там платят столько же.
А если в ДС или ДС2 платить сотыгу, то там все нормальные разбегутся и останутся только дебилы, студенты и пенсионеры.
192 3434006
>>33997

>в процедурном стиле на C


Откуда у тебя предубеждение, что процедурное программирование это плохо?

>говнокод


Лол, может наоборот пиздатый?
Ты чёто дохуя говорливый, сырок, для обычной вебдрисне макаки.
193 3434007
>>34005
О том и речь, что есть РФ, а есть ДС и ДС2, и это разные страны.
194 3434008
>>33997
Я сначала выкатился в виртуализацию и симуляцию, потом в датасторейдж.
Виртуализация и симуляция - самое близкое, т.к. тут также:

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



Все то же самое, заодно Линукс подучил. Писал под QEMU и Simics.
Последний так вообще пиздец, свой язык и свой фреймворк.
Ещё варианты выката: DPDK, XDP/BPF. Сети и прочая шляпа.
В датастор я выкатился, т.к. тут опять же разработка протокола обмена данными между нодами и бекенд.
В общем нужно искать близкое, чтобы не было импакта по скиллам.

Процедурщины тут предостаточно, далеко от Си не уходил.
195 3434009
>>33997

>Сложно ли было найти работу в новой области?



И да, не совсем сложно, просто сказал себе что нахуй суходрочка на STM32 хочу жмупинус. Ну наверное за полгода нашел, почитай там про мьютексы, чтоль. Если опыт есть во фриртос так и говори, что многопоточные понимаю но на уровне РТОС. Канает, абсолютно.
196 3434094
>>33753
>>33863
Пиздец гои, бомже-гои. То есть чтобы хватило воды на месяц, необходимо быть ебаным бородатым специалистом. В это же время у девопсов потолок зарплат до 260к. Какие же гои пиздец. 100к это минимальная зп на одного человека. Этого хватит на еду, воду, квартиру, коммуналку и пару футбол и носков + возможно отложить немного получится.
197 3434096
>>33753
>>33863
Пиздец гои, бомже-гои. То есть чтобы хватило воды на месяц, необходимо быть ебаным бородатым специалистом. В это же время у девопсов потолок зарплат до 260к. Какие же гои пиздец. 100к это минимальная зп на одного человека. Этого хватит на еду, воду, квартиру, коммуналку и пару футбол и носков + возможно отложить немного получится.
198 3434106
>>34008

>В датастор я выкатился


У нас есть контроллер NAND флэша, я писал для него драйвер и пытался выжать максимум скорости, распараллеливал работу чипов. Даже сделал примитивную файловую систему, т.к. ФС типа YAFFS слишком медленные, надо было, чтобы данные по DMA сразу уходили в контроллер без лишних копирований памяти.
Этот опыт поможет в датасторе?

>Ещё варианты выката: DPDK, XDP/BPF. Сети и прочая шляпа.


У нас есть драйверы своих сетевых карт, соответственно я представляю, как работать с ними на уровне регистров. Но вот что происходит за пределами сетевой карты, меня уже мало волнует. Конечно, я в курсе основных протоколов типа FTP, NFS и т.д., но в целом знания сетей хуже продвинутого сисадмина.

>>34009
Я пишу на C драйвера под ОС наподобие VxWorks. Многопоточка там есть со всякими мьютексами, семафорами, условными переменными.
199 3434139
>>33896

>Нету эмбеддеда в РФ


Может мы сьебать из РФ хотим. На жападе как раз вроде всякие гречневые прогеры больше востребованы чем фронтоиндусы.
200 3434146
>>33884

>Если в мухосранске, то может быть, из-за отсутствия удалёнки


Не, ну в мухостранске может и норм за 45к работать и 5 за квартиру отдавать. Но я к сожалению не а мухосранске, я в ебучем центре.

Ну кстати, рассматриваю переезды и в мухосрански. Мне плевать где жить по большей части. Доставочками не пользуюсь, из инфраструктуры нужен только пивной ларёк, и зал для ММА.
201 3434481
>>34106
Думаю да, потому что ближайший пример у нас - стояла задача через RDMA ускорить передачу данных между серверами, нужно было во всем этом разобраться и заимплементить.
И я тоже особо сильно не нужен вникать что там за данные. Нужно знать особенности ОС и понимать драйверы.
Много низкоуровневого на уровне ядра. Часто задачи попадаются покопаться в кастомном ядре, может ли оно поддерживать те или иные сисколы, если нет, то пропатчить и применить их в коде, заменить и оптимизировать вызовы.
Много других задач по оптимизации, например пропускную способность починить, если какой-то модуль программы замедляет код, или драйвер и т.д. без знаний низкого уровня будет тяжело, поэтому эмбеддед тут как раз.
Нужно уметь пользоваться перфметрами, профилироввщиками, gdb, valgrind, Wireshark или уметь в таком разобраться.
>>34139
Так я же вам и говорю, ребята, что опыта тут не наберёшься на Европу, поэтому надо сразу работать в сфере где прокачаешь кругозор. Или быстро с эмбеддед валить, пока не утонул в SPI и I2C.
И ещё если подсесть на госуху каким нибудь образом связанную с военкой могут быть проблемы. У меня есть одна компания в резюме, которая называется так же как одно российское оружие. Так меня шведы на собесе начали за это спрашивать, мол это связано с оружием?
К слову, эмбеддеда за бугром очень много.
202 3434558
>>34005

>А эмбеддером придётся всю жизнь работать за еду на местном заводе


Ну на эмбеддед есть удаленка, причем не на завод, а на норм контору, особенно когда проект более прикладной, например нужно пилить qt софт для x86+linux, но их так мало в РФ, что хуй ты найдешь такое.
203 3434559
>>34094

> 100к это минимальная зп на одного человека. Этого хватит на еду, воду, квартиру, коммуналку и пару футбол и носков + возможно отложить немного получится.


Может в москве - да, но я спокойной с тянкой на 60к в месяц выживал. Правда у меня двухкомнатная хата стоила 12к в месяц
204 3434560
Скучаю по временам когда Java доминировала в эмбедед. Даже GUI пилилось на Джаве, правда жрала эта хуйня пиздец как много. Былоприятно формошлепить и даже пытаться писать что-то низкоуровневое на JavaCard
205 3434598
>>34559

>Правда у меня двухкомнатная хата стоила 12к в месяц


Эво как?? Я однокомнатную студию меньше чем за 25к не нашёл.

Может для 2011 года 60к приличная зарплата, тогда и цены были раза в 4 ниже. Но в 2025 меньше чем за 20к хуй что снимишь. Только если загородом где-то, но там ещё нужно работу для начала найти.

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

>>34481

>Так я же вам и говорю, ребята, что опыта тут не наберёшься


Ну хз. Кого охотнее возьмёт на работу забугорный барин - ивана пидораса без опыта работы, или человека у которого хотя бы 1-3 года а резюме есть галочка "ембеддед разработчик". Остальное впринципе и допиздеть можно.
206 3434615
>>34598

>Эво как


У меня в провинциальном райцентре так стоило. Правда не в центре, а ближе к окраинам, но так даже лучше было, так как до работы ближе.

Правда я ща не в РФ живу, я за такие деньги года два назад квартиру снимал.
207 3434616
>>34615
Снимал я конечно же в России по таким ценам хату.
208 3434617
>>34598

>найти тню


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

Приглашают вот на вакансию ведущего инженера-схемотехника (программиста) (конструктора) (архитектора) (экономиста) (баяниста). В общем человека оркестра.

Обязанности конечно пиздец сформированные, есть например красиво сформулированный пункт «доведение до серийной продукции».

Мне много чего здесь нравится: и протоколы связи, и написание ПО, и опыт от трёх лет для ведущего специалиста.
210 3434718
>>34634
Ну если зп 300к+, то сходи попробуй.
211 3434749
>>34718
Судя по компании, там скорее 60к
mom.mp44,4 Мб, mp4,
1600x720, 0:31
212 3434850
>>34617
Это вряд ли. На красивых фембоев спрос даже больше чем на тней, у них и изимод больше чем у тней.
213 3434852
>>34850
Перетрахал кучу фембоев, многие сами на хуй просяться, спрос на активного ебыря большой. Но я в провинции живу, может в Москве они реально зажрались.
image.png233 Кб, 439x680
214 3434857
>>34852

>Перетрахал кучу фембоев, многие сами на хуй просяться, спрос на активного ебыря большой. Но я в провинции живу, может в Москве они реально зажрались.

215 3434863
>>34857
Мимо, я инцел, с девушками у меня всегда было не оч. Из девушек меня лайкали только совсем прыщавые всратыши 120кг. Может ты не там фембоев искал просто.
216 3434878
>>34852
Фембои - разрабы на расте?
217 3434939
Эмбедед. Итоги.
17417623030410.mp43,4 Мб, mp4,
1080x1080, 0:17
218 3435072
>>26666

ой пиздец заебался ездить нахуй, что то хуйня что это хуйня, пиздец пизда ебанная на айчаре не смогла встречу перенести в конторе ебанной "известной в узких кругах", ещё я в ахуее что блять мне скинули тестовое задание какое то ебанное, я его запрокрастинировал, уже 3 недели прошло у них до сих пор 20 откликов на вакансию

>>20989
это не я если что

>>22770
>>22769
бля ну и хуйня

>>23226
ну вот не смог нахуй, пиздец, как я могу это решить если я это решал ахуелиард лет назад, я писал что прог инж закончил
219 3435073
>>35072
блять все перепуталось, короче вы меня узнали вы все поняли
17412731653800.mp42,8 Мб, mp4,
1080x1080, 0:05
220 3435080
>>34939
Пиздец после советов нахуй, перестал эту шляпу читать, чисто клуб раковых больных, так переодически заходил чекать че как тут
221 3436794
сап pr, думаю сделать ответы на вопросы по данной статье.
как думаете хабр опубликует это ?
https://habr.com/ru/articles/676076/
image.png3 Кб, 110x112
222 3436950
шарил тут по тырнету нашёл такую книгу и вспомнил про этот тред
https://www.amazon.com/Microelectronic-Circuits-Electrical-Computer-Engineering/dp/0199339139
позабавило количество страниц

не-мимо рандом
223 3437077
>>34481

>работать в сфере где прокачаешь кругозор


что за сфера?

>К слову, эмбеддеда за бугром очень много


где искать? зашел на линкедин и там ничего нет
224 3437162
>>06565 (OP)
ОП, эмбедед везде разный. Где-то 50% электроники и 50% программирования на Си, где-то 90% программирования на С++ и 10% на Си. Нужно понимать, что в первом случае от тебя будут требовать знания по разработке электронике и байтоебства на чистом Си, а во втором - как писать йобапрограммы на плюсах, не давая дотронуться до паяльника вообще.

Эмбеддед это сложно, да, очень много разных непересекающихся друг с другом направлений.
225 3437580
>>36950
Хорошая книжка?
image.png425 Кб, 965x701
226 3438559
Чё-то сегодня весь день пиздел с чатомгпт на тему сетей. Ну и чатгпт впринипе не такое уж и плохое средство обучения - сидешь диалоги с ним гоняешь, единственный кто будет терпеть твои тупые вопросы.

Нашёл ответ на вопрос из коллоквиума

>почему crc находится в конце кадра


Оказалось, ответ довольно очевидный. Вот когда я говнокодил програмный рендер компьютерной графики, меня бесил формат wavefront obj - триде модели. Дело в том что там формат не имеет заголовочника, и нигде не написано, а сколько всего в модели вообще полигонов и точек. Из-за этого, для парсинга два пути: елозить по потоку, либо же выделить дофига динамической памяти, и многоразово проходить по файлу: вначале подсчитать количество точке, потом собрать точки, потом собрать полигоны.
А вот в формате .tga, можно всё это сделать одним проходом, сразу выделив память, ведь в заголовочнике написан размер изображения, а также глубина цвета. Вот с эфир-пакетом такая же ситуация, CRC сумма может быть вычислена прямо на ходу, поэтому удобнее поставить CRC вконце, чтобы можно было одним потоком всё проанализировать и сравнить. Всегда хорошо когда формат предпологает удобный парсинг.

Далее, что я ещё выпытал про физический/канальный уровень. Эта тема была интересна, потому что про канальный уровень я по сути ничего и не знал. Я всегда сразу же переходил к ip/tcp к чему-то по чему можно физически взять и отправить сообщение. Но можем ли мы отправить сообщение по канальному уровню? Я считаю что можем!!!

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

Канальный уровень в современное время - наполовину выполнен аппаратно. Внутри компьютера есть сетевая карта, и она также как и внешние устройства типо видеокарты, может обмениваться данными с памятью, при помощи прерываний, или dma. Так вот, на физическом уровне нет особо никаких протоколов, физический уровень он про устройство самой сетевухи - по витой паре поступает напряжение, и уж как-то оно должно быть преобразовано в цифровую информацию дело схемотехники. Суть в том что все эти сигналы поступают на котроллер сетевой карты и хранятся в её памяти. Сама сетевая карта уже начинает использовать канальный протокол Ethernet на этом уровне, пакет полученный в память контроллера проверяется на соответствие MAC-адреса. Если адреса совпадают - пакет передаётся в память компьютера. Если не совпадают - утилизируются. Пакет состоит из мак-адерса получателя, отправителя, длины и полезной нагрузки. А также вконце стоит CRC для проверки контрольной суммы.

Собственно, представим ситуацию, мы связали два комьютера витой парой. Вопрос, как же нам пообщаться если никаких протоколов помимо канальных у нас нет? Собственно, ответ прос, нужно отправит пакет, куда в полезную нагрузку запихнуть слово "привет". А на другом компьютере прочитать память ядра через /dev/kmem. Найти в этой памяти что-то на подобии видеобуфера, только для сетевой карты, и тогда оттуда можно вытащить наше сообщение. Всё! можно общаться через Ethernet!.

На канальном уровне отсутствует иерархия, все устройства находятся в одной плоской сети, а маршрутизация осуществляется чисто техническими приборами типо концентраторов и свичей. Причём, концентратор просто отправляет пакеты всем участникам сети. Если пакет адес получателя не совпадает - сетевая карта отбрасывает пакет.
Свичи работают по-хитрее. Свич ориентирован на отправителя: если кто-то оправил пакет на свич, то свич запоминает физический порт и помечает этого отпавителя как находящегося на этом порту. И если теперь этому отправителю кто-то отправит ответ - то свич не будет флудить это сообщение всем, а отправит по сохранённому адресу. Таким образом уже можно реализовывать цепочки соединений, экономя пропускную способность канала. Однако, если представить ситуацию, когда один компьютер отправляет данные - а остальные ничего не отвечают, то флуд всё равно продолжится, потмоу что на свичах нет никаких пакетов для "ответа" нет никаких сообщений о том получил ли адресант пакет или нет, таблицы заполняются чисто на основании отправителей, считается что вот если отправитель на этот порт точно отправил - то его можно записать как владельца этого порта для дальнейшей коммуникации. А елсли какой-то молчун в сети ничего не отправлял в ответ, то его адрес так и не запомнят. Свичи и коммутаторы - чисто канальное оборудование, в IP сети их нет. Хотя сейчас оказывается уже есть "умные" свичи, которые аппаратно реализуют IP протокол, но это проигнорируем. Как уже говорил ранее, на канальном уровне нет иерархии. Мы в любом случае вынуждены слать пакеты всем подряд, в поисках адресанта, а маршрутизацию реализует чисто "железо". Сетевой уровень более гибкий и позволяет реализовать иерархию. Сетевой уровень реализует роутер, и уже програмно, потому что роутер представляет собой уже компьютер с операционной сетью. Протокол IP вводит понятия сеть и подсеть (я в школьные годы должго не понимал "а где тут компьютеры" но потом выяснил, что "подсетью" может быть и конечный компьютер который дальше никуда не ведёт. Это эдакое Unixовское "всё есть файл" от мира сетей). Кадр IP встроен в эфир-кадр.

Вообще, модель OSI довольно некорректная. В сторонке от IP и Ehernet стоит протокол ARP, который сам по себе вроде бы работает на эфир-пакетах, то есть в качестве полезной нагрузки эфир пакета указан арп. Получается, что арп - протокол сетевого уровня. Но нет, его причисляют именно к канальному, потому что сетей то он никаких не образует и ориентируется на мак-адреса. Кратко, арп - адрес резолюшин протокол, то есть потокол для того чтобы получить MAC адрес по IP адресу. Зачем это вообще нужно? Тут получаются такие "горки", что ли. IP пакет лежит внутри эфир-пакета. То есть для отправки по IP нам нужно знать а кому этот IP принадлежит. Если у нас уже есть таблица соответствий IP и MAC то можно взять информацию оттуда. Если же таблицы такой нет, то нужно узнать кому принадлежит этот IP адрес при помощи протокола ARP. Всем участникам сети отправляется отправляется опрос, и если их адрес соответствет - то они отвечают положительно. Тут есть интересная вещь как ARP-spoofing, существуют программы-спуферы, которые подключаются к сетевому буферу, и позволяют подменить ARP-запрос на положительный. То есть отправляет, значит роутер всем ARP запрос, а ты ему положительно отвечаешь, и тем самым, трафик который предназначался другому компьютеру, теперь направляется тебе. Осталось направить со своего компьютера пакеты на оригинальный компьютер, и получается атака man-in-middle.
image.png425 Кб, 965x701
226 3438559
Чё-то сегодня весь день пиздел с чатомгпт на тему сетей. Ну и чатгпт впринипе не такое уж и плохое средство обучения - сидешь диалоги с ним гоняешь, единственный кто будет терпеть твои тупые вопросы.

Нашёл ответ на вопрос из коллоквиума

>почему crc находится в конце кадра


Оказалось, ответ довольно очевидный. Вот когда я говнокодил програмный рендер компьютерной графики, меня бесил формат wavefront obj - триде модели. Дело в том что там формат не имеет заголовочника, и нигде не написано, а сколько всего в модели вообще полигонов и точек. Из-за этого, для парсинга два пути: елозить по потоку, либо же выделить дофига динамической памяти, и многоразово проходить по файлу: вначале подсчитать количество точке, потом собрать точки, потом собрать полигоны.
А вот в формате .tga, можно всё это сделать одним проходом, сразу выделив память, ведь в заголовочнике написан размер изображения, а также глубина цвета. Вот с эфир-пакетом такая же ситуация, CRC сумма может быть вычислена прямо на ходу, поэтому удобнее поставить CRC вконце, чтобы можно было одним потоком всё проанализировать и сравнить. Всегда хорошо когда формат предпологает удобный парсинг.

Далее, что я ещё выпытал про физический/канальный уровень. Эта тема была интересна, потому что про канальный уровень я по сути ничего и не знал. Я всегда сразу же переходил к ip/tcp к чему-то по чему можно физически взять и отправить сообщение. Но можем ли мы отправить сообщение по канальному уровню? Я считаю что можем!!!

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

Канальный уровень в современное время - наполовину выполнен аппаратно. Внутри компьютера есть сетевая карта, и она также как и внешние устройства типо видеокарты, может обмениваться данными с памятью, при помощи прерываний, или dma. Так вот, на физическом уровне нет особо никаких протоколов, физический уровень он про устройство самой сетевухи - по витой паре поступает напряжение, и уж как-то оно должно быть преобразовано в цифровую информацию дело схемотехники. Суть в том что все эти сигналы поступают на котроллер сетевой карты и хранятся в её памяти. Сама сетевая карта уже начинает использовать канальный протокол Ethernet на этом уровне, пакет полученный в память контроллера проверяется на соответствие MAC-адреса. Если адреса совпадают - пакет передаётся в память компьютера. Если не совпадают - утилизируются. Пакет состоит из мак-адерса получателя, отправителя, длины и полезной нагрузки. А также вконце стоит CRC для проверки контрольной суммы.

Собственно, представим ситуацию, мы связали два комьютера витой парой. Вопрос, как же нам пообщаться если никаких протоколов помимо канальных у нас нет? Собственно, ответ прос, нужно отправит пакет, куда в полезную нагрузку запихнуть слово "привет". А на другом компьютере прочитать память ядра через /dev/kmem. Найти в этой памяти что-то на подобии видеобуфера, только для сетевой карты, и тогда оттуда можно вытащить наше сообщение. Всё! можно общаться через Ethernet!.

На канальном уровне отсутствует иерархия, все устройства находятся в одной плоской сети, а маршрутизация осуществляется чисто техническими приборами типо концентраторов и свичей. Причём, концентратор просто отправляет пакеты всем участникам сети. Если пакет адес получателя не совпадает - сетевая карта отбрасывает пакет.
Свичи работают по-хитрее. Свич ориентирован на отправителя: если кто-то оправил пакет на свич, то свич запоминает физический порт и помечает этого отпавителя как находящегося на этом порту. И если теперь этому отправителю кто-то отправит ответ - то свич не будет флудить это сообщение всем, а отправит по сохранённому адресу. Таким образом уже можно реализовывать цепочки соединений, экономя пропускную способность канала. Однако, если представить ситуацию, когда один компьютер отправляет данные - а остальные ничего не отвечают, то флуд всё равно продолжится, потмоу что на свичах нет никаких пакетов для "ответа" нет никаких сообщений о том получил ли адресант пакет или нет, таблицы заполняются чисто на основании отправителей, считается что вот если отправитель на этот порт точно отправил - то его можно записать как владельца этого порта для дальнейшей коммуникации. А елсли какой-то молчун в сети ничего не отправлял в ответ, то его адрес так и не запомнят. Свичи и коммутаторы - чисто канальное оборудование, в IP сети их нет. Хотя сейчас оказывается уже есть "умные" свичи, которые аппаратно реализуют IP протокол, но это проигнорируем. Как уже говорил ранее, на канальном уровне нет иерархии. Мы в любом случае вынуждены слать пакеты всем подряд, в поисках адресанта, а маршрутизацию реализует чисто "железо". Сетевой уровень более гибкий и позволяет реализовать иерархию. Сетевой уровень реализует роутер, и уже програмно, потому что роутер представляет собой уже компьютер с операционной сетью. Протокол IP вводит понятия сеть и подсеть (я в школьные годы должго не понимал "а где тут компьютеры" но потом выяснил, что "подсетью" может быть и конечный компьютер который дальше никуда не ведёт. Это эдакое Unixовское "всё есть файл" от мира сетей). Кадр IP встроен в эфир-кадр.

Вообще, модель OSI довольно некорректная. В сторонке от IP и Ehernet стоит протокол ARP, который сам по себе вроде бы работает на эфир-пакетах, то есть в качестве полезной нагрузки эфир пакета указан арп. Получается, что арп - протокол сетевого уровня. Но нет, его причисляют именно к канальному, потому что сетей то он никаких не образует и ориентируется на мак-адреса. Кратко, арп - адрес резолюшин протокол, то есть потокол для того чтобы получить MAC адрес по IP адресу. Зачем это вообще нужно? Тут получаются такие "горки", что ли. IP пакет лежит внутри эфир-пакета. То есть для отправки по IP нам нужно знать а кому этот IP принадлежит. Если у нас уже есть таблица соответствий IP и MAC то можно взять информацию оттуда. Если же таблицы такой нет, то нужно узнать кому принадлежит этот IP адрес при помощи протокола ARP. Всем участникам сети отправляется отправляется опрос, и если их адрес соответствет - то они отвечают положительно. Тут есть интересная вещь как ARP-spoofing, существуют программы-спуферы, которые подключаются к сетевому буферу, и позволяют подменить ARP-запрос на положительный. То есть отправляет, значит роутер всем ARP запрос, а ты ему положительно отвечаешь, и тем самым, трафик который предназначался другому компьютеру, теперь направляется тебе. Осталось направить со своего компьютера пакеты на оригинальный компьютер, и получается атака man-in-middle.
227 3438560
Тут сразу же у меня возникло непонимание, а как тогда мы выходим в интернет? Мы же не можем эфир-пакеты миллионам копьютеров рассылать - пропускной способности каналов не хватит. Ответ на этот вопрос я так и не нашёл, чатгпт упорно говорит что канальный уровень работает только на LAN. Но я не согласен. Меня не наебёшь. Мы же все подключены проводами, а значит у нас должен быть реализован канальный уровень. Мы все так или иначе часть огромной локальной сети. На ум приходят мысли, почему нельзя выйти в интернет по эфиру. Дело в том что маршрутизация на канальном уровне определяется железом: если мы поставим концентратор - он будет всем пакеты рассылать, поставим свич - он будет по "таблицам" формировать устойчивые цепочки и отправлять пакеты на них. А ведь можем изобрести свой "супер свич" который будет ещё что-то более умное делать. Но суть в том что сам протокол не подразумевает маршрутизацию, маршрутом занимается железо, а пакеты просто отправляются куда хотят. Поэтому, ничто не мешает провайдеру сделать такую железку, которая "отметает" все пакеты которые не содержат IP заголовка. И в глобальной сети ведь чего только можно не придумать, можно сделать распределённую "умную" систему, которая бы как DNS хранила все таблицы сопоставления IP и MAC, чтобы пропускная способность при этом зря не была нагружена. Как уже говорилось, канальный уровень не обязан маршрутизироваться так как в локальных сетях - железо и программы повзоляют сделать это как угодно.

Что же такое vlan, и почему я на собеседовании обосрался говоря что они работают под IP. Оказалось что Vlan, даже не отдельный протокол. Это всё тот же эфир-протокол, но только более новой версии, с возможностью разбивать на логические группы. Теперь в эфир-пакете, кроме мак адресов добавляется ещё и влан тэг, и при получении пакета, проверяется, принадлежит ли пакет этой группе.

Вообще, Ethernet не обязан быть реализован аппаратно. Это ведь протокол. Существует соединение RS-232 - это последовательная шина, т.е. устройство типо usb, которое имеет свой драйвер для передачи информации. собственно, ничего не мешает соединить компьютеры по RS-232, и создать программу, которая бы при помощи драйвера последовательной шины, отправляла бы Ethernet-пакеты, и получала бы их чисто на програмном уроввне.

это я >>38559, да. Пиздец целый день с чатогпт пиздел.
227 3438560
Тут сразу же у меня возникло непонимание, а как тогда мы выходим в интернет? Мы же не можем эфир-пакеты миллионам копьютеров рассылать - пропускной способности каналов не хватит. Ответ на этот вопрос я так и не нашёл, чатгпт упорно говорит что канальный уровень работает только на LAN. Но я не согласен. Меня не наебёшь. Мы же все подключены проводами, а значит у нас должен быть реализован канальный уровень. Мы все так или иначе часть огромной локальной сети. На ум приходят мысли, почему нельзя выйти в интернет по эфиру. Дело в том что маршрутизация на канальном уровне определяется железом: если мы поставим концентратор - он будет всем пакеты рассылать, поставим свич - он будет по "таблицам" формировать устойчивые цепочки и отправлять пакеты на них. А ведь можем изобрести свой "супер свич" который будет ещё что-то более умное делать. Но суть в том что сам протокол не подразумевает маршрутизацию, маршрутом занимается железо, а пакеты просто отправляются куда хотят. Поэтому, ничто не мешает провайдеру сделать такую железку, которая "отметает" все пакеты которые не содержат IP заголовка. И в глобальной сети ведь чего только можно не придумать, можно сделать распределённую "умную" систему, которая бы как DNS хранила все таблицы сопоставления IP и MAC, чтобы пропускная способность при этом зря не была нагружена. Как уже говорилось, канальный уровень не обязан маршрутизироваться так как в локальных сетях - железо и программы повзоляют сделать это как угодно.

Что же такое vlan, и почему я на собеседовании обосрался говоря что они работают под IP. Оказалось что Vlan, даже не отдельный протокол. Это всё тот же эфир-протокол, но только более новой версии, с возможностью разбивать на логические группы. Теперь в эфир-пакете, кроме мак адресов добавляется ещё и влан тэг, и при получении пакета, проверяется, принадлежит ли пакет этой группе.

Вообще, Ethernet не обязан быть реализован аппаратно. Это ведь протокол. Существует соединение RS-232 - это последовательная шина, т.е. устройство типо usb, которое имеет свой драйвер для передачи информации. собственно, ничего не мешает соединить компьютеры по RS-232, и создать программу, которая бы при помощи драйвера последовательной шины, отправляла бы Ethernet-пакеты, и получала бы их чисто на програмном уроввне.

это я >>38559, да. Пиздец целый день с чатогпт пиздел.
228 3438587
И к чему весь этот пиздёжь был? Всё началось с того, что я заметил что SSH создаёт ключи, для защиты от подмены IP адреса. Вот я и начал копать, что за "подмена ip адреса" звучит как бред. Но реально оказывается можно по arp-спуфнуть и перехватить соединение. А вот ключ защитит от такой фигни. Правда непонятно, а на практике то кто вообще эту атаку будет использовать, это ведь к сети вначале нужно подключится.
229 3438665
Получается на собесе я перепутал vlan с оверлеями. Ну и глупость получается я сказал. Vlan это тупо дополнение к эфир-пакету, чтобы всё поделить на группы, а оверлейная сеть, это получается второй ip пакет внутри udp пакета. То есть когда мы связываем компьютеры по vpn получается вместо arp запросов мы шлём udp запросы и работаем по второму "виртуальному" ip адресу.
230 3438956
Осознал, что нужен чатгопота или его аналог, чтобы читать высеры долбоёбов из интернета.
231 3439353
>>38956
Иди нахуй шлюшка ебаная, педик гомодрочевый.
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее