LINUX.ORG.RU

Сообщения Int64

 

namespaces vs suffix/prefix

Форум — Development

Всем привет, вот работаю над своим pet проектом на расте, есть отдельно у меня компоненты, системы и еще всякое, как лучше сделать - использовать namespace по типу: components::Grid или добавлять суфикс к имени: GridComponent. Первый вариант вроде логичнее использовать, но навигация в коде чуть-чуть проще, если добавлять символам суфиксы, тогда будет легко найти нужный символ, к пример, если есть components::Grid и systems::Grid, то при попытке найти нужный символ я ввожу Grid и мне выдает 2 символа, а если добавить суфикс, то такой проблемы нету.

PS: Добавил тег C++, т.к. в плюсах тоже есть неймспейсы и мнение разработчиков на плюсах мне тоже интересно.

 , ,

Int64
()

Не скучные обои ломают телеофны

Форум — Talks

Гугл в своем репертуаре, один пиксель может окирпичить телефон из-за ошибки в ОС:

https://youtu.be/iXKvwPjCGnY

 , ,

Int64
()

Рабочее место дома

Галерея — Рабочие места

Стол самодельный еще со времен общяги, до сих пор живой. Клавиатура - Kinesis Advantage 2, мышь - Logitech MX Master 2. На этом же столе занимаюсь - учу английский и начал еще постепенно учить новый язык - японский. На столе бутылочка с водой. Монитор старенький, но мне хватает, цвета хорошие, есть еще широкоформатный 21 дюймов, но я его использую в качестве телевизора для игр :). Сейчас играю в Bloodstained Ritual of the Night и Ori and the Will of the Wisps. Также имеется графический планшет, покупал чтобы игру делать, но что-то игру перехотелось делать, а планшет остался, не придумал пока как его использовать, может будут иконки рисовать для своего pet проекта. Стул железный садовый, мне такие стулья почему-то кажутся наиболее удобными и спину можно размять об спинку стула. На полочках книги, и принадлежности для японской каллиграфии.

>>> Просмотр (4000x5120, 2219 Kb)

 , ,

Int64
()

Ryzen 5 1600X проблемы

Форум — Linux-hardware

Всем привет, имеется сей процессор ZEN 1, наблюдаются рандомные фризы при работе с ним, нагуглил такие же проблемы у кучи других владельцев рузена, вроде как советуют отключать C стейты и еще некоторые мелкие фиксы в биосе. Все сделал, и С-стейты отключил и в биосе все поднастроил, но фризы не закончились. В итоге, оказалось я еще и фиговую материнку себе купил для этого процессора - ROG STRIX X370-F Gaming, и именно на ней, эти хаки все равно не работают :) Вопрос такой - а можно ли это починить вообще, не работает только на линуксе, на винде все работает стабильно. В связи с этим, я сейчас думаю о том, чтобы купить себе интеловский процессор и не морочить голову, но деньги уже вложены в этот и производительность радует, но вот рандомные фризы мне уже осточертели. Или может лучше купить рузены нового поколения? хотя как-то рискованно, зато надо будет купить только процессор, а материнка и кулер уже есть. Посоветуйте как лучше поступить в данной ситуации.

 , ,

Int64
()

Куда податься

Форум — General

Всем привет, работаю в такой компании, где приходилось писать на разных фреймворках и языках, успел пописать на php + wordpress, python + django, java android разработка, kotlin android разработка, flutter и сейчас пишу на kotlin + vertx в качестве бекенда и одновременно еще пишу фронтенд на typescript + angular. С одной стороны я получил довольно интересный опыт в разных областях, но с другой стороны я везде хапнул по чуть-чуть, вместо того, чтобы хорошо развиться в одном направлении. Сейчас боюсь остаться без работы из-за этого. Что можете посоветовать в данной ситуации, вроде бы и хочется развиваться в сторону backend на kotlin или java на худой конец, но сдругой сторны в мире java всем нужен spring, а это по факту какая-то django для java плюс ко всему опыта работы со spring ноль. Либо может стоит учить какое-то новое направление, к примеру scala + akka, за последнее время полюбил функциональщину. Что вообще сейчас востребовано и где можно довольно быстро набрать знаний до уровня middle (учитывая опыт перечисленный выше)

 , , , ,

