LINUX.ORG.RU

33
Всего сообщений: 1657

Рекурсивный список имён и атрибутов

Добрый день, прошу помощи. Никак не получается выполнить задание: Вывести два первых элемента рекурсивного списка имен и атрибутов файлов в директории lab0, заканчивающихся на символ 'd', список отсортировать по убыванию даты доступа к файлу.

 ,

Hajuro ()

Как создать этот деб пакет

Я только только начал изучать линукс и программирование на с++ буквально неделю назад. Написал небольшой скрипт и скомпилировал его. Получился файл который запускается через терминал командой ./filename. Вопрос - как из этого файла или скрипта .cpp сделать deb пакет, что бы он запускался из меню приложений?

 , ,

EgorLoveLinux ()

Пробелы и другие спецсимволы в идентификаторах

Сферический пример:

https://github.com/slide-rs/specs/blob/master/examples/basic.rs#L52

Автор кода назвал систему «sys_a» но мог бы и назвать «sys a», мне кажется что страх пробелов какой-то нездоровый. Из-за длительного унижения линуксовыми шелами программисты и другие айтишники боятся пробелов в именах и это печально.

Предлагаю искать вот такие вот случаи, где '_' или '-' можно без проблем заменить на пробел и обращать на них внимание, что бы излечиться.

 

vlad9486 ()

Программирование: Начало

Доброго времени суток, уважаемые форумчане! Недавно все же решил, что жизнь слишком коротка, чтобы тратить ее на ненавистную работу и самое время заняться тем, о чем мечтал ещё со времён школьной скамьи. То есть программированием. Умные люди посоветовали освежить высушенные временем мозги высшей математикой, а также изучить алгоритмы, структуры данных. После чего приступать к обучению языкам программирования, базам данных и в итоге к практике. Только все усложняется тем, что живу я в Казахстане и вариантов проявить себя абсолютно нет (так как область IT ещё на стадии зародыша), как и получить работу. В будущем хотел бы иммигрировать в Россию или более развитую страну в сфере IT, ради реализации себя как разработчика или хотя бы тестировщика. Ну а сейчас внимание, вопрос! Есть ли какая-нибудь возможность обрести практический опыт онлайн? Может есть сайты для этого? Желательно что бы опыт помог в дальнейшем трудоустройстве. Готов быть фрилансером за идею, так как сейчас я полный ноль без опыта и соответствующего образования. Заранее благодарен.

Перемещено leave из general

 , , ,

bushmen ()

Программирование через тестирование с нуля

Доброго времени суток, уважаемые форумчане! И так, дано: парень, 24 года, образование инженер-химик, знание технического английского, хорошая работа в международной фармацевтической компании с хорошей заработной платой и перспективой карьерного роста, но все же что-то не так. Не нравится работа и съедает сильное желание воплотить мечту в реальность- стать программистом, от которой некогда пришлось отказаться в виду невостребованности данных специалистов в стране, где я живу. Будучи подростком лет 16-ти проявлял интерес к этой сфере, писал простенькие программки на Delphi, взламывал электронную почту за деньги и т.д. Недавно встал вопрос иммиграции в США и Канаду (планирую играть в Грин карту в США и податься на программу federal skilled worker в Канаду, так как моя специальность входит в список востребованных специальностей). Вместе с этим решил все же пойти за мечтой и войти в мир IT (раз что-то менять, то менять кардинально). Недавно узнал, что более упрощён вход в мир IT через инженера по тестированию ПО (так как не нужно образование, да и курсы не обязательны). Главное овладеть определенными навыками, которые можно получить онлайн. Но помимо этого обладать языками программирование даже на этом этапе не помешает (что меня очень зацепило). Пал выбор на Python и Java, как на языки, более популярные для автоматизированного тестирования. Но вот в чем загвоздка - не знаю с чего начать. Просто брать какой-то учебник по изучению питона и штудировать их или же все таки начать с базы, с изучения каких-либо алгоритмов и структур данных? Надеюсь на вашу помощь.

 , , , ,

revenant94 ()

Хочу стать айтишником, помогите.

Всем привет!

