Задать вопрос
  • Php 7+ умеет без библиотек открывать excel и гугл таблицы?

    @sl0
    Конечно можно. Надо лишь написать свою.
    Ответ написан
    Комментировать
  • Можно ли с теоретической точки зрения запустить iOS на виртуальной машине?

    @q2digger
    никого не трогаю, починяю примус
    Можно в среде разработки XCode запустить эмулятор iOS или iPadOS , чтобы например отлаживать свой код.
    Ответ написан
    3 комментария
  • Можно ли так обезопасить форму?

    Fragster
    @Fragster
    помогло? отметь решением!
    Поздравляю с изобретением аналога csrf токена https://habr.com/ru/post/318748/
    Но от ботов он не спасет, нужна капча или какой-то ханейпот типа такого: https://gist.github.com/andrewlimaza/958826feac907...
    Ответ написан
    2 комментария
  • Старт проекта на NodeJS+MongoDB или PHP+MySQL?

    @d-sem
    Если не мучаться с нормализацией данных на входе как в реляционных базах данных, то придется мучаться с ней на выходе. Обратная сторона удобства.

    В целом, итоговая производительность будет больше зависеть больше зависит от качества конкретной реализации, нежели от конкретного стека. У каждого есть куча ньюансов, которые могут создать проблем. Из них низкая сферическая производительность PHP + MySQL на старте - далеко не самая большая проблема.

    Лучше не заниматься преждевременной оптимизацией. Сделать прототип на том стеке, что лучше известен. Уточнить требования и уже дальше решить - стоит оптимизировать или нет. А еще лучше сделать два прототипа и решить, что лучше на практическом сравнении. Практическое же сравнение делать на основании тестов из сформированных требований.
    Ответ написан
    5 комментариев
  • Существуют ли публичные алгоритмы семантического поиска вхождений подстроки в строке?

    2ord
    @2ord
    Solr умеет выводить подсветку найденных результатов в тексте. https://lucene.apache.org/solr/guide/6_6/highlight...
    Sphinx Search/Manticore тоже, см. SNIPPET()
    mysql>  CALL SNIPPETS('this is my hello world document text I am snippeting now', 'myindex', 'hello world', 5 as limit_words);
    +------------------------------------------------+
    | snippet                                        |
    +------------------------------------------------+
    |  ...  my <b>hello world</b> document text ...  |
    +------------------------------------------------+
    1 row in set (0.00 sec)
    Ответ написан
    Комментировать
  • Генерация коротких уникальных ключей в mysql как реализовать?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Или генерировать случайное значение в скрипте и вставлять, или через хранимые процедуры

    PS Дополнительно скажу что отказываться от автоинкрементного primary без веских аргументов явно не стоит.

    PPS Генерировать short_key можно например получая id и преобразуя его из десятичной системы счисления в какую-нибудь NNричную.
    Ответ написан
    7 комментариев
  • Генерация коротких уникальных ключей в mysql как реализовать?

    petermzg
    @petermzg
    Самый лучший программист
    Так как у вас цель "нужен для того что бы хитрозадые пользователи не могли перебрать все записи по id меняя id в ссылке."
    Оставьте ID как AUTOINCREMENT INTEGER и добавьте просто еще одно поле с "солью", для примера типа char(3), куда при вставке и сохраняйте случайное строковое значение.
    Когда у вас будет генерироваться URL, то делайте его по шаблону ID + "-" + SALT, что поможет достигнуть нужной цели.
    Ответ написан
    1 комментарий
  • Как организовать надежную инфраструктуру для веб-проекта?

    @vitaly_il1
    DevOps Consulting
    Например, самое главное (БД) перенесу в Amazon AWS RDS
    Основной мощный веб-сервер с SPA и Backend останется в текущем ДЦ в Нидерландах
    Хочу сделать резервный веб-сервер в другом ДЦ
    Оба веб-сервера будут работать с одной базой в AWS RDS (MultiAZ для надежности)

    Нет, все компоненты должны быть у одного провайдера, иначе будут огромные задержки.

    Варианты от простого к сложному (кроме нанять опытного архитектора):
    - выбрать надежного провайдера - самый дешевый и простой вариант
    - AWS (или GCP/Azure) - разбросать компоненты по разным AZ
    - несколько систем в разных регионах AWS, с GeoIP loadbalancing
    - несколько систем у разных провайдеров (разные датацентры), loadbalancing Cloudflare or Incapsula, ...

    В случаях 3 и 4 вы сами должны обеспечивать репликацию данных.
    Ответ написан
  • Как запретить доступ к SSH?

    shabelski89
    @shabelski89
    engineer
    1) перенесите ssh на другой порт
    2) настройте авторизацию по ключу
    3) установите fail2ban
    4) настройте iptables ( новичкам не рекомендуется)
    п.4 позволит оставить открытыми только игровые порты и ssh для доступа, а ssh защитите п.1-3
    Ответ написан
    7 комментариев
  • Как запретить доступ к SSH?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Настройте подключение только по ключу. Все подборщики паролей сразу обломятся
    https://netpoint-dc.com/blog/nastrojka-autentifika...
    Ответ написан
    7 комментариев
  • Что может линукс, чего не может Mac?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    На мой взгляд преимущество macOS в стабильности работы. В большинстве случаев апдейты ничего не ломают и не роняют. В Linux часть апдейтов обычно заканчивается перекапыванием конфигурации, т.к. что-то сломалось.

    Периферия - отдельная сага. Если у macOS все плохо, мало поддерживаемых устройств и т.д., то у Linux это какой-то ад. Если оно и есть, то работает, то нет. Даже банальный Wi-Fi в Linux редко поднимается без бубна.

    Приличного софта для творческой работы - нет. Нет ничего близко похожего на Adobe Premier или Final Cut.

    У Linux очень много хорошего сетевого и системного софта, разного рода серверов и т.д. Хотя на macOS много чего портировано через macports и очень много всего в homebrew.

    Насчет Docker - многие не понимают, что он работает изначально на основе Linux Kernel API. Логично ожидать, что на любой не Linux платформе Docker будет работать иначе и потребует ту или иную имплементацию нижних уровней API, например Linux внутри виртуальной машины или же отдельную реализацию API.

    С чем у macOS плохо - с кастомизацией интерфейса и наличием разного рода промышленного софта, CAD/BP и т.д. Есть очень много программ, которые пишутся исключительно под Windows. Часть из них работает в Wine, но большинство - нет.

    Про железо могу сказать следующее - iMac вне конкуренции. Если ноуты есть сравнимые по цене, тот тут альтернатив просто нет.
    Да, на первый взгляд выглядит жутко дорого. Но если взять даже самый дешевый iMac за $1,799.00 это будет выгоднее, чем просто купить 5K монитор за $949.66 и докупить еще всего барахла. А моноблок с 5K экраном за эти деньги наверно вообще нереалистично купить.
    Ответ написан
    7 комментариев
  • Как перестать говнокодить и принимать неверные архитектурные решения?

    miraage
    @miraage
    Старый прогер
    как писать поддерживаемый код?

    Если уж очень коротко, то соблюдать SOLID/GRASP. Мне понравился твит одного из авторов React Router:
    https://twitter.com/mjackson/status/1171524189850701825

    Most common mistake software developers make: putting stuff in the wrong place. Coupling responsibilities and concepts that should be kept separate.
    For me, this is 95% of software development. Just figuring out *where* things belong.


    Что гуглить, что учить?

    Фундаментальные знания, вроде вышеупомянутых SOLID/GRASP, паттерны (не только классические паттерны, но и вообще, общеизвестные решения определённых задач), базовые структуры данных. Фреймворки/библиотеки всегда будут приходить/уходить, что-то будет забываться. А фундаментальные знания всегда актуальны.

    Может литературу какую почитать посоветуете?

    Скажу за себя. Ни одной из этих известных книжек за свою жизнь не прочитал. Писал много говнокода дома, очень много. Удалял, переписывал. Смотрел код других людей, анализировал, пытался перенять то, что считал правильным.

    Можно ли себя называть миддлом, если твой код говно?

    Не пытайтесь себя оценить. В каждой компании свои понятия миддла. А если кто-то 35 лет на лиспе кодил, а потом прыгнет на Angular - кто он, джун или сеньор?
    И, да, все мы в какой-то степени пишем говнокод. Если кто-то Вам доказывает, что он пишет супер чистый код - не слушайте.

    И ответ на главный вопрос.
    Как перестать говнокодить и принимать неверные архитектурные решения?

    Это невозможно. Все проекты, которые чуток сложнее CRUD-ов, рано или поздно обрастают говнокодом. Никто не пишет идеальный код. Код должен работать и решать проблемы бизнеса.
    Ответ написан
    6 комментариев
  • Стоит ли переписывать полностью метод в данной ситуации?

    @vista1x
    Сделайте общий метод getUsersQuery(), который просто возвращает пользователей без какой либо сортировки. Свой метод getUsers() измените так, что бы он использовал первый метод. Плюс, добавьте метод getUsersSorted(), где будете возвращать данные, отсортированные в нужном виде. Не зная структуры проекта сложно написать какие то примеры кода, но я бы сделал примерно так:

    function getUsersQuery() {
        // ...
    }
    function getUsers() {
        return getUsersQuery()->orderBy('id');
    }
    function getUsersSorted() {
        return getUsersQuery()->orderBy('name');
    }
    Ответ написан
    Комментировать
  • Как рефакторить файлы в пару тысяч строк?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Ответ написан
    Комментировать
  • Имеет ли место программирование без языка программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    "Недавно закончи изучение html и css ."


    "Недавно в интернете наткнулся на пост ,где писалось "лучше начинать программирование не с языка ,а с самого программирования,для более перспективного будущего и лучшего понимания."


    Вы определитесь, вы уже начали или уже закончили.

    Программирование в вашем случае по идее нужно уже продолжать, с языком программирования.
    Но если вам вышеуказанные противоречивые цитаты кажутся нормальными, то да, видимо надо начинать с основ логики.
    Ответ написан
    Комментировать
  • Имеет ли место программирование без языка программирования?

    usdglander
    @usdglander
    Yipee-ki-yay
    Умение мыслить алгоритмически - основополагающее в программировании. Язык - это всего лишь способ описания алгоритмов.
    Ответ написан
    7 комментариев
  • Имеет ли место программирование без языка программирования?

    tundramani
    @tundramani
    кароч, если ты такой умный )) то вот тебе программа по которой я учился на инженерского веб-программиста:

    1) Вузовские книги по истории программирования, краткое знакомство со всеми основными языками (штук 10, обязательно си пролог и лисп), теория БД, структуры данных - первый год обучения

    2) Дипломный проект - сразу надо делать большой проект на 3-5 лет обучения и практики
    (некоторые гении наверное могут быстрее)

    3) Во время учебы категорически не использовать готовые программы и фреймворки, и даже БД
    можно и нужно использовать js-библиотеки - это просто удобное расширение среды исполнения

    ты должен научиться делать простые вещи сам, простую БД сам, простую CMS сам, простой блог сам — только так у тебя вырастет мозг
    Ответ написан
    Комментировать