Int64
()

gRPC vs AMQP vs Kafka

Форум — Development

Всем привет, запутался когда что стоит использовать, сейчас использую EventBus в Vert.x для коммуникации между микросервисами и gRPC в качестве API для клиента (веб приложения). Собственно у меня имеется RealTime стримы, которые клиент получает, к примеру - баланс кошелька либо изменения лога. Все это успешно реализовал средствами только gRPC, вроде бы работает отлично все, но под нагрузкой еще не тестировал. Сейчас думаю добавить AMQP для микросервиса генерации документов, т.к. он дает определенные гарантии. В интернетах часто вижу, что люди используют либо kafka либо amqp либо и то и другое для коммуникации между микросервисами либо для реализации real-time изменений. Сейчас по поводу AMQP и Kafka у меня такие мысли - их стоит использовать, когда у тебя много микросервисов и всем им нужно раздать однинаковые команды, либо когда много микросервисов пишут в один и тот же топик. У меня же ситуация пока другая - у меня много одинаковых микросервисов только для генерации документов, собственно туда я и хочу прикрутить AMQP. Но вот микросервис биллинга и аукциона - это синхронные микросервисы у которых по одному инстансу на каждый, для аукциона критически важна скорость, для биллинга - надежность, аукцион в итоге может отправлять команды биллингу и там скорость уже не будет так важна, потому-что там идет и тяжелая верификация. Но изменения аукцион получает быстро. В будущем конечно возможно будет множество биллинг сервисов, но аукцион точно будет один. Еще читал, что к kafka и gRPC могут дополнять друг друга.

В общем-то мое переживание сейчас - это то что все пользуются kafka и amqp, а я нет, и есть беспокойство, что я делаю что-то не правильно.

 , , , ,

Int64
()

gentoo eMMC SSD

Форум — Linux-install

Всем привет, пытаюсь установить gentoo на слабенький нетбук, но столкнулся с тем, что fdisk, parted не видят ssd диск, куда я хочу поставить генту, вроде читал что нужно загрузить модуль mmc_block, но оно не работает пишу: modprobe mmc_block, но диск по прежнему не виден может нужно во время загрузки как-то прописать? не понимаю в какую сторону копать.

 , ,

Int64
()

vertx выполнение «тяжелых» задач

Форум — Web-development

Всем привет, я только начал осваивать vertx. Задача: есть апи, через апи я могу начать выполнение задачи, которая требует не мало процессорных ресурсов, собственно это практически все что умеет данное апи. Вопрос вот в чем, где подобные задачи следует выполнять? Стоти ли деплоить отдельные Verticle, или можно просто в какойнить пул ее кинуть и пусть она там висит. Главное чтобы апи при этом не подвисало, т.е. чтобы при вызове метода мне не приходилось ждать по несколько секунд, а то и минут, пока задача выполнится. Киньте пару ссылок, где про это можно почитать более детально плиз.

 , , , ,

Int64
()

Какой выбрать CI?

Форум — Development

Всем привет, пишу десктопное приложение, нужно прикрутить CI для автоматической сборки проекта на каждый коммит в ветку master, и в будущем возможно на дополнительные ветки, в определенном своем окружении, генерировать автоматически документацию и деплоить ее на определенный хост. Как лучше всего это организовать? К примеру хотелось бы запускать тесты с определенной версией компилятора, определенными версими библиотек итд, стоит ли использовать Docker для создания этого окружения? Смотрел в сторону TeamCity, сам инструмент мне нравится, но это ентерпрайз, и стоит не малых денег, да и возможно не особо имеет смысл его использовать для моих задач. Для конфигурации сервера, на котором хранится документация и другая информация использую ansible. Какой лучше всего CI для моей задачи использовать? Так же хочется чтобы билды производились на разных операционных системах - на Windows, Linux и MacOS

 , , , ,

Int64
()

Документирование кода

Форум — Talks

