• Timestamp или инкремент версии в тексте при сохранении файла - какие редакторы или IDE так могут?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    И все-таки непонятно, почему нельзя использовать гит.

    Если у вас линукс, то все файлы складываете в каталог с гитом и в ваши "разные места" разбрасываете софтлинки.
    Если виндовс - есть хардлинки в пределах одного диска

    На крайняк написать скрипт, который из папки с гитом будет копировать файлы в ваши разные места и все.
    Ответ написан
    3 комментария
  • Можно ли в Python сделать такой механизм, чтобы при изменении значения в любой ветки словаря, я был уведомлен?

    fenrir1121
    @fenrir1121
    Начни с документации
    Наследование от dict повлечет за собой неявные ошибки, используйте предназначенный для этого collections.UserDict
    from collections import UserDict
    class MyDict(UserDict):
        def __setitem__(self, key, value):
            print(f'Меняем значение {key} на {value}')
            super().__setitem__(key, value)


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

    Очевидно вам это нужно для ваших конкретных словарей с бизнес логикой. И это нормально что они будут отдельным классом. Питон под капотом тоже использует словари и там явно не должен выполняться ваш код.
    Ответ написан
    Комментировать
  • Можно ли в Python сделать такой механизм, чтобы при изменении значения в любой ветки словаря, я был уведомлен?

    @twistfire92
    Python backend developer
    Как верно подметил fenrir , наследоваться надо от UserDict.
    Чуть поменял код, можете посмотреть что вышло. Была еще проблема в том, что при создании объекта вызывается метод __setitem__, для этого добавил флаг _initialization_finished

    from collections import UserDict
    
    
    class MyDict(UserDict):
        def __init__(self, **kwargs):
            self._initialization_finished = False
            print('Создан объект')
            super().__init__(**kwargs)
            self._initialization_finished = True
    
        def __setitem__(self, item, value):
            if self._initialization_finished:
                print(f"Вы поменяли значение {item} на {value}!")
            if isinstance(value, dict):
                value = MyDict(**value)
            super().__setitem__(item, value)
    
        def __getitem__(self, item):
            print(f"Пытаемся получить значение {item}")
            return super().__getitem__(item)
    
    
    d = MyDict(x='123', y=15, z={'a': 4})
    # Создан объект
    # Создан объект
    
    d['x'] = '456'
    # Вы поменяли значение x на 456!
    
    e = d['y']
    # Пытаемся получить значение y


    Два сообщения подряд "Создан объект" из-за того, что сначала создается основной кастомный словарь, потом создается словарь под ключом z, который тоже вызывает сообщение
    Ответ написан
    Комментировать
  • Почему сначала предлагает ввести значение, а потом ключ?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Из-за порядка вызовов методов: сначала вычисляется правая часть привоения, а затем левая.

    Из документации
    Python evaluates expressions from left to right. Notice that while evaluating an assignment, the right-hand side is evaluated before the left-hand side.
    Ответ написан
    Комментировать
  • Timestamp или инкремент версии в тексте при сохранении файла - какие редакторы или IDE так могут?

    WblCHA
    @WblCHA
    VSCode конечно же.
    Он почти как npm, есть плагины для всего: https://marketplace.visualstudio.com/items?itemNam...
    Ответ написан
    Комментировать
  • Timestamp или инкремент версии в тексте при сохранении файла - какие редакторы или IDE так могут?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Такое умел CVS и до сих пор умеет SVN. Про редакторы или IDE - мне неизвестно.

    (Хотя, конечно же вспоминается редактор на ЕС ЭВМ, который в последние 8 позиций строки ставил дату изменения, но там строка должна была быть жестко не шире 72 позиций)
    Ответ написан
  • Timestamp или инкремент версии в тексте при сохранении файла - какие редакторы или IDE так могут?

    @9982th
    Автоматически вставлять текущие дату-время при открытии умеет стандартный Notepad в Windows, достаточно добавить в первую строчку файла ".LOG". Правда добавляет он ее не в начало файла, а в конец, и, конечно, он не умеет вставлять комментарии (и даже не знает каким символом обозначается комментарий в используемым вами языке).
    Ответ написан
    1 комментарий
  • Где хранить бэкапы сайта?

    @Refguser
    Делаю ИМ и другие решения
    В чем проблема не понятно - есть же масса услуг хостингов для бекапов. Стоят копейки, доступы самые разные. А хранить бекапы на одном сервере с сайтом - это как защищать дом от пожара промасленной ветошью.
    Ответ написан
    3 комментария
  • Какую технологию выучить где меньше конкуренции?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Onix Onix,
    А какие будут рекомендации

    1. Зайдите на хэхэ, найдите все вакансии по N технологии, затем тоже само по резюме (со статусом - в активном поиске) и разделите одно на другое.
    2. Повторите п.1 для интересующих Вас технологий.
    2.2. Учитывать, что имеются хайповые технологии (раньше нода была, сейчас go и ml), которые всегда теряют часть (на сколько большую?) своей популярности по истечению хайпа.

    Уйти из php и js?

    Перевожу - "Уйти из очень популярного в самый популярный?"
    Ответ написан
    1 комментарий
  • Практика очного собеседования для иногородних кандидатов?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Когда я работал в конторе, которая была оптовой сетью по региону - мы такое практиковали. Хоят конечно же там не в Москоу выезд был, а всего лишь в соседнюю область - люди с автомобилями на себе приезжали обычно...

    А вообще Василий Банников предложил оптимальное решение.
    Ответ написан
    Комментировать
  • Откуда stackoverflow при работе с stackalloc c#?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    по умолчанию размер стека 1 мб. у вас просто забивает стек, ну а выше написали уже. Да и если бы вы в куче выделяли бы так же, уборка мусора не происходит сразу, по выходу из зоны видимости переменной.
    Ответ написан
    Комментировать
  • Откуда stackoverflow при работе с stackalloc c#?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Похоже (явного указания в документации я не нашел), что память в стеке освобождается только при выходе из всего метода, но не из блока внутри него. Освобождение памяти в стеке, как известно - это сдвиг указателя стека обратно, и похоже, этого в конце блока не происходит - только в конце метода. Косвенное подтверждение - в документации по stackalloc явно написано избегать вызовов stackalloc в цикле, как это у вас сделано: "Avoid using stackalloc inside loops. Allocate the memory block outside a loop and reuse it inside the loop." ( https://learn.microsoft.com/en-us/dotnet/csharp/la... )
    Ответ написан
    Комментировать
  • Практика очного собеседования для иногородних кандидатов?

    vabka
    @vabka
    Токсичный шарпист
    Такое иногда бывает.
    Я бы попросил у потенциального работодателя компенсацию поездки. (За билеты, проживание, и питание).
    ЗЫ: если два дня на поезде, то может оказаться сравнимой цена за самолёт.

    Если они не готовы на такое - значит отказ
    Ответ написан
    1 комментарий
  • Сколько еще проживет диск?

    opium
    @opium
    Просто люблю качественно работать
    так нисколько у тебя же он перегревается
    вентилтор поставь там или радиатор
    Ответ написан
    Комментировать
  • Сколько еще проживет диск?

    @Drno
    для начала сделай так, чтобы диск не перегревался
    Ответ написан
    Комментировать
  • Почему большая разница в цене внешних ЖД?

    @aleks-th
    Потому что первый поддельный и скорее всего там реально флешка гига на 2, и пару больших болтов для веса.
    А второй похож на настоящий, но это не точно.

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

    В общем ещё раз убедился что там нельзя впринципе покупать любую электронику.
    Ответ написан
    Комментировать
  • Почему большая разница в цене внешних ЖД?

    xez
    @xez
    TL Junior Roo
    32тб диск не может стоить 18$.
    Не в 2023м году.

    Скорее всего, там маленькая флешка и контроллер, который показывает большой объем.
    Такого контрафакта на озоне сейчас валом…

    Пс. Вас не смущает, что 4, 8 и 32тб продаются все за одну цену?
    Ответ написан
    Комментировать
  • Как инициализировать диск без потери данных?

    @Drno
    возможно умер бокс... в любом случае я бы сделал копию
    Ответ написан
    1 комментарий
  • Внешний SSD на 1 тб за 800р на али. В чём подвох?

    @rPman
    Терабайтовый ssd накопитель можно найти от 3т.р. (все что дешевле - фейк)
    он будет действительно терабайтовым но:
    * очень ненадежным, т.е. высокая вероятность выхода из строя (контроллер) с потерей данны в течении года
    * заявленный официально низкий предел количества записей, т.е. легко приобрести накопитель с пределом в 200тб - это мало (я поигравшись с нейронками llama легко потратил пару сотен терабайт за неделю, там туда сюда файлы сотнями гигабайт перекидывать приходилось)
    по окончании этого лимита накопитель встает в режим только для чтения, данные можно прочитать
    * будет очень медленный на запись - все потребительские накопители, благодаря многоуровневым чипам памяти имеют особенность - пока пользователь на максимальной скорости пишет некоторый процент (33% для 3-битного, или 25% для 4-битного) от свободного места в лучшем (в реальности от еще меньшего пространства, в зависимости от фрагментации как файловой системы так и внутри накопителя) то все будет быстро, но по окончании этого места, скорость падает в несколько раз (буквально до десятка мегабайт/с), в это время накопитель фоном пытается раскидать сохраненные данные по накопителю так чтобы снова освободить быстрые для записи области.
    Так вот кривой контроллер, дешевые чипы памяти - делают этот процесс долгим и медленным.

    Единственный бонус - если за последние минуты не было объемных записей, чтение с любого ssd накопителя будет очень быстрым, это единственная причина, по которой все еще имеет смысл покупать дешевые устройства, если стратегия использованрия похожа 'на пишем мало читаем часто'

    p.s. nvme pci накопители имеют бонус к цене, так как контроллер у них по проще (его функции перекладывают на процессор и память компьютера) а скорость заметно выше, с той же ценой и характеристиками sata вариантов.
    Ответ написан
    Комментировать
  • Устарел ли учебник Стивена Прата по C++?

    @dima20155
    you don't choose c++. It chooses you
    Зависит от ваших целей и вашего уровня. Если ваша цель писать на С++ определенного стандарта, то почему бы и нет. Если вы просто хотите писать на современном С++, то выбирайте учебник, который написан с учетом современных стандартов, ибо с каждым стандартом добавляются дополнительный функционал, который сильно упрощает жизнь.

    Также никто вам не запрещает выучить базовый синтаксис по относительно старому учебнику (базовый синтаксис никто не отменял), а дальше перейти на что-то современное.
    Ответ написан
    Комментировать