• Кодировка базы данных для русскоязычного сайта Laravel?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Господи, ну нельзя же настолько буквально воспринимать вопросы.
    Ну неужели из контекста непонятно, что автор спрашивает про кодировку, а не про набор правил сравнения?

    Автор, кодировка, которая тебе нужна, называется utf8mb4. Вот её и ставь.
    А набор правил сравнения подставится автоматически, и в целом без разницы, какой - utf8mb4_general_ci или utf8mb4_unicode_ci
    Ответ написан
    Комментировать
  • Как работает as? В чем отличие от преобразования типов?

    zagayevskiy
    @zagayevskiy Куратор тега Kotlin
    Android developer at Yandex
    Нет, ты неправильно понял. as это про отношение родитель-потомок, которым упомянутые тобой Int, Long и Char не связаны. Поэтому ты получаешь ошибки. Что это значит: у тебя есть значение, имеющее тип "родитель"и ты хочешь привести его к типу "потомок".
    Например:
    fun f(n: Number): Int{
       return n as Int
    }
    
    f(10) // 10
    f(10L) // ClassCastException

    По второму примеру ты можешь понять, что делать приведение типов, если ты точно не знаешь, какой тип имеет инстанс, чревато ошибками в рантайме.
    Поэтому есть форма as?, которая в случае неудачи возвращает null. А также есть оператор is, который проверяет, является ли объект инстансом определенного класса:
    val x = 10
    x is Int == true
    x is Number == true
    x is Any == true
    x is Long == false
    x as Int // redundent
    val y: Long? = x as? Long //== null

    Кроме того, в котлине есть такая прекрасная вещь, как смарткасты(умное приведение типов). Что это значит. Если компилятор видит, что ты проверил тип значения и это значение не может измениться, то он выводит соответвующий тип сам, и явный каст(as) не нужен. Это работает для условных выражений, if, when, elvis-operator, также если ты ранее делал каст.
    val x: Any = ...
    if (x is String) x.substring(0, 10)
    if (x is Int) x + 10
    
    x as Long // Long или ClassCastException
    x + 10L // до этой точки выполнение дойдёт только в случае успешного каста.

    И конечно это всё прекрасно работает с пользовательскими типами, божественно вместе с sealed классами:
    sealed class B
    class D1(val x: Int): B()
    class D2(val y: String): B()
    object D3: B()
    
    fun f(b: B){
      when (b){
        is D1 -> b.x 
        is D2 -> b.y
        is D3 -> D3
      }
    }

    Это удобно для возвращения разных значений, обработки ошибок и тд.

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

    Упомянутый тобой toInt это не преобразование типа, а обычная функция, которая возвращает новый тип по неким правилам.
    Ответ написан
    Комментировать
  • Почему рекомендуется пользоваться неизменяемыми списками?

    zagayevskiy
    @zagayevskiy Куратор тега Kotlin
    Android developer at Yandex
    Речь не только о списках. Последнее время есть тенденция на всё иммутабельное, так как проще пользоваться, меньше ошибок. Это так же связано с прорастанием везде Rx(Reactive eXtensions), это стримы данных, и эти данные должны быть иммутабельными для адекватной работы с ними.
    Если говорить про котлин, то там ребята в стандартной библиотеке сделали прекрасные параллельные иерархии изменяемых и неизменяемых коллекций. Везде, где это возможно, в том числе в апи, лучше использовать неизменяемые коллекций. Так проще читать код и разбираться в том, как он работает. Легче избежать ошибок, если ты видишь, что какой-то класс отдает List, значит он ожидает, что изменять его нельзя. А если отдает MutableList - значит, ожидает, что ты можешь его изменять.
    Ответ написан
    Комментировать
  • Как сделать запрос на сервер используя requests?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    реально

    можешь освоить Postman, загугли Postman curl, Postman requests
    а можешь нанять фрилансера
    Ответ написан
    2 комментария
  • Как сделать запрос на сервер используя requests?

    @mletov
    Вот почему я, человек в глаза не видавший питона, могу нагуглить ?https://www.datacamp.com/community/tutorials/makin...
    Ответ написан
    1 комментарий
  • Как сделать запрос на сервер используя requests?

    igor_89squad
    @igor_89squad
    Python
    Как как, http запрос.
    Ответ написан
    Комментировать
  • В чем моя ошибка в коде банального Sign In android приложения?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Там же написано - Callback. Обратный вызов. Асинхронная операция. Ты синхронно пытаешься его достать из префов. А в сеть ходишь асинхронно на другом потоке. Чтобы не блокировать ui.
    Ответ написан
    2 комментария
  • Есть ли какой-то смысл делать сайт на symfony вмето laravel, с пиковой посещаемостью 10 000?

    glaphire
    @glaphire
    PHP developer
    Нет. Фреймворк тут играет последнюю роль. 10000 человек в день это немного, меньше одного запроса в секунду в среднем, надо смотреть на нагрузку в пике. В любом случае надо анализировать слабые места - запросы к базе, количество веб серверов для обработки запросов, возможность кеширования и асинхронной обработки...
    UPD. У Вас в вопросе написано и пиковая нагрузка 10000, и 10000 за день, что в итоге?))
    Все равно результат нужно сводить к предварительному профилированию и только потом к тюнингу серверов или рефакторингу
    Ответ написан
    5 комментариев
  • Как понять что ты знаешь javascript и готов приступить к изучению фреймворков?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    Как я понял, что готов к фреймворку:
    Я работал и поддерживал один GUI. Всё было написано на JS+JQ. А потом я увидел AngularJS и меня охватил восторг от того, насколько проще будет работать над моим GUI если переписать кодовую базу на AngularJS.

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

    New_Horizons
    @New_Horizons
    Бред:
    Я правильно понимаю, что Вы пытаетесь показать номер заявки, которая ещё не была создана с помощью LAST_INSERT_ID или типа того?
    Если так то это странно конечно. Банально, если два пользователя откроют форму, у них будет одинаковый номер ещё не созданной заявки.
    Можно при открытии формы создавать "пустую" заявку, выводить её id. А уже при отправке формы заполнять эту заявку. Периодически чистить "пустые" заявки, старше определённого времени.
    Но это похоже на бред, не понимаю зачем такое нужно)
    Ответ написан
    1 комментарий
  • ВЕБ студия с сотрудниками фрилансерами?

    catdesign
    @catdesign
    Веб-разработчик
    1. Фрилансер - это черная дыра. Нет никаких гарантий, что вы с первого раза найдете хорошего специалиста. Вы потратите массу времени походив по рукам как портовая путана, потеряете массу времени и сил. В итоге скорее всего специалиста вы найдете, но какой ценой?

    2. Нет слово бесплатно. Бесплатно будут работать только молодые специалисты, которых вы воспитаете. И то не долго, постепенно их интерес и отеческие симпатии пропадают, люди имеют свойство развиваться.

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

    Вывод: Строить свою веб-студию можно только из своих коллег по цеху с которыми вы уже работали. Для этого желательно самому побыть фрилансером или же поработать в студии. Однако помимо кадровой работы у вас должна быть тонна знаний из разряда всего понемногу. Иначе вы останетесь без денег с лапшой на ушах
    Ответ написан
    1 комментарий
  • Как запретить удаление последнего пользователя?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    LOCK TABLE имя_таблицы WRITE;
    Ответ написан
    Комментировать
  • Опасно ли давать удаленный доступ к ноутбуку?

    Arris
    @Arris
    Сапиенсы учатся, играя.
    А почему сразу не послал свой ноут этому китайцу? Что за полумеры?!
    Ответ написан
    Комментировать
  • Опасно ли давать удаленный доступ к ноутбуку?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Внимание! Изменился адрес почты!
    Такие приколюхи обычно кончаются вечным баном на апворке :)
    Ответ написан
    Комментировать
  • Опасно ли давать удаленный доступ к ноутбуку?

    @tukreb
    Разумеется опасно.
    Вы бы ещё спросили, опасно ли давать ключи от дома незнакомцу на улице.
    Ответ написан
    1 комментарий
  • Как изменить чужую картинку с HTTP на HTTPS?

    @zkrvndm
    Софт для автоматизации
    Просто проксируйте картинки через свой сервак и не парьтесь.
    Ответ написан
    Комментировать
  • Как использовать валидацию на элемент массива?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ответ написан
    Комментировать
  • Существует ли в C# | - или между типами?

    Перегрузка методов вам не подходит?
    public static void Main(string[]  args)
            {
                //Your code goes here
                W(0);//передаём int
                 W("string");//передаём string
            }
    void W(string t){
    Console.WriteLine(t);
    }
    void W(int t){
    Console.WriteLine(t.ToString());
    }
    Ответ написан
    Комментировать
  • Как происходит компиляция приложения на Kotlin под IOS?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Как человек, проработавший больше года на данный момент с kmpp, могу сказать, что ты не потянешь. Технология, в принципе, рабочая, но очень сырая.
    Твои вопросы поставлены некорректно. Сама компиляция не так уж сложна. Сложен процесс разработки, который позволит её осуществить. Если ты просто напишешь приложение под Андроид, оно у тебя никогда не скомпилируется под айос. Потому что библиотеки и фреймворк другие. Чтобы сделать мультиплатформенное приложение, нужно делать его с самого начала таким. А чтобы писать на котлине под айос, тебе придется изучить фреймворки айосные. Материалов на котлине про это нет, так что придется изучать на свифте и самому адаптировать под котлин. Это сложно, там дикая куча граблей. Использовать тот же SwiftUI из котлина нельзя, можно только то, что имеет Objective-C api.
    Кроме того, в нативе очень большие проблемы с моделью памяти. Написать мультитредовый код для двух платформ очень сложно. А мультитрединг нужен хотя бы для походов в сеть и бд. Если кто-то скажет тебе "корутины" - смейся над ним, корутины в нативе однопоточные. Елизаров и ко не смогли с текущей моделью памяти реализовать многопоточные нативные корутины. Сказали, что ушли думать, будут переделывать модель памяти.

    Вывод: изучай себе спокойно андроид, доводи до ума приложение. Это сложно, и займёт у тебя достаточно времени. Захочешь айос - изучишь Свифт или найдёшь единомышленника:)
    Ответ написан