Сохранен 88
https://2ch.hk/b/res/311901057.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Sup двачик, на какой стул сесть? Планирую написать маленькое приложение для бекапирования файлов в р

 Аноним OP 19/10/24 Суб 22:21:34 #1 №311901057 
IMG20241019221746.jpg
Sup двачик, на какой стул сесть? Планирую написать маленькое приложение для бекапирования файлов в реальном времени, на свой ЦОД, планирую высчитывать хеши файлов, и если хеш отличается от текущего, файл перекачивается на мою файлопомойку.
Люблю старый код, поэтому C# .NET не советуйте.
Аноним 19/10/24 Суб 22:23:34 #2 №311901141 
>>311901057 (OP)
Си, наверное, я хз. Ассемблер некрасивый.
Аноним 19/10/24 Суб 22:26:50 #3 №311901268 
17056137281420.jpg
Bump
Аноним 19/10/24 Суб 22:31:18 #4 №311901435 
>>311901057 (OP)
Ты и на си заебёшься с файлами работать, зачем тебе асемблер?
Аноним 19/10/24 Суб 22:32:46 #5 №311901493 
>>311901435
Хочу написать крошечную программу с функционалом.
Аноним 19/10/24 Суб 22:34:56 #6 №311901576 
>>311901493
Если ты не гипер гений, то ты на ассемблере и не осилишь ничего, да и вряд ли получится оптимальнее, чем компилятор си сделает
Аноним 19/10/24 Суб 22:39:37 #7 №311901766 
17068504737900.jpg
Бамп
Аноним 19/10/24 Суб 22:47:11 #8 №311902094 
А что у тебя за ЦОД
Аноним 19/10/24 Суб 22:47:11 #9 №311902095 
>>311901057 (OP)
Си конечно. Ты в курсе, что ассемблер - это не язык, блять? Название книги максимально кликбейтное. Ассемблер разный для каждой архитектуры и процессора. Да и сами "ассемблеры" разные бывают. Не лезь короче, оно тебя убьет
Аноним 19/10/24 Суб 22:48:14 #10 №311902146 
>>311901057 (OP)
>бекапирования файлов в реальном времени
Что это значит?
Аноним 19/10/24 Суб 22:48:14 #11 №311902148 
>>311902095
https://en.wikipedia.org/wiki/Assembly_language
Аноним 19/10/24 Суб 22:49:08 #12 №311902193 
>>311902095
>Ассемблер разный для каждой архитектуры и процессора.

Почему тогда программа для винды при дизасмблировании выглядит выглядит на любой системе одинаково?
Аноним 19/10/24 Суб 22:49:14 #13 №311902200 
>>311901057 (OP)
Сколько тебе лет? Откуда у тебя цод?
Аноним 19/10/24 Суб 22:52:40 #14 №311902337 
image.png
>>311901057 (OP)
>хеши файлов, и если хеш отличается от текущего, файл перекачивается на мою файлопомойку
Аноним 19/10/24 Суб 22:55:29 #15 №311902451 
>>311902200
Я скуф, есть такой один ЦОД.
Аноним 19/10/24 Суб 22:56:45 #16 №311902504 
>>311902095
Потому что любая прога в шинде написана либо на C либо С++, оба - кроссплатформенные и совместимы c x86
Аноним 19/10/24 Суб 22:57:07 #17 №311902519 
>>311902193
>>311902504
Аноним 19/10/24 Суб 22:58:01 #18 №311902562 
>>311901057 (OP)
Подкинь монетку
Аноним 19/10/24 Суб 22:59:28 #19 №311902622 
>>311902504
Помню мне препод в универе говорил - не делайте ассемблерные вставки, вы потом в них не разберетесь. 🤔
Аноним 19/10/24 Суб 22:59:51 #20 №311902643 
>>311902337
В реальном времени твой rsync может?
Аноним 19/10/24 Суб 23:00:27 #21 №311902669 
Я бы ради интереса написал на асме просто чтобы написать. Но вообще нет смысла, есть rsync который разрабатывается уже 100 лет и лучше ты вряд ли сделаешь, очень много подводных камней, хотя на первый взгляд может показаться просто.
Аноним 19/10/24 Суб 23:00:33 #22 №311902673 
>>311902148
Там прямо написано,
> Ассе́мблер (от англ. assembler — сборщик) — транслятор программы из текста на языке ассемблера в программу на машинном языке.
А язык ассемблера - это не язык по факту, это просто набор инструкций настолько низкого уровня, что под каждый проц свой "язык". Ты почему думаешь, си компилируемый? Вот поэтому.

