Директор цирка
у вас рабочий понедельник? )
во всем мире понедельник - рабочий :)
Konstantin
во всем мире понедельник - рабочий :)
кроме роисси везде, ага ))
Сергій
В кувейте выходной, в оаэ кажется тоже
Konstantin
да им там вообще можно не работать, просто приглашать наемных работников из за границы, пущяй вкалывают
Olexandr
есть ли либа или статья как проверить содержит ли строка лат. буквы, цифры и спец символи?
Konstantin
да, есть отдельный раздел компьютерной науки для этого самого, называется регулярные выражения
Сергій
онлайн редактор, вся необходимая документация есть
Konstantin
ну сириосли, че загуглить незя что ли "как проверить содержит ли строка лат. буквы, цифры и спец символи", это ж не ракеты проектировать в конце концов ) там вся первая выдача гугла про регэкспы
Olexandr
понял. спасибо)
Artur
Привет, использует кто Mosby для MVI?
Anna
понял. спасибо)
если по паролю, то так
Anna
public static boolean isValidPassword(String password) { final String regex = "^(?=.*[0-9])(?=.*[A-Za-z])(?=.*['!\"#$%&\\\\'()\\*+,\\-\\.\\/:;<=>?@\\[\\\\\\]\\^_`\\{|\\}~'])(?=\\S+$).{8,100}$"; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(password); while (matcher.find()) { return true; } return false; }
Olexandr
да :)
спс
Сергей
Регэксп как вообще проверяет то? Грубо говоря разбивая строку на символы или как есть обрабатывает? Да, нет?
Artem
Если у вас проблема и вы собираетесь решить её с помощью регулярных выражений, то вскоре у вас будет 2 проблемы. (Народная мудрость)
Сергей
Если у вас проблема и вы собираетесь решить её с помощью регулярных выражений, то вскоре у вас будет 2 проблемы. (Народная мудрость)
Да это понятнт😂 я просто прикинул,, если это не строка на 100500 символов. То можно и на чары разбить да по аськовым номерам отсеять весь неугодный хлам. Ачепнет?
Konstantin
Да это понятнт😂 я просто прикинул,, если это не строка на 100500 символов. То можно и на чары разбить да по аськовым номерам отсеять весь неугодный хлам. Ачепнет?
если хочешь чтобы про тебя за спиной говорили когда ты входишь "атас! батя в здании!" - выучи регэкспы на зубок
Artem
Таки надо уметь их готовить
Ну если после тебя не надо поддерживать ничего, то конечно нет проблемы) но, как мы видим не все умеют в регулярки
Сергей
если хочешь чтобы про тебя за спиной говорили когда ты входишь "атас! батя в здании!" - выучи регэкспы на зубок
А уговорил😂 пойду почитаю на досуге. А то часто где их можно применить, но эту клинопись мне все не доводилось изучить😂
Ярослав
оо регулярки тема
Никита 🙃
Мне кажется за пару вечеров вполне реально покрыть почти всё о них
Никита 🙃
Другое дело набить руку и правильно их составлять. Но тут только практика
Stanislav
Сергей
Блять.. статьи с Вики хватило для понимания
Сергей
Яибу))) а я страшился как огня этих регулярок
Сергей
Товарищи, а отчего в паролях зачастую не можно спецсимволы юзать?
Konstantin
особенности хранения и жалость к юзерам
Anonymous
Добрый день, сори за оффтоб, кто нибудь юзает скеч для дизайна, есть ли кряки на мак? хотел купить мак именно для этих софтов стоит ли, посоветуйте плис
Никита 🙃
Кряки на мак?)
Никита 🙃
Они существуют?
Konstantin
Кряки на мак?)
конкретно скетч есть ломаный где то на поррентах
Anonymous
они насколько знаю не бесплатные
Никита 🙃
Прикольно
Konstantin
но там отставание в несколько версий, так чисто для работы пойдет если просто дезигн разбирать
Anonymous
а инвижн, принципл, фигма
Konstantin
хз насчет остальных но в зеплине тебе сразу разметку дадут хмл для текстовых полей, с цветом и размером шрифта
Anonymous
хорошо спасибо, если есть кто юзает мак для дизайна отпишитесь плис
Anonymous
спасибо заранее
Корбен
Подскажите момент Мне нужно чтобы по нажатию кнопки назад на смарьфоне приложение закрывалось Но получается что я нажимаю на кнопку а открывается активность Хотя я переопределил onBackPressed и поставил finish; В чем может быть проблема?
Корбен
Пробовал System.exit (0);
Корбен
То же самое
Корбен
Выбрасывает на другую активити
Artur
application.onTerminate() попробуй
Artur
Ну если джава, то getApplication
Сергій
application.onTerminate() попробуй
Это просто колбек )
Сергій
Если надо убить весь стек активити, то есть finishAffinity
Artur
А, точно)
Roman
Intent homeIntent = new Intent(Intent.ACTION_MAIN); homeIntent.addCategory( Intent.CATEGORY_HOME ); homeIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(homeIntent); Как варик
Vladimir
Я тут чего то в ступор попал... Активити, там в oncreate - replacefragment. При повороте экрана у фрагмента метод oncreateview вызывается 2 раза. Разве так должно быть?
Ilgiz
Кто-нибудь сталкивался с проблемой, обновил линкус майнт до последней версии(стейбл). Теперь в Идее и в Студии картинка временами сыпется.
Vladimir
Спасибо, туплю
Sergey F
Почему при ротейте экрана ViewModel пересоздается?
Konstantin
не по теме - есть тут кто нить толковый опытный сисадмин который может уделить мне минут 5-10?
Anonymous
Anonymous
Пытаюсь решить проблему с переворотом экрана при использовании фрагментов. В самом фрагменте в saveInstanceState метод программа не заходит. На стаке написали, что сначала нужно еще и в активити сохранить сам фрагмент. И дали пример кода, только я вот не пойму. Если у меня Например два фрагмента, которые меняют друг друга, то как мне указать, какой именно в бандл сохранять?
voffka
кто-нить сохранял на диск объекты parcelable? не serializable.
Vadim
Ребята, проблема следующая, обрабатываю ошибки следующим образом, получаю json и из него уже перезаписываю в errorObject но суть в том что пришла ошибка D/OkHttp: {"error_class":"CodeExpired","message":"The code expired","status":"not_acceptable"} но увы, вместо The code expired мне выдает дефолтное значение метода обработчика ошибки на выходе, не понимаю в чем может быть проблема, типо мне как то присылают не так? потому что только получаю ошибку response D/OkHttp: <-- 406 Not Acceptable
Vadim
нужен код
private fun handleErrorResponse(response: Response<T>): ApiError { if (response.errorBody() != null) { try { response.errorBody()?.string()?.let { val errorObject = Gson().fromJson<ApiError>(it, ApiError::class.java) if (errorObject != null && !errorObject.message.isEmpty()) return errorObject } } catch (e: Exception) { e.printStackTrace() } } return ApiError("${AppResources.getString(R.string.errors_request_error)} (${response.code()})") }
Dmytro
Так в чем проблема? может ты отдебажишь и посмотришь что у тебя не выполняется ?
Dmytro
какое из условий валится
Vadim
какое из условий валится
он у меня попадает в .let и потом сразу в return
Dmytro
он у меня попадает в .let и потом сразу в return
значит трай сработал, ошибки в логах есть?
Vadim
какое из условий валится
пишу лог после объявления переменной Log.d("some", "error message: ${errorObject.message}") возвращает пучтоту
Vadim
значит трай сработал, ошибки в логах есть?
это видимо D/OkHttp: {"error_class":"CodeExpired","message":"The code expired","status":"not_acceptable"} и это D/OkHttp: <-- 406 Not Acceptable https://blooming-badlands-48686.herokuapp.com/exchange_code/ (796ms) Connection: keep-alive