Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (18)

Лучшие ответы пользователя

Все ответы (14)
  • Можно ли сейчас без веба?

    @ArtiomK
    Написание backend кода по факту ничем не отличается от написания кода для десктопного приложения. Интерес задачи определяется заложенной логикой. Веб это не только сайты на WordPress под копирку, но и сложнейшие системы банков. Веб приложения имеют ряд преимуществ над десктопом (и конечно недостатков), поэтому они популярны и распространены. И собственно ответ на вопрос, да можно писать не веб приложения и получать за это деньги.
    Ответ написан
    Комментировать
  • Dataframe или БД для торгового приложения?

    @ArtiomK
    Согласно описанию вам в любом случае нужна база данных, в одной таблице будет список названий оборудования, во второй таблице список опций + цена, связана с первой таблицей по foreign key (это будет id оборудования, либо в качестве ключа можно использовать его имя). Это нужно, чтобы откуда-то взять данные для вашего пользовательского интерфейса. Далее расчет стоимости можно делать без участия сервера с помощью JavaScript, если не хотите, то можно и на стороне сервера с помощью отправки FORM методом POST.

    Фреймворк можете выбрать Flask, есть мнение что он легче для новичков, также есть противоположное мнение, что Flask сложнее, но на нем можно сделать "more customizable" приложение.
    Ответ написан
    Комментировать
  • Redis в Docker container (открытый для доступа из Интернета) неожиданно начинает писать в var/spool/cron как решить эту проблему?

    @ArtiomK Автор вопроса
    Как правильно ответил человек, являющийся автором коннектера на C++ для Redis, у Redis есть еще один пользователь, существование которого никак не отображается в файле конфигурации - default пользователь.
    У этого пользователя по умолчанию нет вообще никакого пароля, под этим пользователем и заходили при взломе.

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

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

    Итого:

    Dockerfile:

    FROM redis:6.0-alpine
    
    WORKDIR /usr/src/app
    
    RUN apk add --no-cache tzdata
    
    ENV TZ=Europe/Moscow
    
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    
    COPY redis.conf /usr/local/etc/redis/redis.conf
    
    CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]


    В файле конфигурации Redis:

    protected-mode yes
    
    user default off
    
    user someusername allcommands allkeys on >somelongpassword # можно также отключить часть команд
    Ответ написан
    Комментировать
  • Какие советы вы можете дать начинающему программисту?

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

    Начну с того, чем можно увеличить шансы на получение работы:

    Первое. Основное - учите не ЯП, а учитесь программировать, у меня например не было проблем, проработав год на Python, начать решать задачи на Javascript. А маленькие фишки, вроде в Python if [] - False, а в JS if [] - True, вы все равно забудете если на языке не будете долго писать. Главное, что кол-во элементов 0 в обоих случаях ))

    Второе. Проработайте самую простую книгу по алгоритмам, там где их спрашивают, вы будете выглядеть лучше 99% процентов пришедших, даже с 1-2 годами опыта. Сложные структуру вроде графов и деревьев можно для первой работы можно и не трогать, все равно и половину в РФ мало, кто осилил.

    Например такая книга, она на Python, но смысл от этого не меняется, посмотрите на этом сайте, вроде есть и на С++ похожая. Сложные книги от MIT пока смысла трогать нет.

    https://runestone.academy/runestone/books/publishe...

    Третье Работайте над своими профилями в Github и если сразу потянете в Stackoverflow. Пишите программы, пишите как их разворачивать, будьте готовы ответить на вопросы по коду на собеседование. Тоже превзойдете 95% кандидатов со сказкой "оно работает, но я забыл, как его запускать".

    Лирика:

    Ваше главное отличие от большинства кандидатов без опыта или с минимальным опытом 1-2 года - это то, что вы говорите, что ничего не умеете делать хорошо. Обычно такой кандидат говорит, что умеет ВСЕ и знает 5-6 ЯП, если задать вопрос, что вы писали на языке Х, он ответит "ничего не писал, я его ПРОСТО ВЫУЧИЛ". Я считаю, что никогда не нужно врать о своих навыках, но никогда не говорите, что все умеете делать плохо, лучше говорить, я сделал это, это, это, пусть наниматель сам решает плохой ли это опыт при данном соотношение цена-качество.

    Сидеть аникейщиком-грузчиком за хорошую запись в трудовой на мой взгляд идея так себе. Отсидите 1-2 года, покажете уровень "закончил 2-недельные курсы" и далее будете мычать, что не мне не дано программировать, а что просто в трудовой так написано, а на самом деле я два года Оффис устанавливал и компы перезагружал. Сам через такое проходил, был логистом, но администрировал сайт. Вариантов два: первый - лучший вариант, не увольняетесь и ищете работу, в открытую говоря, что программировать не дают, а я хочу! второй - уволиться и, поскольку у вас мало опыта, просто выкинуть трудовую на помойку, лучше пустая трудовая, чем с навыками не соответствующими записи.

    По поводу работать с первого курса, я считаю, что образование, когда приходишь сдаешь денежку раз в полгода - не образование. Образование у нас конечно мягко говоря не очень, но потом на собеседованиях будете "сбивать короны" псевдо ML инженерам вопросом, что такое детерминант матрицы и зачем он нужен.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы брало елементов со списка в цикле?

    @ArtiomK
    Делаем лист mylist = list (x for x in range(1,26))

    Метод:
    def sum_of_three_shift(mylist):
        result=[]
        value=0
        k=0
        t=0
        while(t< len(mylist)-3):
            for i in range(t,len(mylist)):
                value+=mylist[i]
                k+=1
                if k==3:
                    result.append(value/3)
                    value=0
                    k=0
                    t=t+1
                    break
            
        return result

    запуск:
    sum_of_three_shift(mylist)
    результат
    [2.0,
    3.0,
    4.0,
    5.0,
    6.0,
    7.0,
    8.0,
    9.0,
    10.0,
    11.0,
    12.0,
    13.0,
    14.0,
    15.0,
    16.0,
    17.0,
    18.0,
    19.0,
    20.0,
    21.0,
    22.0,
    23.0]

    Проверяй
    Ответ написан
    3 комментария

Лучшие вопросы пользователя

Все вопросы (20)