• У кого есть позитивный переход с Windows на Astra Linux в гос/бюджетной сфере?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Вы зайдите по другому, выберете пару машин, накатитие на них желаемое. Итересуйтесь у тех кто за ними работает как оно, что не так, сами смотрите на проблемы и плюсы. Отсюда делайте выводы. Соскочить просто так с наскока точно не выйдет, но это справделиво с любой ОС хоть переход с винды хр\7\8\10\11 и между собой. Всегда будут те кому пофиг, там где проблемы, тех кому все не так и т.д.
    Начните с малого, это не большая кровь и реальный опыт с реальными отзывами от коллег и аналогично ваш опыт с этим хозяйством.
    Ответ написан
    1 комментарий
  • Софт/сервисы для рисования графиков/схем (для разработки софта)?

    zamboga
    @zamboga
    Бизнес-аналитика, фин. моделирование, дашборды
    Софт для прототипирования, создания эскизов, макетов, скетчей, мокапсов, схем и т.п.

    1. Draw.io — бесплатный аналог Visio
    2. https://moqups.com/  (2 проекта на бесплатном акке)
    3. balsamiq.com (desktop бесплатно 30 дней, web версия бесплатная)
    4. ninjamock.com — отличный бесплатный софт для скетчей и макетов
    5. gotiggr.com
    6. pencil.evolus.vn/Default.html
    7. www.teehanlax.com/blog/2010/06/14/iphone-gui-psd-v4
    8. www.lumzy.com
    9. mockupbuilder.com (14 дней бесплатно)
    10. www.axure.com/download
    11. bohemiancoding.com/sketch
    12. Mockups.com = https://moqups.com
    13. https://wireframe.cc (триал 7 дней)
    14. mockups.me (триал-версия действует 30 дней)
    15. www.hotgloo.com (15 дней бесплатно)
    16. https://gomockingbird.com (1 проект на бесплатном акке)
    17. iplotz.com (в бесплатном тарифе возможность работать над 1 проектом, только 5 экранов)
    18. www.protoshare.com (триал-версия работает 30 дней)
    19. www.mockflow.com (1 проект на бесплатном акке)
    20. wireframesketcher.com/features.html
    21. https://www.yworks.com/products/yed
    Ответ написан
    5 комментариев
  • Как сделать, чтоб введенные пользователем данные записывались в список?

    Dunaevlad
    @Dunaevlad
    def user(**kwargs):
        return [kwargs]
    
    
    if __name__ == "__main__":
        data = user(n1="Text1", n2="Text2", n3="Text3")
        print(data)
    Ответ написан
    1 комментарий
  • Как понять блокчейн?

    @rPman
    Единственное что важно и что имеет смысл понимать
    - это консенсус, позволяющий обычный тупой блокчейн (последовательную цепочку данных), сделать доказуемо не перезаписываемым, без наличия центрального доверенного

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

    Уже начиная от сюда - создана криптовалюта (и не одна, но имеет смысл только биткоин, почему - ниже), в которой с помощью блокчейна и надежного PoW консенсуса, создана 'амбарная книга' где записываются транзакции буквально 'кто кому сколько перевел монет' и все могут доверять этим записям при условии ограничений консенсуса (в случае с PoW это атака 50%+1 и возможность подобрать такое количество подтверждений от циркулирующих сумм, при котором этой атакой можно пренебречь)

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

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

    Сначала создавались криптовалюты, как копирующие bitcoin так и реализация с нуля с необычным функционалом и концепцией, эксперименты с альтернативными консенсусами и прочим,.. которые показали что самого по себе консенсуса недостаточно для обеспечения надежного функционирования системы, нужны еще такие вещи как качественное первоначальное распределение ценности (монет блокчейна, если грубо) и наличие независимых разработчиков, более чем одна команда, грамотное управление и воля участников к поддержанию системы на плаву. Требование про разработчиков очень философское и есть куча примеров когда вне зависимости от консенсуса, главные разработчики, владельцы основного объема ценностей были связаны/созависимы, и были способны уничтожить полезный проект (например что произошло с bitshares, если что это показало на сколько PoS консенсус уязвим).

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

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

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

    p.s. почему только bitcoin? потому что только в нем распределение богатств заметно равномерный (индекс джини), только его консенсус подкреплен огромными финансовыми вливаниями в оборудование для майнинга (очень дорогая атака) и огромное комьюнити независимых разработчиков (правда тут есть куча мест для слабости проекта, но по сравнению с другими - bitcoin выглядит как самый защищенный).
    Остальные проекты создаются не с целью привнести что либо полезное миру, а с целью собрать денег, либо как сбор средств на разработку (ICO или комиссия в блокчейне), а когда консенсус основывается буквально на объеме денег (чистый PoS), то сам факт того что основные деньги проекта сосредоточены у кого то одного (создателя или олигополии инвесторов как это сделано в EOS, точнее dPoS проектах) полностью обнуляет любую защиту.

    p.p.s. меня заинтересовал единственный альтернативный консенсус - proof of identity (сейчас это idena.io - примерно 2к-3к нод, 7к..14к 'майнеров' и количество растет ~10% в месяц , для молодого слабого проекта это чудо в криптоэкономике), основная беда большинства не PoW - возможность атаки количеством нод или деньгами, но тут одна идентити = один человек (ну ок, две - это норма), это гарантирует консенсус, а опасность сбора фермы рабов для атаки на проект усложняется низкой стоимостью монеты, т.е. как это не парадоксально, пока доходы майнеров тут будут низкими - консенсус будет надежным

    т.е. создавать проекты на основе блокчейна с консенсусом PoI - надежно, но вот ставить проект в финансовую зависимость от его монеты - уже опасно.

    хех, надо бы это оформить в виде статьи на хабр и отправлять народ туда
    Ответ написан
    3 комментария
  • Могу ли я как то сохранить python код в MySql?

    kotomyava
    @kotomyava
    Системный администратор
    Можно сохранять как текст, потом получать селектом и выполнять через eval() или exec(). Но делать так не нужно.
    Вероятнее всего, ваша задача решается как-то иначе более разумным способом.
    Ответ написан
    Комментировать
  • Используете ли вы витамины для "мозга"?

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

    Во-вторых, на такие вопросы в интернетах чудовищное количество ответов, в основном оплаченных. Поэтому, когда вам будут настойчиво советовать пить обычный компливит, вспомните, что обычный ундевит от него отличается только ценой - раз в десять, правда... Ну, и найти его в аптеках труднее, особенно на витрине - там как раз красивые коробочки, прославленные телевизором.
    А так - попить витамины пару раз в год, для профилактики, никому еще не вредило. Но надеяться, что они дадут вам способности, которых у вас нет - как минимум наивно. Они разве что спасут от депрессии, хронической усталости и прочих состояний, граничащих с нерабочим. Подстегивать чем-то здоровый организм - это брать взаймы у собственного будущего. Очень не советую.
    Ответ написан
    8 комментариев
  • Linux Mint простейшее приложение для защиты глаз?

    Adamos
    @Adamos
    Максимально простое приложение для защиты глаз - это приложение к монитору хорошо освещенного листа глянцевого журнала и регулировка яркости и контрастности экрана как можно ближе к этому самому листу.
    Поначалу покажется, что мир потускнел и краски потухли. Потом прекратятся кровавые слезы от того, как те мониторы настраивают для продажи.
    Ответ написан
    Комментировать
  • Стоит ли обновляться на Windows 11?

    xez
    @xez
    TL Junior Roo
    Перешел в первый день релиза.
    Проблем нет.
    Использую ПК как основной рабочий инструмент.
    Использую:
    хром, фф, докер (всл 2), идею, телегу, мс офис 19й, стим, эпик ну и по мелочи...

    Нет никакой 11й винды. Это очередное обновление десятки.
    О себе она думает следующее:
    Microsoft Windows [Version 10.0.22000.469]
    Ответ написан
    Комментировать
  • Как telegra.ph понимает, что я - это я?

    @psy667
    Node.js backend developer
    Там используются HttpOnly cookie. То есть сами cookie есть, но в браузере не видны, также к ним нельзя получить доступ из клиентского кода.
    В запросе /check можно увидеть, что в response headers они устанавливаются.
    Set-Cookie: tph_uuid=<token>; expires=Wed, 08 Feb 2023 05:42:55 GMT; path=/; secure; HttpOnly
    Ответ написан
    1 комментарий
  • Можно ли одновременно запустить вторую ОС с внешнего диска?

    @pfg21
    ex-турист
    "внутрь" виртуалбокса можно пробросить "железный" носитель.
    https://www.virtualbox.org/manual/ch09.html#rawdisk
    Ответ написан
    Комментировать
  • Как отключить обновления windows 10 в 2022 году?

    Мой список по "оптимизации windows 10":

    Отключение служб в windows 10 (очистка лишнего, отключение слежки, телеметрии)


    Можете рассмотреть ещё вариант установки Windows 10 Ameliorated. В неё очень много всего выпелено на уровне файлов, а не настроек.
    https://ameliorated.info
    https://wiki.ameliorated.info/

    Я в итоге пересел с 10 на 7. Точнее на Linux пересел, а как альтернативный windows перешёл на win7.

    Вот тут ещё выложены решения по амелеорации windows 10 и оптимизации - https://github.com/gordonbay/Windows-On-Reins

    Win 10 Tweaker не рекомендуется, т.к. может содержать вирусы
    Ответ написан
    7 комментариев
  • Ubuntu Server 18.04. Простой мониторинг загрузки сервера?

    caramingo
    @caramingo
    админ из русского манчестера
    netdata если надо помониторитьодин сервер, ставиться в одну команду.
    Я бы не сказал что он "легкий" но при этом показываеть все что надо в красивых графиках.
    Ответ написан
    Комментировать
  • Сколько стоит час веб-разработчика-фрилансера?

    @deliro
    Ты веcь такой кругом молодец, то знаешь, это знаешь. А теперь представь себе среднестатистический проект, который должен приносить бизнесу деньги. За две недели работы ты едва напишешь хлипкий CRUD для данных, неправильно смаппив бизнес-сущности в объекты ORM, ещё через месяц натянешь какой-то слайдер на jQ, попутно захватив 2мб JS кривых библиотек, а через два заказчик поставит тебе плохую оценку, потому что твой ценник он оплатил не за то, что ему нужно, а потому что ты знаешь монады, которые ему даром не сдались.

    А теперь давай представим простого программиста. Из алгоритмов он с трудом вспоминает сортировку пузырьком, а двусвязный список — предел его знаний о структурах данных, и даже этим списком он пользовался два раза в жизни. Хаскель он никогда не видел в глаза, C++ учил только в школе, вместо этого пишет неэффективный код на PHP. И у него есть опыт. За день он распишет сущности, за второй сделает универсальный CRUD, на третий день поднимет фронт на React'е с SSR. Да, внутренности проекта будут "медленными". Вместо O(logN) что-то будет выполняться за O(N) или даже O(N^2), но всем похер. Пока всё работает на приемлемом уровне — бизнес радуется.

    Кстати, к чему эта поучительная лапша? Я хотел сказать, что всеми этими модными словами можно пугать друзей и преподавателей, но в реальной жизни все алгоритмы уже реализованы, все типы данных уже подобраны оптимально. Знать их полезно для себя (чтобы мозг не атрофировался), но не для работы. Для работы тебе нужны такие навыки как:

    * Оптимальный баланс между говнокодом и идеальным кодом
    * Оптимальный баланс между скоростью разработки и оптимизацией кода
    * Оптимальный баланс между поддерживаемым кодом и костылями
    * Умение использовать те инструменты, с которыми ты работаешь. Опять же, для того, чтобы писать быстро, при этом имея минимальное количество говнокода и обеспечивая максимальную поддерживаемость (в пределах сроков). Например, можешь выкинуть в помойку свой Vim, как бы круто ты себя не чувствовал, разрабатывая в консольном редакторе, если продукты от JetBrains позволят за это же время сделать что-то лучше или чего-то больше
    * Чувство "знаю больше менеджеров". Это то чувство, когда тебе кажется, что "вот эта фича скоро изменится" и надо сделать архитектуру заранее более гибкой. Или "вот эту фичу мы через месяц выпилим" и не надо тратить на неё силы — напиши костыль и через месяц с чистой совестью удали его
    * Знания, как сделать ту или иную фичу. Потому что фичи повторяются (немного видоизменяясь) от проекта к проекту. И если ты сделал что-то за два дня, в следующий раз ты похожее сделаешь за три часа

    Что касается инструментов, выбери любой полноценный фреймворк, который умеет решать 90%+ потребностей "из коробки": Symfony, Django, Laravel

    Всякие "минималистичные" поделия вроде Falcon, Flask (в PHP не знаю, я на питоне пишу) оставь хипстерам. Пусть они говорят: "Мой фалкон такой быстрый, он написан на Cython". Тебя это не должно волновать, потому что бизнес с твоей скоростью разработки уже заработал достаточно денег, чтобы купить ещё десять серверов, пока фалконисты неделю гуглили, как прикрутить миграциии и запустить юнит-тесты на VPSке за пять баксов.
    Ответ написан
    5 комментариев
  • Npm, Webpack, NodeJs с чего начать?

    @deliro
    Фронт развился в какую-то неправильную сторону, это правда
    Вкатиться на фронт очень сложно, это тоже правда. Причём, необоснованно сложно.

    Я бы выделил два пути, как можно въехать во всё это:
    1. Создать приложение на Vue или React по туториалам, затем разобраться, как и зачем оно всё
    2. Разобраться как и зачем оно всё (aka Vanilla JS), потом заняться реактами

    Имхо, вариант №2 предпочтителен и более прост, потому что на варианте №1 есть огромный шанс застрять, никогда не разобравшись, как оно работает а при любых нешаблонных ошибках поднимать лапки.

    Что здесь нужно понимать:
    1. Есть разные версии ES (ecmascript), они все обратносовместимые. Программист может писать на любой версии, какая ему нравится. Обычно берут последнюю стабильную

    2. Для проекта обычно есть две версии ES: та, на которой пишут программисты и та, которая исполняется в браузере или в ноде (об этом позже). Например, программист пишет на ES8, а код транслируется на ES5. Это позволяет использовать последние предсмертные хрипы писки моды JS при этом запуская всё на древнейшем говне вроде IE11. Перегонкой кода из JS/TS одной версии в JS другой версии занимается транспилятор: babel / esbuild / swc

    3. Новые версии JS содержат расширения стандартной библиотеки, которых нет в старых браузерах (например Array.from, Object.entries и т.п.). Эти дырки затыкают полифиллы, они же shims. Самая популярная дырозатыкательная машинка — corejs

    4. Весь код очевидно не пишется в одном файле и может быть написан на TypeScript (он же TS), JSX/TSX (реактовый синтаксис). Всё это нужно собрать в один или несколько файлов, то есть скомпоновать. Этим занимается bundler: часть webpack / esbuild / spark / etc.

    5. Этот же парень отвечает за то, чтобы та тысяча библиотек, что лежит в node_modules, попала в итоговый условный main.js, но не целиком, а только то, что используется. Последнее называется tree shaking (типа навозную кучу node_modules потрясли как дерево, что упало — то не нужно)

    6. (то самое "позже) Код может исполняться не только в браузере пользователя, но и на сервере без браузера вообще. Это нужно для SSR aka Server Side Rendering. SSR — это такой глобальный вонючий костыль для SEO. Дело в том, что стандартные SPA приложения содержат один DOM элемент, куда цепляется всё остальное приложение вроде реакта или вью, которое уже содержит всю вёрстку прямо в JS. Но не все поисковики согласны с таким подходом и некоторые (не будем показывать пальцем на яндекс) не умеют выполнять JS и индексируют только тот самый единственный DOM элемент, который существует на этапе отдачи страницы в браузер. Это уже потом к нему JS движком дорисовывается весь остальной сайт. Соответственно, сайт индексируется от слова "никак", а некоторым это важно. Например, когда SPA — это не админка. Для этого есть два выхода: страницы, важные для SEO, рендерить чем-то не-реактовым или сделать SSR — делать за яндекс работу на сервере (на ноде), представляя в уме, что у нас есть DOM и браузер (на самом деле нет), на выходе получать начальное состояние HTML, отдавать его клиенту (браузеру или поисковому роботу), а JS'ом её т.н. "гидрировать", иными словами — оживлять.

    7. webpack отвечает за всё вот это сверху в том или ином виде. Это такой кухонный комбайн, в который вкидываешь кучу хлама в одном виде, а получаешь другую кучу хлама в другом виде.

    Начать советую с parceljs, который сильно проще в освоении, чем webpack. И на написании кода максимально без библиотек.
    Ответ написан
    1 комментарий
  • Какой вариант построения условий производительнее?

    @deliro
    Очевидно, первый потребляет меньше памяти. Также он будет быстрее как минимум потому, что построение списка — это долго и дорого по сравнению с простейшим сравнением равенства.

    Но это всё спички, а ты на них экономишь. Если ты выбрал питон, то про слово "производительность" забудь в 99% случаев. Да и вообще, (почти) любой код — про читаемость прежде всего. Да, есть места вроде ядра linux, драйверов, embed и т.п., где пишут нечитаемый код, лишь бы выполнялось быстрее. Но питон от этого настолько далеко, насколько можно представить, только ещё чуть дальше.

    P.S. операция in над списком обычно не выполнятся, т.к. очевидно, сложность будет O(n). Если элементов списка не три, а значительно больше, то стоит заменить на set. Так и читабельней и быстрее.
    Ответ написан
    Комментировать
  • Как увеличить шрифт в консольной программе Python?

    vabka
    @vabka
    Токсичный шарпист
    За шрифт отвечает консольное окно, а не программа.
    Но мне надо так чтобы при запуске шрифт был нормальным

    Так нельзя, тк твоя программа не может знать, в чём оно запущено.
    Может на компе вообще нет GUI => нельзя увеличить шрифт.
    Ответ написан
    Комментировать
  • Как перестать говнокодить и принимать неверные архитектурные решения?

    miraage
    @miraage
    Старый прогер
    как писать поддерживаемый код?

    Если уж очень коротко, то соблюдать SOLID/GRASP. Мне понравился твит одного из авторов React Router:
    https://twitter.com/mjackson/status/1171524189850701825

    Most common mistake software developers make: putting stuff in the wrong place. Coupling responsibilities and concepts that should be kept separate.
    For me, this is 95% of software development. Just figuring out *where* things belong.


    Что гуглить, что учить?

    Фундаментальные знания, вроде вышеупомянутых SOLID/GRASP, паттерны (не только классические паттерны, но и вообще, общеизвестные решения определённых задач), базовые структуры данных. Фреймворки/библиотеки всегда будут приходить/уходить, что-то будет забываться. А фундаментальные знания всегда актуальны.

    Может литературу какую почитать посоветуете?

    Скажу за себя. Ни одной из этих известных книжек за свою жизнь не прочитал. Писал много говнокода дома, очень много. Удалял, переписывал. Смотрел код других людей, анализировал, пытался перенять то, что считал правильным.

    Можно ли себя называть миддлом, если твой код говно?

    Не пытайтесь себя оценить. В каждой компании свои понятия миддла. А если кто-то 35 лет на лиспе кодил, а потом прыгнет на Angular - кто он, джун или сеньор?
    И, да, все мы в какой-то степени пишем говнокод. Если кто-то Вам доказывает, что он пишет супер чистый код - не слушайте.

    И ответ на главный вопрос.
    Как перестать говнокодить и принимать неверные архитектурные решения?

    Это невозможно. Все проекты, которые чуток сложнее CRUD-ов, рано или поздно обрастают говнокодом. Никто не пишет идеальный код. Код должен работать и решать проблемы бизнеса.
    Ответ написан
    6 комментариев
  • Как список строк превратить в словарь?

    0xD34F
    @0xD34F
    dict(n.split('=') for n in arr)
    Ответ написан
    Комментировать
  • Как спарсить данные из PDF таблицы?

    Adamos
    @Adamos
    которое высылается каждый день в pdf файле в виде таблицы

    Кем? Рептилоидами, которые не идут на контакт и съедают всех почтовых голубей?
    Имхо, вы мужественно преодолеваете искусственно созданные проблемы.
    Причем, возможно, добьетесь кое-каких результатов... но первое же изменение "у них" эти ваши результаты похерит вдребезги напополам, и придется начинать все сначала.
    Запросите у источника данные в другом формате и не делайте себе голову.
    Ответ написан
    2 комментария