Размышляю над целесообразностью вкатывания в программисты, но не в энтерпрайз-формошлепство, не в сайтики, которые свистят и пердят. У самого образование не айтишное, работаю и работал в разной тех поддержке, на разных языках писать для себя пробовал. Получается, но не цепляет:), потому что я ничего нового не узнаю (вся суть и основа ясна), ничего нового не открываю (как журналист, ученый, финансовый аналитик), знаю конечный результат. Больше хочется работать с математикой, мат моделированием, анализом. Думаю получить вечернее второе высшее математическое или пойти в математическую магистратуру. Понял, что энтерпрайз г, без окунания в оное. Читая вакансии, понял, что интересное пишут на Python и C++, еще используя Matlab. Можете что-то посоветовать, помимо пойти на...?:)

P.s. Вайтивайти.

Перемещено tailgunner из development

 , ,

Sizar ()

Передать много объектов в Compute Shader

Пытаюсь кое-что сделать с compute shaders и появляется вопрос - как передать шейдеру большое количество объектов. Если я правильно понимаю, количество SSBO ограничено GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS (72 в случае моей интеловстройки). (а за что тогда отвечает GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS !?)

Все это осложняется тем, что объекты у меня могут занимать от 4-х байт (теоретический и практический минимум) до 74-х мегабайт.

Еще одна проблема - адресация этих объектов. Каждый из них имеет координату в трехмерном пространстве по которой он должен быть доступен. Как подобное прикрутить к GLSL в котором даже указателей нет - вопрос. К слову, объекты могут быть R/O для шейдера, в них ничего он не пишет, только читает.

Пока что у меня есть пара идей:

  • Рассовывать объекты в UBO и SSBO одновременно в зависимости от их размера (почти половина объектов может влезть в 64кБ, в 16кБ влезет только треть)
  • Динамически генерировать, компилировать (glCompileShader) и линковать с основным шейдером прослойку, которая будет знать обо всех загруженных объектах и предоставлять к ним доступ. Как это эффективно сделать когда нет указателей - вопрос...

Прошу понять, простить идиота, и помочь советом. Доки на khronos.org читал, но не понял.

P.S. объекты являются разреженными октодеревьями, но это, ИМХО, не влияет на проблему.

 , , , ,

timdorohin ()

QMetaObject::invokeMethod - поясните работу