Всем привет, как лучше всего писать документацию к открытому API? стоит ли использовать комментарии для документирования? или может лучше вручную через какойнить sphinx doc написать?
Сам я стараюсь писать максимально понятный код, и чтобы при прочтение его было сразу понятно что конкретно он делает, но все же иногда нужны уточнения либо более подробное описание, впринципе не было с этим проблем - я просто добавлял комментарий к какому-то сложному методу. Но все же документаци нужна, понятное дело, что к примеру, туториал удобнее отдельно писать используя тот же sphinx doc, но вот API reference удобнее вообще писать и поддерживать через комментарии, но тогда он начинает захламлять код и больше всего бесит, что иногда приходится писать что-то вроде этого:

    /++ Background colors +/
    enum Background {
        transparent,  /// Transparent
        light,  /// Light background
        dark,  /// Dark background
        action   /// Background for actions
    }
ну тут же и так все очевидно и понятно, но чтобы автогенератор понял что нужно описать этот enum и добавить в документацию, приходится вот такое вот писать.
Еще вопрос - стоит ли писать коментарии к override методам?
Ну и конечно же комментарии удобны тем, что можно быстро получить хелп по данному методу.
Но если же лучше писать внешную документацию вручную, то как лушче всего ее поддерживать в актуальном состоянии?

 ,

Int64
()

Какой выбрать одноплатный компьютер

Форум — Linux-hardware

Всем привет, хочу сделать домашний сервер на одноплатном компьютере. Хочу использовать как сервер, на котором можно будет развернуть тестовую версию проекта написанного на django, чтобы не платить за VDS'ку, и дополнительно хочу еще Sentry туда поставить, так же будет крутиться solr. Посоветуйте пожалуйста, какое железо лучше всего выбрать, пока что кроме одной-двух raspberry pi ничего в голову не приходит, может быть есть более подходящие варианты?

 

Int64
()

Парадокс дней рождения

Форум — General

Всем привет, изучаю книгу «Алгоритмы построение и анализ», и там есть такая вот задачка, вот выжимка из книги:

Сколько людей нужно собрать в одной комнате, чтобы вероятность совпадения даты рождения у двух из них достигла 50%? ... Чтобы решить задачу, присвоим всем, кто находится в комнате, номера от 1 до k, где k - количество людей в комнате. Наличие високосных годов проигнорируем и предположим, что в каждом году n = 365 дней. Пусть для i = 1,2,...,k величина bi - представляет собой дату, на которую приходится день рождения i-й персоны (1 <= bi <= n)ю Предположим также, что дни рождения равномерно распределены по всему году, так что Pr{bi = r} = 1/n для i=1,2,..,k и r = 1,2,..,n.

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

Вероятность того, что даты рождения двух человек i b j совпадают, завист от того, ясляется ли случайный выбор этих дат независимым. В дальнейшем предполагается, что дни рождения независимы, поэтому вероятность того, что i- и j-й посетитель комнаты родились в день r, можно вычислить следующим образом: Pr{bi = r и bj = r} = Pr{bi = r}Pr{bj = r} = 1 / n^2

Я думал что и тут я понял, пока не начал читать дальше:

Таким образом, вероятность того, что оба они родились в один день, равна Pr{bi = bj} = sum(r=1, n)(Pr{bi = r и bj = r}) = 1/n

Вот именно тут мне не понятно, понимаю откуда эта формула взялась, но почему Pr{bi = r и bj = r} != Pr{bi = bj}???
По смыслу кажется что это одно и то же, что тогда подразумевается пот этим высказыванием: «поэтому вероятность того, что i- и j-й посетитель комнаты родились в день r, можно вычислить следующим образом»?

 

Int64
()

Многопоточнось, пытаюсь 2 потока сделать, как правильно?

Форум — Development

Всем привет, решил начать изучать многопоточность. Есть допустим у меня такой вот класс:

class Sphere {
  vec2 position;
  vec2 size;
  float rotation;

  void onProgress() {
    ...
  }

  void onRender(Camera camera) {
    ...
  }
}

Я хочу сделать, чтобы рендеринг выполнялся в одном потоке, а onProgress в другом, т.е. onRender по сути, может только считывать данные position, size и rotation. В общем если я делаю как-то так:

class Application {
  void onProgress() {
    sphere.onProgress();
    ...
  }

  void onProgressRun() {
    while (running) {
      onProgress();
    }
  }

  void onRender() {
    sphere.onRender(camera);
    ...
  }