>>311902193
Потому что ассемблер разный, а вот код и сама программа одна.

>>311902504
Плюсану. Плюсы база
Аноним 19/10/24 Суб 23:06:42 #23 №311902957 
>>311901057 (OP)
Главное чтоб ЖОПА ВЫДЕРАЖАЛА. Не случилось отвал прямой кишки. Если да. То Ассемблер. На нем можно писать вирусы и прикладные вещи. Но лучше С++
Аноним 19/10/24 Суб 23:08:59 #24 №311903054 
>>311902957
Я как раз выпил польский monster, сейчас попью чайку с глицинкой и буду рукоблудить на ассеблер или c.
Аноним 19/10/24 Суб 23:12:54 #25 №311903209 
17245235251190.jpg
Bump
Аноним 19/10/24 Суб 23:13:31 #26 №311903237 
4dhtQ9lN72g.jpg
>>311903054
Эх, я тоже как-то выпил этот монстр, и потом занимался придумыванием архитектуры сервиса репетиторов.
Аноним 19/10/24 Суб 23:14:12 #27 №311903264 
Видимо, там эффект от витамина Б.
Аноним 19/10/24 Суб 23:15:47 #28 №311903329 
>>311903237
И че получилось или алкоголь смыл все мозговые вещества?
Аноним 19/10/24 Суб 23:16:48 #29 №311903369 
>>311903237
Дизайн гавной
Аноним 19/10/24 Суб 23:17:25 #30 №311903396 
>>311903329
А почему нет? У любого нормального синьора получится.
Аноним 19/10/24 Суб 23:20:02 #31 №311903501 
>>311901057 (OP)
>в реальном времени
А ос у тебя реального времени или ты пердикс?
Аноним 19/10/24 Суб 23:24:43 #32 №311903687 
>>311903501
Да реального, с реальными поцанами юзерами.
Аноним OP 19/10/24 Суб 23:26:22 #33 №311903761 
16910828633690.jpg
Bump
Аноним 19/10/24 Суб 23:27:56 #34 №311903824 
>>311903687
Какая?
Аноним 19/10/24 Суб 23:29:37 #35 №311903896 
ОП, а у твоего приложения будет интерфейс?
Аноним 19/10/24 Суб 23:31:14 #36 №311903966 
>>311903896
Посмотрим, я хочу для себя, потом может для офиса, юзерам через GPO закидывать.
Аноним 19/10/24 Суб 23:34:58 #37 №311904108 
image.png
>>311903966
Только не говори, пожалуйста, что ты оп треда про программиста и системного одминистратора. Я очень расстроюсь.
Аноним 19/10/24 Суб 23:36:11 #38 №311904162 
>>311904108
Не то какой-то шиз демфингует наше дело.
Аноним OP 19/10/24 Суб 23:40:26 #39 №311904339 
16083322357100.jpg
Bump
Аноним OP 19/10/24 Суб 23:52:39 #40 №311904866 
Last bump
Аноним 20/10/24 Вск 00:17:48 #41 №311905857 
Си/Си++ прогер итт. Задавай ответы

