• Идет ли какое то нарушение идеологии фреймворка когда у контроллера несколько моделей?

    kumaxim
    @kumaxim
    Web-программист
    Для начала давайте уточним: речь идет не о идеологии фреймворка, а об одном из шаблоном проектирования - MVC - на котором этот фреймворк построен.

    Если чисто академически - да, идет нарушение, потому что для этого парртера должно всегда выполняться правило 1M = 1V = 1C.

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

    kumaxim
    @kumaxim
    Web-программист
    Контур.Эльба - если ты официально зарегистрированный предприниматель. Есть у них расширенная версия Бухгалтерия.Контур, но она больше для людей владеющих бух.учетом(план счетов, баланс и т.д.)
    ZenMoney или EasyFinance - если просто нужно навести порядок в личных финансах(еда, проезд, сигареты, перекусы и т.п.), сервис заточен под частных лиц.
    Ответ написан
    Комментировать
  • Какие методы Вы используете, чтобы быстро найти участок в проекте с сотней тысяч строк?

    kumaxim
    @kumaxim
    Web-программист
    1)Ctrl + F
    2)PHPStorm автоматически может перекидывать на определение функции
    3)Отладчик

    Если мы упоролись по хардкору, тогда любой hex-редактор
    Ответ написан
    Комментировать
  • Возможно ли хостить ASP.NET WebAPI приложение на Linux?

    kumaxim
    @kumaxim
    Web-программист
    Для начала - возможно все!
    Другой вопрос на сколько это будет эфективно.

    ASP.NET технология Майкрософт и лучше использовать весь комплект Майкрософт для ее поддержания: Win Server + IIS + NET и т.п. Давно я работал с их стеком...

    По сабжу - можно, но это изврат, имхо. Если очень сильно хочется - гугли по слову Mono - это порт NET Framework на Linux.
    Ответ написан
    Комментировать
  • Где найти разработчика в команду?

    kumaxim
    @kumaxim
    Web-программист
    Берете одну Вашу большую задачу, соц.сеть у Вас там или второй Яндекс - особо значения не имеет.
    Теперь, описывайте весь функционал, который Вы хотите видеть в проекте. Сортируйте этот функционал в порядке важности, устанавливайте зависимости.
    Как пример, я сейчас конструктор сайтов пилю, проект большой... Так вот, без возможности регистрации пользователей, я не смогу реализовать учет пользователей, без учета пользователей я не смогу реализовать выписку счетов, без счетов я не сделаю прием платежей и т.д. Это все делается на уровне Вашей идеи, анализа предметной области и требований внешних сервисов, если они предусмотрены. Для такого планирования Вам знания в программировании не нужны, только здравый смысл.
    Так вот, теперь у Вас есть список, обычно он называется product backlog - это то, что должно быть сделано в проекте. Далее, строите работу на основе спринтов. Один спринт - 30 часов, что примерно равно одной недели нормальной продуктивной работы, а не "наматывания" кода на "вилку"... Далее, Вы вместе с разработчиком обсуждайте сколько задач он может вытянуть за эти 30 часов. Если объем Вас устраивает - начинайте работать, нет - ищите другого. Это если мы говорим про найм самого первого девелопера.
    Человек отработал 30 часов, Вы ему заплатили денег, отработал еще 30 - заплатили и так пока у Вас не закончатся бабки...

    Теперь насчет крутизны идеи, ее уникальности и т.д. Я столько этих соц.сетей повидал... Столько программировал их... Проблемы всегда возникает две:
    1)На стадии разработки - плохая архитектура, не продумал мелкий девелопер архитектуру, а сразу начал писать код. Потом понял что написал, а переписать это - еще два месяца работы. И вот тут начинают в код добавлять баг-фиксы, накрывать это какими-то костылями и т.д. В конечном итоге приходим к тому, что автор проекта остается с плохой кодовой базой, которую развивать невозможно и без разработчиков.
    2)Сам автор допустил ошибку при планировании. Вы кого опрашивали? Ваши родственники, знакомые, друзья? Они чтобы не обижать Вас могут сказать мол "Да, круто". И Вы этим вдохновитесь... Это близкие Вам люди, они не хотят лишний раз на Вас грязь лить, говорить Вам в лицо неприятные вещи и т.д. Выход тут один - найди независимую аудиторию, которой на тебя плевать. Закажи тот же опрос на МДК(2к руб стоит у них пост на стене, могу ошибаться) или любой другой группе, где сидит твоя потенциальная аудитория. Это тебе позволит намного лучше понять для кого ты это пилишь.

    P.S.: желаю Вам успехов с Вашим проектом
    Ответ написан
    Комментировать
  • Правильно ли держать в таблице MySQL одинаковые тексты?

    kumaxim
    @kumaxim
    Web-программист
    Откройте Википедию и почитайте про 1-ю, 2-ю и 3-ю нормальные формы баз данных. Потом там же про денормализацию данных. После прочтения и осмысления этих четырех статей данный вопрос у Вас сам по себе отпадет.
    Ответ написан
    Комментировать
  • Нужно ли ИП фрилансеру?

    kumaxim
    @kumaxim
    Web-программист
    Для начала прикинь объем своих доходов. Если ты планируешь 150-200 тыс. руб в год - тебе ни ИП, ни ООО, ни какая-либо другая юридически оформленная форма не нужна. Продавай как физ.лицо. Налоговикам с мелочью возиться не интересно, это чисто из личного опыта.

    Если все-таки решаешь открыться официально, тогда ИП. Эту форму намного легче администрировать. По налогам - подаешь сразу при регистрации заявление на упрощенную систему налогообложения, 6% доход. Это значит, что получил ты 1000 рублей, не важно сколько у тебя в этой 1000 заложено издержек, но 60 рублей ты должен отдать государству. Это ты платишь в ФНС. Ничего не заработал - ФНС к тебе никаких претензий не имеет(ничего не платишь).

    Далее ПФР. Туда ты платишь фикс. взнос. К вопросу сколько: 5994 руб(МРОТ твоего региона) * 26%(ставка взноса) * 12 мес = 18701,28 рублей. По аналогичной формуле считаешь на медицину(фонд ОМС). Там ставка 5,1%. Сразу оговорюсь, в ПФР ты платишь, платишь всегда вне зависимости от того работал ли ты как ИП вообще, заработал ли ты 100 рублей за год или 100 тысяч. Сумму около 20 т.р. взноса ты отдать им обязан. Не отдаешь - готовься к общению с приставами, к блокировке счетов, аресту машины и т.д. Свои бабки ПФР у тебя заберет, т.к. у них там дефицит в 1 трл. рублей и эта структура все рвет и мечет за каждую копейку. Требования оплатить недоимку, пеню(если просрочил) приходят исправно. Последняя их бумага вообще убила... У Вас недоимка в 8 копеек, заплатите... Бумага + краска + конверт стоят дороже )))

    По отчетам - без сотрудников отчитываешься ты только ФНС и только о доходах. Срок - до 1 апреля. Например, оформил ты ИП завтра, значит о своих доходах в ФНС ты должен отчитаться до 1 апреля 2016 года.

    В помощь по всем организационно-правовым делам могу рекомендовать Эльба.Контур. Сервис "Мое дело" еще что-то похожее продвигает, но я им не пользовался.
    Ответ написан
    6 комментариев
  • Как оценить нужно ли это кому-нибудь?

    kumaxim
    @kumaxim
    Web-программист
    Начну с конца.
    И так, как проверить. Года 1,5 назад активно занимался продажей всяких очень нужных вещей из поднебесной и была у меня следующая методика проверки товара:
    1.Делаю ландинг(см. bm360.ru, 1 сайт на 3 месяца = 900 рублей или 3 сайта на 1 месяц = 600 рублей)
    2.Настраиваю рекламную компанию(1к рублей знакомому, либо Aori или что-то на них похожее)
    3.Пополняю баланс Я.Директа на 3к рублей. Включаю рекламную компанию.

    Ландинг по сути стандартный, описание товара, поле для номера телефона/емайла и кнопка "Отправить". Так вот, я собираю заявки людей на этот товар в рамках бюджета в 3к рублей и затем смотрю сколько их вообще.
    К примеру потратив рекламный бюджет я привлек 30 клиентов, которые предварительно согласились у меня купить товара на 70 т.р. Учтем отказы на уровне в 30%, накинем сюда доставку, упаковку, услуги кол-центра... Вообщем посчитав все косвенные показатели я принимал решение стоит ли вкладываться в конкретный товар.

    Плюс этого метода - я сейчас вложил 5 т.р. в исследования, товар пока не купил. Если исследования провалились, у меня нет на складе неликвидного товара, у меня не заморожено в нем 90-120 тыс.рублей, которые мне непонятно как сконвертировать обратно в деньги.

    Иногда я слышал вопрос "А как же заказы на этапе теста". Я просто отправлял смс/емайл что мол извините, именно вот сейчас у меня товара нет, но будет в ближайшем будущем. Хотите чтобы я Вас уведомил? Из опыта - 80% заказов из теста теряются, 20% реально потом через месяц-три, когда у тебя товар на руках уже есть, подтверждают повторную отправку и выкупают заказы.

    Для приложений или веб-сервисов ровно такое же реализуется без проблем. Схему я описал выше. Напиши у себя на лендинге мол "Веду разработку этого вот такого, если Вы мне оставите свой емайл, дам Вам 1 месяц бесплатного доступа". Вариации на тему возможны любые, там сам смотри.

    Далее технологический вопрос.
    А какой у тебя вообще уровень? С тебя кто-то спрашивает какие-то жесткие сроки? У тебя есть дедлайн?

    Возьми за базу хотя бы тот же Rails, реализуй первую страницу, форму регистрации, личный кабинет... Начни с малого. Примерно прикинь какие будут у твоего приложения части. Из практики могу тебе точно сказать что будет модуль "Пользователи"(регистрация, восстановления пароля, профиль), модуль "Оплата"(как подписку покупать будут) и т.д.

    Сейчас Вам кажется эта задача каким-то огромным монстром, однако если ее разобрать на 100 маленьких кусочков и каждый вечер решать 1 кусочек, то через квартал-полгода ты получишь более менее рабочее решение, еще ее называют MVP.
    Тут могу рекомендовать почитать Getting Real от 37signals и ознакомься с методологией SCRUM, если не слышал о ней.

    Насчет нагуглил или нет...
    Мне лично за Вас гуглить вообще не хочется, да и откровенно говоря лень )))
    Из советов - поищи одновременно в Гугл/Яндекс. Иногда там результаты расходятся. В Гугле поищи также на английском, иногда по одной и той же теме английская выдача намного более информативнее русской.
    Ответ написан
    3 комментария
  • Кто может помочь с подключением сторонних шрифтов?

    kumaxim
    @kumaxim
    Web-программист
    Вот здесь и далее ошибка
    src: url("ProximaNovaRegular/ProximaNovaRegular.eot");

    Браузер не может твой шрифт найти, потому что ты указал ему неверный путь. Переходя к вопросу как нужно.
    Если папка ProximaNovaRegular в корне сайта
    src: url("/ProximaNovaRegular/ProximaNovaRegular.eot");

    Если путь от текущей папки(например folder - папка твоего шаблона, и в ней папка ProximaNovaRegular где у тебя лежит шрифт. CSS с твоей инструкцией лежит в folder)
    src: url("./ProximaNovaRegular/ProximaNovaRegular.eot");

    Если твой CSS лежит в папке css, а папка ProximaNovaRegular находится уровнем выше
    src: url("../ProximaNovaRegular/ProximaNovaRegular.eot");


    Вообщем, твоя проблема, скорей всего, в пути к файлу шрифта.

    Если вдруг ты на 100% уверен что путь верный и шрифт там есть, тогда смотри не режет ли твой веб-сервер доступ к папке с этим шрифтом. Другими словами, можешь ли ты через браузер скачать файл шрифта по ссылке domen.com/ProximaNovaRegular/ProximaNovaRegular.eot Если упираешься в ошибку(403, 500, 502 и т.п.) - значит нужно разрешать через .htaccess доступ именно на директорию шрифтов.
    Ответ написан
    Комментировать
  • Где описаны стандарты безопасности в веб-приложениях?

    kumaxim
    @kumaxim
    Web-программист
    Первое - смотрите нормативные документы ЦБ. Прямо открывайте сайт cbr.ru(что нашел за 5 минут поиска).
    Далее, многострадальный 152-ФЗ "О персональных данных"
    Также не забываем про РД СВТ и РД АС(если писать код будите)

    PСI DSS - стандарт платежных систем Visa/MasterCard. Если у Вас банк с карточками не работает(например Вы только с расчетными счетами юр.лиц работаете), то он Вам не нужен.
    Ответ написан
    Комментировать
  • Какие существуют современные аналоги "Искусства программирования" Дональда Кнута?

    kumaxim
    @kumaxim
    Web-программист
    Чем же Вам не угодила КЛАССИКА!!!
    В том что книга сложная, особенно для начинающего программиста(я ее впервые открыл на 2-м курсе) - согласен на все 100%. Я ее читал в несколько заходов где-то на протяжении года, но осилил.
    Если хотите что-то по проще... Читали Роберт С. Мартин Чистый код или РРР?
    Ответ написан
    Комментировать
  • Где найти уроки по Ruby on Rails?

    kumaxim
    @kumaxim
    Web-программист
    Мой любимый GitHub репозитарий подсказывает аж целый список....
    Ответ написан
    Комментировать
  • Могу ли я продать базу контактов?

    kumaxim
    @kumaxim
    Web-программист
    Есть самая классная база строительный компаний, называется ЕГРЮЛ. Так вот, если информация внутри Вашей базы по сути дублирует информацию оттуда - брать Вас не за что, это даже под закон о персональных данных не попадает. Однако, если у Вас в БД информация по паспортным данным учредителей/директоров, их з/п, о выплаченных дивидендах, бух.балансе компании и т.д., у разного рода интересных людей, особенно у прокуроров и следователей, могут возникнуть к Вам ряд вопросов...
    Ответ написан
    1 комментарий
  • Самообучение фронт - энд на работе не связаной с програмированием?

    kumaxim
    @kumaxim
    Web-программист
    Для начала Вам нужна задача. Вот Вы где-то работаете, Ваша компания что-то там такое делает. Допустим, руководитель организации принял решение сделать редизайн сайта. Этап рисования пропустим, это работа дизайнера. Из требований 1)Шаблон для WP 2)Адаптивный 3)Использовать Twitter Bootstrap

    Перво на перво Вам нужны основы HTML. По идеи основных тегов всего несколько: html | head | body | div | ul -> li | ol -> li | span. Это то, что используется наиболее часто. Их описание читайте на htmlbook.ru
    Далее основы CSS. Из всей массы css-свойств могу выделить background | margin | padding | float | position | display. Это опять же САМЫЕ основные. Их, как и в случае с HTML на много больше, просто лично я с перечисленным сталкиваюсь чаще всего.

    Как все это можно изучить в комплексе? Вообще есть курс на Codeacademy, он прямо так и называется HTML && CSS. Можете также изучить курс по созданию сайтов все там же. Они оба на английском, не знаю барьер ли это для Вас.

    Из инструментов... Погуглите на тему Sublime Text. С парой дополнений(на хабре статья была, в поиске по ключу "sublime text" в гугле она есть) для фронт-энда его вполне достаточно.

    Как освоите курс, беритесь за верстку сайта Вашей компании. Не бросайтесь сразу верстать шаблон под WP, сделайте сначала просто один html-файл с подключенным к нему css/js-файлами.

    В процесс верстки сайта Вашей компании, кроме уже упомянутого мною сайта htmlbook.ru Вашим любыми ресурсом будет официальная документация по Bootstrap - это такой CSS-фреймворк, который поставляет Вам кучу готового кода для типовых задач. Официальная документация getbootstrap.com(англ). Русскую тоже видел, но сам юзаю английскую.

    Чистый html готов? Отлично, вот теперь "рубите" его и раскидывайте по файлам шаблонов WP. А поможет Вам в этом официальная документация по шаблонам Wordpress(англ).

    И так, минуло от 2-3 дней до нескольких недель и Ваш первый шаблон готов. Я поздравляю Вас. Теперь сделайте еще штук 5 таких(не меньше) чтобы закрепить свои навыки.

    Далее, если у Вас все еще будет свободное время и желание развиваться в области front-end разработки, загуглите на тему LESS/SASS. Если вкратце - эти технологии позволяют быстрее собирать типовые шаблоны, верстать типовые макеты. НО это именно Вам на будущее, т.к. без практики в на чистом CSS лучше сюда сходу не лезть.

    Вам могут здесь также рекомендовать взяться на JavaScript/JQuery... Пока на сделайте 5 шаблонов - лично я не рекомендую, очень сильно не рекомендую. У Вас либо могз взорвется от потока новой информации, либо в голове будет такая каша...
    Ответ написан
    Комментировать
  • Как восстановить сайт, разработанный на Joomle, имея только файловый бекап сайта?

    kumaxim
    @kumaxim
    Web-программист
    Давайте очень сильно надеяться, что под "файловым архивом" человек имеет ввиду бэкапы, которые ему делала ISPmanager. Если так - туда по умолчанию включена и БД, и скрипты, и аватарки... вообщем все что нужно.
    Для того чтобы Вам теперь все это поднять - идите на любую биржу фриланса и постите там проект с максимально подробным ТЗ. Обязательно укажите что у Вас именно там в архиве лежит.
    Ответ написан
    Комментировать
  • Создание англоязычной версии интернет магазина на AdVantShop .NET?

    kumaxim
    @kumaxim
    Web-программист
    Я понятия не имею как устроена мультиязычность в NET, но в PHP есть библиотека gettext. Погуглите по этому ключу, думаю Вам поможет. На Хабре материалов, вроде бы тоже хватает
    Ответ написан
    Комментировать
  • Стоит ли начинать учить Angular 1.x или дождаться 2.x и не забивать себе голову?

    kumaxim
    @kumaxim
    Web-программист
    Версия 2.х в любом случае будет базироваться на версии 1.х, поэтому ничего не вижу в том, чтобы начать учить пока то что есть.
    Ответ написан
    Комментировать
  • Как лечится кризис начинающего программиста?

    kumaxim
    @kumaxim
    Web-программист
    Господин начинающий, у Вас извращенный подход к программированию в целом.
    Программа - это способ более эффективно решить какую-то задачу... способ достижения какой-то заданной цели с меньшим количеством ресурсов.

    Возьмем, как пример, тот же бух.учет на предприятии. Как Вы думаете, почему 1С Бухгалтерия так широко распространилась в РФ и СНГ? Эта программа позволяет бухгалтеру в 2-3 клика мышки сформировать отчет для регулятора(ФНС, ПФР и т.д.), вместо того чтобы человеку сидеть руками искать платежные поручения, вычислять налоги и т.п. Софт просто подтягивает выписку из банка, анализирует ее и выдает готовую для печати бумажку, что экономит бухгалтеру сильно много времени. Расчет заплатанный налогов и отчеты в соц.фонды это вообще красота - 8 кликов мышкой и все готово :-)

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

    И вот, далее Вы для себя определитесь, какая Ваша основная цель? Какой Ваш основной посыл обществу?

    Личной мой посыл - "Я помогаю людям экономить: время, деньги, нервы и т.д.".

    Как я это делаю?
    У меня сначала был маленький интернет-магазин по продаже катализаторов для бензина(в поиск "кондиционеры метала для а/м"). При соблюдении определенных условий, расход топлива на малометражках снижался от 20% до 45%
    Вторым моим проектам было небольшое мобильное приложение для отслеживания хода исполнительного производства в ФССП(для взыскательней, уже сдохло). Мне и моим знакомым(не юристы) это экономило достаточно много времени на ругань с приставами, чего они должны делать и т.д. Кто сталкивался с этой службой должен знать эффективность и оперативность их работы, особенно в регионах...
    Сейчас я пишу небольшой конструктор сайтов, который поможет одной дружественной мне веб-студии сильно оптимизировать процесс создания низкобюджетных сайтов визиток

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

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

    Если говорить о чисто практических инструментах(функции стандартной библиотеки, фреймворки и т.д.)... Лично я могу считать себя профессионалом в какой бы то ни было технологии, ни когда я прочитал 1-2 книги и/или написал 1,5 задачи оттуда же. С таким уровнем я не могу сказать что я знаю язык/технологию в принципе, просто знаком - да, но я ее не знаю. Считать себя профессионалом я могу после того как решу не менее сотни задач, используя эту технологию и написал не менее 1 млн строк кода, именно написал, а не сгенерировал rake/gii/artisan или чем-то там еще.

    Вам же я желаю не останавливаться, развивайтесь. Мастерство приходит с опытом.

    P.S.: от холиваров на тему 1С прошу всех воздержаться
    Ответ написан
    11 комментариев
  • Как составить уравнение?

    kumaxim
    @kumaxim
    Web-программист
    Элементарно же все:
    1. Генерируем случайное число от 0 до 10. Делим его на 10(назовем это N1)
    2. Генерируем случайное число от 25 до 325(назовем это R1)
    3. Прибавляем N1 + R1. Округляем до целого значения(вверх или вниз смотри сам)
    4. Вычисляем остаток от деления N1 + R1 на 25. В большинстве языков эта операция идет через "%"
    5. Если остаток от деления равен нулю - результат найден, выход
    6. Если остаток от деления не равен нулю - повторить шаги 2-4. Про цикл, думаю, говорить не надо
    Ответ написан
  • Какая книга поможет в освоении JS?

    kumaxim
    @kumaxim
    Web-программист
    Репозиторий на GitHub со ссылками на книжки/курсы/подкасты по разным языка/технологиям. Рекомендую добавить его в закладки.

    Список книг именно по JavaScript: en | рус

    От себя могу рекомендовать Вам курсы по JavaScript и JQuery на CodeAcademy. Единственный минус CodeAcademy, на мой взгляд в том, что они ну очень сильно разжёвывают материал, хотя изложен он достаточно легко, местами даже с юмором.
    Ответ написан
    Комментировать