Здесь можно получить помощь и консультацию по любому языку программирования, в любой сфере разработки. Не важно, программируете ли вы собственного робота, пишете серверную приблуду, интегрируете чужие API, ковыряете игру, или пытаетесь сделать сайт на Wordpress - если аноним что-то об этом знает, он обязательно поможет. Пополняемая база знаний: http://pastebin.com/AGhLZppH Не знаете, какой язык и библиотеки взять для вашей задачи? Вам сюда. Не знаете, где клиент, а где сервер? Вам сюда. Не понимаете, что такое ООП? Вам сюда. Написали код, и не понимаете, почему не работает? Вам сюда. Обнаружили кусок кода, и не понимаете, как оно вообще могло работать? Вам тоже сюда. Не знаете, как подступиться к проблеме? Вам обязательно сюда. Другие тематические нити (иногда обновляется): https://pastebin.com/psy43ibG Примеры кода лучше выкладывать в виде ссылок на http://pastebin.com или http://ideone.com Фронтендные вещи лучше выкладывать на http://jsfiddle.net Аноним будет стараться дать максимально точный ответ на ваш вопрос и не пытаться предложить вам поменять весь стек технологий только потому что не знает, как решить проблему с тем что у вас есть. Впрочем, если вы забиваете гвоздь микроскопом, аноним постарается вас об этом предупредить. Чтобы не сбивать новичков с толку, а также не разбавлять полезную информацию мусором, беспредметные споры типа "какой язык / парадигма / библиотека / етц лучше" здесь запрещены. Для подобных вещей теперь есть отдельная диспутов нить >>/dev/21353 Если здесь поселится достаточное количество программистов на одном языке / одной сферы, можно будет их выделить в отдельную нить, а в этой оставить на неё ссылку. По мере поступления вопросов можно составлять FAQ и базу знаний. Архив нитей: http://410chan.org/dev/arch/res/14160.html http://410chan.org/dev/arch/res/15681.html http://410chan.org/dev/arch/res/17424.html http://410chan.org/dev/arch/res/19666.html http://410chan.org/dev/arch/res/21641.html http://410chan.org/dev/arch/res/23830.html Прошлая нить пока тонет тут: >>/dev/23830
Привет, Чиочан. Давненько я к тебе не заходил. Есть примерно вот такой код: https://www.onlinegdb.com/xSsjrYLhY Он должен выводить информацию о сетевых интерфейсах в системе. В онлайн-компиляторе он нормально компилируется и отрабатывает, но когда я пытаюсь запустить его на виртуалке, он падает с сегфолтом при попытке обратиться к ifa->ifa_addr->sa_family. При обращении к ifa->ifa_addr->sa_data тоже сегфолт. Такое ощущение, будто ifa->ifa_addr это nullptr. Но в отладчике видно, что там не 0. Может, у меня что-то напортачено с настройкой самих интерфейсов?
>>27688 >sa_family 57824 Какое-то очень здоровенное значение, явно ifa->ifa_addr указывает куда-то не туда...
>>27689 В общем, дело оказалось в том, что у меня в проекте выставлен ключ -fpack-struct=1 для выравнивания структур. И это выравнивание конфликтовало с тем, что хочет позиксовское апи. Пришлось прагмами вокруг инклудов отключать выравнивание, после этого все заработало.
>>27690 Это >>27369 не твой пост случайно?
>>27691Мой.
>>27692 Любишь утрамбовывать я гляжу!
>>27693Лишний байт сам себя не сэкономит же.На самом деле, этот кусок писали десятилетие назад совсем другие люди. С автоматически выравниванием там вроде как возникают проблемы с передачей структур по сети, насколько я понял.
Привет, Чиочан.Есть ли разница между sem_open("test") и sem_open("/test")? Влияет ли этот слег на что-нибудь? Вроде и так и эдак семафор нормально работает и делает то, что от него требуется. И файл разделяемого ресурса создается одинаковый /dev/shm/test.Если нет разницы, то зачем во всех учебниках пишут со слешем? Или разница все же есть, просто ее не видно на первый взгляд?
>>27704 По POSIX / должен быть, если работает без него это плюшка имплементации.
>>27705Понял, спасибо.
Какой самый простой способ с минимумом зависимостей сделать свой index.htm доступным по ссылке? Желательно по пунктам, крайне желательно без заклинаний (то есть, с объяснениями, что на самом деле происходит в этом пункте и зачем). Например, нужно сделать себе статический IP, чтобы этот самый IP был всегда связан с сервером (это пока единственное, что я уяснил). С сетями не знаком почти никак, поэтому буду рад любым объяснениям. Debian GNU/Linux 12 (bookworm) x86_64
>>27709 Если статичная страница, то самое простое: https://pages.github.com/ >Например, нужно сделать себе статический IP, чтобы этот самый IP был всегда связан с сервером (это пока единственное, что я уяснил). Ты со своего ПК хочешь хостить? Ну а в целом тебе надо 1. веб-сервер на машине с белым ip 2. доменное имя, которое на него указывает Есть более экзотичные варианты типо ipfs: https://github.com/ipfs/ipfs-docs/blob/main/docs/how-to/websites-on-ipfs/single-page-website.md
>>27709 >Какой самый простой способ с минимумом зависимостей сделать свой index.htm доступным по ссылке? Ответ на твой вопрос делится на 2 части: 1. Запустить сервер, который раздавал бы твой index.html 2. Сделать так, чтобы к этому серверу можно было достучаться из внешнего интернета Запуск сервера самым простым способом делается Питоном: 1. Установить Python3, если еще нет >sudo apt-get install python3 2. В терминале перейти в папку в которой лежит твой index.html 3. Запустить в этой папке сервер на 80 (или другом, по выбору) порту: >python -m http.server 80 После этого, открыв в браузере http://localhost, ты должен увидеть свой index.html (если у тебя не 80 порт, не забудь его добавить, например http://localhost:8000) Дополнительная информация: https://stackoverflow.com/a/5128451 https://docs.python.org/3/library/http.server.html Чтобы сервер теперь стал виден из внешнего интернета, надо: 1. Пробросить 80 (или какой-там ты выбрал) порт на роутере. Для этого найди как делается port forwarding на твоей конкретной модели роутера 2. Открыть этот же порт на своей машине https://www.digitalocean.com/community/tutorials/opening-a-port-on-linux Проделав эти операции, можно будет постучаться на свой статический IP из внешнего (например мобильного) интернета и увидеть свой index.html (опять же, если порт не 80, не забудь его добавить) Сообщай, понятно получилось пояснить, или не очень.
>>27709 Ну как там?
>>27714 Думаешь могло не заработать?
>>27715 Думаю могли забить...
>>27713 >Запуск сервера самым простым способом делается Питоном: Подобные штуки, "девелоперский вебсервер", есть у всех популярных скриптовых языков. Node, ruby, go. Вопрос в том, насколько его безопасно в интернет голой попой выставлять? Что-то мне кажется, что оно для локалки только предназначено. Алсо, asdf-vm/asdf: Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more https://github.com/asdf-vm/asdf Насчёт IPFS, стоит помнить что он абсолютно не анонимен. И по-умолчанию палит даже все твои локальные адреса, если не подшаманить с конфигом. Ещё есть такие штуки как ngrok, localtunnel и аналоги. Выдают временный поддомен и пропускают трафик через себя, направляя на твой локальный порт, reverse proxy.
>>27718 Можно таким однострочником docker run --rm -d -p 80:80 -v ./index.html:/www/index.html busybox httpd -f -h /www Из зависимостей только докер!
docker run --rm -d -p 80:80 -v ./index.html:/www/index.html busybox httpd -f -h /www
>>27719 А что, вполне, вполне, интересно как в итоге запустит свой сервер автор вопроса
>>27720 Автор, видимо, уже запустил и за ним уже приехали.
>>27717 С трудом могу это представить. Раз раз и файл по айпишнику доступен. факт, зачем это надо другой вопрос(на ум ничего не приходит)
>>27722 Ты просто забыл какого это быть нубом.
Из-за такой жуткой неанонимности IPFS, на нем нельзя делать какие-то классные бессерверные распределенные штуки для анонимов. Это-то и удручает.
>>27726 >классные бессерверные распределенные штуки для анонимов Это какие например?
>>27727 Да любые. p2p сеть с dht, хешированием контента, механизм pub-sub. Воображение захватывает. Например, картинками обмениваться без центральных серверов.
>>27717 Не забил, просто я серьёзно заболел, не до этого было. А теперь вот решаю вопросы с армией. Так что реально будет возможность что-то сделать через месяц только %(или уже через год)%.
>>27722 >зачем это надо другой вопрос Чтобы иметь возможность раздавать всем желающим условный гит-репозиторий без зависимости от кого бы то ни было (поэтому всякие гитхабы и гитлабы не подойдут). А вообще ещë хочу свой почтовый сервер развернуть.
>>27734 Ну это, удачи тебе там с этим.
>>27735 Вот посмотри ссылочку https://github.com/awesome-selfhosted/awesome-selfhosted
>>27735 >Чтобы иметь возможность раздавать всем желающим условный гит-репозиторий без зависимости от кого бы то ни было (поэтому всякие гитхабы и гитлабы не подойдут). Gitea.
Одну девочку приняли на испытательный срок devелопером Laravel, а она впервые о таком слышит, знает только C++ и жаваскрипт немножко. Свалили на голову не один а сразу три проекта, ну докер и WSL мы немножко умеем. И сказали разрабатывать API... Куда разрабатывать как разрабатывать, разрабатывай давай. Непонятно. No one’s around to help.
>>27768 Поможет ли вот такой пошаговый гайд сделать API по образу и подобию? https://www.missingparenthesis.com/blog/how-to-build-restful-api-with-laravel-10-a-comprehensive-guide
>>27770 Удалось частично уложить у себя в голове как это всё должно работать и что от меня вообще требуется, сделать рут, интерфейс, сервис, контроллер, забиндить этот сервис к интерфейсу, найти http клиент который бы брал куки из браузера и не мучал меня 401 Unauthorized, и получить от сервера ответ 200. За whopping 15 часов, учитывая вчерашний день. Не без помощи доходчивой лекции босса по архитектуре фреймворка и ООП принципов и чатгпт ассистента. Мой первый апи, пусть там и алгоритм написан как заготовка, зато как архитектурно реализован. Работы впереди ещё много. а я всё же слишком полагаюсь на принцип fake it till you make it. Босс ко мне добродушно относится и ценит энтузиазм, но за этот срок нужно трудиться и учиться на ходу, чтобы не опозориться. Пока что по уважительной причине прогуливаю вуз, но чувствуется вообще не останется сил что-то там делать впоследствии.
>>27772 Думаю освоишься и все нормально будет и там, и там Ганбарэ!
>>27768 В смысле, девочка без знаний php пошла? Какая стойкая...
Привет, Чиочан. Встретил у себя в коде вот такой ворнинг: c++11 range-loop might detach Qt container. Я нагуглил, что простой способ избавиться от него - сделать контейнер const. Но мне непонятно, что там вообще происходит? Я полез разбираться, и там полез какой ужас про копирование контейнера и связь данных с контейнером. Что это такое? Что вообще значит, detach container?
>>27780 Не поверишь но имея представление о ооп c++ (повторяя за ютуб видосами программирования на sdl2), пхп в принципе читается, а встроенные функции языка и фреймворка я порой узнаю в первый раз на выдаче чатбота. Копипашу, смотрю ошибки, логи, каллбеки, логика действий, поправляю, добиваюсь результата, зачастую получается. Тем не менее, теперь от меня ожидают миграции в базу данных чтобы делать кастомный сервис рассылок. При этом и помочь никто толком из коллег не собирается. Ощущение такое, что надо мной смеются (а что вероятнее, оценивают возможность эксплуатации), но было бы странно сдаваться раз всё так далеко зашло... Но иногда и неохота совсем, а иногда пробивает на активную деятельность. В общем авантюра выходит. Так вот, как бы в принципе отлаживать api по почтовым рассылкам (добиться рассылки писем и убедиться что хоть что-то происходит)? В докере может smtp сервер придумать с ящиками...
Обычно происходит так - весь день тряска от неуверенности в себе, а под вечер проблема как-то решается сама собой, не без помощи робота ассистента. Всё же сказывается занятный феномен - девочка может производить впечатление очень умной, ведь за годы хиккования от скуки насмотрела десятки часов ютуба по программированию (и насиделась на имиджбордах с, этими, программистами), а когда дело доходит до конкретики, сказывается отсутствие реального опыта.
>>27783 Проще было бы предварительно ознакомиться. Наверное.
>>27783 >В докере может smtp сервер придумать с ящиками... Блинушки-оладушки, там был уже MailHog закомментирован, но прежде чем до этого догадка дошла, девочка полдня пыталась отправить реальное письмо, а задача так решена и не была. Теперь почти всё готово, кроме понимания того как же быть настоящим программистом.
Прокрастинатор в треде. Я уже неделю не могу закончить настраивать конфиг Inno Setup. Сейчас переделываю скрипт на Паскале, который должен модифицировать PATH при установке и удалении программы. Совершенно забыл уже Паскаль. И чтобы быстрее настроить, смотрю Платонические отношения с Сетом Рогеном, заказывая пиццу.
Вот и настала зима. На улице стало холодно, пришлось включать отопление. Бетон мёрзнет, краска тоже. Короче, мне в поместье стало нечем заниматься. Итак, имеется пакедж action с кучей имплементаций энтих самых action. И имеется конфиг, из которого кажная имплементация читает свои настройки, коии настройки и их умолчания прописаны константами в самой имплементации. Вопрос: как мне сделать синхронизацию конфига с имплементациями, ну и избавиться от MissingResourceException в проекте?
>>27795 >пришлось включать отопление Это ты про JVM типо?
>>27796 Нет, у меня газовое. З.Ы.: Если не хватает денег на нормальный компьютер, советую оставить программирование и идти работать. Хотя бы грузчиком.
>>27797 Да взаправду было интересно, тонкий стеб это или нет. PS. Впрочем от жава-программиста, видимо, ожидать способности к самоиронии было глупо.
>>27798 Страшно далеки мы от народа... Извини, я действительно не в курсе, над чем самоиронизируют нищуки. Но как бы там ни было, дельный совет я тебе уже дал: если нет денег, оставь программирование и начни их зарабатывать. От твоего нытья на всеми забытом форуме ничего не изменится. З.Ы.: Мы отошли от темы.
>>27799 Нормальные ЯПы не требуют при компиляции таких затрат по мощности. _Мимокрокодил_
>>27797 > Хотя бы грузчиком На нормальный компьютер так не заработать.
Я проходил совершенно мимо и возмущен уровнем негатива и дезинформацией 😀 >>27802 По сравнению с компиляцией типичного проекта на C++, проекты сопоставимого размера на Java компилируются довольно шустро (из-за отсутствия инклюдов и макросов). Но зато некоторые проекты медленно запускаются. Это относится ко всему, где активно используется рефлексия: любой проект на Spring создаёт Proxy-классы, которые наследуются от компонентов, экземпляры этих наследников инджектятся друг вдруга - это всё происходит в рантайме во время деплоя. >>27796 Шутка забавная, но она также происходит от непонимания, почему Java-проекты иногда начинают жутко лагать и сильно грузить процессор. JVM на самом деле работает очень быстро, но если взять программу, для работы которой необходимо икс мегабайтов ОЗУ и задать в настройках джавы лимит (Xmx) меньше, раза в два меньше мегабайтов, у JVM не будет никакого выхода кроме как лихорадочно пытаться в этот лимит уложиться. Я уже года три этим не занимался, так что не знаю, как сейчас, но раньше вся программа фактически превращалась в непрерывную сборку мусора. Но это следствие как правило неверного использования, а даже не слабого железа. Вот пример, IDEA в стандартной поставке шла с лимитом в 768Mb, и на небольших проектах этого было достаточно, но при открытии больших производительность проседала. Но при увеличении лимита до 1500Mb снова становилась шустрой. >>27795 >сделать синхронизацию конфига с имплементациями Звучит так, будто ты хочешь сделать миграцию конфига при запуске по аналогии с миграцией базы данных. Готовых инструментов для этого я не знаю. Придётся хранить в конфиге версию того объекта, для которого прописаны те или иные опции. Или я не понял, что ты хочешь. В проекте менять properties синхронно с классом - только руками.
>>27804 Человек застрял в 10-х. Ему ещё про приложения на Электроне не рассказывали. >Или я не понял, что ты хочешь. Хочу убрать из проекта прямой вызов ResourceBundle.getString, строковые константы в качестве его аргумента, ну и его MissingResourceException. >В проекте менять properties синхронно с классом - только руками. Есть старый дедовский метод: https://stackoverflow.com/a/56377778 — находим классы, имплементящие нужный интерфейс, берём с них {key, defaultValue} пары через этот интерфейс, берём из файла конфига currentValue или пользуемся defaultValue. Соответственно, все строковые константы можно убрать в Enum и больше никогда не доставать.