• Почему нельзя/можно писать бизнес-логику в sql?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно. Весь 20-й век почти так делали. База была главной. Эдакая себе царица. Ее любили. Холили.
    Приложения были двухзвенки. Оконная апликуха коннектилась к базе и все расчеты
    проводились в базе. Апликуха только показывала результаты в гридах и вводила формочки.
    Джобы тоже запускались в базе как процедуры на PL/SQL по скедулеру. Для пуска их клиент
    был тоже не нужен. Плановые задачи БД запускала самостоятельно. Это и было видение
    бизнес логики из 20-го века.

    В 21-м веке с развитием веба появился слой middle. И разработчики вынесли в него максимальную
    часть логики. Это произошло естественным путем. А базе досталась участь быть просто хранилищем
    таблиц. Потому что держать 2 копии логики или поддерживать было уже неудобно. В команде
    должен быть тогда разработчик и Java и PL/SQL одновременно. В современной парадигме
    разработки с ORM база стала просто чем-то вторичным. И на уровне ORM абстракций
    даже заменяемым на другие типы баз.

    Но не все так плохо.

    Фактически, логика современного приложения размазана по 3м слоям. Даже в браузере
    есть какая-то минимальная логика, например при аутентификации или при проверке
    валидности емейла. И какая-то логика агрегации (sum/group by) полюбому есть в базе.
    Потому что агрегировать в приложении все - глупо. Это лишний трафик.

    И нет такого архитектора который говорит "нельзя". Просто есть best-practices современной разработки,
    исходя из развитя железа, сетей и вообще рынка всего остального. Кто знает может в мобилах вернуться
    к двузвенкам. Смотря под каким углом смотреть на современные мобильные приложения? Who knows.
    Ответ написан
    2 комментария
  • Как хранить сайт на гитхабе?

    Get-Web
    @Get-Web
    Front-End Developer
    Видео от Вадима Макеева, одного из участников проекта Дока: https://www.youtube.com/watch?v=hevU4NdIsoU
    Ответ написан
    Комментировать
  • Как следует подходить к именованию API в микросервисной архитектуре?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Надо описать в документации все методы и endpoins. Лучше в открытом формате типа Swagger/OpenAPI. И показать их заинтересованным лицам. Тем кто будет этот API использовать. Вот если у них не будет вопросов - значит все понятно и хорошо. Если они будут говорить WTF - то надо все эти вотафаки аккуратно записать и исправить.
    Ответ написан
    Комментировать
  • Как и на чем реализовать сервер для стриминга видео?

    @KoreanGuy
    лол. Написать video streaming платформу с нуля на вебсокетах. Без обид, но одно это предложение уже говорит о том, что вы не сможете этого сделать. Стриминг не делается на tcp никогда. Вообще мало кто сможет такое сделать, а уж в одного так и подавно. Есть простое правило: если стриминг видео является не основой вашего бизнеса (как, например, у твича, юдеми, и тп), а просто каким-то доп функционалом, ни в коем случае не пишите свой велосипед. Берите vimeo и не усложняйте себе жизнь в 1000 раз.
    Ответ написан
    3 комментария
  • С чего начать изучение C Sharp чайнику?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    Комментировать
  • Когда я подключаюсь к компьютеру по RDP, видны ли мои действия на дисплее того компьютера?

    d4rkr00t
    @d4rkr00t
    Нет пользователя выкидывает на экран ввода логина и пароля и он только его и видит )
    Ответ написан
    Комментировать
  • Как стать топовым WEB разработчиком?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    стать топовым WEB разработчиком на фрилансе/удаленке?

    Сразу возникает вопрос, где та оценка качества по которой вы хотите стать топ разработчиком. Вы берете одну из самых низкопороговых ниш, и пытаетесь стать "царем горы".
    Знаю HTML, CSS, Bootstrap 3,4, верстал на них, сейчас освоил FlexBox, знаю как адаптивно верстать.

    С таким даже на работу не берут, без знания хотя бы js\php - всё сложно, будете перебиваться мелкими заказами и демпинговать.
    Желание делать сайты под ключ, дизайны сайтов, приложений и разработка.

    Готовьтесь к огромной конкуреции среди таких же "топовых разработчиков"

    Как думаете все вместе реально круто освоить и стать хорошим разработчиком сайтов от дизайна до верстки и запуска сайта, так скажем?

    Вы опоздали лет на 10, когда люди с Вашими навыками делали достаточно неплохие деньги.

    Сейчас неплохие деньги будет делать тот, кто 10 лет нарабатывал своё портфолио, обзавелся клиентами, и чем ваши навыки в виде "знаю чуток, верстал на них, сейчас освоил flexbox" - рынку Вы с такими темпами пригодитесь лет через 5, когда освоите пару фреймворков, либо 4-5 cms + php.
    Ответ написан
    47 комментариев
  • Как правильно сделать адаптивную шапку на сайте с точки зрения SEO?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Здравствуйте.
    Конечно, идеальный вариант - обойтись одной разметкой и для десктопа, и для мобильных устройств. Но в ряде случаев это невозможно.

    Тут встаёт выбор, чем нам пожертвовать:
    • можно принести на алтарь скорость разработки, сложность дальнейшей поддержки и UX, с помощью JS отслеживая размер экрана и на лету перестраивая шапку из одной разметки в другую;
      • Поисковики довольны - есть один контент;
      • Пользователи не очень довольны - они эти перестроения могут заметить, либо дольше ждут загрузки;
      • Разработчики очень недовольны (особенно когда год спустя клиент приходит и говорит "а давайте сюда вот добавим вот такой блок" и надо вспомнить логику всех этих хитрых переставлений).

    • можно пожертвовать потенциальным удобством поисковиков и сделать полный дубль блока для мобильных устройств.
      • Поисковики, вероятно, смотрят с недоверием;
      • Пользователи довольны - никаких перестроений на лету они не видят;
      • Разработчики довольны - получается структура, которую легко можно понять и поддерживать.


    Какой эффект это оказывает на СЕО? Какой-то, вероятно, оказывает, но практически нулевой.
    На сайтах часто отображают логотип дважды - в шапке и в подвале. Также меню дублируют. И телефоны. И ещё бывает повторяющийся контент. И ничего, нормально продвигается.

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

    Делайте как вам и пользователям удобнее, у поисковиков есть проблемы гораздо более серьёзные, чем дважды повторённый логотип в соседних блоках.
    Ответ написан
    3 комментария
  • Как реализовать браузер в desktop приложении?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    - ранее указанный CefSharp вероятно самый перспективный, учитывая тенденции на рынке браузеров
    - есть GeckoFx. Семплы под формс есть. Мне показалось порог вхождения ниже. Но (см выше) тенденции однако. А главное слишком редко обновляется. Сам фокс может успеть внести радикальные изменения в движок, пока проект выпустит обнову. Мне интересен тем, что накоплен приличный опыт переноса профилей фокса всего 7 или 8ю файлами
    - для потренироваться, новичкам вполне сгодятся WebBrowser/WebView (Forms/WPF). Зато «из коробки». Но это IE, увы. Есть еще WebView в UWP – это Edge, но там придется грызть XAML при чем все даже чуток мудренее чем просто в WPF. Но по большому счету и инфы навалом, и в магазине пачки демо приложений

    ps в закладках давно болтается еще и ChromiumFX ни чего не могу сказать о достоинствах и недостатках. но судя по датам обновлений, проект относительно активный, и не то что бы маргинальный
    Ответ написан
    Комментировать
  • Как сделать binding текста из textbox в label?

    @valerahex
    При открытии второго окна, присвой DataContext`у объект из главного окна, и в главном при изменении значения вызывай событие INotifyPropertyChanged, для обновления визуального представления.
    Ответ написан
    5 комментариев
  • Оптимизировать код или как выделить всю вычислительную мощность пк на его выполнение?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Скопировать исходный массив A в массив B, дополнить каждый элемент индексом в исходном массиве, отсортировать по значению элементов. Завести массив C такого же размера как исходный, заполнить его нулями.
    Сделать текущим первый элемент А.

    Начало цикла.
    Отметить в C текущий элемент. Найти в массиве B текущий элемент элемент. Просмотреть соседние элементы B и отметить в С как отсечённые все те, диапазоны которых пересекаются с текущим. Найти следующий не отмеченный элемент С, сделать его текущим, перейти к началу цикла, если все элементы C отмечены -- закончить.

    Количество действий зависит от количества пересекающихся отрезков, оно будет больше O(N log N) но меньше N^2.
    Ответ написан
    Комментировать