• Как исключить файл из Pull Request?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    Как я понял, вы хотите в одном и том же репозитории хранить два енвайрнмента, на одной и той же машине.
    Но это неверный подход. Ветки это не разные версии софта, ветки это разные состояния исходников.
    Сделайте ваш код, чтобы там был prod.config, dev.config и все
    Ответ написан
    2 комментария
  • Основа основ: какие инструменты нужны и что надо знать чтобы написать программу?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Тут в коментах понакидали, я немного разложу для понимания.
    Сегодня программирование это не 1 область, типа " - хочу в программирование - вам вот в эту дверь".
    Условно ее можно разделить на несколько подвидов, переход из которых в смежную будет сопровождаться некоторыми трудностями, особенно для новичка, по этому с направлением нужно определиться на берегу, или по крайней мере вовремя остановиться если увидели что это направление - не ваше.

    1) Веб разработка. В свою очередь делится на 2 поднаправления: фронтенд - все что отрисовывается и обрабатывается на клиенте (то есть проще говоря в браузере), и бэкенд - все что относится к работе со стороны сервера. Фронтенд, как это ни странно, ограничен в языках более всего, тут только яваскрипт или что-то типа тайпскрипта, которое по итогоу в яваскрипт "компилируется". Бэк в этом плане более разношерстный, тут можно практически все использовать, но мэйнстрим это пхп, питон, ява, сишарп, руби-рельсы. Первые два в основном используют студии вебразработки, вторые два - в основном энтерпрайз, последний уже больше экзотика.
    2) Геймдев. Как ни странно, тоже делится на 2 поднаправления: казуалки/мобилы и большие триплА проекты. В первом случае это сишарп + юнити (да, это не язык, а инструмент, но без него стек не полный), в редком случае что-то экзотическое. Во втором это скорее всего си++ и какой-то фреймворк, а-ля анриал или вулкан.
    3) Энтерпрайз. Тут стандарт де факто - ява. Как вариант Сишарп, но гораздо реже.
    4) Десктоп приложения. Простенькие консольные можно писать практически на чем угодно, более-менее обладающее интерфейсом тербует соответствующих gui библиотек, по типу Qt, gtk, ну и соответственно языков типа ява, си++, сишарп... Хочу заметить, что направление это весьма дохлое, в плане того что именно приложения для широких масс в последнее время практически не выпускаются, уступая место вебсервисам или мобильным приложениям, которые тоже не ахти какие рынки занимают...
    5) Мобильная разработка. Зверь редкий, так как под мобилы больше игры делают. Именно разработка приложений достаточно узкий сегмент, ну и опять же - делится на разработку под андроид и под айфон. В первом случае языком разработки будет Котлин(в девичестве Ява), под айфон соответственно будет Свифт. Есть решения кроссплатформенные, по типу флаттера, но это не всегда подходит, так как некоторые функции под конкретную платформу будут недоступны.

    Короче, определяетесь с направлением, пробуете, не нравится - берете следующее, с языками так же. По тому "в чем писать" определяться стоит по запросу "среда разработки для %языкнейм%"
    Ответ написан
    2 комментария
  • Как хранить товары с различными опциями в БД?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    В стародавние времена это действительно было проблемой.

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

    Эта ситуация послужила одной из причин появления хранилищ для неструктурированных данных, таких как Монго, которые входят в очень широкую категорию NoSQL.
    Но сами по себе "документо-ориентированные базы данных" в качестве основного хранилища - это ад и проклятие, хуже EAV. Если EAV делает адом только работу с атрибутами товаров, то Монга делает проклятием работу со всей БД целиком. Забудьте об этой идее.

    Тем более что в последние годы появилось вполне достойное решение: во всех классических СУБД появилась поддержка JSON полей.
    То есть таблица товаров будет самая обычная, в которой есть общие поля типа цены, названия и прочее. А свойства хранятся в JSON поле. Беря, таким образом, лучшее из двух миров.

    На начальном этапе вы даже сможете делать поиск по атрибутам, используя нативные JSON функции. Но в дальнейшем поиск товаров, а так же фильтрацию по атрибутам на странице категории (так называемый "фасетный поиск") надо будет возложить на специальный поисковый движок (который тоже входит в широкую категорию "NoSQL", хотя ничего общего с документными БД не имеет, и БД, собственно, не является), такой как Эластик или Мантикора.

    Главное при этом хранить (либо в коде, либо в таблице категорий) эталонные структуры таких json полей, которые, во-первых, использовать как справочники для заполнения товаров (тупо чтобы помнить, что частота процессора называется freq, а не frequency), и чтобы собственно делать фасетные фильтры.
    Ответ написан
    5 комментариев
  • Возможно ли удалить новые файлы используя Git?

    Исходя из скупости технических деталей в вопросе - возникает ощущение что git ранее не использовался. В таком случае ответ - нет. Гитом нельзя удалять и восстанавливать файлы, свидетелем создания и удаления которых он не был.
    Ответ написан
    Комментировать
  • Где найти такую CLI?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Хочется как-то отойти от указания всех параметров а считать что есть некий контекст.

    Я вот так делаю в подобных случаях. Т.е. загружаю конфигурацию из конфиг-файла если он есть, а потом поверх неё -- из параметров командной строки. Среди которых могут быть другие конфиг-файлы.
    Ответ написан
    Комментировать
  • Где найти такую CLI?

    Griboks
    @Griboks
    Рекомендую использовать конфиг файл.
    Ответ написан
    1 комментарий
  • Может ли Раст полноценно заменить Джаву в сфере финансовых технологий?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Нет. У них разные области применения. Java проектировалась именно как предельно простой и лёгкий для восприятия язык, максимально препятствующий выстрелу в ногу. Никогда этим параметрам не будет соответствовать язык одновременно пригодный к системному программированию. И это не учитывая тот фактор, что инвестиции в переписывание всего финтеха с Java на Rust потребуются больше, чем планетарный ВВП.
    Ответ написан
    4 комментария
  • Может ли Раст полноценно заменить Джаву в сфере финансовых технологий?

    vabka
    @vabka
    Токсичный шарпист
    На Java пишется очень много разных вещей, в тч не требовательных к утилизации ресурсов и задержкам так что предположу, что многие вещи просто нецелесообразно переписывать.

    Кроме Java в финтехе вообще много разных языков используется. Даже такая экзотика как Haskell и F# бывает.

    Могу сказать, что сейчас работаю в большой корпорации и мы как раз пишем на Rust штуки, которые отвечают за работу с платёжными системами.

    Раньше примерно то же самое писалось на плюсах.

    На Java такое не писалось, тк авторизация транзакций должна меньше чем за секунду происходить после того как покупатель приложил карту к терминалу, и при этом нужно много разных проверок произвести.
    При этом многомиллионную ораву клиентов спокойно обслуживает не самый мощный сервер (емнип всего 32гб оперативки) с минимальным количеством сбоев.
    Ответ написан
    5 комментариев
  • Что можно оставить после полного сброса устройства?

    @Drno
    Телефон в режим DFU - и перепрошивка с ПК
    Ответ написан
    1 комментарий
  • Как использовать диски на сервере?

    Без входа в управление RAID вы явно ничего не сможете сделать - во время загрузки сервера явно выводится сочетание клавиш для входа в управление RAID
    Ответ написан
    Комментировать
  • Как использовать диски на сервере?

    @Hardened
    И какая ОС стоит неплохо было бы знать
    Ответ написан
    2 комментария
  • Какая видеокарта мощнее?

    xez
    @xez Куратор тега Железо
    TL Junior Roo
    RTX 2080 чуть мощнее. Из этих двух - явно ее надо брать.
    1080 - старая карта. Если даже в этом августе на нее вышло обновление драйверов, нет никакой гаранти, что выйдет в следующем (по правде нет гарантии, что и на 2080 выйдет, но шансов больше).
    Ответ написан
    1 комментарий
  • Пытаюсь собрать прошивку для stm32. Ошибка "src/core_cm3.c: Assembler messages"?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    g++  ...   src/core_cm3.c src/system_stm32f10x.c -o build/main


    src/core_cm3.c: Assembler messages:
    src/core_cm3.c:447: Error: no such instruction: `mrs %eax,psp'


    На какой системе ты выполняешь сборку, на x86? Тогда чтобы получить код для arm тебе нужен не g++, а какой-нибудь arm-linux-gnueabi-g++.
    Ответ написан
    2 комментария
  • Можно ли учить Go первым языком?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Для понимания. GO это С подобный язык, а их сейчас 90% примерно, значит другие будет учить легче.
    Ключевые особенности и для чего он разрабатывался:

    * Простота и только один путь для достижения цели (это и плюс и минус)
    * Динамическое управление памятью
    * Компиляция в машинные кода и независимость ни от чего, это несомненный плюс
    * Быстрый вход по идее люди должны начать кодить уже через месяц
    * Язык общего назначения, со всеми плюсами и минусами этого подхода
    Ответ написан
    Комментировать
  • Как хранить большое количество json в mysql?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Как лучше организовать подобное подобное хранение?

    MongoDB

    JSON в реляционных есть, но он идет довеском,
    ты же, судя по вопросу - делаешь его основным хранилищем

    если все же реляц - Postgresql + bjson
    Ответ написан
    Комментировать
  • Каков универсальный стек технологий для приложений со сложным GUI?

    vabka
    @vabka
    Токсичный шарпист
    Я бы посмотрел на Flutter, тк он ближе всего к тому чтобы удовлетворить все требования:
    1. Кроссплатформенный
    2. В собранном виде заметно меньше, чем Electron
    3. Умеет собираться под веб и даже под мобилки
    4. Адаптивность - это уже скорее к прослойке между клавиатурой и монитором.
    На счёт многооконности сложно, но вроде что-то есть. (и вообще многооконность и веб слабо сочетаются)
    5. (мне кажется это важным) Сам язык сильно проще чем какой-нибудь C++ / Rust / C# / Delphi / Swift, которые хорошо (или не очень) подходят под отдельные пункты, но при этом гораздо сложнее в изучении.
    Ответ написан
    2 комментария
  • Как хешировать в хеш таблице узлы дерева?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Итак, у вас ключи - какая-то древовидная структура и вам надо быстро определять, а есть ли такая структура в таблице. Я правильно понял?

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

    В этом случае реализуют, например, хитрый хеш - который меняется при изменении какого-либо узла или формы дерева. Например, можно взять вычисленные значения хешей для всех поддеревьев корня, потом от этих значений взять полиномиальный хеш. Таким образом за один рекурсивный проход вы получите значение хеша для всего дерева.

    Или можно тупо записать вашу структуру данных в строку (Например, расставив скобки вокруг каждого поддерева вроде "(a(b)(ccc(dd))" - это узел a, у которого есть дети b и ccc, у последнего есть ребенок dd) и потом как угодно хешировать уже строку, тогда ничего самостоятельно реализовавать ничего вообще не надо (to_json и hash от строки возможно уже есть).
    Ответ написан
    2 комментария
  • Как посчитать стрит флеш без одной карты на флопе?

    vabka
    @vabka
    Токсичный шарпист
    1. В колоде 52 карты.
    2. При этом две карты у тебя на руках.
    3. Стрит флеш - это когда карты идут по порядку и все одной масти.
    4. Тк у нас девятки, то мы ждём, что будут такие наборы:
    - 6, 7, 8
    - 7, 8, 10
    - 8, 10, J
    - 10, J, Q
    Всего 8 благоприятных исходов

    Сколько всего возможно исходов?
    Нам нужно посчитать, сколько всего уникальных наборов по 3 карты можно получить из колоды в 50 карт.
    Операция, которая даст нам это количество название "сочетание из 50 по 3"
    И равняется оно C(50,3) = 50! / (3! * (50 -3)!)

    Делим 8 на С(50,3) и получаем примерно 0.0408%
    Ну и шанс, что последняя карта соберёт нам стрит флеш равен 4.25% (2/47)
    Ну и если самая самая последняя карта, если предыдущая не дала нам благоприятный исход - 2/46 ~ 4.3%

    Надеюсь, что нигде не ошибся.
    Ответ написан
  • Какие есть аналоги 3proxy на C++?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать
  • Какой существует самый новый ThinkPad с возможность замены CPU?

    @rPman
    Бессмысленно.

    Времена, когда через 2-3 года можно приобрести процессор за те же деньги но со значительно большей производительностью - прошли (лет 5 назад), 'закон мура' перестал действовать, потому что производители подошли к физическому пределу технологии.

    Так же производители старательно придерживаются стратегии запланированного устаревания (все чаще и теперь выбор mid/high-end линеек может не защитить от этого) это значит что то в твоем ноутбуке через 3-5 лет уже не будет хватать для задач нового времени и менять его все равно придется целиком.
    Ответ написан
    5 комментариев