• Программирования учат или применяют?

    Newto
    @Newto
    Добрый день. Я перечитал все ответы выше, а так же комментарии к ним. Решил прокомментировать, с точки зрения своего опыта(я занимаюсь разработкой уже более 15-ти лет). Для удобства чтения я буду писать по пунктам.

    1) Зубрёжка. Каждого из нас, кто ходил в школу, заставляли зубрить таблицу умножения. И, в конце-концов, это помогало в последующем обучении математики, не правда ли? В программировании есть такие же вещи, которые называются "стандарты". Вот эти стандарты и нужно, для начала, зазубрить. А позже и вникнуть, зачем они придуманы.

    2) Методика "объяснение и практика". Вы пишете, что "при таком способе мне приходится одно и тоже глазами несколько раз пробегать чтобы запомнить". Это, с моей точки зрения, в корне не верно. Ибо то, что вам объясняют, не нужно "пробегать глазами" несколько раз, что бы запомнить. Это вообще не нужно запоминать если это не те самые "стандарты"; это нужно осмыслить и понять. После того, как к вам придёт понимание как это работает, зачем и почему это надо -- вы сможете это использовать, осмысленно, в собственном коде.

    3) Платные курсы. Курсы ныне очень разные. Кто-то просто, простите, гребёт бабло на этом всём. А кто-то преподаёт с душой, хорошо и понятно рассказывая. Поэтому платный курс -- это хорошо, но только тогда, простите за тавтологию, когда это хороший курс. Читайте отзывы о курсе, советуйтесь с теми кто его уже прошёл(в идеале) и тогда уже решайте, тот ли этот курс, что даст вам необходимые знания.

    4) ВУЗ. Более 10-ти лет назад, у меня в подчинении, в вебстудии, работал PHP джун. Он доучивался в МГТУ имени Баумана. И он не знал ничего. Совсем. Мне приходилось объяснять ему простейшие вещи, типа что значит иструкция "$a += $b;". Сам же я учился в ВУЗе малоизвестном, на факультете "прикладная информатика в экономике" и наш преподаватель информатики, на первом курсе, на вопрос что значит в коде программы на языке C++ инструкция "с++" ответил, что это "так язык называется". Однако, вскоре ко мне начали ходить сокурсники, с просьбами "а напиши программку". И происходило это потому что я сам загорелся программированием, купил книжки, установил всё что нужно было установить на компьютер и начал "творить волшебство", как это мне тогда виделось, с горящими глазами. Короче говоря не нас учат ВУЗы, а мы учимся в ВУЗах или учимся без них. Тут уж как пойдёт.

    5) Ну и последний, самый важный, с моей точки зрения, пункт. Это Интерес. Если вам интересно программирование, вам нравится разбираться, что-то делать самостоятельно, а не только тогда когда кто-то поставил задачу, то у вас все получится. И как именно это всё учить у вас вопроса, в конце концов, не возникнет. Разбирайтесь, ковыряйте, вникайте и всё будет. Единственное что -- очень желательно, что бы перед вашими глазами были хорошие примеры. Потому что я, в свое время, тоже разбирался, учился и вникал, "гладили по голове", как писали выше в комментариях к одному из ответов, меня уже мои наниматели, потому что я все делал быстро и без ошибок, т.е. работало все так, как было нужно клиентам веб-студии, собеседование в которую я тогда прошел без каких-то проблем. Но вот мой код тогда был, откровенно говоря, тем, что сейчас называется "говнокодом". Потому что некому было мне показать как писать есть хорошо, а как есть плохо.

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

    @zkrvndm
    Софт для автоматизации
    Файл docx это обычный zip архив.

    Если подготовите шаблон не должно составить проблем его потом редактировать программно: распаковал архив -> отредактировал XML -> запаковал обратно.

    Я сам как-то давно вордовские макросы так редактировал. Схема вполне работала.
    Ответ написан
    Комментировать
  • Как использовать Vite вместе с sass внутри docker?

    gzhegow
    @gzhegow
    aka "ОбнимиБизнесмена"
    Для того чтобы адекватно работать с webpack, стоит попробовать установить symfony/encore, и написать класс из 3-4 методов, чтобы по имени файла находил его же в папке /build/ с помощью генерируемого при сборке manifest.json.

    После этого вы привычным образом пишете "npm install {пакет}" и подключаете его, сборка encore соберет из него папку /build, у которой будут файлы так называемые entrypoints, по факту файлы page-home.js, page-product.js - их вы сами так назовете. В каждом из этих файлов будут работать ваши import/require и даже динамический импорт. Дальше в файлах шаблонов в блоке вы вызовите что-то вроде $encore->styles('page-index') и $encore->scripts('page-index') - их правда придется на пхп написать, но там строчек 20 кода.

    И всё, на любой странице яваскрипт любой сложности просто берет и работает, как раньше, когда вы писали <script src>

    Прикольно играться с Витей в конструктор, или плеваться от Микса, который "пытался но не смог", а можно взять энкор и забыть про этот ад.

    Второй вопрос - что делать с докером.

    Да, нужно Dockerfile написать где подменить CMD на ваш скрипт .sh который выполняет ваши команды, которые вы на локале пишете.

    К сожалению, если вы хотите запускать это всё вместе с веб-сервером, то вам придется писать свой foreground скрипт, который не позволит контейнеру после запуска "отработать и закончится", а повиснет и будет ждать.

    Были б вы в телеге, я б показал как.
    Ответ написан
    1 комментарий
  • Как лучше добавить заголовки Last-Modified и Expires в Laravel?

    iMedved2009
    @iMedved2009
    Не люблю людей
    Добавление этих заголовков через ларавел в случае того что Last-Last-Modified берется из атрибутов модели updated_at единственный выход.
    В случае со статитикой лезть туда ларкой - такое себе, зачем nginx все сделает.

    А так - регистрируете middleware, в контроллерах через какой нибудь singleton ServiceProvider передаете нужную дату. Если у вас route model binding - то можно наверное как то автоматизировать процесс. Но это надо копать
    Можно тупо передавать примитивы через ServiceContainer https://laravel.com/docs/9.x/container#binding-pri...
    Ответ написан
    Комментировать
  • Практика / Тесты для Docker, где можно найти?

    krax1337
    @krax1337
    личинка Девопса
    Привет, постараюсь ответить на твой вопрос. Docker не такой уж и сложный, и особо набивать руку, там незачем. Тут скорее важны знания того, как собираются определенные проекты, к примеру как собрать: .NET core, java, npm.

    набить руку в докере
    Вариант поставить докер и развернуть nginx уже сделал, но хочется что-то более приближенного к реалиям

    Попробуй взять, какой-нибудь готовый проект на Github и докерезивировать (создать для него Docker-file) его. Или посмотри на уже готовые проекты, разберись в том, как там устроен Docker-file. Чтобы найти такие проекты, и посмотреть примеры их докеризации можно погуглить что-то типа: how to dockerize spring boot application, how to dockerize django application, how to dockerize react app. Там чаще всего уже есть пример проекта.

    Если еще не знаком c multi-stage builds, советую ознакомиться. Когда у тебя нет готового CI с артефактами, сборку можешь делать так.
    https://docs.docker.com/develop/develop-images/mul...

    На собеседованиях, часто спрашивают стандартные вопросы о Docker, к примеру чем отличается COPY от ADD, и как правильно расставить слои в Docker файле, чтобы работал кэш.

    Такие вопросы легко гугляться по docker interview questions и docker вопросы на собеседовании.

    Лучше способ овладеть Docker это практика!
    Ответ написан
    1 комментарий
  • Есть ли возможность на ios и android отправлять пуши оффлайн?

    GavriKos
    @GavriKos
    Конечно можно. Из самого приложения можно. Это просто не пуши называется, а локальные нотификации.
    В андроиде - AlarmManager используется, например.

    Нюанс - вы их должны планировать при выключении приложения.
    Ответ написан
    Комментировать
  • Как использовать Nuxt и Laravel вместе?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Для этого нужен любой веб-сервер, умеющий по-разному обрабатывать обращения к разным урлам. Например, нгинкс.
    Ответ написан
    2 комментария
  • Зачем так сделано?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Не использовать rgba в css, заменяя цвет картинкой – это только если нужно поддерживать IE8 и ниже. Тут или реально нужна такая поддержка, или верстка очень старая, или верстальщик отстал в развитии.

    Текст картинкой – те же причины, плюс еще одна. Экономия на подключении шрифта ради пары слов. Но тут опять же можно пересобрать шрифт, ставив в нем буквально несколько нужных символов. Вывод – картинкой было проще и быстрее, либо некомпетентность верстальщика.

    Я бы даже ошибками это не назвал. Либо очень древнее легаси, либо некомпетентность исполнителя.
    Ответ написан
    2 комментария
  • Как получают API?

    nastya97core
    @nastya97core
    Начинающий программист
    d9a5c7a5629a4580bdf07dbe4882ca2a
    Я приведу самый простой пример с получением данных. По сути, у API возможности неограниченны. Всё что хочешь - то и можно. Просто чаще всего API используют, чтобы получить какие-то данные.

    Принцип такой:
    Есть сайт с погодой. Чтобы получить температуру в условном Питере, которую они замерили - тебе нужно зайти к ним на сайт, вбить в параметрах поиска СПБ и глазами посмотреть.
    И вот, чтобы обеспечить потребность "знать погоду" - тебе достаточно просто заходить к ним на сайт. Но если ты хочешь, чтобы на твоём сайте/приложении/в игре - была погода, то тут возникнут проблемы

    - По сути ты мог бы просто каждые 10 минут заходить на сайт погоды, брать от туда данные и загружать себе на сайт. Согласись - неудобно.
    - Либо ты мог бы настроить бота, который бы заходил на сайт, симулируя пользователя и доставал бы из нужного блока температуру, а потом вставлял результаты тебе на сайт. По сути, так и делают, когда нет API, но это не совсем стабильный канал: а) тебя могут забанить по ip за странные запросы; б) если изменится вёрстка сайта (порядок блоков), то разумеется достать температуру ты уже не сможешь и придётся переписывать бота
    - И тут на помощь приходит API. Принцип таков: ты можешь договориться с поставщиком температуры о том, что ты будешь брать у них данные. Это может быть как платная услуга, так и бесплатная (обычно зависит от кол-ва запросов). В итоге тебе дают ссылку, в которой указаны уже все параметры, которые тебе нужны и ты просто настраиваешь своего бота на то, чтобы получить эти данные по ссылке и вставить на свой сайт.

    Чтобы посмотреть температуру в Санкт-Петербурге тебе нужно открыть ссылку:
    http://api.openweathermap.org/data/2.5/weather?q=Санкт-Петербург&units=metric
    нихрена работать не будет, потому что тут не указан ключ API.

    А зачем нужен ключ API?
    Как я уже сказала: API бывают платные и бесплатные и их платность зависит обычно от кол-ва запросов, которые ты делаешь. Но как поставщик узнает, кто делает запрос: я, ты или тот парень? Чтобы регулировать это - они присваивают тебе твой личный номер (айди), по которому они будут отслеживать, сколько запросов ты уже сделал. Также в твоём айди закладываются твои права. Может быть посмотреть погоду в Питере - бесплатно, но вот если ты хочешь узнать точную температуру в условном Кудрово, то будь добр - доплати и тогда они предоставят по твоему айди доступ к этой температуре. Кратко: API-ключ - пароль от твоего аккаунта.

    И вот тебе верная ссылка:
    http://api.openweathermap.org/data/2.5/weather?q=Санкт-Петербург&units=metric&appid=0f47096f1eb155f8b277692876fb963e
    Ответ написан
    Комментировать
  • Как через htaccess реализовать разделение запросов back/front по соответствующим каталогам?

    @dodo512
    RewriteEngine on
    
    RewriteRule ^api /backend/index.php [L]
    
    RewriteCond %{REQUEST_URI} !^/(backend|build)/
    RewriteRule .* /build/$0 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* /build/index.php [L]
    Ответ написан
    Комментировать
  • Файл app.js весит 735кб - норма ли?

    Ni55aN
    @Ni55aN
    Смотрите через https://www.npmjs.com/package/webpack-bundle-analyzer

    Usage (as a CLI utility)

    You can analyze an existing bundle if you have a webpack stats JSON file.

    You can generate it using BundleAnalyzerPlugin with generateStatsFile option set to true or with this simple command:

    webpack --profile --json > stats.json
    If you're on Windows and using PowerShell, you can generate the stats file with this command to avoid BOM issues:

    webpack --profile --json | Out-file 'stats.json' -Encoding OEM

    Then you can run the CLI tool.

    webpack-bundle-analyzer bundle/output/path/stats.json
    Ответ написан
    2 комментария
  • Почему большинство компаний требуют Linux при устройстве?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Какие плюсы имеет линукс в плане веб разработки(да и просто разработки) для разработчика Python?

    Большинство бэкенда на питоне в мире работает под линуксом, поэтому в плане разработки - наверное особо и нет, все равно ж разработка идет в IDE. А в плане запуска и отладки - конечно лучше запускать в окружению близком к продакшен. Включая архитектуру, права доступа и др.

    Я так понимаю большой плюс это увеличенная скорость потока обработки данных?

    В плане разработки - вряд ли. В плане выполнения - да.

    Стоит ли прямо сейчас ставить линкус на VM или второй осью, что бы потом расти как разработчик?

    Стоит поставить на виртуалке. Разрабатывать так, как вам удобнее, а деплоить и запускать под линукс.

    Навыки работы с линуксом - продвинутого пользователя.
    Уметь работать в командной строке подключившись по ssh, потому что GUI на серверные линуксы обычно не ставят.
    Ответ написан
    Комментировать
  • Объясните что за такой синтаксис метода .map со стрелочной функцией и объектов в виде её аргумента?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Этот код аналогичен вот такому:
    data.allFile.edges.map(function (edge, index) {
        var node = edge.node;
    
        return (
            <tr key={index}>
                <td>{node.relativePath}</td>
                <td>{node.prettySize}</td>
                <td>{node.extension}</td>
                <td>{node.birthTime}</td>
            </tr>
        )
    })


    К map этот синтаксис отношения не имеет, это "новинки" ES6 - object destructuring и arrow function.
    Ответ написан
    2 комментария
  • Какую галерею изображений можно использовать на WordPress, чтобы был доступ к нужным изображениям без верстки?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Я бы сильно не парился и использовал бы ACF (кастомные поля). В частости такую штуку, как:
    повторитель (repeater) - https://www.advancedcustomfields.com/resources/rep...
    , а еще лучше acf gallery - https://www.advancedcustomfields.com/resources/gallery/
    Используя любой из указанных типов полей, вы сможете полностью контролировать весь процесс (получение изображений и их интеграция в верстку)
    Ответ написан
    3 комментария
  • Какую галерею изображений можно использовать на WordPress, чтобы был доступ к нужным изображениям без верстки?

    AntonLitvinenko
    @AntonLitvinenko
    HTML coder
    Вижу навскидку 2 варианта.
    1. Регистрация типа записей для галереи и выводить оттуда картинки в своей вёрстке.
    2. Кастомные поля с изображениями, все так же в своей вёрстке

    А ещё я как-то использовал функцию, которая превращает стандартную галерею в тот слайдер который я подключаю со своей вёрсткой
    Ответ написан
    1 комментарий
  • Как использовать автозагрузку фреймворка webasyst?

    Чтобы использовать классы приложения с идентификатором shop, надо сначала инициализировать его вызовом wa('shop'):
    wa('shop');
    $shop_category_model = new shopCategoryModel();
    Ответ написан
    2 комментария
  • На чем лучше писать конструктор статичных сайтов?

    @qwermus
    Я бы написал на чём-угодно набор модулей и просто подключал и отключал их для каждого дешёвого сайта. В моём случае это был бы ларавел.
    Ответ написан
    Комментировать
  • На чем лучше писать конструктор статичных сайтов?

    Robur
    @Robur
    Знаю больше чем это необходимо
    на чем можно: JS, C++, C#, Java, вроде еще жив Delphi, так же то к чему есть байндинги QT, это вроде как питон, раст, может еще что-то. Уверен что есть еще пачка языков про существование которых мне лень вспоминать.
    Да в целом хоть на чем что может выдать из себя exe файл.
    это если вам обязательно GUI. А если нет, а главное - генерить файлы, то туда же добавится еще как минимум php.

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

    @anton99zel
    29а класс средней школы №7
    Странно это всё! ОЧЕНЬ!
    Размещаться надо там, где есть твои потенциальные клиенты или инвесторы!
    Писать о себе на Хабре? Так это вроде скорее для технических специалистов ресурс, откуда там инвесторы сидят или клиенты?
    Вероятно, я бы думал в этом направлении, нежели искал ресурсы вышеназванные.
    Про Пикабу вообще убили - диванные аналитики ждут вас с автоматом, заряженным минусатором)
    Ответ написан
    Комментировать