// HTTP сервер на чистом Си //

  Рет қаралды 18,462

CryptoFun [ IT ]

CryptoFun [ IT ]

Күн бұрын

Пікірлер: 41
@5elll960
@5elll960 4 жыл бұрын
Чистый си... так и до unix way не далеко )
@dungeonmaster6431
@dungeonmaster6431 4 жыл бұрын
Наконец-то возвратился спустя месяц, продолжай делать контент!
@sergchanel5948
@sergchanel5948 2 жыл бұрын
Однозначно лайк и звезду на Гите , сразу видно что Профи, за Мэйк файлы отдельное спасибо
@MrRiseful
@MrRiseful 3 жыл бұрын
Сделай пожалуйста ролик теперь о клиенте на чистом си ;)
@famousman6400
@famousman6400 2 жыл бұрын
сервер работает только с одним клиентом... хотелось бы больше увидеть про работу с множеством пользователей)
@оксидводорода2
@оксидводорода2 Жыл бұрын
написано безобразно, ты сам понимаешь что делаешь ?
@sucker7032
@sucker7032 9 ай бұрын
а что тут собственно безобразного?
@ВладиславГришин-ш7ш
@ВладиславГришин-ш7ш 5 ай бұрын
на каком стандарте Си писали?
@НекЕттАЗимов
@НекЕттАЗимов 7 ай бұрын
скачал с гита, пробуй запустить, все вроде работает, но почему-то нет информации в консоле о запросе. Может подскажет кто... Использую Linux Fedora
@СергійМаляєв-д3ч
@СергійМаляєв-д3ч 7 ай бұрын
при компиляции этой программы на виндовс 10 вылетела ошибка gcc -Wall -std=c99 -c http.c net.c hashtab.c tree.c type.c http.c:21: error: redefinition of typedef 'HTTP' http.h:14: error: previous declaration of 'HTTP' was here hashtab.c:16: error: redefinition of typedef 'HashTab' hashtab.h:9: error: previous declaration of 'HashTab' was here tree.c:26: error: redefinition of typedef 'Tree' tree.h:9: error: previous declaration of 'Tree' was here make: * [Makefile:17: build] Error 1
@ONlogN-p2o
@ONlogN-p2o Ай бұрын
не понимаю почему так мало лайков, целый день искал подобное видео. Хотел было уже у индусов начать смотреть, а тут вдруг это золото
@lokomanako8830
@lokomanako8830 5 ай бұрын
а почему бы не использовать какой нибудь редактор с авто комплитом?
@javidaliyev310
@javidaliyev310 4 жыл бұрын
Отличный сервер!
@drimgo_yt
@drimgo_yt 4 жыл бұрын
Очень круто!
@dzingrey7315
@dzingrey7315 4 жыл бұрын
Почему при открытии терминала и компилировании make выдает ошибку?
@CryptoFunIT
@CryptoFunIT 4 жыл бұрын
Сначала необходимо скомпилировать библиотеку, перейдя в директорию extclib/ и прописав make. Только после этого, нужно скомпилировать main.c с объектным файлом extclib/extclib.o прописав make в корневой директории httpServer/.
@nunvolk3456
@nunvolk3456 4 жыл бұрын
Спасибо за видос!
@archyt88
@archyt88 Жыл бұрын
😅
@gocoding4742
@gocoding4742 4 жыл бұрын
Ты серьёзно используешь strcmp ? А как же buffer overflow? Как раз считай от пользователя идёт ввод путя
@CryptoFunIT
@CryptoFunIT 4 жыл бұрын
Путь ограничен в 2048 байт (прописано в структуре HTTPreq) и строка гарантированно имеет нуль-терминатор (прописано в функции _parse_request ).
@superninja2749
@superninja2749 4 жыл бұрын
Спасибо!
@ythosa0
@ythosa0 4 жыл бұрын
Ха-ха net/http из Go переписал
@dzingrey7315
@dzingrey7315 4 жыл бұрын
Не думал записывать уроки по си или плюсам, пишешь вроде на плюсах часто, по крайней мере крипту, а я думаю ,что многие не знают плюсы?
@CryptoFunIT
@CryptoFunIT 4 жыл бұрын
Я не пишу на плюсах, их могу знать только на уровне классического Си и не более. Видео связанные с обучением языков я давно перестал делать. Мне это было скучно, да и получалось на выходе также плохо (исключение лишь язык ассемблера, но и там я целью ставил создание библиотеки с переносом концепций и принципов высокоуровневых языков в низкоуровневый, а обучением можно было лишь считать эту связь, благодаря которой можно создать некоторые ассоциации с высокоуровневыми языками). Соответственно, задачу обучения языкам я возлагаю на сторонние видео, сайты, книги и прочие ресурсы. На этом же канале предпочитаю выпускать уже готовые (или дающие о чём-то представление) программы на выбранном мною языке программирования (Go, Си, ASM).
@killerferplay614
@killerferplay614 2 жыл бұрын
У тебя манджара ?
@wannacry3730
@wannacry3730 2 жыл бұрын
Вы большой молодец.
@5elll960
@5elll960 4 жыл бұрын
%cryptofun%, а у вас нет роликов по проектированию крупной софтинки в соотв. с какой-либо парадигмой? Пример - проектирование анализаторов сетевых пакетов\памяти(тип ваиршарка/аутопсай) в ооп или в мультипарадигме. Я б глянул. Спасибо
@CryptoFunIT
@CryptoFunIT 4 жыл бұрын
Видео по проектированию нет, по разработке пока что тоже. Если исходить из крупных софтин, то можно представить HiddenLake ( github.com/Number571/HiddenLake ), но там я не придерживался конкретно одной парадигмы, а совмещал ПП и ООП (HL представляю, чаще всего, в симбиозе с gopeer), что впринципе чаще всего и происходит при написании программ на языке Go.
@sledleo
@sledleo 2 жыл бұрын
Https и websocket будут?
@helloworld-fv8kx
@helloworld-fv8kx 2 жыл бұрын
привет, подскажите нашли ли вы что-то полезное по https, я не могу найти ничего полезного...
@ФилиппДруан
@ФилиппДруан 4 жыл бұрын
Скажите, не у вас ли я находил видео с реализацией блокчейна?
@CryptoFunIT
@CryptoFunIT 4 жыл бұрын
Возможно. Было видео по блокчейну на языке программирования Go, но видео я скрыл, так как посчитал его достаточно поверхностным. Там лишь говорилось о связи блоков, без всякой работы с сетью. Тем не менее, хоть видео и скрыты от широкой публики, они доступны по ссылкам. В описании указанного видео ( kzbin.info/www/bejne/j3S5l6uQgpJ0b5I ) находятся ссылки на скрытые плейлисты и видео.
@ФилиппДруан
@ФилиппДруан 4 жыл бұрын
@@CryptoFunIT Я сам хотел бы использовать блокчейн. Объясните, будет ли достаточно просто хешировать предыдущий блок и хеш-сумму приписывать к текущему? Есть ли блокчейн библиотеки для Common Lisp, может, вы слышали о них?
@CryptoFunIT
@CryptoFunIT 4 жыл бұрын
@@ФилиппДруан Хешировать предыдущий блок и приписать результат к новому достаточно легко. По-идее это можно охарактеризовать следующим псевдокодом: prevHash = Hash(Concat(Data(prevBlock))); // где // функция Data - берёт все поля объекта prevBlock; // функция Concat - конкатенирует данные в одну строку; // функция Hash - вычисляет хеш-сумму; newBlock = NewBlock(newData, prevHash); // где // функция NewBlock - создаёт объект (подобный prevBlock) исходя из его данных (подобия транкзации, отправителя, получателя) и хеш-суммы предыдущего блока. Если углубляться в теорию того, какая должна быть выбрана Hash функция, то лучше использовать выбранную функцию из семейства SHA-2, SHA-3 с алгоритмом HMAC, для повышения безопасности (подробнее об этом можете почитать в книге Практическая криптография от авторов Фергюсона и Шнайера, Часть I, Глава 6. Функции хэширования). На счёт библиотек связанных с блокчейном в языке Common Lisp ничего не знаю.
@ФилиппДруан
@ФилиппДруан 4 жыл бұрын
@@CryptoFunIT Спасибо! Попытаюсь в качестве упражнения сделать блокчейн по схеме "хешируем предыдущий, прибавляем к текущему". А будут видео по Lisp? На мой взгляд, чрезвычайно изящная концепция.
@CryptoFunIT
@CryptoFunIT 4 жыл бұрын
@@ФилиппДруан в ближайшем будущем видео по LISP не планируются. Всё из-за того, что сложно подобрать хорошие темы с данным языком. Я давно ушёл от видео связанных с обучением конкретному языку, так как для меня это оказалось скучно, да и получалось на выходе также плохо. А делать видео более сложного характера с этим языком, будет мало кому интересно, потому что в отличие от императивных языков, языки функциональные не каждый человек знает и понимает. А сама концепция таких языков действительно интересна, когда парадигма даёт ещё бОльший уровень абстракций, нежели имеющийся сегодня, и заместо терминов, связанных с памятью и переменными, даёт свойства чистых функций и вычислений без состояний (по крайней мере пытается).
@natuscoding8143
@natuscoding8143 3 жыл бұрын
socket(), setsockopt(). Это же всë функции из стандартной (мультиплатформенной) библиотеки socket в python. Зачем такая боль?
@CryptoFunIT
@CryptoFunIT 3 жыл бұрын
В стандартах C89, C99, C11 языка Си нет никаких библиотек работающих с сетью. Данные библиотеки представлены операционными системами и уже их стандартами соответственно, подобия POSIX. В python модуль socket представлен самим языком и абстрагирован от зависимостей и особенностей интерфейсов ОС.
@seledkaadekvat6618
@seledkaadekvat6618 4 жыл бұрын
невозможно смотреть, автор мычит, заикается, каждую секунду что-то переключает, ничего не объясняет как это работает, приходится ловить момент на паузе чтобы он показал какой-то кусок кода, потому что его не видно.
@natuscoding8143
@natuscoding8143 3 жыл бұрын
Откуда такое самомнение. Вы сын Трампа?
@seledkaadekvat6618
@seledkaadekvat6618 3 жыл бұрын
@@natuscoding8143 Да.
#19 Workshop: MPC vs FHE by Yannik Schrade from Arcium
28:40
FHE Onchain
Рет қаралды 2,3 М.
РОДИТЕЛИ НА ШКОЛЬНОМ ПРАЗДНИКЕ
01:00
SIDELNIKOVVV
Рет қаралды 2,2 МЛН
Officer Rabbit is so bad. He made Luffy deaf. #funny #supersiblings #comedy
00:18
Funny superhero siblings
Рет қаралды 13 МЛН
Spongebob ate Michael Jackson 😱 #meme #spongebob #gmod
00:14
Mr. LoLo
Рет қаралды 10 МЛН
// Абсолютная анонимность //
55:45
CryptoFun [ IT ]
Рет қаралды 29 М.
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 129 М.