• С чего начать писать тех.задание?

    @dmitryKovalskiy
    программист средней руки
    protect.gost.ru/v.aspx?control=8&baseC=-1&page=0&m... - 4 странички эти уже прочитали?из них 1 страничка обложки, а вторая пустая. Первые пункты - "Основание для разработки", "назначение разработки". На мой взгляд если вы не можете описать эти 2 пункта - вы не очень понимаете какую проблему вообще решаете, а соответственно написать конкретное тех.задание будет трудно
    Ответ написан
  • Где рациональнее соединяться с БД?

    @dmitryKovalskiy
    программист средней руки
    Если говорить про ASP.NET, который вы упомянули в комментариях -в своей практике наиболее часто встречал создание соединения непосредственно в методе, где исполняется запрос, с использованием синтаксического сахара using. Т.е. создали соединение,выполнили запрос, разорвали соединение. По PHP не скажу, но все же думаю вам надо для начала определится где вы будете писать ваш проект. Лично мне идея инициализации в конструкторе не нравится тем что есть ненулевая вероятность что соединение вы установите, возможно не используете никак, а когда оно будет закрыто не совсем понятно.
    Ответ написан
    6 комментариев
  • Как создать проект в Visual Studio на С и вывести в консоль результат?

    @dmitryKovalskiy
    программист средней руки
    нужно создать проект с++, но добавлять файлы с расширением .с ,а не .срр. Руками переписывать расширение
    Ответ написан
    Комментировать
  • Как правильно реализовать представления в ASP.NET MVC?

    @dmitryKovalskiy
    программист средней руки
    Забудьте про ViewBag навсегда - это инструмент чтобы подтащить во вьюху строчку сообщения и все. Строить на нем программную логику - идея ниже среднего. Вещи вроде NoSidebar должны решаться через CSS или на крайняк через клиентскую логику. Как ни странно - это два очень мощных инструмента, позволяющих не городить огород из вьюх и layout. Определитесь с архитектурой приложения. Вы говорите - куча страниц, получается у вас куча методов контроллеров или куча контроллеров? Или вы программной логикой подменяете вьюхи? Откуда взялась куча страниц? Возможно что весь этот зоопарк надо группировать в сложные View содержащие PartialView, основанные на витиеватых моделях. Если у вас много контроллеров - то возможно пора включать регионы и под них клепать сообственные layout в рамках логики региона.
    Ответ написан
    Комментировать
  • Какую литературу по созданию клиент-серверных приложений можно почитать новичку?

    @dmitryKovalskiy
    программист средней руки
    По asp.net mvc/web api могу порекомендовать www.asp.net/aspnet .
    Касательно WCF - на мой взгляд ничего удивительного в сроке давности книг нету, я не слышал чтобы за последние годы кто-то всерьез перекопал архитектуру технологии, так что можете смело брать в руки.
    По поводу разницы mvc/web api - asp.net mvc предполагает разработку полноценного веб-приложения, которое может иметь api, а может и не иметь. web api - это разработка конкретно rest api. Они безусловно похожи и могут использоваться параллельно, но небольшая разница все-же есть.
    По поводу "что считать веб-приложениями?" - на мой личный взгляд вопрос дискуссионный. Что в это слово вкладывается на 100% - наличие серверной стороны приложения, которое в свою очередь имеет доступ к какому-либо хранилищу данных. Кто будет клиентом? лет 10 назад это был бы пользователь браузера, сейчас уже все зависит от задач, которое ваше приложение решает. Возможно это приложение, возможно веб-морда, возможно настольное приложение, которое обращается к серверной логике(хотя бы просто для доступа к данным)
    Ответ написан
    Комментировать
  • Каким образом сохранить целостность данных в базе без триггеров?

    @dmitryKovalskiy
    программист средней руки
    Вариант написать хранимую процедуру с транзакцией добавления данных с нужными проверками не рассматриваете?
    Ответ написан
    1 комментарий
  • Как реализовать собственную логику аутентификации в ASP .NET MVC 5?

    @dmitryKovalskiy
    программист средней руки
    Покопайтесь здесь и здесь .
    Ответ написан
    Комментировать
  • Нужно ли регистрировать коммерческое веб-приложение?

    @dmitryKovalskiy
    программист средней руки
    Касательно оплаты - вам нужна услуга эквайринга для физ.лиц. Самым крупным агрегатором таких услуг для физ.лиц недавно была Робокасса, но последнее время оттуда немало печальных новостей было как раз касательно отношений с физ.лицами. В принципе вы можете использовать ЯД,Вебманю, но поскольку большая(доминирующая) часть рынка интернет-платежей это банковские карты - вы покроете только маленькую часть потенциальных покупателей. Безусловно решения и костыли есть, но все же такую услугу проще получить будучи юридическим лицом.
    Ответ написан
    Комментировать
  • Как правильно посчитать бонусы в карточной игре?

    @dmitryKovalskiy
    программист средней руки
    Если решать немножко в лоб. Предположим у вас не класс Card а иерархия классов ICard для каждого класса или типа карты(тут уже полно фантазии для реализации). И весь этот зоопарк классов реализует интерфейс IBonus с методом StartBonusEffect который на вход получает ссылку на окружение(класс доски, из которого можно вытащить свои карты или оппонента, жизни каждого игрока и прочее). А в реализации этого метода можете уже куражиться как хотите. Выиграть, проиграть, убить всех оппонентов, сделать своих имбами, и т.д. и т.п.

    Ну это на коленке если набросать.
    Ответ написан
    Комментировать
  • Как "привязать" изображение к определённому посту?

    @dmitryKovalskiy
    программист средней руки
    В базе вам нужна таблица с данными в формате post_id, image_id. А где вы будете хранить изображения - другое дело. можно в файловой системе, можно в базе
    Ответ написан
    Комментировать
  • Как сделать запрос на нестандартную выборку данных их 3х таблиц?

    @dmitryKovalskiy
    программист средней руки
    На уровне базы данных такую склейку можно сделать только при условии что заранее известно в каких складах искать(Для этого делается последовательный JOIN одной и той же таблицы с разными sklad_id), или если заранее известен товар, по которому строится такая выборка( select по всем складам по id товара, затем PIVOT выборки).
    Для сферического коня в вакууме на мой взгляд подойдет только свистопляска на уровне приложения.
    Ответ написан
    Комментировать
  • 1064 error MySQL при попытке создать базу данных!?

    @dmitryKovalskiy
    программист средней руки
    Простите, а как ваш сервер догадается что собственно вы создаете? Таблицу, триггер, вьюху, базу.
    Ответ написан
    Комментировать
  • Как сделать что бы цикл сохранял текущию позицию?

    @dmitryKovalskiy
    программист средней руки
    Что-то вы намудрили и наусложняли.
    for(var j = 1; j <=3; j++) {
      alert("J-Loop = " + j);
      for(var i = (j-1)*5 ; i <= j*5) {
        console.log(i);
        alert("I-Loop = " + (++i));

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

    @dmitryKovalskiy
    программист средней руки
    Может дело в коде, который создает рамку выделения? Тем более вы вызываете обработчик события, при этом никак не контролируете "всплытие пузырька", соответственно любые события,возникающие при данном действии так же отрабатывают. Если говорить о вашей задаче - мне кажется тут вы не совсем точно ее решаете. Мне кажется тут больше подходит идея о клике вне элемента - вот пример
    Ответ написан
  • Какие таблицы в бд таких сайтов как Avito, Vk, Baidu, Facebook и т.д?

    @dmitryKovalskiy
    программист средней руки
    Вы можете ваять что вашей душе угодно. К примеру вынести сущности авторизации и аутентификации в отдельные сущности из таблицы user. Различные свойства, будь-то имя, возраст и прочее можно хранить в формате user_id,property_id,value и тогда добавление новых свойств не потребует перестройки структуры таблицы.
    Ответ написан
    Комментировать
  • Как сделать наследование от нескольких классов в C#?

    @dmitryKovalskiy
    программист средней руки
    В любом учебнике по C# в главе про наследование первым делом вам бы сказали что такое невозможно. Для сферической задачи в вакууме решения нету. Для более конкретных - можно найти какие-либо архитектурные решения. Если вы не хотите наследовать реализацию этих классов - делайте через интерфейсы.
    Ответ написан
    Комментировать
  • Как объяснить логику следующего SQL запроса?

    @dmitryKovalskiy
    программист средней руки
    Если в двух словах - это тенденция роста уникальных клиентов по неделям. Гуглить - "Нарастающий итог". Фактически к первой неделе джойнятся записи за первую неделю, ко второй - за первую и вторую и т.д. согласно условию tbl.[Week] >= t1.[Week]
    Ответ написан
    Комментировать
  • SQL SELECT article by tags?

    @dmitryKovalskiy
    программист средней руки
    SELECT what your need FROM articles as a
    LEFT JOIN article_tags as at ON a.id = at.article_id
    WHERE at.tag_id is NULL
    Ответ написан
    Комментировать
  • ASP.NET MVC, лучшие практики?

    @dmitryKovalskiy
    программист средней руки
    Я конечно не гуру, но попробую озвучить свое мнение.
    1)В общем и целом - да. Но что по вашему - короткий маршрут? короткие слова или малое число слешей? Тут все же качели читабельности неподалеку.
    2)Я считаю да и причина довольно банальна - я не хочу лазить по всему проекту чтобы выяснить почему данный роут свалился в данный контроллер. Но есть исключение - регионы(Areas). У них свой RouteConfig и не исключено что он будет работать отлично от дефолтного.
    3)Это вообще не проблема. Вам никто не запретит писать Javascript-логику, которая потом по ходу дела возьмет еще данных через API и сама нарисует view. Делайте как хотите, но это должно быть читабельно, поддерживаемо и хоть немного соответствовать поставленной задаче( не надо пользовать Angular только чтобы попользовать Angular)
    4) Тут вы все в одну кучу смешали. Максимально короткими? В принципе да, но я хотел бы прочитав название точно угадать что он делает, а не узреть сюрприз в последствии. В остальном тоже соглашусь.
    5) Предположим она нужна. Во первых уберите слово JQuery - сия библиотека к валидации имеет мало отношения. Во вторых на сервере как правило хватает проверок свойств ModelState.isValid и Model.isValid. Разумеется если ваша модель помечена всеми атрибутами, ограничивающими корректные значения. Тут правда есть одна заковыка - предположим у вас меняется логика валидации(поля обновились или еще какие-то телодвижения совершены). На практике вам нужно в двух местах обновлять одну и ту же логику, что не очень правильно(потенциальное дублирование кода, потенциальные ошибки забывчивости).
    6)Может да, а может и нет. Повторюсь - клиентскую сторону можно лепить разными методами. Можно и Javascript-ом. В ASP.NET это не возбраняется. Это вообще нигде не возбраняется.
    UPD:Программировать на C# внутри View не стоит. Тащить доп.данные тоже, хотя изредка такая необходимость возникает(словарь какой-нибудь подтащить). В основном код должен содержать вспомогательные функции- например сформировать какую-нибудь фразочку или проверить состояние объекта по нескольким полям вместо того чтобы писать кучу if в разметке.
    END UPD.
    7)Если честно не понял о чем вы.
    8)Это не костыль, это транспортная система для коротких сообщений и простых типов. Использовать в качестве транспорта для модели тоже можно, но не безопасно с точки зрения приведения типов.
    9) А что вы понимаете под "голый Ajax"? XmlHttpRequest? Да, на мой взгляд лучше его не использовать. Вторую часть вопроса не смогу комментировать без ответа на первую. Вьюшки бывают разные, некоторые подтягивают дополнительные данные по ходу дела. Тут нужно немного конкретики.
    10) Не согласен и уже озвучивал ранее. Razor один из доступных инструментов. Можете использовать его - он хороший, а можете не использовать.
    Ответ написан
    4 комментария
  • Событие у radio кнопок?

    @dmitryKovalskiy
    программист средней руки
    Делайте последовательно 2 действия -
    1) все элементы сделать одного цвета(белого например)
    2) нужный элемент выделить
    Ответ написан