Добрый день в документации Qt про QMetaObject::invokeMethod (http://doc.qt.io/qt-5/qmetaobject.html#invokeMethod) есть пункт:

If type is Qt::QueuedConnection, a QEvent will be sent and the member is invoked as soon as the application enters the main event loop.


Вопрос: что за QEvent будет послан и куда?

 , , ,

rumgot ()

c++ использование объекта класса в switch

Добрый день. А как бы сделать так, чтобы можно было бы использовать объект в switch вместе со значениями из enum:

//...
enum Type {
    Type1,
    Type2
};

//...

SomeClass a;

//...

switch (a) {
    case Type1:
    //...
    break;
    
    case Type2:
    //...
    break;
}

 , , ,

rumgot ()

Выбор пути развития дальше после программирования

Хочу попросить помощи/совета/ваших историй. Я с детства увлекался программированием и сейчас в 21 год уже сменил несколько работ программистом. Но мне все это перестало нравится. Я хочу двигаться в сторону своего стартапа/бизнеса/веб студии/игры.

Но получается все это плохо. ~9 месяцев назад я ушел с работы в офисе чтоб попробовать фриланс (upwork) и свободное время тратить на свои проекты.

На апворке все было далеко не идеально, я вышел на уровень ~1k$ в месяц примерно, потихоньку делал с друзьями проект который провалился (отчасти можно сказать что все потеряли веру в этот проект и мотивацию, мы его доделали процентов на 60% и решили прекратить)

Мы сняли с другом квартиру чтоб проще было работать вместе (До этого встречались в макдональдсе с ноутом, это жесть). С одной стороны это сработало, с другой кучу времени забрал переезд на новую КВ, мотивация слабая и часто вместо работы мы играем/курим кальян/прочая дичь.

От программирования меня тошнит. Один из клиентов на апворке предложил мне к нему на фуллтайм и предложил интересные условия 3% акций, 4 дня в неделю, отличную зарплату после инвестиций. Но весьма низкую зарплату до инвестиций (В офисе я с легкостью могу x2 получать).

Я решил согласится потому что на апворке много времени уходило не только на работу, но и еще на ее поиск.

Моя проблема в том что в оставшиеся 3 дня выходных очень сложно найти мотивацию, трачу их на отдых.

Я вижу несколько путей развития для себя

  1. Двигаться на работе
    программист -> Lead -> CTO
    (Я собственно и являюсь лидом, но команда весьма маленькая так что я 70-80% времени трачу на обычный код, а под Lead я подразумеваю 0-30% кодинга)
  2. Делать игры (iOS, google play, возможно steam) и пытаться заработать на рекламе. (В 11 классе школы я с другом сделал игру на которой заработал 100$, считаю это неплохим результатом)
  3. Нанять программиста в украине и давать ему заказы с апворка (Я готов даже в небольшой минус работать ради опыта)
  4. Придумать большой стартап (или продолжить тот который я забросил). Под большим я понимаю такой который в случае успеха можно масштабировать на большой рынок, а маленький это скажем сайт по продаже чего-то для Киева (с невозможность идти на другие рынки).
  5. Сделать канал на ютубе связанный с программированием/стартапами (В детстве был канал по пиротехнике с 50К суммарного просмотра на ютубе, считаю это хорошим результатом с учетом отвратительного качества видео) Также был сайт по пиротехнике на ucoz с ~100 уникальный посетителей в день
  6. Попробовать бизнес не связанный с IT - я немного думал над этим, но идей вообще ноль, так что я не рассматриваю это.

Посколько мне мало лет (21) я считаю что пока что у меня есть время развивать все направления. Но проблема в том что если раньше я кодил каждый день в удовольствие (Только в школьные времена я успел сделать сайт, ютуб канал, соц сеть на php+js, игру на java, игру на Qt, и даже на чертовом делфи). А сейчас технических знаний в разы больше - а прогресс почти нулевой.

Подытожу, моя проблема в том что 
________
Кодить умею, но не хочу
Стартапить не умею, но хочу

Че делать то, а?

 , , ,

abs ()

IT-мифы

Чтобы разбавить однообразные толксы, давайте здесь пообсуждаем всякие известные вам мифы, бытующие в IT и около-IT сферах.

Вот, например. Многие люди отчего-то уверены, что в строке кода должно быть, в идеале, не больше 80 символов, потому что их большее количество, якобы, осложняет чтение. Особо умные приводят цифру 66 и ссылаются на Брингхерста.

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

Реальная же причина установки ограничения на 80 (иногда 100-120, зависит от языка) - удобство для диффов и мерджей, чтобы на экране вмещалось 2-3 столбца.

Пишите что сами знаете.

 , ,

myLogin ()

Сколько строк кода в месяц пишут на Си

Интересует, сколько (примерно) строк _рабочего_ кода в месяц - нормальный результат для разработчика фуллтайм? Считается, что область применения разработчику достаточно хорошо известна.

 , , ,

conalex ()

Концепция программы для Linux

Здравствуйте! Интересно Ваше мнение. Я системный администратор 40 автономных ПЭВМ.

По политике нашей организации ПЭВМ настроены таким образом, что использование дисководов запрещено (в fstab nouser), флеш-носители работают только учтённые (с функцией шифрования). Иногда (довольно часто) начальство ставит задачи на перенос файлов извне на автономные ПЭВМ.

Задачи эти могут поступить в любое время дня и ночи) Особенно ночи)))

И я задумался о написании программы для предоставления пользователю доступа для монтирования диска, на основании разового пароля.

Написал программу, присвоил ей suid (root). Программа имеет два файла с паролями. В первом файле все пароли которые я генерировал заранее, во второй файл вносятся гашенные пароли (уже использованные).

Программа представляет собой GUI интерфейс с окном ввода пароля и кнопками «Монтировать» и «Размонтировать» диск. Пользователь вводит пароль который я ему продиктовал, программа читает список гашенных паролей. Если пароль не использовался (его в этом списке нет) программа читает файл со всеми паролями, и если он там есть производит монтирование диска и копирование его образа командой dd в каталог (чтобы потом посмотреть, что за диск вставляли).

Использованный пароль заносится в список гашенных паролей. Кнопка размонтировать доступна без ввода пароля. Файлы паролей не доступны пользователям на чтение и запись (root:root, 770).

Как Вы оцените эту идею (конечно, проще генерировать пароли - но в QT я ещё этому не научился)?

Как бы поступили Вы?

 ,

Sandro331k ()

Удобное количество строк для чтения кода

Вот у вас открыт редактор кода или просмотрщик и вы читаете код подобно книге страницу за страницей. Вот сколько обычно строк кода в одной странице у вас и вам при этом комфортно читать код? Ещё интересно при этом на каком языке вы читаете код обычно?

 

ados ()

Где искать начинающих разработчиков?

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

 , ,