Моё мнение: лучше уж пиши на си, если хочешь поиграться. Кстати, на какому уровне бэкапы хочешь: все байты как блочного устройства? Или на уровне файловой системы?
Аноним 20/10/24 Вск 00:20:38 #42 №311905952 
17255433518570.jpg
>>311902095
>Ты в курсе, что ассемблер - это не язык, блять?
Это тебе на скилбоксе раскали? С каких пор ассемблер - не язык. Вон NASM возьми он кросплатформанный, ещё и с богатым макропроцессором. Помоему ты не понимаешь что говоришь. Ассемблер как раз для этого и нужен, чтобы заменять набор машинных команд процессора, на слова типо mov, push, lea.
Как раз ассемблер намного более кросплатфорсенный чем С. Вообще, чем более низкоуровневый язык тем он проще портируется.
Ассемблер до сих пор нужен для голого железа. Ну а опу действительно наверное С подойдет.
Аноним 20/10/24 Вск 00:22:20 #43 №311906006 
>>311905952
А если я напишу что-то на ассемблере, оно будет выводить результат куда, в коммандную строку?
Аноним 20/10/24 Вск 00:23:28 #44 №311906055 
>>311906006
Если "что то" напишешь, то нет. А если напишешь то что выводиь результат в командную строку, то да.
Аноним 20/10/24 Вск 00:25:17 #45 №311906112 
>>311906006
Я просто не понял к чему ты это? Ты можешь что-то вывести в командную строку на ассемблере.
Аноним 20/10/24 Вск 00:25:24 #46 №311906119 
>>311906055
А что интересное можно вообще на нём написать? Я так понимаю до гуи там далеко?
Аноним 20/10/24 Вск 00:25:26 #47 №311906120 
>>311905857
На уровне фс, думаю как бы передавать данные, думаю юзать smb.
Аноним 20/10/24 Вск 00:25:35 #48 №311906122 
>>311901057 (OP)
Напиши. Свету только Go взять для этого.
Аноним 20/10/24 Вск 00:25:55 #49 №311906133 
>>311906112
Я никогда не писал на нём, мне интересно, как оно работает
Аноним 20/10/24 Вск 00:27:11 #50 №311906170 
400x400.png
О, я придумал, можно написать Список дел.
Аноним 20/10/24 Вск 00:29:07 #51 №311906237 
>>311905952
>более кросплатфорсенный чем С
Вряд ли. Одно и то же, по сути. Сисколлы и аби всё равно на разные на разных осях. Не получится ассемблреный листинг собрать на одной платформе и на другой без проблем
Аноним 20/10/24 Вск 00:29:39 #52 №311906256 
>>311906120
Юзай свои сокеты уж тогда
Аноним 20/10/24 Вск 00:30:58 #53 №311906305 
Или даже мессенджер.
Аноним 20/10/24 Вск 00:31:30 #54 №311906322 
Вот это интереснее. Насколько быстрым его можно сделать.
Аноним 20/10/24 Вск 00:32:18 #55 №311906345 
>>311901057 (OP)

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

Асм потом для души почитаешь.
Аноним 20/10/24 Вск 00:32:50 #56 №311906361 
Вот допустим в веб чтобы сделать окно с белым фоном, нужно создать div и приделать ему background color #ffffff. А как такое сделать в С?
Аноним 20/10/24 Вск 00:34:11 #57 №311906410 
>>311906119
>Я так понимаю до гуи там далеко?
Нет, почему. Можно написать и гуй на ассемблере. Всё что можно написать на языках высокого уровня, можно написать и на ассемблере. Просто так не принять делать по двум причинам:
1)Код больших программ на ассемблере неизбежно станет нечитабельным. Да уже когда реализуют "средние" программы код уже становится не особо понятным. Так что ассемблерный код всегда стараются делать маленьким, чтобы его можно было понять. Непонятный код = бесполезный код.
2) Шанс ошибок и неоптимальных решений резко возрастает. Скорее всего, большая программа на асемблере будет тормозить, просто потому что человек - не оптимизатор С, человек пишет как ему кажется логично, а не как оптимально. Поэтому большой асм-код - вредно.
Так что особого смысла писать на ассемблере нет. Только ради практики если.
Аноним 20/10/24 Вск 00:34:31 #58 №311906421 
Низкоуровневые языки вообще довольно прикольные. У каждого наверное был или есть период в жизни, когда ему очень приятно повозится с байтиками и указателям. Почувствовать полный контроль над своей программой.

