Наконец-то возвратился спустя месяц, продолжай делать контент!
@sergchanel59482 жыл бұрын
Однозначно лайк и звезду на Гите , сразу видно что Профи, за Мэйк файлы отдельное спасибо
@MrRiseful3 жыл бұрын
Сделай пожалуйста ролик теперь о клиенте на чистом си ;)
@famousman64002 жыл бұрын
сервер работает только с одним клиентом... хотелось бы больше увидеть про работу с множеством пользователей)
@оксидводорода2 Жыл бұрын
написано безобразно, ты сам понимаешь что делаешь ?
@sucker70329 ай бұрын
а что тут собственно безобразного?
@ВладиславГришин-ш7ш5 ай бұрын
на каком стандарте Си писали?
@НекЕттАЗимов7 ай бұрын
скачал с гита, пробуй запустить, все вроде работает, но почему-то нет информации в консоле о запросе. Может подскажет кто... Использую Linux Fedora
@СергійМаляєв-д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Ай бұрын
не понимаю почему так мало лайков, целый день искал подобное видео. Хотел было уже у индусов начать смотреть, а тут вдруг это золото
@lokomanako88305 ай бұрын
а почему бы не использовать какой нибудь редактор с авто комплитом?
@javidaliyev3104 жыл бұрын
Отличный сервер!
@drimgo_yt4 жыл бұрын
Очень круто!
@dzingrey73154 жыл бұрын
Почему при открытии терминала и компилировании make выдает ошибку?
@CryptoFunIT4 жыл бұрын
Сначала необходимо скомпилировать библиотеку, перейдя в директорию extclib/ и прописав make. Только после этого, нужно скомпилировать main.c с объектным файлом extclib/extclib.o прописав make в корневой директории httpServer/.
@nunvolk34564 жыл бұрын
Спасибо за видос!
@archyt88 Жыл бұрын
😅
@gocoding47424 жыл бұрын
Ты серьёзно используешь strcmp ? А как же buffer overflow? Как раз считай от пользователя идёт ввод путя
@CryptoFunIT4 жыл бұрын
Путь ограничен в 2048 байт (прописано в структуре HTTPreq) и строка гарантированно имеет нуль-терминатор (прописано в функции _parse_request ).
@superninja27494 жыл бұрын
Спасибо!
@ythosa04 жыл бұрын
Ха-ха net/http из Go переписал
@dzingrey73154 жыл бұрын
Не думал записывать уроки по си или плюсам, пишешь вроде на плюсах часто, по крайней мере крипту, а я думаю ,что многие не знают плюсы?
@CryptoFunIT4 жыл бұрын
Я не пишу на плюсах, их могу знать только на уровне классического Си и не более. Видео связанные с обучением языков я давно перестал делать. Мне это было скучно, да и получалось на выходе также плохо (исключение лишь язык ассемблера, но и там я целью ставил создание библиотеки с переносом концепций и принципов высокоуровневых языков в низкоуровневый, а обучением можно было лишь считать эту связь, благодаря которой можно создать некоторые ассоциации с высокоуровневыми языками). Соответственно, задачу обучения языкам я возлагаю на сторонние видео, сайты, книги и прочие ресурсы. На этом же канале предпочитаю выпускать уже готовые (или дающие о чём-то представление) программы на выбранном мною языке программирования (Go, Си, ASM).
@killerferplay6142 жыл бұрын
У тебя манджара ?
@wannacry37302 жыл бұрын
Вы большой молодец.
@5elll9604 жыл бұрын
%cryptofun%, а у вас нет роликов по проектированию крупной софтинки в соотв. с какой-либо парадигмой? Пример - проектирование анализаторов сетевых пакетов\памяти(тип ваиршарка/аутопсай) в ооп или в мультипарадигме. Я б глянул. Спасибо
@CryptoFunIT4 жыл бұрын
Видео по проектированию нет, по разработке пока что тоже. Если исходить из крупных софтин, то можно представить HiddenLake ( github.com/Number571/HiddenLake ), но там я не придерживался конкретно одной парадигмы, а совмещал ПП и ООП (HL представляю, чаще всего, в симбиозе с gopeer), что впринципе чаще всего и происходит при написании программ на языке Go.
@sledleo2 жыл бұрын
Https и websocket будут?
@helloworld-fv8kx2 жыл бұрын
привет, подскажите нашли ли вы что-то полезное по https, я не могу найти ничего полезного...
@ФилиппДруан4 жыл бұрын
Скажите, не у вас ли я находил видео с реализацией блокчейна?
@CryptoFunIT4 жыл бұрын
Возможно. Было видео по блокчейну на языке программирования Go, но видео я скрыл, так как посчитал его достаточно поверхностным. Там лишь говорилось о связи блоков, без всякой работы с сетью. Тем не менее, хоть видео и скрыты от широкой публики, они доступны по ссылкам. В описании указанного видео ( kzbin.info/www/bejne/j3S5l6uQgpJ0b5I ) находятся ссылки на скрытые плейлисты и видео.
@ФилиппДруан4 жыл бұрын
@@CryptoFunIT Я сам хотел бы использовать блокчейн. Объясните, будет ли достаточно просто хешировать предыдущий блок и хеш-сумму приписывать к текущему? Есть ли блокчейн библиотеки для Common Lisp, может, вы слышали о них?
@CryptoFunIT4 жыл бұрын
@@ФилиппДруан Хешировать предыдущий блок и приписать результат к новому достаточно легко. По-идее это можно охарактеризовать следующим псевдокодом: 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? На мой взгляд, чрезвычайно изящная концепция.
@CryptoFunIT4 жыл бұрын
@@ФилиппДруан в ближайшем будущем видео по LISP не планируются. Всё из-за того, что сложно подобрать хорошие темы с данным языком. Я давно ушёл от видео связанных с обучением конкретному языку, так как для меня это оказалось скучно, да и получалось на выходе также плохо. А делать видео более сложного характера с этим языком, будет мало кому интересно, потому что в отличие от императивных языков, языки функциональные не каждый человек знает и понимает. А сама концепция таких языков действительно интересна, когда парадигма даёт ещё бОльший уровень абстракций, нежели имеющийся сегодня, и заместо терминов, связанных с памятью и переменными, даёт свойства чистых функций и вычислений без состояний (по крайней мере пытается).
@natuscoding81433 жыл бұрын
socket(), setsockopt(). Это же всë функции из стандартной (мультиплатформенной) библиотеки socket в python. Зачем такая боль?
@CryptoFunIT3 жыл бұрын
В стандартах C89, C99, C11 языка Си нет никаких библиотек работающих с сетью. Данные библиотеки представлены операционными системами и уже их стандартами соответственно, подобия POSIX. В python модуль socket представлен самим языком и абстрагирован от зависимостей и особенностей интерфейсов ОС.
@seledkaadekvat66184 жыл бұрын
невозможно смотреть, автор мычит, заикается, каждую секунду что-то переключает, ничего не объясняет как это работает, приходится ловить момент на паузе чтобы он показал какой-то кусок кода, потому что его не видно.