• Из-за чего ошибка nodejs client password must be a string?

    ayazer
    @ayazer
    Sr. Software Engineer
    const pool = new Pool({
      user:'postgres',
      password:'password',
      host:'localhost',
      port:5432,
      database:'delviery'
    });


    pasword => password
    Ответ написан
    Комментировать
  • Возможна ли переинициализация переменных в C#?

    ayazer
    @ayazer
    Sr. Software Engineer
    {
        var k = 0;
        {
            var k = 5;
        }
    }
    {
        {
            var k = 5;
        }
        var k = 0;
    }


    лучше посмотреть на вот этот пример. c точки зрения компилятора - это равнозначные ситуации
    т.к. во внутреней зоне видимости возникает ситуация что объявленно 2 переменных с одинаковым именем (я сейчас говорю с точки зрения парсинга исходного кода при построении ast). И неважно что переменная в верхней зоне видимости еще даже не инициализирована. Потенциально - да, это могло бы работать иначе, но (похоже что) было решено что преимущества от данного усложнения (разрешить во внутреннем контексте объявлять уже существующие переменные при условии что они еще не были инициализированы во всех внешних контекстах) себя не оправдывают. Кроме того, уж если очень нужно сделать что-то такое то (что достаточно редкая ситуация сама по себе) - это можно разрулить ручками, т.е.
    for (int a = 0; a < 3; a++)
    {
        Console.WriteLine(a);
    }
    
    {
        int a = 3;
    }
    Ответ написан
    4 комментария
  • Существуют ли профайлеры с построением карты для python?

    ayazer
    @ayazer
    Sr. Software Engineer
    да. по сути вам нужен профайлер + визуализатор к нему. например cprofile + kcachegrind
    вот тут есть пара полезных ссылок, можно начать с них
    Ответ написан
    4 комментария
  • Как восстановить пароль?

    ayazer
    @ayazer
    Sr. Software Engineer
    питон3:
    import itertools
    
    list = ["a", "bb", "ccc"] #тут список слов. использоватся могут в любом порядке, но не более одного раза каждое
    result = []
    for i in range(1,len(list)+1):
        for iter in itertools.permutations(list,i):
            result.append("".join(iter))
    
    print(result)


    результат для списка "a", "bb", "ccc":
    ['a', 'bb', 'ccc', 'abb', 'accc', 'bba', 'bbccc', 'ccca', 'cccbb', 'abbccc', 'acccbb', 'bbaccc', 'bbccca', 'cccabb', 'cccbba']
    Ответ написан
    Комментировать
  • Как настроить docker?

    ayazer
    @ayazer
    Sr. Software Engineer
    Как уже написал Василий Банников - вы собираете проект, не весь солюшен. Потому и падает - оно не может найти свои зависимости. Ниже - пример, обрезаный с рабочего решения:

    FROM mcr.microsoft.com/dotnet/sdk:5.0 AS builder
    COPY . .
    WORKDIR /src
    
    RUN dotnet restore "SolutionName.sln" && \
            dotnet build "SolutionName.sln" -c Release -o /src/build && \
            cd /path/to/proj && \
            dotnet publish "ProjectToPublish.csproj" -c Release -o /src/publish
    
    FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS final
    
    WORKDIR /app
    COPY --from=publish /src/publish .
    
    ENTRYPOINT ["dotnet", "ProjectName.dll"]


    вам по сути надо поправить
    RUN dotnet restore ./build/ShoppingCart.API.csproj
    RUN dotnet publish -c Release -o out


    Ну и да, судя по ошибке (описание которой я бы скопировал если бы вы вставляли текст, а не скриншоты) - у вас таки нет5. Потому и образы соотв. нужно использовать.
    Ответ написан
    1 комментарий
  • Как исправить некорректную работу с else?

    ayazer
    @ayazer
    Sr. Software Engineer
    синтаксически конструкция должна быть
    if условие then
    begin
     ....
    end
    else if условие2 then
    begin
      ...
    end;


    у вас же
    else b <= 0 then
    находится внутри первого блока if. потому компилятор и ругается. Имея только тут код что сейчас в вопросе - могу предположить что вы что-то такое пытаетесь написать (это странно с точки зрения логики т.к. второй блок будет выполнятся только если b = 0, но имеем что имеем)

    Program qwert;
    const n=12;
    var
    A : array [1..N] of integer;
    i : integer;
    b : integer;
    begin
    for i := 1 to N do
    begin
        A[i] := random (30) - 20;
        b := ( A[i]);
        if b < 0 then
        begin
            b := 0;
            writeLn ('A[', i, '] = ', b);
        end
        else if b <= 0 then
            writeLn ('A[', i, '] = ', b);
        end;    
    end.
    Ответ написан
  • Как поменять аттрибуты папки через ftp с помощью c#?

    ayazer
    @ayazer
    Sr. Software Engineer
    сhmod - не стандартная фтп команда, потому ее поддержка зависит исключительно от желания разработчиков фтп сервера. судя по "метод не поддерживается" - у вас как-раз ситуация когда ее не реализовали.

    посмотреть список доступных комманд можно через help. Например, для файлзиллы:
    Command:	help
    Response:	214-The following commands are recognized:
    Response:	   ABOR   ADAT   ALLO   APPE   AUTH   CDUP   CLNT   CWD 
    Response:	   DELE   EPRT   EPSV   FEAT   HASH   HELP   LIST   MDTM
    Response:	   MFMT   MKD    MLSD   MLST   MODE   NLST   NOOP   NOP 
    Response:	   OPTS   PASS   PASV   PBSZ   PORT   PROT   PWD    QUIT
    Response:	   REST   RETR   RMD    RNFR   RNTO   SITE   SIZE   STOR
    Response:	   STRU   SYST   TYPE   USER   XCUP   XCWD   XMKD   XPWD
    Response:	   XRMD
    Response:	214 Have a nice day.


    Ну и в таком случае - никак вы не поменяете т.к. фтп сервер не умеет такое делать. Поиск других нугет пакетов с другими клиентами не поможет т.к. причина - то, как сам фтп сервер реализует протокол.

    UPD: судя по RFC1123 - ожидаемая комманда должна быть SITE CHMOD 777 FILENAME, остальные варианты - шаг в сторону от стандарта
    Ответ написан
    5 комментариев
  • Где лучше хранить config файлы of applications in AWS?

    ayazer
    @ayazer
    Sr. Software Engineer
    Если нужно "прямо как авс", но чтоб "поднять локально" - можно просто взять локалстек.

    ./docker-compose:
    version: "3.4"
    
    services:
      localstack:
        image: localstack/localstack:0.12.7 
        container_name: localstack
        networks:
          - networkname
        ports:
          - "4566:4566"
        environment:
          - SERVICES=ssm
          - HOSTNAME_EXTERNAL=localhost
        volumes: 
          - ./LocalAws:/docker-entrypoint-initaws.d/
    ...


    ./LocalAws/ssm.sh:
    #!/bin/bash
    set -x
    aws configure set cli_follow_urlparam false
    
    awslocal ssm put-parameter --name /path/to/param --value i-am-param-value --type String
    ...


    и дальше конфигурируете авссдк чтоб ссм ходил на локалхост (надо переопределять явно, иначе оно будет лезть в реальный)
    Ответ написан
    3 комментария
  • Как передавать в аргумент методу другой метод?

    ayazer
    @ayazer
    Sr. Software Engineer
    class Class1
    {
        public void Do(Action fun)
        {
            fun();
        }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            var class1 = new Class1();
    
            class1.Do(SayHello);
    
        }
    
        static void SayHello()
        {
            Console.WriteLine("Hello");
        }
    
        
    }
    Ответ написан
  • Годный тайм трекер для vs-code?

    ayazer
    @ayazer
    Sr. Software Engineer
    как вариант - wakatime. с vscode тоже интегрируется. Бесплатного тарифа (с историей в 2 недели) вполне хватает чтоб трекать для себя когда и чем ты занимался. Не скажу что я в свое время потратил много времени на выбор и анализ, но со своей задачей "приблизительно отследить когда я закончил заниматься своими проектами и начал заниматься рабочими" оно справляется.
    Ответ написан
    Комментировать
  • Как сделать из строки число?

    ayazer
    @ayazer
    Sr. Software Engineer
    если символ валюты есть всегда - то можно

    price = "1 000₴"
    print(price.replace(" ","")[:-1]) #1000
    Ответ написан
    Комментировать
  • Что значат стрелочки в выражении?

    ayazer
    @ayazer
    Sr. Software Engineer
    <<, >> - битовые сдвиги

    https://docs.microsoft.com/en-us/dotnet/csharp/lan...
    Ответ написан
    Комментировать
  • Как исправить код чужого репозитория?

    ayazer
    @ayazer
    Sr. Software Engineer
    создаете свою форку -> создаете в своей форке новую ветку -> исправляете баг в новой ветке -> создаете pull request с ветки своей форки в основную ветку оригинального репозитория. И обычно в более-менее популярных репозиториях есть список требований/рекомендаций которые надо выполнять если хотите чтоб ваш код вмерджили
    Ответ написан
    7 комментариев
  • Почему не работает Веер в C Sharp?

    ayazer
    @ayazer
    Sr. Software Engineer
    https://docs.microsoft.com/en-us/dotnet/api/system...
    все в документации есть, все работает. разве только

    The Beep method is not supported on the 64-bit editions of Windows Vista and Windows XP.
    Ответ написан
    Комментировать
  • Как сделать SQL инъекцию на МОЙ сервер?

    ayazer
    @ayazer
    Sr. Software Engineer
    если id будет равно "1' or `id`='2", то вы получите

    SELECT * FROM `users` WHERE `id` = '1' or `id`='2'
    Ответ написан
    7 комментариев
  • MySql Join как его применить?

    ayazer
    @ayazer
    Sr. Software Engineer
    https://dev.mysql.com/doc/refman/8.0/en/join.html

    SELECT o.address, u.name, u.phone
    FROM `objects` o
    JOIN `users` u on o.userID = u.userID
    WHERE o.userID=12 
    ORDER BY o.created_at 
    OFFSET 1 rows 
    FETCH next 1 rows only
    Ответ написан
    Комментировать
  • Почему возникает данная ошибка?

    ayazer
    @ayazer
    Sr. Software Engineer
    index = abc_values.index('maxvalue')
    вам же нужен индекс значения maxvalue, а не литерал 'maxvalue'

    s = ['A', 'B', 'C', 'B', 'A', 'D', 'D','D','A','B']
    
    abc = {}
    for i in range(0,len(s)):
      if s[i] == 'A':
        if s[i+1] in abc.keys():
          abc[s[i+1]] += 1
        else:
          a = s[i+1]
          b = 1
          abc.update([(a,b)])
    abc_values = list(abc.values())
    maxvalue = max(abc_values)
    index = abc_values.index(maxvalue)
    abc_keys = list(abc.keys())
    print(abc_keys[index])  #B


    TypeError: 'int' object is not callable
    а для того чтоб получить эту ошибку у вас где-то выше должно было быть присвоено
    max = 1

    Тогда итерпретатор считает что пытаетесь вызвать переменную, а не метод
    Ответ написан
  • Какие есть варианты конвертации LE в BE на C#?

    ayazer
    @ayazer
    Sr. Software Engineer
    Комментировать
  • AWS: Как посчитать?

    ayazer
    @ayazer
    Sr. Software Engineer
    Нужен обычный VPS Linux. Пара сайтов, может пара скриптов. Мне вполне хватает RAM 1 Гб, 2х2000 MHz, 15 Гб SSD. Я правильно понимаю, что ближайший аналог a1.medium https://aws.amazon.com/ru/ec2/pricing/on-demand/ 0.0255*12*30*12 = 110.16 USD в год? Больше не за что не нужно платить?

    + трафик по гб + доп. айпишники. ну и для этой цели смотрите на зарезервированые инстансы - будет дешевле процентов на 40, on-demand = вот прямо сейчас нужно еще 10ок машин чтоб обработать нагрузку. и через пару часов они выключаться (ну и оплачивается только время работы)

    Есть ли у AWS какой-то экономный вариант для приложений на node js(типа heroku)? Контейнера или что-то такое.

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

    Если речь про s3 website, туда же можно загрузить angular и т.д.?

    c3 = файлопомойка. но да, можно использовать в том числе и чтоб раздавать ангуляровский/реактовский/етц фронтенд

    Я правильно понимаю, что для типичных задач (интернет магазин, лендинг и т.д.) экономнее взять s3 website(дает скорость загрузки через их сеть) + где-то сторонний (не на AWS) VPS где держать базу, скрипты или ботов
    да. и может даже посмотреть на какой-то другой сдн, у меня очень большие сомнения что с3 будет дешевле
    Ответ написан
    Комментировать
  • Есть ли способ оценить время на изменение схемы?

    ayazer
    @ayazer
    Sr. Software Engineer
    pt-online-schema-change/gh-ost и не страдайте
    Ответ написан
    Комментировать