Кстати, ОП, переберал бы клаву да помыл. Я каждый год клаву замачиваю в тазу со стиральным порошком и отмываю каждый клавишу и корпус от сала.
Аноним 20/10/24 Вск 00:35:14 #59 №311906442 
>>311906410
понятно
Аноним 20/10/24 Вск 00:35:20 #60 №311906448 
>>311906345
Хорошо умник как ты напишешь бутлоадер на си? Никак, значит Си бесполезный язык программирования.
Аноним 20/10/24 Вск 00:35:26 #61 №311906450 
>>311906361

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

Расньше распространённо было CGI-скрипты.
Аноним 20/10/24 Вск 00:36:01 #62 №311906471 
>>311906448

Это специфическая задача. У ОПа не такая.
Аноним OP 20/10/24 Вск 00:37:06 #63 №311906503 
>>311906421
Я залил сладким чаем дорогую механику, теперь пользуюсь старой.
Аноним 20/10/24 Вск 00:39:09 #64 №311906571 
>>311906471
Си говно потому что нельзя написать бутлоадер на нём, chs нельзя нельзя непосредственно обращаться к магнитной головке диске, системные прерывания прерывания биос тоже нельзя, значит си это урезанное говно.
Аноним 20/10/24 Вск 00:48:52 #65 №311906862 
>>311906571
> магнитной головке диск
Это делает прошивка на микроконтроллере, которая написана на С.
Аноним 20/10/24 Вск 00:52:11 #66 №311906943 
>>311906862
Откуда знаешь на чём они написаны?
Аноним 20/10/24 Вск 00:53:54 #67 №311906984 
>>311906943
Все прошивки писали на С, сейчас С++. Опыт. Какое напряжение подать и на сколько секунд, и твоя магнитная головка перейдет на нужный сектор.
Аноним 20/10/24 Вск 01:00:30 #68 №311907134 
>>311901057 (OP)
> C# .NET
Эта хуйня память жрет как потерпевшая, на маленьких системах тупа кал собаки. Перешел на go, заебись язык, программки не падают вообще, хотя ранее обсирались от особенностей пинукса и хардваре.
Аноним 20/10/24 Вск 01:00:51 #69 №311907150 
>>311902337
ты идиот, любая система кроме аналогов freeRTOS не реального времени, да и сомневаюсь что ты юзаешь на сервере экспериментальное rtos linux ядро. реальное время означает возможность прервать исполнение кода программы через хардварное прерывание на ядро. тик операционной системы 5 мс или сколько я хз. что тебе мешает в фоне по кругу считать хэши в лоу приоре и все это через башовый скрипт, без костылинга и прочей дичи?
Аноним 20/10/24 Вск 01:02:57 #70 №311907203 
>>311906984
С помощью ассемблера можно вызывать прерывания минуя сисколы оси
Аноним 20/10/24 Вск 01:07:30 #71 №311907328 
>>311907203
А нахуй твои прерывания нужны где-то помимо узкоанусных программ по типу бутлодера?
Аноним 20/10/24 Вск 01:09:12 #72 №311907365 
>>311907203
Микроконтроллер жесткого диска имет свою "ОС" прошивку, свой процессор, свою память. И все это крутится я так думаю на адской смеси ассеблера и С.
Аноним 20/10/24 Вск 01:09:41 #73 №311907377 
>>311907134
А теперь переходи на раст
Аноним 20/10/24 Вск 01:10:42 #74 №311907407 
>>311901057 (OP)
А ты смешной
Аноним 20/10/24 Вск 01:11:39 #75 №311907426 
>>311907328
>>311907365
Эсли вам нужно написать собственный аллокатор памяти чё вы будете делать? Я вам уже сотни примеров привел, что на Си не написать, а вы говорите, что это всё не надо.
Аноним 20/10/24 Вск 01:11:54 #76 №311907429 
>>311907203
>>311907328
Так в С же ассемблерные вставки есть? Просто прерывания - сами по себе вещь низкоуровневая, и пихать её в С как часть синтаксиса - наверное некрасиво. Но есть же асм вставки для этого. Сам себе сисколы и реализуй блеядь.
Аноним 20/10/24 Вск 01:12:20 #77 №311907443 
>>311907377
Пробовал раст, не очень понравились мне эти &&&&&&& в каждом углу. Еще и из-за бизапаснасти хуй нормально с объедками поработаешь, без пъердоллинга. Да и в го рефлексия и интерфейсы есть. Безопасность, конечно, хорошо, но ее должно быть в меру как в го например.
Аноним 20/10/24 Вск 01:13:18 #78 №311907464 
>>311907426
> Эсли вам нужно написать собственный аллокатор памяти
Нахуя?
Аноним 20/10/24 Вск 01:16:11 #79 №311907534 
>>311906345
ассебли нужен только для того, чтобы написать комплиятор сишки, и все. реверс-инжиниринг это уровнь богов поэтому большинсту людей он не нужен. программа написанная на си и на командах будет весить одинаково и исполняться одинаково. а из си можешь хоть обмазаться авх инструкциями. а супероптимальные алгоритмы это не асембли это всякие интеловские HPC компиляторы для фортрана и си
Аноним 20/10/24 Вск 01:16:25 #80 №311907539 
>>311907426
Да всмысле не написать? Malloc это функция. Это не операция.
У С нет "стандартной" библиотеки на самом деле. Если ничего не подключать, то олдовые компиляторы типо С, ничего в твою программу и нк включат кроме прямой трансляции синтаксических конструкций в машинный код.
Поэтому С и низкоуровневый, потому что он практически как ассемблер напрямую однозначно определяет машиный код. Помоему некоторые компиляторы этот порядок нарушают типо gcc, но это как бы и не канон.
Аноним 20/10/24 Вск 01:44:32 #81 №311908130 
>>311901576
>вряд ли получится оптимальнее, чем компилятор си сделает
Я когда понижал частоту ARM контроллера, чтобы ловить синхроимпульс, цикл for нахуй выкинул, поглядев, что там в ассемблере и заменил своей ассемблерной вставкой. НО! В целом ты прав, обычно компилятор знает лучше теба.
Аноним 20/10/24 Вск 01:55:56 #82 №311908345 
>>311908130
> когда понижал частоту ARM контроллера, чтобы ловить синхроимпульс,
Подробнее. А лучше ещё и снипет в студию
Аноним 20/10/24 Вск 04:52:56 #83 №311911706 
>>311906237
Ну, если там нет инструкций ввода-вывода... скорее всего он даже в память не загрузится
Аноним 20/10/24 Вск 04:55:42 #84 №311911762 
>>311906133
Оно работает как что-то, что ты можешь увидеть, если идой разберешь прогу, скомпиленную на си (спойлер, прога из одной строчки а = 2 + 2 будет иметь порядка 200 функций и десяток подключенных библиотек, это связано с особенностями динамической загрузки в х386 ос, возможно в досе они меньше)
Аноним 20/10/24 Вск 05:05:27 #85 №311911937 
>>311901057 (OP)
Очевидно. На оба.
Аноним 20/10/24 Вск 05:28:14 #86 №311912306 
>>311901057 (OP)
Просто перед выключением, поставь скрипт, коьорый будет чекать, нафига тебе в реальном времени?
Аноним 20/10/24 Вск 05:35:57 #87 №311912445 
>>311901576
Скопировать хэш функцию из интернета и сравнить два хэша на отличие, ебать реально гениально
Аноним 20/10/24 Вск 05:43:38 #88 №311912585 
>>311902643
Если тебе очень нужен реалтаймовый rsync, то, скорее всего, ты что-то делаешь не так, и подобную задачу лучше решать более подходящими для этого средствами.

Lsyncd Alternative for Real-Time Sync
https://www.resilio.com/blog/lsyncd-for-near-real-time-sync
https://github.com/lsyncd/lsyncd
comments powered by Disqus

Отзывы и предложения