  void loop() {
    new Thread(&onProgressRun()).start();

    while (running) {
      ...
      onRender();
    }
  }
}

В общем это вроде бы работает, но мне кажется что так делать наверное не стоит, что произойдет, если я попытаюсь у sphere изменить position или любой другой аттрибут в основном потоке, к примеру в Application.onProgress, наверное нужно делать синхронизации? Или вообще то, каким образом я делаю не правильно? как правильнее подобную логику делать?

 , ,

Int64
()

исчез libgl после обновления arch'а

Форум — Desktop

Всем привет, обновил арч, и с обновлением обновились драйвера, заменился пакет nvidia-340xx-libgl на nvidia-340xx-utils. И тепреь у меня нету libgl, и при попытке скомпилировать что-то с флагами -lGL -lglu теперь ничего не работает и пишет что не найдены библиотеки.

 , ,

Int64
()

Arch linux удалил пакетный менеджер

Форум — General

Я не представляю как у меня это получилось, но я удалил пакетный менеджер (: Есть идеи как вернуть?

 ,

Int64
()

Как назвать класс?

Форум — Development

Всем привет, есть данные и нужно их сохранять и загружать, хочу вынести этот функционал в отдельные сущности, с загрузчиком то вроде бы понятно LoaderText, LoaderBin итд, а вот с сохранялкой, как правильно назвать подобный класс? Saver? звучит как-то странновато ))

 ,

Int64
()

Персональный дистрибутив на основе Arch

Форум — Linux-install

Всем привет, хотел бы создать личный дистрибутив со своими удобными настройками на основе Arch, с предустановленными конфигами для emacs/awesome с установленными драйверами итд. какие инсртументы есть для этого?

 ,

Int64
()

Что посоветуете учить для написания Highload

Форум — Development

Всем привет, я работаю python программистом, пишу на Django, вроде бы только начал нормально что-то делать )) Но вот начал понимать что Django кажется не очень приспособлен для высоких нагрузок, ну и чтобы сделать шардинг (горизонтальный) придется много чего поломать в самой джанге и написать кучу виджетов для админки, в общем как-то теряет смысл его использовать тогда.
Но мне хочется развиваться, и часто вижу что нужны люди кто работал с высокими нагрузками. Что можете посоветовать для изучения? Сейчас пока сомтрю в сторону tornado или falcon, или взять другой вообще язык программирования, к примеру go. В общем дайте пожалуйста вектор по которому дальше можно будет что-то изучать.

 , , ,

Int64
()

Структура проектов в django (шаблоны)

Форум — Web-development

Всем привет, как лучше делать, отдельно папка templates, static и в ней все шаблоны и внутри этой папки по приложениям разбиты файлы, ну к примеру так:

src/
  app1/
    modules.py
    views.py
    ...
  app2/
    modules.py
    views.py
    ...
frontend/
  templates/
    app1/
    app2/
    other templates
  static/
    js/
    css/
    images/
    other staticfiles

Либо лучше внутрь каждого app запихивать папку templates и static и там держать все? т.е.:

src/
  app1/
    modules.py
    views.py
    ...
    templates/
    static/
  app2/
    modules.py
    views.py
    ...
    templates/
    static/
На работе главные разработчик придерживается второго варианта, для меня немного не привычно что исходники с ресурсами в одном месте находятся, привычнее отдельно папку создать, да и наверное верстальщику удобнее работать с папкой templates а не искать по модулям другие папки. Он аргументирует что там сразу видно для какого приложения какие шаблоно, потому-что все в одном месте, но к примеру в pycharm это не такая уж и проблема, лего найти нужный файл если умеешь пользоваться IDE. Но с другой стороны всякие js файлы и шаблоны тоже можно отнести к исходным кодам, но это уже фронтенд. Кто что думает на этот счет, и может быть есть более удачная структура проекта?

 , ,

Int64
()

ECS vs OOP

Форум — Development

Всем привет, у меня знакомый прям говорит что ООП подход не нужен и ужасен, и что вместо него стоит использовать ECS: https://en.wikipedia.org/wiki/Entity_component_system
Кто что думает о подобной архитектуре?

 

Int64
()

RSS подписка на новые темы