Gremlin_ ()

Программирование для Веб: JavaScript, HTML формы, обработчики, CGI, шелл

Ищу разовые заказы или работу в небольших проектах. Петербург или удалённо.

Портфолио:

Фотография о. Лауватсаари в Ладоге - JavaScript для магазина цифровых товаров создающий форму оплаты, CGI обрабатывающий HTTP оповещение платёжной системы и создающий уникальную ссылку на товар.

Валидация счёта Яндекс.Деньги - просто пример.

Форма заказа решения задач по начертательной геометрии - парсинг формы с файлами и пересылка заказа на почту исполнителя.

 , , , ,

Mazilin ()

Вычисления на этапе компиляции, DSL и C++20

Читал тут С++20 на подходе! Встреча в Рапперсвил-Йона и последние пункты про constexpr заинтересовали

Ещё одно занятное изменение, которое рассматривается для приёма в C++20 — это constexpr! функции.

Такие функции обязаны выполняться только на этапе компиляции, любая попытка использовать их в runtime приведёт к ошибке компиляции. Это одно из изменений необходимых для рефлексии в C++

...

Множество языков программирования в данный момент компилируют/транслируют регулярные выражения ещё перед запуском программы. Таким образом, когда программа стартует, все регулярные выражения уже преобразованы в соптимизированный конечный автомат.

В C++ это не так:

bool is_valid_mail(std::string_view mail) {
    static const std::regex mail_regex(R"((?:(?:[^<>()\[\].,;:\s@\"]+(?:\.[^<>()\[\].,;:\s@\"]+)*)|\".+\")@(?:(?:[^<>()\[\].,;:\s@\"]+\.)+[^<>()\[\].,;:\s@\"]{2,}))");

    return std::regex_match(
        std::cbegin(mail),
        std::cend(mail),
        mail_regex
    );
}
В коде выше конечный автомат из регулярного выражения будет строится при первом заходе в функцию is_valid_mail(). Это долгая операция, которая в добавок будет выполняться в критической секции.

С готовящимися новинками для constexpr вычислений (constexpr new, is_constexpr_evaluated() и др.) можно будет в C++ делать множество вещей на этапе компиляции, в том числе можно будет сделать constexpr std::regex.

С constexpr std::regex конечный автомат для функции is_valid_mail() построится ещё на этапе компиляции.

Непонятно, в этом «множестве других языков программирования» сделана какая-то специальная поддержка регулярных выражений, или же они научились на этапе компиляции разбирать и оптимизировать произвольные DSL из строки (регэкспы это тоже DSL кмк)? С помощью каких механизмов это делается? Я вспоминаю синтаксические макросы и зависимые типы, но в плюсах явно ни то, ни другое, тогда что? Какие будут ограничения у новых constexpr! по сравнению с другими подходами?

Помню, что в Rust на этапе компиляции разбирается строка формата для printf, выглядит близкой задачей. В общем если кто может нормально осветить тему компайл-тайм вычислений, то пожалуйте в тред

 , , , ,

Crocodoom ()

Стоит ли переквалифицироваться из админов в программисты?

Предыдущую мою тему удалили с мотивировкой «провокация flame», хотя я ничего не провоцировал. Так вот, если максимально дистанцироваться от моей личности и места жительства, как ответите на вопрос? Причина, почему надоело одминить — скучно. А также одно неаккуратное движение — и упадёт рабочая система. Мне что-то кажется, что код писать интереснее. но я писал его только в одиночку, совместно с другими людьми над проектом не работал.

 ,

te111011010 ()

программирование логики (?)

Уже давно хочу научиться в программирование. Интересующая область — автоматизация проектирования.

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

Потому вопрос — в какой литературе (англоязычной или русскоязычной, в другие языки не могу) можно почерпнуть знания о формализации операций выбора?

Также хочу научиться писать на каком-нибудь более развитом языке чем VisualBasic программы для api NX, SolidEdge, Ansys, так что, было бы здорово увидеть рекомендации по литературе для обучения какому-либо из этих языков программирования: C/C++, Visual Basic, C#, Java, Python. И рекомендации, какому из этих языков учиться, тоже.

 , , ,

frigate_freedom ()

Ad hoc или серебрянные пули?

В каком стиле вы чаще решаете возникающие задачи - костылём под конкретный случай или реализуете решение проблемы в принципе? И какой стиль сильнее ограничивает развитие программы?

 ,

alexferman ()