• Все должны изучить Ruby для надлежащего MVC?

    @EvgeniiR
    https://github.com/EvgeniiR
    А стоит оно затраченного времени?
    Пройдитесь вот проще по материалам - https://heim.ifi.uio.no/~trygver/themes/mvc/mvc-in...

    То что нынче в вебе часто зовут MVC оригинальным MVC не является. По сути очередной баззворд, как какой-нить ООП или rest, которым кличут все подряд, чтобы звучало солиднее

    Ещё у Badoo в блоге была статья как они оригинальное mvc делали.
    Ответ написан
    Комментировать
  • Как полностью обесшумить компьютер, чтобы его не было абсолютно слышно, вплодь, чтобы винчестера не было слышно?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Устранить источники шума :) То бишь вращающиеся части :)

    То есть:
    - БП с пассивным охлаждением. Не знаю, бывают ли такие, наверно задорого бывают.
    - Никаких кулеров на корпусе
    - Процессорный кулер пассивный. Опять же не знаю, бывают ли такие, задорого наверное бывают
    - Кулер видюхи исклоючительно пассивный. У меня такая была, занимала два слота, была далеко не самая мощная.
    - Винт - только SSD
    - Ессно никакой архаики типа DVD

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

    Zoominger
    @Zoominger Куратор тега Железо
    System Integrator
    SSD, безвентиляторный блок питания, пассивный радиатор на процессор и на видеокарте.
    Но учтите, что мощность такого ПК будет так себе, а цена ого-го.

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

    Areso
    @Areso Автор вопроса
    Тыжпрограммист. Гик. Айтишник.
    Этот же вопрос был задан мною на opendata.stackexchange.com (Where i should store public dataset for opensource project)
    Там я получил единственный ответ, в котором предлагалось использовать следующие сервисы:
    datahub.io, data.world
    Сразу скажу, второй очень ограничен (3 приватных проекта по 100МБ каждый) на бесплатном тарифе, а вот первый мне понравился (неограниченное количество датасетов до 5ГБ в сумме).
    Ответ написан
    Комментировать
  • Linux дистрибутив для предприятия?

    Sanes
    @Sanes
    Для 150 пользователей нужет отдел IT, который не задает такие вопросы.
    Ответ написан
    Комментировать
  • Комментарии на сайт чтобы индексировались и не снижали скорость загрузки?

    @dady_KK
    PM
    Понимаю, что речь не идёт о том, что лучше - собственная система комментариев, работающая на том же сервере без лишнего функционала и сторонний сервис, типа дисскаса и прочей ерунды в виду каких-то ограничений. Но тут ответ один - свои комменты всегда лучше, все остальное будет либо избыточно и за эту избыточность придётся платить временем и скоростью загрузки страницы, либо ненастраиваемо и также тяжело и медленно. На одном проекте в самом начале для тестирования прикрутили гиперкомментс, работает до сих пор (временное - самое вечное), но плюёмся всегда, планы переписать простенькие комментарии есть, но там это очень второстепенный функционал. Если сейчас стоит вопрос сделать своё или что-то прикрутить и если это важный функционал, очень советую - не поленитесь сделать своё (или выделить на это бюджет).

    И по поводу того, что должно быстрее грузиться в начале и что потом: сама форма весит крайне мало, основная нагрузка при загрузке - это сам текст комментариев, поэтому прятать форму смысла не имеет, а имеет смысл ограничить количество выводимых при загрузке комментариев с кнопкой «Показать ещё», пагинацией или бесконечной прокруткой. Саму форму вместе со скриптом обработки можно вообще вызывать только по клику на кнопку (ссылку) «ответить» под комментариями и в самом конце (начале) блока с комментариями. Говорю это по опыту, если не позаботиться об ограничении комментариев при загрузке, то можно через пару-тройку лет получить проблему - у нас несколько страниц выросло до мегабайта в сжатом ганзипом объема, ну и как понимаете это были популярные странички - по сео особо из-за этого не просели (субъективно), но время загрузки превышало медиану раза в два.
    Ответ написан
    Комментировать
  • Можно ли разместить cms на heroku?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Heroku
    Седой и строгий
    Да, можно.
    Ответ написан
    Комментировать
  • Общение/переговоры с заказчиком занимают много времени, что делать?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    Всё время, которое ты тратишь на проект заказчика, должно быть оплачено заказчиком.
    Все длительные переговоры, естественно, тоже.
    Ответ написан
    3 комментария
  • Как добавлять данные в разные таблицы SQLite?

    longclaps
    @longclaps
    Для каждого месяца создается отдельная таблица с данными.

    Маразм.
    Ответ написан
    1 комментарий
  • Как правильно проверить ввел пользователь номер телефона или свою почту?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Если в введённом есть символ @ то это почта.
    Ответ написан
  • Правильно ли так очищать память?

    kagary06
    @kagary06
    Человек
    • Если нужно удалить переменную любого типа del variable
    • Если нужно очистить память, но при этом переменная продолжит существовать variable = None
    • Если нужно очистить память для списка/кортежа/множества, но при этом не изменять тип variable.clear()
    Ответ написан
    Комментировать
  • Зачем нужны пакеты VC++, .NET Framework, Java Runtime, DirectX?

    GavriKos
    @GavriKos
    Очень коротко - чтобы запускались те программы, которые используют функционал этих пакетов.
    Ответ написан
    3 комментария
  • Websocket почему работают быстрее чем http?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    No silver bullet in this world.

    Это абсолютно разные протоколы с разными целями назначения. Одно - синхронный протокол, другое событийный. Одно инициируется только клиентом, а другое двунаправленное. Используйте применимо к задаче решение, лучше подходящее.

    Ну, и отвечая на вопрос про скорость - в http протоколе при каждом запросе открывается новое соединение, а в вебсокет - один раз. В итоге убирается потеря на этой точке
    Ответ написан
    Комментировать
  • Как правильно запустить домашний веб-сервер на Windows?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Ну, в любом случае нужна будет серверная ось - WinServer, как минимум. Кроме того - сервер дома - признак гика, способного и умеющего выполнять все необходимые административные функции.

    Какие?
    1. Сервер должен где-то работать - он должен быть включен 24х7, так что ему понадобится отдельная железка.
    2. Железке нужно место
    3. Железка жрет электричество, ей нужно гарантированное питание, то есть UPS
    4. Железка шумит
    5. Железка содержит изнашиваемые компоненты, может выйти из строя - то есть нужен бэкап сервера
    6. Серверу требуется канал определенной ширины, который Вам не обеспечит пров (потому что "до 100Мб...", а не "100 Мб...")
    Да, в некоторых случаях сервер дома - это устранение отдельных видов головной боли. Но это хорошо только для админов, ИТ-безопасников и пр - для которых это - часть их работы. Обычному челу все это будет освоить непросто..
    Ответ написан
    Комментировать
  • Где используются такие вещи как: SignalR Core, Socket.IO, WebSocket, SignalR и Rest Api?

    Griboks
    @Griboks Куратор тега Unity
    Эти технологии позволяют передавать данные от зрителей на серверу.
    они позволяли зрителям самим собирать им колоду голосуя в чат за ту или иную предложенную карту

    Эти слова могут помочь, но я бы посоветовал вам ознакомиться с HTTP POST, GET и AJAX. Эти штуки позволят вам создать интерактив со зрителями за пару строчек кода.
    Ответ написан
    Комментировать
  • Что значит "опыт прямой работы с базами данных без прослоек"?

    @Vitsliputsli
    Написание SQL без использования ORM. Либо у работодателя очень нагруженный сервер СУБД и тогда нужно ещё и понимание работы СУБД (как оптимизатор выбирает оптимальный план, как писать более производительные запросы и почее), либо ребята просто не умеют работать с ORM и боятся его.
    Ответ написан
    Комментировать
  • Какая оптимальная структура для таблицы "лайков"?

    @orbit070
    Если, чисто теоретически представить, что пользователей миллионы, а постов десятки миллионов, является ли такая структура оптимальной?

    Почти. Нужно применить дублирование и прокинуть в эту таблицу сразу все те поля, которые вам могут пригодиться для отображения, иначе каждый раз придется делать join, чего бы не хотелось при highload. То есть нужно добавить в таблицу сразу поля вроде user_name, post_title, post_body, и т.д(в общем все то, что вы планировали доставать с помощью join).

    На счет "пользователей миллионы, а постов десятки миллионов":
    Если у вас будет такое количество данных, то вам в любом случае в какой-то момент придется прибегнуть к горизонтальному шардингу, поэтому если считаете что проект реально может дорасти до такого количества данных лучше сразу учесть это и спроектировать базу данных так, чтобы горизонтальный шардинг не стал проблемой.

    нужно ли тут поле id, или PK сделать составной (post_id, user_id) или PK вообще не нужен? Это влияет на селект?


    Зависит от сценариев использования(подумайте, в каком случае вам нужно будет поле id), но в большинстве случаев оно не нужно и такие поля вводят для душевного спокойствия и гармонии. На селект это не влияет, ведь все равно вы будете делать выборку либо по user_id либо по post_id(опять же, это в большинстве распространенных сценариев, если у вас есть какая-то логика, где нужно будет выбирать из таблицы likes записи по какому-то намеренно введенному идентификтаору, то вводите).
    Ответ написан
    2 комментария
  • Простой векторный графический редактор?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Ну, если бы на все задачи можно было найти точные инструкции, было бы скучно.
    Пробуйте написать начиная с малого, например:
    1) Создайте холст, просто объект, который будет помещать в себя фигуры. Это будет некий viewport.
    2) Сделайте скролл этого холста мышкой, во все стороны.
    3) Сделайте возможность динамически добавлять объекты на холст, сначала определите базовый объект, например прямоугольник или линию. Легче на этом моменте сразу определить интерфейс IShape, таким образом дальше будет легче унифицировать все объекты при добавлении их на холст, да и холст ничего не должен знать об этих объектах, только об интерфейсе.
    4) Сделайте drag&drop добавленных объектов, чтобы их можно было тащить.
    5) Добавьте зум, это не простой шаг, тут нужно многое учитывать, особенно часто на этой задаче ломается позиционирование drag&drop объектов.
    6) Сделайте трансформатор объектов, который будет изменять их размер (для прямоугольников и.т.д.), менять точки (для линий), вращать и.т.д.
    7) Сделайте редактор свойств, через который будете назначать атрибуты вашим объектам, такие как цвет заливки, цвет рамки, ширина рамки, непрозрачность и.т.д.
    8) Добавляйте потихоньку различные объекты. Можете подглядывать в другие редакторы, например inkscape.
    9) Реализуйте сохранение и загрузку холста. Тут лучше не изобретать свой формат данных, а использовать открытый, например svg.
    10) Буфер обмена. Тут либо свой формат в бинарник, либо тот же самый svg в текстовом виде (что куда лучше, так сделано в фигме).
    11) Отменить/вернуть - важная штука, и на первый взгляд простая. Но простая она только в том случае, если запоминать шаги путем снимка всех текущих объектов, но этот способ плохой. По нормальному нужно при любой операции над объектами на холсте делать снимок изменений. Например подвинули кубик на 10px влево, и записали в память значение
    { id: 'id кубика', x: -10 }
    и потом при нажатии отмена, будете просто делать обратную операцию, добавлять эти 10px. Тут у вас возникнут сложность с операцией "возврат", но думаю, если вы дошли до этого шага, упорство у вас уже есть. Пригодятся паттерны: command и memento
    12) Ну, тут уже по мелочи, различные киллер фичи, новые объекты, свойства, различные меню и.т.д.
    Ответ написан
    1 комментарий