• Обработка персональных данных, куда давать инфу?

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

    un1t
    @un1t
    Чед Фаулер "Программист фанатик"
    Джоэл Спольски "Джоэл о программировании"
    Роберт Мартин "Идеальный программист"
    Том ДеМарко, "Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения"
    Том ДеМарко "Человеческий фактор. Успешные проекты и команды"
    Роберт Гласс "Факты и заблуждения профессионального программирования"
    Игорь Савчук "Отъявленный программист. Лайфхакинг из первых рук"
    Питер Сейбел "Кодеры за работой. Размышления о ремесле программиста"
    Хант Эндрю, Томас Дэвид "Программист прагматик"
    Ответ написан
    1 комментарий
  • Переход с постоянки на фриланс, стоит ли игра свеч?

    search
    @search
    мама говорит что я особенный
    Ох как я вас понимаю. Перейти на фриланс страшно. А вдруг не будет клиентов? А вдруг я получу негативный отзыв? А вдруг меня кинут? В общем куча а вдруг. В 2010 году я осуществил следующие приготовления перед переходом на фриланс на апворке:
    • сдал все профильные тесты на топ 10%. Для этого понадобилось где-то 3 месяца и прочтение нескольких книг. Оно того стоило
    • накопил 2 месячных зарплаты на случай полного провала
    • объяснил начальнику свою ситуацию и договорился что смогу вернуться если ничего не выйдет


    Клиента я нашел дня через 2. Она платила мне фантастические на тот момент 10 баксов в час, а потом подняла до немыслимых 18.

    Общие рекомендации:
    • берите только почасовую работу, если не хотите получить стресс и переработку
    • работайте только с иностранцами, потому что им можно не объяснять что за каждый час работы нужно платить всегда и при любых раскладах
    • объясните заказчику что 8 часов на фрилансе под наблюдением всевидящего ока - это не 8 часов в офисе, прогуливаясь к кофемашине. Вы не сможете долго работать по 8 часов, перегорите. 6 - это в лучшем случае
    • сделайте оплату комиссии проблемой заказчика. Так и говорите "мой рейт, например, 10 баксов в час, комиссия сайта 30%, так что вам это будет стоить 13 долларов". Будет дополнительный фильтр для хитросделанных заказчиков, с которыми работать не нужно


    Посмотрите на биржу Toptal. Это как постоянная работа, только платят хорошо.
    Ответ написан
    2 комментария
  • Переход с постоянки на фриланс, стоит ли игра свеч?

    @McBernar
    У вас скромный рейт. Хотя, возможно, для Чехии это нормально.

    Я работал и работаю на фрилансе уже много лет. И в штате много лет тоже работаю.
    Поэтому могу кое-что сказать.

    Минусы

    1. Все байки про фриланс — правда.

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

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

    4. Очень много мудаков среди клиентов. Со временем научишься их определять с первых же слов в переписке. Но до этого придется некоторое количество раз обжечься.

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

    6. Хорошее описание проекта, хороший продукт сам по себе — на фрилансе этого мало. Повезет, если получится удаленно вписаться в команду, которая делает или большой проект или делает много проектов на потоке. Если же это разовые проекты, то будь готов к задаче вида "ну мне вот сайт нужен с формой, сообщениями и робокассой, а ну вот еще там корзина, да".

    7. Забудь про стабильность. Сегодня ты заработал двойную зарплату, а в следующем месяце процентов 50. Нет никого, кто строго раз в две недели будет тебе перечислять деньги на карту.

    Плюсы

    1. Свобода в выборе задач и проектов. Это прям кайф.

    2. Есть возможность заниматься своими делами, потому что за проекты отвечаешь ты и только ты. Соответственно, можно брать выходные, когда тебе удобно, а не когда они на календаре пришли.

    3. Если наработать клиентскую базу, то можно со временем отойти от дел руками, а заниматься лишь форвардом задач или вообще вырасти в полноценный продакшен.

    4. Есть возможность учиться. Не вечером после работы, днем, когда голова свежая.
    Офис эту возможность сильно ограничивает.

    5. Есть много времени и сил на свои проекты. То, до чего не доходили руки целый год офисной работы, может быть сделано довольно быстро.

    Где работать
    Попробуй везде. И на фл и на апворке есть свои плюсы и минусы.
    Но самые лучшие клиенты — это, конечно, которые приходят напрямую.
    Ответ написан
    3 комментария
  • Что следует знать для самостоятельной сборки ПК?

    gbg
    @gbg Куратор тега Железо
    Любые ответы на любые вопросы
    "Модернизация и ремонт ПК", автор - Мюллер
    978-5-8459-1668-6.jpg
    Ответ написан
    1 комментарий
  • Есть ли аналоги JavaRush для c# желательно на русском?

    @Carburn
    Ответ написан
    Комментировать
  • Существует ли API Кинопоиска?

    @jocry
    Некропостинг x3:
    Неофициальное API: kinopoisk.cf
    Ответ написан
    2 комментария
  • Где лучше всего подключать js?

    fnnzzz
    @fnnzzz
    front-end dev
    подключают в основном в конце body, потому что важно сохранить последовательность загрузки и выполнения скриптов, например jquery, а потом какой-нибудь common.js, который юзает jquery.
    + в таком случае загрузка скриптов начнется уже в самом конце, когда пропарсился html.
    Т.е. допустим у вас в head есть скрипт, который весит ~10мб, но он defer и не критикал (тобишь его можно потом догрузить лениво), в таком случае он начнет сразу грузится, а парсинг хтмл продолжится дальше, далее у вас в хтмл встречаются другие картинки, медиа-файлы и т.д. - но если у вас слабое соединение, то весь канал будет съедаться этим скриптом.

    но в целом, если у вас стоит аттрибут - defer или async, то в принципе не важно куда вы подключите ваш script.

    вот схемка разных вариантов подключения скрипта:
    https://hospodarets.com/img/blog/14828583238612140...
    Ответ написан
    5 комментариев
  • Плавный переход между страницами сайта. Как реализовать?

    mudrenokanton
    @mudrenokanton
    frontend dev
    Сложно это все грамотно и красиво сделать. А сама технология несложная.
    Загляните в dev-tools. Перезагрузки страницы не происходит, происходит несколько анимаций и смена контента. Смена контента происходит в блоке class = "content replacable". При смене контента, происходит вспышка и ре-рендер, и это заметно. Подгружается html для каждой страницы проекта заранее или асинхронно — не так важно, как через ajax можно подгрузить гуглится несложно. Для того, чтобы быстро вставить нужный нам html в блок, можно испольовать такую штуку.
    Анимации сделаны(все или почти все) на css и запускаются сменой классов. Увидеть каждую из них очень просто если включить вкладку Animations в dev-tools:
    aa5466d65b2744558101796d5affcfcf.png

    upd: из либ они используют Swipe, skrollr, gsap и Three. Последняя похоже используется только для текстового эффекта на главной странице и занимает половину размера js билда =) В целом я бы не сказал, что они все клево сделали. 10 мб основной страницы сайта это перебор + видосики автоподгружаются с течением времени и кушают уже 65мб трафика. Мелкие картинки не в svg и не в спрайте, потому мы делаем около 50 запросов по ним. И т.п.
    Ответ написан
    1 комментарий
  • Плавный переход между страницами сайта. Как реализовать?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    https://s-sd.ru/files/ppcontent/index.html
    https://s-sd.ru/blog_studio_design/plavnaya_smena_...
    Делайте что хотите в качестве эффектов %)
    По идее, это делается 10-15 строк jquery.
    А логика у этого плагина простая, как 5 копеек.
    1. Жмем на ссылку перейти по ссылке.
    2. Страница откладывает переход, запоминая ссылку.
    3. Сначала показывает эффект, потом скрывает всю страницу.
    4. Потом уже переходит на другую страницу.
    5. А на новой странице, просто идет плавная загрузка контента.
    Ответ написан
    3 комментария
  • Тайм-трекер, максимально похожий на тайм-трекер UpWork?

    maxaus
    @maxaus
    Вошёл вайти и пока не вышел
    TopTracker можете попробовать, вроде описанное умеет и бесплатен.
    Ответ написан
    1 комментарий
  • Что читать после learn.javascript.ru?

    После него писать надо, а не читать. Практика, практика и еще раз практика. Как Ленин завещал.
    Ответ написан
    3 комментария
  • Как обезопасить сайт работающий с API?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    JWT, ApiDoc и конечно https
    Забыть о сессиях и всякой остальной фигне.

    Конечно должны быть кастомные реквесты, жесткие модели и серьезная валидация данных.
    Ответ написан
    9 комментариев
  • Как вы начинаете свой проект?

    @kembbayf
    я начинал здесь, со старту привлек много внимания
    Ответ написан
    1 комментарий
  • Что такое замыкание?

    @HowardRoark
    Full stack developer
    Мне кажется, самый простой пример замыкания - это счетчик.
    var counter = (function () {
    	var current = 0;
    	return function () {
    		current++;
    		return current;
    	}
    })();
    
    console.log(counter()); // 1
    console.log(counter()); // 2

    В данном случае мы не имеем доступ к переменной current и функция гарантированно возвращает каждый раз уникальное значение.
    Если бы это была простая функция, то переменная, содержащая состояние (current), должна была бы находиться вне функции.
    var current = 0;
    var counter = function () {
    	current++;
    	return current;
    }
    
    console.log(counter()); // 1
    current = 5;
    console.log(counter()); // 6

    А это уже нарушает принцип "черного ящика", т.к. переменной можно присвоить другое значение в любом месте.
    Ответ написан
    4 комментария
  • React+Redux VS Backbone (Marionette) в 2017?

    @kahi4
    Как бы коллекция – простой объект и обрабатывай их стандартными средствами.


    Только редукс тогда превратится в тыкву. Стоит сразу смотреть на что-то иммутабельное, а там, обычно, вполне достаточный набор для работы с коллекциями. В целом, единственное преимущество бекбоновский коллекций -- функция fetch (ну и встроенные события, но с редуксом они не нужны), которая позволяет сразу с сервера получать списки, абстрагируя внутри себя процесс загрузки. Впрочем, где удобства, там трудности с гибкостью и часто бекбоновский fetch выкидывается в помойку. Ну и опять же -- при определенном уровне упоротости, можно использовать бекбон и редукс одновременно, но это практика, которая ведет вникуда и одно из этого все равно скоро выкинете.

    2. Как говорили выше, webpack. Во вторую версию завезли LazyliLoader, так что там даже делать ничего не нужно ручками. Ну и вебпак достаточно умен, чтобы поделить оптимальным образом на бандлы. И опять же, если есть желание поделать что-то ручками, не создаст никаких проблем сделать это и с обычным RequireJS (впрочем, настоятельно рекомендую его все таки похоронить как архаизм, использовать es6 modules, чем их собирать -- вопрос десятый)

    3. Сейчас под React есть обертки даже над svg, canvas, webGl и даже над three.js. Сложно представить задачу, под которое нет готовых решений, либо которое не пишется за пол часа.

    Как человек, имеющий опыт с первым ангуларом, реактом и бекбоном я бы рекомендовал использовать все таки реакт (из этих трех). Бекбон в свое время был прорывом и до сих пор старается выглядеть молодцом, но его время проходит и сейчас он все таки уступает в скорости разработки и удобства реакту (с флюксом, редуксом или моб-иксом). Конечно, реакт не панацея, но так получилось, что я аж три раза участвовал в переводе проекта с бекбона на реакт и каждый раз это того стоило и все были только счастливы, хотя первое время и побаивались и говорили, что бекбон все таки проверен временем, а реакт -- так, для хипстеров, программирующих с смузи в старбаксе.
    Ответ написан
    2 комментария
  • React+Redux VS Backbone (Marionette) в 2017?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    1. Поясните этот момент. Поиск, фильтрация... это же обычные операции на vanila js? Спокойно обрабатывайте ваши данные в reducer'ах, хоть с помощью underscore, хоть с помощью lo-dash...
    2. Разделение кода возможно. Так как за сборку отвечает обычно webpack, начать можно с небольшого теоретического экскурса здесь: Кантор (ру) (гугл, подкидывает еще (англ.))
    3. Не мало всего уже есть, но конечно меньше.

    Направлять вас на путь истинный вряд ли нужно: у вас есть задачи, решайте их так как умеете и зарабатывайте. Появится время для изучения реакта - успеете подучить.
    Ответ написан
    Комментировать
  • React+Redux VS Backbone (Marionette) в 2017?

    AppFA
    @AppFA
    Frontend developer at Yandex
    React это не фреймворк, а лишь либа для view
    1. Никто не запрещает использовать lodash\underscore для работы с данными. Для фильтрации\поиска используйте селекторы.
    2. Используйте webpack для сборки проекта, в настоящее время это единственное рабочее решение, так же в webpack есть асинхронная загрузка модулей - require.ensure, так что вы спокойно можете разбивать свое приложение на чанки и подгружать их в нужный момент.
    3. По-моему сейчас очень, очень много плагинов адаптированных под реакт, за не большую практику работы с этим стеком у меня ни разу не возникло необходимости писать что-то самому с 0, всегда можно найти какое-то решение, форкнуть и допилить под себя.

    По поводу backbone, честно не знаю - на мой взгляд React более лаконичен и на нем можно быстрее начать писать уже готовое приложение + при правильной архитектуре проекта поддержка в будущем будет без боли.
    Ответ написан
    Комментировать