Maksim Pozharskiy
Ты по идее это в функции делаешь должен (но дело не в этом)
Krabs
В общем то если я объявлю переменную в функции, ничего не изменится
Maksim Pozharskiy
дада
Krabs
Фигня какая-то
Anonymous
Добавьте в финансовое приложение ещё один совет. Если до зарплаты осталось больше 10000 и при этом меньше 30000 рублей, пусть выводится такая фраза: «Неплохо! Прикупите долларов и зайдите поужинать в классное место.».
Anonymous
class Praktikum {
public static void main(String[] args) {
double moneyBeforeSalary = 15000.0; // Количество денег до зарплаты
if (moneyBeforeSalary < 3000) {
System.out.println("Сегодня лучше поесть дома. Экономьте, и вы дотянете до зарплаты!");
} else if (moneyBeforeSalary < 10000) {
System.out.println("Окей, пора в Макдак!");
} else if (moneyBeforeSalary > 10000 && < 30000) {
System.out.println("Неплохо! Прикупите долларов и зайдите поужинать в классное место.");
} else {
System.out.println("Класс! Заказывайте крабов!");
}
}
}
Anonymous
Где я туплю?) ПОдскажите
Anonymous
Maksim Pozharskiy
на 10 строке скорее всего
Maksim Pozharskiy
логическое И не так работает, тебе во втором условие надо добавить сравниваемую переменную
Maksim Pozharskiy
else if (moneyBeforeSalary > 10000 && moneyBeforeSalary < 30000) {
Anonymous
Оо, понял, спасибо большое дружище)))🖐️
Maksim Pozharskiy
Krabs
В общем то если я объявлю переменную в функции, ничего не изменится
Some tests are susceptible to mutation of input arguments and fail if your solution changes input objects passed to it. If the kata does not explicitly ask you to modify input arguments, make sure you do not do it. If you find a kata that fails when input is mutated by your solution, raise it as an issue (see here).
Я меняю p0 в input получается и возможно тесту это не нравится. Но если я попытаюсь p0 передавать в какую-нибудь переменную, то цикл у меня становится бесконечным 🤭
Артур Лайф
Каждый раз когда вижу в инсте публикацию с бруново, жму что не интересует. кумарит быдло юмор. интересно, сколько лет понадобится инстаграму и его алгоритмам, чтоб он перестал рекомендовать его лицо
Шурок
Шурок
Шурок
Если твой алгоритм держиться только на кнопке "Отказаться" у меня для тебя плохие новости - алоритм должен брать охапку вариантов и выбирать из нее
Скорее всего ты в каком-то диапазоне слишком хорошо подходишь
Забей это вроде должно пройти пока их СММ щик не обанкротиться
616
ВСем привет. Всем отличных праздников!
⚜️Александр⚜️
Привет всем! Есть тут кто ранее пробовал написать бота для WB? Или для другой плошадки ?
Владимир
⚜️Александр⚜️
Понял
Robert
⚜️Александр⚜️
Для Wildberries
Robert
Пардон, понял.
Krabs
Maksim Pozharskiy
Дело было в этом 💩
Понятно.
Думаю это потому что в тестах запускается сама функция и переменных которые ты объявил вне функции - их нет
Krabs
Я рад и счастлив, это отличный урок)
Vyacheslav
Может через множества и их пересечения?
Превращаешь сообщение в множество слов, сравниваешь его с множеством ключевых и множеством черного списка
Но так то, что много сообщений у тебя, что мало все равно каждое сообщение отдельно проверять придется
Стоит ещё посмотреть есть ли ограничения на длину одного сообщения, если оно есть, и количество слов в сообщении небольшое то может и вовсе подойдёт любой алгоритм, даже с полным перебором...
Ну и почитать про алгоритмы поиска значений в наборах данных
Vyacheslav
Так у тебя сообщения не адресованы конкретному юзеру что-ли?
Типа это как лента новостей которая формируется одна для всех и тебе ее отфильтровать нужно для каждого пользователя?
Vyacheslav
Если поиск по нескольким словам, тогда, наверное, только поиск подстроки в сообщении
Так получается что ты к каждому сообщению, через обобщенный список ключевиков создаёшь список пользователей, которым можно это сообщение отправить
Но тогда было бы, наверное, логично создать такой же обобщенный список стоп-слов, и для каждого сообщения делать проверку, исключая пользователей из рассылки при совпадении
Vyacheslav
Тут не скажу
Даже не слышал раньше о такой штуке
Warox
ну вот представь что у тебя есть 5 гигабайт кэша
если ты держишь их внутри приложения, то поднимая 10 инстансов приложения - каждое кэширует себе это и у тебя получается 50 гиг.
Если же все это вынести во внешний кэш типа редис или аероспайк - то будет всего 5 гиг и все смогут к нему обращаться
А в веду того что эти кеши очень быстрые - разница будет не заметна
+ другие плюшки
Vyacheslav
Vyacheslav
То есть этот кэш не в твоей оперативке хранится, а где-то в облаке
Vyacheslav
https://habr.com/ru/post/42607/
Warox
можно хранить и в нутри приложения если это мелочи.
нет смысла настраивать инфраструктуру если тебе нужно закешировать 2 обьекта ))
Warox
у тебя есть 5 гб данных
ты их ставишь в редис.
Все 10 инстансов обращаются к ОДНОМУ редису в котором храниться 5 гб данных.
если ты будешь хранить данные в нутри притложения (и их например 10) - каждое приложение будет кешировать в нутри себя все 5 гб, и получиться 5*10
Robert
Vladislav
Актив чтоль упал?
Real G
что это такое и почему я немогу удалить этот репозиторий который просит внести линк старого
Real G
Maksim Pozharskiy
не похоже на экран удаления репозитория, ты куда то не туда залез
Сидредин
В коде данные хранятся до прекращения работы скрипта (это я про скриптовые языки, про другие не знаю). А в кеше они хранятся до тех пор, пока сервер работает или пока мемкешед не упадёт. В этом одно из его отличий от Redis, который параллельно сохраняет данные и на диске
Сидредин
Питон тоже скриптовый язык?
Warox
Питон тоже скриптовый язык?
скриптовый - да
Но сам апликейшин живет долго, не только во время запроса
потому кэш храниться внутри столько сколько нужно
Сидредин
Или там данные перезаписываются?
Warox
Сидредин
Сидредин
Спасибо
Warox
Надо как-нибудь подробнее почитать
там все работает примерно как в той же джаве\с#
контексты запросов изолирвоаны
и они просто выполняются параллельно и не зависимо, если у тебя нет общих сущностей, как напрмиер кэш, который ты сделал нарошно
Alesandr
Всем большой привет! А есть у нас в группе специалисты из Иркутска?
Alexander
Ураа! У нас вышла вторая лекция курса на английском языке https://youtu.be/t4VsDgTQR7k #дядясаша
Arutemu
Уже второй день гружу разными мыслями и способами решениями свой мозг для того, чтобы решить проблему установки Линукс дистрибутивов.
Основная проблема - грузит только фон рабочего стола.
Arutemu
Прошу прощения за нецензурщину, но я охуел, когда понял причину
Arutemu
У меня был подключен HDMI ко второму монитору.
Krabs
Бывает
Iskandar
Установите темный фон
Iskandar
Или вообще переустановите
Iskandar
Arutemu
Или вообще переустановите
Спасибо за отклик, но я уже решил проблему. Опять же, мне нужно было быть внимательнее, чтобы заметить, что подключен второй монитор.
Iskandar
Andrii
Ну... как поменять или переустановить поможет решить?
Andrii
Anonymous
help me pleas
Anonymous
let phrases = [
{ text: 'отправить другу смешную гифку', image: 'https://code.s3.yandex.net/web-code/procrastinate/1.gif' },
{ text: 'посмотреть скидки на авиабилеты', image: 'https://code.s3.yandex.net/web-code/procrastinate/2.png' },
{ text: 'разобраться, о чём поют рэперы', image: 'https://code.s3.yandex.net/web-code/procrastinate/3.png' },
{ text: 'Юрий Дудь', image: 'https://code.s3.yandex.net/web-code/procrastinate/4.png' },
{ text: 'расставить книги на полке по цвету', image: 'https://code.s3.yandex.net/web-code/procrastinate/5.png' },
{ text: 'читать про зарплаты в Сан-Франциско', image: 'https://code.s3.yandex.net/web-code/procrastinate/6.png' },
{ text: 'прочитать новости и ужаснуться в комментариях', image: 'https://code.s3.yandex.net/web-code/procrastinate/7.png' },
{ text: 'попасть в поток грустных песен и вспомнить все ошибки молодости', image: 'https://code.s3.yandex.net/web-code/procrastinate/8.png' },
{ text: 'посмотреть трейлер сериала и заодно первый сезон', image: 'https://code.s3.yandex.net/web-code/procrastinate/9.png' },
{ text: 'проверить непрочитанное в Telegram-каналах', image: 'https://code.s3.yandex.net/web-code/procrastinate/10.png' }
];
function getRandomElement(arr) {
let randIndex = Math.floor(Math.random() * arr.length);
return arr[randIndex];
}
let button = document.querySelector('.button');
let phrase = document.querySelector('.phrase');
let advice = document.querySelector('.advice');
let image = document.querySelector('.image');
button.addEventListener('click', function () {
let randomElement = getRandomElement(phrases);
phrase.textContent = randomElement;
if (randomElement.length > 40) {
advice.style.fontSize = '33px';
} else {
advice.style.fontSize = '42px';
}
});
Anonymous
Ещё раз нажмите на кнопку и убедитесь, что код сломался. Глубоко вздохните и примите это: ошибки случаются.
Проанализируем, почему код перестал работать. Изменилось только одно: элементы массива были строками, а стали объектами. Хм, стало быть randomElement теперь не строка, а объект:
let randomElement = getRandomElement(phrases); // randomElement теперь объект
Чтобы получить строку, как и раньше, нужно обратиться к его свойству text:
randomElement.text
В коде исправьте randomElement на randomElement.text. Исправления должны быть в двух местах!
Anonymous
Agent_RBY_
Anonymous
Вот задание
Agent_RBY_
Ну решай, что не так?)
Anonymous
В коде исправьте randomElement на randomElement.text. Исправления должны быть в двух местах!
Agent_RBY_