• Выбор ОС для разработки под Docker: Windows или Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Разработку ведут не столько в операционке, сколько в твоем любимом IDE/редакторе.
    А вот запускать сайт (бэкенд), в принципе лучше в таком же окружении, в каком он будет крутиться в продакшене.

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

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

    Sly_tom_cat
    @Sly_tom_cat
    .
    Для синхронизации между двумя компами использую syncthing.
    git и github (как remote master) используется именно для осмысленных коммитов с законченными доработками.
    Так у меня чистая история коммитов, ни ребейзов ни прочей сомнительной активности для приведения истории в порядок - не нужны.

    Но это не отменяет использования веток. Отдельная фича - отдельная ветка. Почти рабочее - мержу в dev. После тестирования меджу dev в master. В мастер стараюсь напрямую не коммитить, разве что какие-то обновления readme и прочей атрибутики.

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

    Когда вполне созрела версия - создаю релиз (прямо на github-е) ну попутно лью в PPA на launcpad (это уже собственно к разработке не имеет отношения - это автоматическая доставка обновлений пользователям).
    Ответ написан
  • Каков сценарий использования git для одного разработчика?

    @motomac
    Тоже использую develop ветку для подобного, но в последнее время все больше склоняюсь к мысли, что это не нужно.
    1. Пушить незаконченный код не хочется
    2. Придумывать этому незаконченному коду описание при каждодневной работе утомляет
    3. На историю коммитов потом смотреть больно

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

    @Za0r
    pop()
    Друг,привет.

    Не знаю твой уровень Js, но в любом случае лучшего моего, т.к. я только учу его.

    Для себя составил такой план по-покорению этого языка.

    1)Head First "Изучаем JavaScript";

    2)learn.javascript.ru ;

    3) Good Parts ;

    4) Секреты JS ниндзя ;

    5) карманый справочник js-частично;

    6) JS шаблоны;

    7) ES6;

    8) 68 способов использовать js.
    Ответ написан
  • Какие библиотеки, плагины и прочее для верстки вы используете в своих проектах?

    SergGrbanoff
    @SergGrbanoff
    UX/UI Desinger, Front-End Developer
    Фреймворки, библиотеки и плагины для верстки сайта.

    1. Bootstrap - самый популярный HTML, CSS, и JS фреймворк в мире для разработки отзывчивых, mobile-first проектов в вебе.

    2. slick - Адаптивный слайдер для сайта

    3. Owl Carousel 2 - красивый, отзывчивый карусельный слайдер

    4. Fotorama - плагин для создания галереи на сайте

    5. MagnificPopup - плагин для создания модальных окон

    6. FancyBox - построениe всплывающих окон

    7. Mmenu - мобильное меню


    8. bxSlider - отзывчивый jQuery-слайдер для контента


    9. Fullscreen Slit Slider - слайдер с интересной анимацией

    10. parallax.js - эффект Parallax

    Первая 10-ка
    Ответ написан
  • Хостинги\VPS\VDS, физически расположенные в разных городах России?

    Нижний Новгород - ruweb-nn.ru
    Рекомендую посмотреть hosting101.ru/catalog/vps-vds
    Хотя самый результативный вариант будет попросит хостеров накидать Вам предложений на searchengines.guru/forumdisplay.php?f=37
    Ответ написан
  • Как нужно делать рассылку со своего сайта (сервера)?

    @xtreme
    Снимаю порчу по SSH :)
    1. Изучить рекомендации по рассылкам у крупных почтовых сервисов (Google, Yandex, Mail.ru). При подготовке писем для рассылки строго следовать их рекомендациям.
    2. Зарегистрироваться в postmaster.yandex.ru, postmaster.mail.ru, чтобы следить за ходом рассылки писем.
    3. Отлавливать недоставленные письма, убирать их из листов рассылки, дабы не мусорить.
    4. Сделать механизм отписки от рассылки (это один из критериев пункта 1), причем 100% работающий в один клик.
    5. Мониторить нажатие кнопки "Спам" в вышеуказанных почтовых сервисах, также сразу исключать их из будущих рассылок.

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

    Обязательное условие - соблюдать все почтовые правила и не пренебрегать цифровыми подписями - SPF, DKIM, DMARC, правильные записи в DNS (A, MX, PTR).
    Ответ написан
  • С чего начинать проектировать приложение?

    max-kuznetsov
    @max-kuznetsov
    Системный архитектор
    Предположим, что с будущей функциональностью Вы определились. Тогда Вы точно знаете, кто или что будет поставлять данные, и кто/что будет их потреблять.

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

    Теперь нарисуйте под каждым нарисованным сверху субъектом прямоугольник с названием UI или API - это интерфейсы, к которым будет обращаться пользователь или внешняя управляющая система. Иногда UI тоже может обращаться к API. Объедините все прямоугольники с UI одним контуром и обзовите слоем UI. Объедините все прямоугольники с API и обзовите слоем сервисов.

    Для систем, нарисованных снизу, укажите компоненты, которые будут отвечать за доступ к этим системам. Объедините все эти компоненты одним контуром и обзовите слоем доступа к данным.

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

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

    Получите логическую архитектуру. Разбросайте слои по серверам - получите физическую архитектуру.

    А дальше - детально прорабатывайте каждый маленький квадратик. Всё.
    Ответ написан
  • Как увеличить количество e-mail в системе Plesk?

    opium
    @opium
    Просто люблю качественно работать
    Если вы про ограничения в самом плеске, это регулируется версией вашей лицензии, купите расширенную и будет у вас лимит выше.
    Ответ написан
  • Один ООО и несколько проектов или один ООО - один проект?

    MiXaiL27
    @MiXaiL27
    Работаю в отделе электронного документооборота
    В группе компаний, где я работаю смысл в работе нескольких организаций сугубо утилитарный. На одной организации договор концессии (а это не дает работать с конкурирующими продуктами), другая заточена под упрощенку, под третьей деятельность другого направления и так далее. При наличие адекватного бухгалтера нет особой разницы что и как сдавать при условии разумного разграничения сфер деятельности.
    Ответ написан
  • Один ООО и несколько проектов или один ООО - один проект?

    Jump
    @Jump
    Системный администратор со стажем.
    ООО - сколько пожелаете, столько и открывайте, лимита нет.
    Проектов на одно ООО может быть неограниченное количество, лимитов тоже нет.

    Выбор прост-
    Каждое ООО это куча накладных расходов - деньги, отчетность, и.тп.

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

    Menaskop
    @Menaskop
    Анархист. Работаю в Сети. Живу в Сибири.
    Конечно создавайте 1, привязать к нему можно сколько угодно проектов.
    Во-первых, Вы можете выбрать несколько ОКВЭД и к ним привязать отчетность.
    Во-вторых, вести отчетность в 1 ООО гораздо легче, чем 2, 3 и т.д.
    В-третьих, защищать право на товарный знак можно тоже всякий раз на 1 ООО - вне зависимости от его названия. Конечно, есть брендовые компании, но, как правило, тогда надо смотреть в сторону публичный акционерных обществ.
    В-четвертых, привязка делается просто: получаете у любого нормального регистратора свидетельство на домен, что он Вам выдан и принадлежит, оплату, соответственно, делаете со счета ООО. Если нужна защита товарного знака и т.д., тоже не проблема - подаете заявку и регистрируете (хотя ТЗ для ТЗ - это излишне).

    Собственно, привязка в данном случае - это договоры, на основании которых Вы будете работать с контрагентами (включая оферты с пользователями); документы, кот. подтверждают Вашу деятельность (от целей в Уставе, до того же ТЗ); собственно, бух. и налоговая отчетность по разным ОКВЭДам. Ничего сверхсложного, т.к. многие компании изначально берут смежные виды деятельности и смотрят, какой выстрелит.

    Сомневаетесь - пишите, могу порекомендовать что-то ещё.
    Ответ написан
  • Один ООО и несколько проектов или один ООО - один проект?

    edinorog
    @edinorog
    Троллей не кормить!
    можете хоть сотню ооо открыть. если осилите отчетность =). разные ооо-шки открывают для нижения рисков по крупным проектам. если отожмут одно, то есть время на увод из под удара другого.
    Ответ написан
  • Правильное отображение прогрессбара на Python - что не так?

    Kademn
    @Kademn
    Злой
    Давайте по-порядку.
    Вот участок кода, отвечающий за прогресс-бар:
    for i in range(lenLi):
        sys.stdout.write('\r')
        sys.stdout.write("[%-30s] %d%%" % ('='*i, i))
        sys.stdout.flush()

    Во-первых вывод в консоль у вас неправильный. Длина вашего прогресс-бара 30 символов. Значит при каждой итерации нужно выводить количество символов, соответствующее итерации, не забывая, что нельзя выводить дробное количество символов. К примеру, если длина списка у вас 5, значит 30/5=6 символов добавляет каждая итерация цикла. Но вы переписываете весь прогресс-бар, поэтому можно посчитать "часть" от всей длины (30 символов) для этого шага. Например для длины 5, шаг 1 - это 1/5 длины, шаг 2 это 2/5 длины и т.д. Тогда количество символов это количество символов для "полной" длины умножить на полученную часть.
    part = float(i)/(lenLi-1)
    symbols_num = int(30 * part)

    lenLi -1, так как выше вы увеличивали длину на единицу (видимо для range), то тогда range стоило бы начинать с 1, а не с нуля. А проценты легко получить умножив part на 100, не забыв сменить форматирование вывода с '%s%%' на, скажем, '%3.2f%%', так как в выводе дробное число и оно очень плохо смотрится, если %s.
    Теперь прогресс-бар будет выводиться правильно:
    for i in range(1, lenLi):
        sys.stdout.write('\r')
        part = float(i)/(lenLi-1)
        symbols_num = int(30 * part)
        sys.stdout.write("[%-30s] %3.2f%%" % ('='*symbols_num, part*100))
        sys.stdout.flush()

    Правда, чтобы успеть увидеть изменения, добавьте в цикл wait(), иначе все 100% заполнятся за доли секунды.
    UPD
    Да, вы для каждой ссылки заполняете прогресс-бар от нуля до 100 процентов. Цикл внутри цикла не нужен. Прогресс-бар должен быть частью for x in li:. Но, для правильного отображения прогресс-бара, вам необходимо считать номер шага. Для это можно либо завести переменную, которая будет считать шаги, либо использовать функцию enumerate:
    for step_number, x in enumerate(li):
    Учитывая, что вам удобнее нумеровать шаги с единицы, правильнее было бы использовать
    for step_number, x in enumerate(li, 1):
    А вообще, если вы хотите использовать прогресс-бар и в других местах кода, то стоило бы завести отдельную функцию для печати прогресса, которая принимает дробное число от 0 до 1 или процент в качестве аргумента и выводит в консоль соответствующий прогресс-бар, возвращая каретку в начало строки.
    Полагаю, что этих подсказок более, чем достаточно. Дальше попробуйте сами.
    Ответ написан
  • Так ли хорош Python в сравнении с R для data mining?

    @polyhedron
    Data Analyst | Data Scientist
    Я использую оба языка, и, признаться, R мне нравится больше. И вы правы, что там есть пакеты абсолютно для всего. Но Python обладает рядом преимуществ, главным из которых является развитая экосистема языка. Преимущества Python очень хорошо описаны тут. Вообще, в этом блоге есть много интересных статей как по Python, так и по R. Что касается deep learning, то для Python есть замечательная библиотека Theano.
    Я бы порекомендовал сосредоточиться на Python, но R также не забывать на случай если понадобятся методы, не реализованные в Python, или будете работать с людьми, знающими только R.
    Ответ написан
  • Как прeодолеть зону комфорта, стать фрилансером не обанкротившись?

    kumaxim
    @kumaxim
    Web-программист
    Для начал ответь сам себе на вопрос "А чем тебе неудобна текущая золотая клетка"? Можешь не писать здесь, но определись для себя.

    Далее нужно осознать, что фриланс - это подвид бизнеса. Есть книжка Р.Киосаки "Квадрант денежного потока". Там всех людей, работающих в экономике разделяют на 4 части:
    1. Р - наемные работники
    2. П - предприниматели
    3. Б - бизнес
    4. И - инвесторы

    Фриланс - это сегмент П. Ты работаешь один, возможно зарабатываешь больше чем работая по найму, но вот ты заболел, продуло тебя где-то, температура 38.5.... Сомневаюсь что ты из стали сделан и сможешь в таком состоянии писать код.
    Сегмент П очень хорошо охарактеризовал г-н Залогин из Локус Медиа. Он сказал примерно так: "Вы человек-велосипед - пока крутите педали - едите, как только перестали - упали"

    Переходя к твоему вопросу о выходе из зоны комфорта.
    Первое что рекомендую перед началом своего бизнеса - оплати все долги. Закрой ипотеку, погаси автокредит, все потребительские заемы и т.д. В случае если ты провалишься(первый блин, обычно, комом) по крайней мере ты со своей семьей не под мостом окажешься.
    Второе - содержание семьи. Никакие твои заработки не должны влиять на твою жену/ребенка. Твои родные, как минимум, должны иметь крышу над головой + еду на столе. Посчитай сколько ты платишь за комуналку + еду. Далее умножаешь эту сумму на 24 месяца. Это финансовая подушка твоей семьи.
    Третье - планирование. Бизнес без бизнес-плана - это не более чем хобби. С 16 лет стремился зарабатывать в сети. Продавал ссылки на sape.ru в 2008-2009, работал с трафиком в 2010-2012, продавал китайские безделушки с 2013-2014... Сейчас ушел в разработку одного SaaS-решения. Первые пару месяцев оптимизм из ушей хлещет, думаешь "Да все будет, да это фигня, преодалею...." Но вот начинаются черные полосы: ТИЦ сайта в планируемый апдейт не вырос до нужного значения, твой сайт на 9 месте в выдаче, вместо требуемой тебе 3-4 позиции, товар из Китая на таможне завис.... Да я могу до бесконечности перечислять проблемы, которые возникали у меня... А время - деньги: тебе нужно платить аренду, зарплату, рекламу, кредиты и т.д. Не платишь - начинается ругань, из Максима Александровича я сразу превращаюсь в мошенника, кидалу, сволочь... эх, во общем суть ты понял. Думай на 2 шага вперед, вот что я хочу сказать
    Четверное - не делай бизнес с полного нуля. Перт Осипов(проект Бизнес Молодость) в каком-то из видео говорил, что мы не ценим самое ценное что у нас есть, мы воспринимаем это как должное, когда для других людей это может быть сравни бриллианту среди кучи стекляшек. Вы не первый день работайте в ИТ по какой-то специализации, так ведите эту специализацию и дальше. Занимайтесь своим любимым делом.
    Пятое - не пытайтесь все делать сами. Когда я запустил свой самый первый интернет-магазин по Китайским безделушкам я все делал сам: рисовал дизайн, верстал его, настраивал рекламу, обзванивал клиентов, носил товар на почту.... В общем занимался вообще всем! Причем за всей этой рутиной я не видел, что мой сайт работает не эффективно, я упускаю из виду 20% горячих клиентов, 10% моих бандеролей исчезают в глубинах Почты России... Вы как первое лицо компании должны знать все процессы своего предприятия, иначе Вы не сможете им управлять, но Вам не нужно все процессы делать самому. Отдайте часть на аутсорс или делегируйте наемному сотруднику.
    Шестое - я на этом очень сильно обжегся около 3-х лет назад.... Ставьте своим сотрудникам четко достижимые KPI(ключевые показатели эффективности). Например, есть у меня форма заказ обратного звонка на сайте. Человек пишет туда своего Имя и номер телефона, после чего эти данные попадают в CRM. Для менеджеров, которые у меня обрабатывают вызовы клиентов один из KPI звучит так: перезвонить клиенту в течении 15 минут после поступления от него заявки, если она поступила в рабочее время. Причем все KPI Вы должны сформулировать максимально точно и подробно. Я сам с KPI работаю так: есть у человека базовый оклад и базовый набор KPI, которые ему необходимо выполнять. Если он их выполняет - получает оклад, выполняет лучше - получает оклад + премию. Причем оклад у меня сам небольшой, около 6 т.р., но нижняя з/п у меня примерно в 2,5 раза выше.

    Первые 4 пункта - это как мягко выйти, вторые два - как не свалиться.

    В целом о бизнесе в РФ могу сказать что его делать относительно легко. Достаточно просто делать что-то хорошо и по человечески относится к своим клиентам. Примерно за 1 год Вы нарабатываете определенную базу контактов(поставщики/партнеры/клиенты), которые Вас знают и доверяют Вам. А далее главное все это не растерять.

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

    @lPolar
    data scientist
    ИМХО, тут есть несколько аспектов:
    1. Как написал brainick , математический бэкграунд и английский в data science практически обязателен.
    Причин этому несколько: отсутствие хорошей литературы на русском языке (как по теории, так и по программированию), обилие английских терминов (lift/top/cross-validation и прочие), значение которых в переводной литературе порой объяснятся весьма туманно.
    2. Если говорить о конкретной литературе, которую стоит почитать, я бы выделил несколько уровней:
    Уровень 0
    1. Бизнес-аналитика - Паклин, Орешков (самое базовое и обзорное введение)
    2. Статистика/Тервер ( по мне, хороши книги Айвазяна/Мхитаряна)
    3. SQL - в обязательном порядке. Мне в свое время помогла книга "SQL для простых смертных"
    4. Изучаем Python - М. Лутц (наиболее полная книга по языку, все что нужно для data science здесь точно есть)
    5. Программируем коллективный разум (к слову сказать, вот в этой книге отличный перевод)
    Уровень 1
    1. Математические основы машинного обучения и прогнозирования - Вьюгин (книга сложная, без подготовки по учебникам НМУ на тему анализа и линейной алгебры лучше не подходить)
    2. Python for Data Analysis (pandas во всей красе, тут нечего добавить)
    3. Примеры и статьи по построению моделей в sklearn - на хабре в последнее время часто мелькают статьи на эту тему, там все достаточно хорошо расписано.
    Уровень 2
    1. Hadoop и иже с ним ("Hadoop в действии", "Programming Pig")
    2. Apache Spark - достаточно почитать описание Python API.
    Тут есть еще один момент - не стоит слишком привязываться к одному языку и фреймворку.
    Одна из неприятных проблем python+pandas+sklearn заключается в том, что эта связка слабо масштабируется - при 2-3-4 гб данных становится сложно разместить их в оперативной памяти. Я знаю про chunk-reading+partial_fit, но точность таких моделей оставляет желать лучшего.
    С другой стороны, если обрабатывать эти данные в pyspark, то теряется все удобство pandas.DataFrame и так далее. Отрасль data science быстро развивается и обрастает новыми технологиями, так что нужно все время держать руку на пульсе.
    UPD: в spark 1.3 появились DataFrame.
    Ответ написан