• Хочу сделать API, с чего начать?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Следует начать с проектирования API. Возмите https://swagger.io/ и набросайте все, что нужно.
    Swagger вам позволяет объединить роутинг, документацию и примеры вызовов в единое целое.
    Кроме этого он позволяет сгенерировать заглушки для разных языков программирования и фреймворков.
    В принципе вы можете найти значительное количество интеграций для разных фреймоворков.

    В целом API лучше делать с помощью фреймворков, поскольку в них уже реализованы тривиальные моменты по безопасности, аутентификации и авторизации. Вы можете использовать микрофреймворки, например тот же Slim. Вы даже можете сгенерировать роутинг для него используя генератор от Swagger.

    В REST есть 6 принципов, прекрасно изложенных в Wiki. В REST нет ничего сложного и особенного. Это просто надстройка над стандартным протоколом HTTP. Именно поэтому нет никаких особенных уроков. Изучите работу HTTP и вы поймете как работает веб в целом и REST в частности.

    По поводу отдельного сервера для API. Есть множество разных подходов. В последнее время все более актуальными становятся Serverless-приложения. Serverless архитектура идеально вписывается в REST. Но думаю для вас это пока рановато и сложновато. Слишком много для начала.

    Логичнее всего держать проект в моно-репозитарии, если он не будет большим. Если вы точно не знаете насколько большим он будет, то можно разбить проект на компоненты и использовать Composer для управления зависимостями (советую полность прочитать эту страницу от корки до корки).

    По поводу best practices есть очень хороший ресурс https://12factor.net/ru/
    Он в целом применяется для всех приложений.

    Запомните: первый блин всегда комом. Прочитайте все ресурсы, которые я привел для вас. В них много ссылок на другие, походите по ним, присмотритесь. Напишите первую версию API так, как вам кажется удобно. Постарайтесь применить практики из статей.
    Вам нужен опыт и вы его не наберетесь, пока не сделаете что-то сами. Вы можете потратить год на чтение, но останетесь на том же месте, с которого начали. А другой человек напишет на коленке API за неделю, а потом перепишет его 20 раз за год и он вам расскажет в 10 раз больше, чем то, что вы изучили за год.
    Дерзайте!
    Ответ написан
    16 комментариев
  • Как решить проблему с терминалом PyCharm?

    @Ooblachko23
    Здравствуйте @villanelle1
    Решил проблему наикорявейшим способом для своей 11 винды благодаря всем вашим советам, чему несказанно рад.

    Не особо важная часть:
    1. Скачал PowerShell 7 по ссылке из терминала PyCharm в виде сжатого файла. Распаковал его на рабочем столе.
    2. Создал папку PowerShell в C:\Program Files\ и распакованную папку с программой переместил в неё. Нашёл там файл, открывающий PowerShell 7 и адрес получился такой C:\Program Files\PowerShell\PowerShell-7.4.4-win-x64\pwsh.exe
    3. В настройках PyCharm > Tools > Terminal > Shell path указал получившийся путь. Закрыл терминал через вкладку Local и перезапустил его. По итогу версия для скачивания оказалась не финальной и пришлось устанавливать PowerShell через Windows Store, чтобы всё сделать красиво.
    66c64403a9c4f250193139.png
    66c64465ae491719383766.png

    Важная часть:
    1. Скачал установочник из Windows Store, запустил программу PowerShell последней версии (7.4.5), ввёл команду $PSHOME , нажал Enter и так узнал адрес, куда установилась программа на жёстком диске. У меня путь выглядел так C:\Program Files\WindowsApps\Microsoft.PowerShell_7.4.5.0_x64__8wekyb3d8bbwe
    Осталось узнать только имя файла, запускающего программу.
    2. Папка WindowsApps не открывалась вообще никак и я предположил, что файл запуска программы должен называться так же как и в предыдущей версии PowerShell 7.4.4 Получился такой путь:
    C:\Program Files\WindowsApps\Microsoft.PowerShell_7.4.5.0_x64__8wekyb3d8bbwe\pwsh.exe
    3. В настройках PyCharm > Tools > Terminal > Shell path указал получившийся путь. Закрыл терминал через вкладку Local и перезапустил его. По итогу всё сработало и сейчас работает исправно.
    66c644d2272e4821575866.png

    Надеюсь такой способ тоже кому-нибудь поможет.
    Ответ написан
    Комментировать
  • Для чего нужен clojure?

    @Che_Bu_Rashka
    После прочтения вот этой статьи Функциональное программирование для всех , я пришел к Clojure. Прочитайте её и вы увидите зачем вам нужен такой язык. Ещё Почему стоит изучить Clojure?
    Ответ написан
    Комментировать
  • Для чего нужен clojure?

    SanchelliosProg
    @SanchelliosProg
    Java, Android, Software Testing
    С Clojure можно делать практически всё, в чём задействована Java, но только можно ещё кое-что.
    Clojure имеет отличный, как бы это назвать, диалект пусть будет, ClojureScript, который интерпретируется в JavaScript. Что это значит? То что при разработке web-приложения, можно не думать ни о чём и пилить на одном языке и backend и frontend. Это замечательно.
    С помощью Clojure можно писать игры, дополнительно используя libgdx.
    Clojure умеет в Android! Что тоже очень хорошо.
    Lisp основа языка говорит о том, что можно спокойно себе заниматься Искусственным интеллектом. Точно знаю, что ML точно можно.
    Самое главное - Clojure это современный Lisp который может использовать все Java библиотеки, а это значит, что он не только мощный, но и умеет многое. Единственный минус - в Раше он не нужен.
    Ответ написан
    2 комментария
  • Чем center отличается от pivot?

    @NIKROTOS
    Начинающий программист.
    посмотри любой 3d редактор пивот это точка относительно которой происходят трансформации и её для удобства можно поместить например в угол, чтоб приставить весь объект, за этот угол, к другой точке. Или использовать как ось для поворота. А центр, это центр. Отличный инструмент для создания карт.
    Ответ написан
    Комментировать
  • Как пофиксить кодировку csv файла?

    daruvayc0
    @daruvayc0
    Открываете Excel на вкладке "Данные" находите кнопку "Получение внешних данных", из выпадающего списка выбираете "Из текста", выбираете свой файл csv, и дальше по инструкции которая будет во всплывающем окне. После всех манипуляций сохраняете как Вам будет удобно.
    Ответ написан
    1 комментарий
  • Как увидеть диаграмму в MySQL WorkBench по готовой БД со всеми связями?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Нужно создать новую модель, в меню выбрать Database -> Reverse Engineer. Дальше там более-менее понятно.

    P.S. Ужасная, глючная неинтуитивная программа... По крайней мере под Линуксом.
    Ответ написан
    Комментировать
  • Какой встраиваемый язык выбрать: Lua или Python?

    icelaba
    @icelaba
    Знаю и умею всё
    lua а именно ее разновидность luajit имеет особенность которая выделяет luajit из всех скриптовых языков, а именно "халявное" взаимодействие с C чз ffi, не надо конвертить Cшные структуры - можно читать напрямую без потерь на конверсию во внутренние типы скриптового языка.
    luajit - очень очень быстрый, у меня на части задач он выдает производительность равную C шному коду

    Сама по себе lua если выкинуть парсер и как следствие использовать прекомпилированный lua код, очень мало увеличит размер вашего приложения - в случае android не больше чем на 50кб (там правда apk это zip)

    Собственно я использую luajit именно по причине ffi
    и невероятной скорости.

    Недостаток lua - меня коробят конструкции if then end do :-) - но только в эстетическом плане, сам по себе язык очень мощный и имеет все что надо - тупели, клозуры и тп :-)
    Ответ написан
    Комментировать
  • В чём здесь различие?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Видимо, установлена и 8 и 18.
    About Java рассказывает о 8й
    Ответ написан
    1 комментарий
  • Важна ли версия стандарта JavaSctipt при изучении?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Это зависит от того что вы на этом js пишите. Браузерные вещи это одно, nodejs это другое. Если вы интересуетесь для "что учить", а других вариантов я не вижу, то ответ - учите последнюю. Там просто добавляются фичи, старое не меняется это все еще старое доброе говно, сорри js
    Ответ написан
    1 комментарий
  • Почему говорят что jquery не нужен?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Скрипач не нужен, родной (с)
    Аргументы против jq:
    - современные браузеры достаточно хорошо поддерживают единый синтаксис современного екмаскрипт(native js)(на самом деле нет).
    - сторонняя библиотека, работает медленнее чем натив и в основном состоит из с-сахара (тоже не совсем правда)
    - тащить еще один ресурс весом от 64 кб до 200 кб, еще и со сторонних ресурсов замедляет загрузку( правда, но бред)
    Аргументы за:
    - Современные браузеры как и всегда один другого "ровнее", всегда есть косяки и "нюансы", на которые еще и попадаешь обычно в самый неподходящий момент, в жк обычно все работает одинаково везде, ну или лучше чем в нативе.
    - В жк реализована куча плюшек в 1 функцию которые в нативе занимают "многабукав", не каждый начинающий напишет их правильно, да и профи не все напишут оптимально, уверен что в большинстве случаев написанный нативом функционал будет хуже аналога из жк.
    - размер мин пакета жк 64 кб, и все они лежат на быстрых цдн серверах. Думаю это последнее что может повлиять на скорость загрузки страницы.
    - есть ОГРОМНОЕ количество скриптов написанных с учетом жк, не использовать их глупо, писать свой велосипед - вообще только в целях обучения(не берем крайние случаи когда плагин писал упоротый пингвин).
    - Синтаксис и краткость записи - вообще вне конкуренции.
    - Старые браузеры никто не отменял, часто заказчик требует чтобы работало в ие8, натив не канает или доставляет море анального удовольствия.
    Вывод: Если ты крут в жс, еще и работаешь в ангуларе/ещечетамдляфронта и тебе нужно сделать 2 действия в очень современных браузерах - jquery не нужен, и ты это сам знаешь. Если слова ангулар, вуе и проч для тебя не больше чем шум листвы за окном, а навесить плагинов и эффектов нужно - jquery наше все.

    UPD: для всех кто там отписался а ля "в связи (...), исчезновением проблемы совместимости со старыми IE (что и было основным назначением jQuery)." - свежачок
    Ответ написан
    4 комментария
  • Почему Java выводит список данных в таком формате?

    al_gon
    @al_gon
    Предположительно у Вас метод toString в Organization не переопределённ.
    Если Вы сделаете System.out.println(new Organization("ФАР", "4444-55555-1", "FAR@GMAIL.COM", 18)) , то тоже будет не очень.
    Ответ написан
    2 комментария
  • Как добавить картинку на сайт laravel?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    В ларавель сайт – это папка public. Всё остальное – движок.
    Соответственно, все ассеты, которые должны быть доступны на сайте, должны располагаться в папке public.
    Ну и при правильной настройке сервера папка public это адрес / на вашем сайте
    Ответ написан
    2 комментария
  • Git was not found in your PATH, skipping source download как это устранить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    1. Установить гит
    2. Добавить путь к нему в переменную окружения PATH (...\Git\cmd)
    3. Перезагрузить систему

    UPD: поставил гит на чистой системе - установщик сам добавил путь в переменную окружения. Так что достаточно просто поставить и все будет работать из коробки.
    Ответ написан