Задать вопрос
  • Как правильно работать в Gulp с SASS?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Просто задайтесь вопросом, gulp работает на node.js, причем тут ruby?
    Уберите из подписи Frontend-developer, пока не освоите https://www.npmjs.com
    Ответ написан
    6 комментариев
  • Как учить Node.js?

    alexbaum
    @alexbaum
    JS-разработчик, наставник.
    Посоветую найти ментора (наставника, мастера) и сделать совместно какой-нибудь несложный проект. Будет вдвойне продуктивнее, если этот проект будет в интересующей вас предметной области — каталог, игра, афиша, калькулятор стоимости отпуска и тд.
    Ответ написан
  • Какой аналог денвера лучше использовать?

    Sanes
    @Sanes
    Open server
    Ответ написан
    Комментировать
  • Как разделить модель на несколько блоков в админке?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    В старые времена для поля sex нам хватало кортежа из двух значений!
    3a4723c5b1d626ad4e51aa020f658393.jpg

    Возможно, вам поможет django-modeladmin-reorder.
    Ответ написан
    1 комментарий
  • Как развиваться начинающему web-разработчику?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Я в начале 2000-х писал приложение для учета некоммунальных услуг ЖКХ для местного МУПа. Начинался этот проект как тестовое задание для приема на работу.

    Писать можно было на чем угодно, но на тот момент для меня лучшим инструментом казался Clipper 5.x, которым я, как мне тогда казалось, более-менее владел.

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

    Забегая вперед скажу, что автоматизация, в конце концов, удалась, из режима работы 3 человека по 8 часов в день 6 дней в неделю, за 6 месяцев после начала внедрения, вышли в режим 1 человек 2 часа в день 5 дней в неделю... Т.е. 3*8*6*4 = 576 человеко-часов превратилось в 2*5*4 = 40 ч/ч, КПД был увеличен в 14.4 раза.

    Так вот, когда ты в принципе умеешь программировать, но не разбираешься в предметной области, необходимо работать парно с профильным специалистом, буквально жить неразлучно до конца проекта. Так я и поступил (и поступаю всегда).

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

    Далее я реализовывал эти пути как разумел и предоставлял тётушкам.

    И о чудо, обычно на этом этапе прорезался дар речи (тётушки, как все нормальные люди, обожают критиковать то, что по их мнению "не так"), и на меня начинал сыпаться поток весьма конкретных и ёмких ЦУ (ценных указаний), которые я подробно документировал и впоследствии претворял в жизнь.

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

    Первые месяцы они вели двойной учет, по старинке в своей огромной бухгалтерской книге, и в программе, и программу проверяли по книге. Через 2-3 месяца они убедились, что в программе "цифры" точнее, ошибки отлавливаются быстрее, меньшими усилиями, и стали уже свою книгу проверять по программе. Через 5-6 месяцев я написал им модуль расчета и распечатки месячного отчета, и они перестали вести свою книгу, просто печатали ее каждый месяц на огромном матричном принтере.

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

    Условно можно разделить основной функционал приложения на 2 фазы - ввод/редактирование/просмотр данных и построение отчетов/выборок. С отчетами и выборками тёмный лес, т.к. требования меняются непредсказуемым образом любое количество раз в году (по началу), а вот с вводом и редактированием данных в целом ситуация стабильная, тем более за предыдущие 3 версии я достаточно хорошо исследовал этот процесс.

    Ввод/редактирование данных осуществляется посредством форм, которые, в общем случае, повторяют структуру таблицы БД, за исключением случаев, когда присоединяются поля из справочников.

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

    Первейшая проблема программ на Clipper 5.x это банальное отсутствие таблиц БД, либо слетевшие индексы. Это первое, чем я озаботился. программа при запуске проверяет наличие или отсутствие таблиц и индексов, и чего не хватает - достраивает на лету. Таким образом можно потерять данные, но программа, все равно, работать будет. Чтобы это стало возможным, потребовалось в программе прописать структуры таблиц БД и индексов.

    Вторым этапом, дико устав копипастить на 95% совпадающий код для построения форм, а, потом, когда надо что-то поменять, добавить или исправить, шариться по тоннам на 95% идентичного кода в сотне мест, я решил прибиться к стану метапрограммирования.

    Для этого потребовалось каждую форму описать неким образом, и под это описание разработать генератор форм/генератор гридов. Когда мне это, далеко не с первого раза и далеко не сразу, но таки удалось, добавление новой формы/грида в программу стало сводиться к описанию структур необходимых таблиц, индексов к ним, и структуры формы, и, после компиляции, программа на лету строила все необходимые интерфейсы.

    В метаописание формы я добавлял и ссылки на другие таблицы, и генератор автоматически понимал их как ссылки на справочники, в результате чего в форме появлялось в этом месте не поле ввода, а кнопка вызова справочника.

    Причем генератор грамотно отрабатывал множественную вложенность, и каждый вызываемый справочник имел полный функционал CRU (Create, Read, Update), включая фильтрацию по столбцам и сортировку.

    Таким образом я создал мощный и гибкий генератор интерфейсов, а разработка CRU-части приложения сводилась к разработке описания структур таблиц, индексов и метаописания форм.

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

    Для реализации этого функционала пришлось пропатчить стандартный грид TBrowse (он применяется для просмотра таблиц).

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

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

    P.S.: когда я мигрировал в веб, через некоторое время я снова вынужден был пройти аналогичный путь, в результате которого родился простенький AJAX-фреймворк на стеке PHP+Smarty+DBSimple+jQuery. Сегодня я всеми силами стараюсь от него уйти, хотя для своих задач он достаточно хорош. Был опыт, когда на шареном хостинге за 5 баксов проект на этом фреймворке со скрипом но держал 30-40 тысяч уников в сутки (после ряда оптимизаций) и достаточно хорошо был защищен от топорного взлома через SQL-инъекции благодаря DBSimple...
    Ответ написан
    1 комментарий
  • Почему не удаляется свойство объекта?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Потому что this.name не то же самое, что Func.name или Func.prototype.name. Вы в конструкторе записываете свойство экземпляру объекта, а удалить пытаетесь из самого объекта.
    Вот так будет работать, как вы ожидаете:
    var func2 = new Func('hello');
    delete func2.name;
    func2.name // undefined


    Может, это поможет вам разобраться:
    function Func(name) {
      this.name = name;
    }
    
    Func.prototype.name = 'Foo';
    
    var f = new Func('Bar');
    
    console.log(f.name); // "Bar"
    delete f.name;
    console.log(f.name); // "Foo"
    delete f.name;
    console.log(f.name); // "Foo"
    Ответ написан
  • Как осуществить эффект рассыпания изображения?

    @GreatRash
    Ответ написан
    Комментировать
  • Какие знания нужны для создания калькулятора?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Начтите с более простых вещей: Как правильно учить Javascript?
    Ответ написан
    Комментировать
  • Как добраться до style c помощью Jquery?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    $("#vote_width1").css({width:720});
    Ответ написан
    Комментировать
  • Есть огромное желание стать front end developer за 2-3 месяца. Возможно ли такое?

    @lemme
    Frontend
    Знаю способ, за 20секунд. Нужно перейти в настройки и в поле "Кратко о себе" - написать, Frontend developer.
    Ответ написан
    Комментировать
  • Изучение python не для новичков, с чего начать?

    @yociyavi
    "Я прочитал 10 книг по езде на велосипеде, но так и не научился ездить на нем".
    Для того чтобы научится что-то делать, нужно это делать. Параллельно почитывая теорию.
    Напишите пару сайтов для себя: блог, туду лист и прочие. За одно и портфолио будет.
    Ответ написан
    Комментировать
  • За и против использования bootstrap?

    @amfetamine
    бутстрап - это инструмент и он должен использоваться там, где это разумно.
    грубо можно сравнить: есть пассатижи, ими тоже можно гайки откручивать, но зачем, когда есть гаечные ключи?
    ответ зависит от начальных условий, а универсальных вещей нет вообще, каждая вещь создана под определенные цели
    Ответ написан
    Комментировать
  • Что делать дальше после изучения основ javaScript + jquery?

    Rou1997
    @Rou1997
    Доброго вам времени суток, Андрей Рысь !

    Первое правило Junior Front-End разработчика, и разработчика вообще - это выполнение задач от руководства или заказчиков.
    Использование конкретных инструментов - jQuery, JavaScript, Angular, Brainf*ck - задается требованиями конкретного руководителя или заказчика, либо остается на усмотрение разработчика (если пишем с нуля), который в любом случае смотрит на задачу, и никогда не определяется числом голосов в интернет-холиварах, где всегда одни за легкое и простое, другие за глубокое, универсальное, но тяжелое, и все друг друга ненавидят!

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

    @jaxel
    Лично для меня работа на ноуте - это мазахизм. В IDE же куча окошек, панелек и прочего. Меньше чем на 1920 я вообще работу не представляю. И желательно, чтоб монитор был 16х10, в идеале 2560х1600 или 1920х1200. Больше контента входит.

    Ну и второй монитор тоже практически незаменим. На первом IDE, на втором браузер с разрабатываемым приложением или доки. А на ноутах ничего из этого не бывает(
    Ответ написан
    Комментировать
  • Накладывание классов css, как избежать?

    Обернуть в div с определённым классом, потом подставить этот класс перед всеми свойствами css подключённого элемента.

    <div class="wrapperFake">
        ваш элемент
      </div>


    .wrapperFake .стильЭлемента {
        ...
    }
    Ответ написан
    2 комментария
  • Как уйти с распутья технологий?

    @rinatoptimus
    Я считаю, что с вашим характером даже негодный к разработке освоит эту сферу. Сам тоже гуманитарий, занялся вебом после 30-ти. Лично я в вас верю и желаю удачи!
    Ответ написан
    Комментировать
  • Что сделать для безопасности в linux на домашней машине?

    @fpir
    Однажды к мастеру учения пришёл неофит и сказал:
    Учитель, меня терзают сомнения. Когда я исповедовал путь Windows, у меня были и антивирусы, и брандмаузеры, и чистильщики реестра, и другие утилиты, которые меня защищали. Сейчас-же, я чувствую себя беззащитным перед опасностями интернета.
    Тогда учитель связал ему шнурки и велел-Беги!
    Что-же это значит, Учитель?
    Когда дом изначально хорошо спроектирован, нет смысла в дополнительных подпорках.
    И тогда неофит познал дзен.
    Ответ написан
    Комментировать
  • Фронтенд - каковы шансы пробиться?

    mrTyler
    @mrTyler
    Frontend Developer
    Русский менталитет не в том, чтобы "жестче ответить", а в том, чтобы "пробиться". Вы ставите вопрос с позиции слабого, неуверенного в себе человека. Пробиваются по карьерной лестнице, здесь же другие правила игры.

    В офисе вы можете льстить, дарить шоколадки и ходить на обеды, устанавливая "контакт" и "отношения", в it вам надо делать свою работу, есть точные инструменты измерения вашей полезности (да да), "пробиться" не получится, если вы неэффективный сотрудник, не любите то, что делаете и от вас нет пользы, ну и так как сейчас мы говорим о программистах, то уместно сказать, что от вас нет пользы в продукте, вы не приносите пользу команде.

    По поводу фронта - если есть 6-12 месяцев на ежедневное обучение, то после 4х месяцев верстки всякого шлака, возьмите проект за копейки, верстайте и берите следующий, не ради денег - ради опыта, сами себе вы таких задач не придумаете.

    И не думайте, что если вы прочтете книжку, настроите gulp или webpack на сборку проекта, то вы уже не индус - вы просто знаете чуть больше, чем среднестатистический индус, не больше.

    8-10 месяц вы выйдете на окупаемость, здесь стоит понимать, что затраты на питание + жилье будут окупаться, не больше (да, это почти бизнес, жизнь каждого человека - маленький бизнес с прибылью и убытками).

    И вот если вы будете достаточно умны, через год вы станете хорошим middle разработчиком, а до lead вам еще лет 4-5.

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

    P.S. я в отпуске кстати ))))
    Ответ написан
    1 комментарий
  • На что вы зря потратили время в изучении программирования и веб-разработки в целом?

    @asd111
    Компьютерные игры и избыточный просмотр телевизора.
    Если посчитать сколько времени я потерял в молодости с 12 до 22 лет на просмотр музыкальных каналов и на компьютерные игры, то получится года 2-3 совершенно полного безделья, которое можно было потратить на изучение программирования.
    Я очень жалею что потерял много времени в молодости, но мне кажется что всё поправимо. Сейчас мне уже за 25 а я только начинаю учить Java, зато мне нравится то что я делаю.

    А раньше я работал на стройке, на автомойке, даже дворником )))) Но я не могу назвать это пустой тратой времени. Как говорят японцы: если у тебя не было в жизни проблем, то тебе нужно их купить.
    Ответ написан
    Комментировать