Задать вопрос
  • Фриланс снг с нормальными ценами, существует?

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

    @f22
    На мелких нечего ловить.
    От слова "вообще"
    Ответ написан
    Комментировать
  • Где искать заказчиков начинающему фрилансеру?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Не работайте там, где таких как вы миллионы.
    Специализируйтесь на чем-то одном и желательно чтобы у вас не было конкурентов.
    Ответ написан
    Комментировать
  • Где искать заказчиков начинающему фрилансеру?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Знакомые плюс сарафанное радио.
    Биржи совсем не использовал.
    Ответ написан
    Комментировать
  • Каков оптимальный путь для старта на UpWork и пр.?

    @LastDragon
    Работу только не бросайте, старт на апворке весьма долгий, ибо большая часть проектов копеечные + огромная концентрация top rated индусов, которые спокойно работают за 3-4-10$/час - без опыта/портфолио и нормального английского тягаться с ними очень тяжело, а на нормальный проект вас никто не возьмет. Поэтому оптимальный путь для старта пойти в локальную компанию, параллельно пытаясь начать работать на upwork-е (вечер для этого наиболее удобен). Касательно технологий, там в основном только Wordpress/Lavarel/Symfony/Angular2/React (никаких Yii и прочих популярных у нас фреймворков)
    Ответ написан
    Комментировать
  • Где искать заказчиков начинающему фрилансеру?

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

    @LastDragon
    Но что делать если у самого профиль пока не лучший?


    Сначала стоит выбрать узкую нишу ("делать сайты" это не узкая ниша) и научится отфильтровать странных клиентов - payment not verified, Китай, Индия, Россия, низкий рейтинг, 0 заказов, "сделай то не знаю что" и т.д. Потом ищем небольшие конкретные заказы (как уже сказали 50-100$) где надо что-то поправить или сделать что-то небольшое. Последнее даже лучше ибо можно за 3-4 часа накидать прототип и дать заказчику его потыкать - это очень сильно повысит шансы на найм.
    Ответ написан
    Комментировать
  • Стоит тратить свое личное время стартующему фрилансеру на клиента?

    apavlyut
    @apavlyut
    www.apavlyut.ru
    Все что ты делаешь для каждого заказчика обдумай в общую концепцию и сделай сначала твой план работ с клиентами и выложи это на одной странице.

    Когда будешь говорить с клиентом - пиши примерно о чем идет речь по твоим оценкам и давай ссылку на страницу - вся работа идет таким образом.

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

    Если клиент не хочет с тобой работать а хочет "об тебя" подумать / прикинуть / получить проектировку бесплатно - лучше об этом узнать заранее.

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

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

    Продолжай, и не делай всем раскладки просто так. Успехов.
    Ответ написан
    Комментировать
  • Как парсить upwork через скрипт?

    idzenski
    @idzenski
    Директор по развитию партнерской сети BPMx
    Не обязательно именно парсить. Если вопрос стоит в мониторинге заказов — юзайте Upwork Jobs Feed Tracker для Chrome https://chrome.google.com/webstore/detail/gcjmekbf...
    Ответ написан
    2 комментария
  • Как парсить upwork через скрипт?

    opium
    @opium
    Просто люблю качественно работать
    да никто апворк через апи не парсит, все кто хочет парсят обычную веб выдачу она как минимум быстрее иэто имеет хотя бы смысл
    Ответ написан
    3 комментария
  • Как пройти модерацию профиля на UpWork?

    dimasmagadan
    @dimasmagadan
    Стэк - ацтой. Обычно те, что предлагают такой спектр услуг, глубоко ничего из этого не знают, умеют везде по чуть-чуть. Таких специалистов переизбыток. Правильно забанили.

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

    Если совсем не пускают, можно найти кого-то заказчика, заплатить и типо "привести его с проектом на биржу".
    Ответ написан
    Комментировать
  • Какие есть современные альтернативы Wordpress?

    очень неплохой MODX Revolution. Но в некотором смысле это специфичная CMS, точнее CMF. Для создания сайтов визиток, малых и средних корпоративных сайтов идеальная штука. Сайт можно собрать за считанные часы. Главное чтобы верстка была.
    Ответ написан
    5 комментариев
  • Материальная ответственность/штраф за просрочку дедлайна?

    Jump
    @Jump
    Системный администратор со стажем.
    За причиненный Работодателю ущерб Работник несет материальную ответственность в пределах своего месячного заработка, за исключением случаев, предусмотренных ст. 243 ТК РФ.
    Непонятно какой именно ущерб вы принесли работодателю. Уронили греческую вазу на столе руководителя, или перевернули служебный форд фокус?
    Если так - то разумеется придется платить.

    Если же ваш работодатель просохатил проект - и влетел на штрафные санкции по договору, это его проблемы.
    Вы-то тут каким боком?

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

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Насколько я знаю, законы у нас "лесенкой". То есть если в законе, принятом более мелкой инстанцией, пытаются отменить положение закона, принятого более высокой инстанцией - закон этот (от нижней инстации) юридически ничтожен.

    Поэтому:

    - если работали с заключением ТД, то забрать обратно заработную плату, выплаченную за выполнение трудовых обязанностей, работодатель не может. От слова совсем. Максимум что может - премии лишить.
    - понятие "Материальная ответственность" как правило распространяется на материальное - станки, оборудование, запчасти, воду для кулера, ручки, директорское кресло :) - это раз. Материальная ответственность прописывается в ТД - это два. При материальной ответственности там огромная кучища бумаг заполняется, описывающая перемещение этих самых ценностей - это три

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

    Что делать? Во-первых, денег не отдавать, если они уже получены - никаких. Если еще не получены - придти и спросить "Где деньги, Зин"? И все разговоры - на диктофон, причем не стесняться, доставать и предупреждать - буду писать, так как ситуация конфликтная. Все бумаги, что дают подписывать - ксерить. Возможно, придется обратиться в трудовую инспекцию. Возможно даже в суд. Где работодателю придется доказать, что проект сорвался из-за Вас, а не из-за его х...орошего управления :)

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

    Работать правда в этой конторе после всего этого будет нельзя...
    Ответ написан
    2 комментария
  • Материальная ответственность/штраф за просрочку дедлайна?

    BBmike
    @BBmike
    1. Правильно все понял
    2. Можешь не отдавать деньги
    3. Прокуратура / трудинспекция

    И скажи этому дебилу, что проект просрочен не потому, что ты медленно кодил, а он хреново управлял.
    Ответ написан
    6 комментариев
  • Где я могу проверить качество своего резюме?

    Maksclub
    @Maksclub Куратор тега Карьера в IT
    maksfedorov.ru
    Не надо спрашивать HR и рекомендаций сервисов!
    - напишите о своих навыках в описании о себе максимально подробно — это главное поле, остальные миллион полей -- полная дичь
    - напишите 2-3 места работы с описанием релевантных задач (не протокольного формата, а просто — что делали)
    - постарайтесь обойтись без местоимения "я" и без эпитетов (без единого чтобы вообще)
    - поменьше галиматьи про "выберите навыки из списка", меньше про длинные названия университетов и курсов... меньше про личный спорт и хобби — это все фишки сервисов не нужные... вот список того, чем пожертвовал ради хорошего описания, которое не затеряется в куче полей:
    5b4f1446bced5585230989.png

    ...

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

    PS>S. Распространяйте резюме эффективно, вот описание как искал работу через vc.ru
    Ответ написан
    17 комментариев
  • Какими бесплатными стоками вы пользуетесь для поиска иконок, фото и элементов интерфейса?

    DDDsa
    @DDDsa
    В феврале на хабре был список:
    300 потрясающих бесплатных сервисов

    В разделе "Дизайн + код" есть ссылки на подобные ресурсы.
    Ответ написан
    Комментировать
  • Какими бесплатными стоками вы пользуетесь для поиска иконок, фото и элементов интерфейса?

    dukenuk
    @dukenuk
    UI/UX designer, UI artist
    Большой выбор иконок, которые можно скачать бесплатно и вставить для примера в свой макет, а для релиза, когда идея ясна уже отрисовать свои.
    The Noun Project

    В моей копилке сайтов есть следующие ссылки:
    iconmonstr.com
    www.iconarchive.com - free icon stock search
    www.iconfinder.com - free icon stock search

    designmoo.com - stock web dribble ui free
    freepsdfiles.net
    365psd.com/
    365psd.ru/
    www.freebievectors.com
    www.flaticon.com - free icon
    www.freepik.com
    openclipart.org
    www.freedigitalphotos.net
    www.everystockphoto.com
    www.freephotosbank.com
    www.studio25.ro/EN
    www.photogen.com
    www.freejpg.com.ar
    www.turbophoto.com
    www.kavewall.com
    www.morguefile.com
    www.adigitaldreamer.com
    www.imagebase.net
    www.photorack.net
    qvectors.net
    www.vecteezy.com
    https://www.vectoropenstock.com/
    www.vectormadness.com
    www.vectorilla.com
    vector4free.com
    www.graphicsfuel.com
    www.greatvectors.com
    wowvectors.com
    www.vectorportal.com
    www.free-vectors.com
    www.allvectors.com
    www.logoinstant.com - logo
    shaboopie.com - logo
    imageafter.com - текстуры
    mayang.com/textures — с дневным лимитом
    free-textures.got3d.com — частично бесплатный
    newtek.com/freestuff — требуется регистрация

    Free Photo
    search.creativecommons.org — поисковик бесплатных фоток
    https://www.flickr.com/search/?q=paris&l=cc&ct
    https://500px.com/creativecommons
    photopin.com

    Little Visuals littlevisuals.co
    Unsplash unsplash.com
    Death to the Stock Photo join.deathtothestockphoto.com
    New Old Stock nos.twnsnd.co
    Superfamous (requires attribution) superfamous.com
    Picjumbo picjumbo.com
    The Pattern Library thepatternlibrary.com
    Gratisography www.gratisography.com
    Getrefe getrefe.tumblr.com
    IM Free (requires attribution) imcreator.com/free
    Jay Mantri jaymantri.com
    Public Domain Archive publicdomainarchive.com
    Magdeleine magdeleine.co
    Foodiesfeed foodiesfeed.com
    Picography picography.co
    Raumrot www.raumrot.com/10
    ISO Republic isorepublic.com
    www.gratisography.com
    stockphotos.io
    pickupimage.com — в основном, природа и города.
    www.rgbstock.com
    pixabay.com - free photo
    unsplash.com Unsplash
    www.picjumbo.com Picjumbo
    www.gratisography.com Gratisography
    www.superfamous.com Superfamous
    www.littlevisuals.co Little Visuals
    www.splitshire.com Split Shire
    www.pixabay.com Pixabay
    www.imcreator.com/free I’m Free
    www.nos.twnsnd.co New Old Stock
    wefunction.com/category/free-photos Function Free Photos
    pjrvs.com/a/photos Paul Jarvis Free Photos ]
    www.sxc.hu - hi-res free clipart photo
    www.photl.com - hi-res free clipart photo
    getty.edu - photo history
    www.firestock.ru
    www.photogen.com
    www.everystockphoto.com
    www.stockvault.net
    morguefile.com
    freerangestock.com
    www.dreamstime.com/free-photos
    picjumbo.com
    getrefe.tumblr.com
    pixabay.com
    join.deathtothestockphoto.com
    littlevisuals.co
    superfamous.com
    www.coolwebmasters.com/engine/go.php?url=aHR0c..
    compfight.com
    www.coolwebmasters.com/engine/go.php?url=aHR0c..
    www.imcreator.com/free
    nos.twnsnd.co
    photopin.com
    wefunction.com/category/free-photos
    pjrvs.com/a/photos
    allthefreestock.com — все бесплаьные стоки
    www.pexels.com
    ru.photl.com
    https://stocksnap.io/ — CC
    Ответ написан
    6 комментариев
  • Как правильно писать на ООП?

    TLDR: Все зависит от ситуации. Набивайте свои шишки и наберетесь опыта.

    Самый главный вопрос - зачем вы вообще хотите использовать ООП, насколько сложный и "правильный", какие цели хотите достичь.

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

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

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

    Не слушайте евангелистов ФП - сейчас в JS функциональностью модно прикрывать говнокод.

    Так же не слушайте тех, которые на каждом углу кричат "Composition over inheritance", "Banana monkey problem" другие страшные термины. В своем религиозном угаре они забывают, что все эти принципы рекомендации для определенных ситуаций. Да, иногда (в большинстве случаев на самом деле) композиция значительно лучше наследования, очень часто стыкаешься с ситуацией, что наследование применено не в тему и из-за этого усложнено развитие. Но иногда наследование - правильный путь и пока сами не набъете шишек - будет крайне сложно понять разницу. Помогает принцип is-a/has-a. И я видел код отличных программистов, где наследование было применено так, что значительно разгрузило API и упростило код. Не зацикливайтесь из-за религиозных фанатиков.

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

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

    С другой стороны, будут ли довольны пользователи вашей библиотеки, если им придется инджектить все зависимости? Даже если вы сделаете вызов по-умолчанию, то чтобы изменить одну зависимость - придется изменять все. Я приведу пример, где использование наследования даст необходимую вам гибкость и API для пользователя не разбухнет, зато он сможет изменить каждый шаг. Вот:

    interface IPipeline {
    	ResultView Render (RawData rawData);
    }
    
    class Pipeline : IPipeline {
    	protected virtual ParsedRawData ParseRawData(RawData rawData) {
    		return new DataParser(rawData).GetParsedData();
    	}
    	
    	protected virtual ActualData GetActualData (ParsedRawData rawData) {
    		return new HttpRequest(rawData.src);
    	}
    	
    	protected virtual ResultState GetResultState (RawData rawData, ActualData actualData) {
    		return new StateCounter().Count(rawData, actualData);
    	}
    	
    	public virtual ResultView Render (RawData rawData) {
    		var parsed = ParseRawData(rawData);
    		
    		if (parsed.IsValid) {
    			var actual = GetActualData(rawData);
    			var state = GetResultState(rawData, response);
    			return new Renderer().Render(state);
    		} else {
    			throw new Exception("Raw data is invalid");
    		}
    	}
    }


    Для пользователя это выглядит довольно симпатично:
    new Pipeline().Render(rawData);

    Если же ему необходимо брать из другого источника данные - он легко это исправит:
    class MyPipeline : Pipeline {
    	protected virtual ActualData GetActualData (ParsedRawData rawData) {
    		return new LocalStorageRequest(rawData.src);
    	}
    }
    
    new MyPipeline().Render(rawData);


    Конечно, это же можно сделать при помощи композиции. Ну давайте поиграем на основе паттерна Билдер:

    interface IPipeline {
    	ResultView Render (RawData rawData);
    }
    
    class Pipeline : IPipeline {
    	private IRawDataParser rawDataParser;
    	private IActualDataReciever actualDataReciever
    	private IResultStateCounter resultStateCounter;
    	private IRenderer renderer;
    	
    	public GetRawDataParser () {
    		return rawDataParser ?? new RawDataParser();
    	}
    	public GetActualDataReciever () {
    		return rawDataParser ?? new ActualDataReciever();
    	}
    	public Pipeline GetActualDataReciever (actualDataReciever) {
    		actualDataReciever = actualDataReciever;
    		return this;
    	}
    	
    	// ...
    	private GetRenderer () {
    		return renderer ?? new Renderer();
    	}
    	
    	
    	public virtual ResultView Render (RawData rawData) {
    		
    		var parsed = GetRawDataParser().Parse(rawData);
    		
    		if (parsed.IsValid) {
    			var actual = GetActualDataReciever().Get(rawData);
    			// ...
    			return GetRenderer().Render(state);
    		} else {
    			throw new Exception("Raw data is invalid");
    		}
    	}
    }


    Использование по-умолчанию всё то же:
    new Pipeline().Render(rawData);

    А изменить пользователь их может так:
    new Pipeline()
    	.SetActualDataReciever(new MyDataReciever())
    	.Render(rawData);


    Тут впору уже и о DI Container'ах почитать.

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

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

    Xuxicheta
    @Xuxicheta
    инженер
    У вас линейная обработка данных, это одна процедура, а вы сделали класс ради класса.

    Вообще в js я начал стараться предпочитать функциональный стиль там, где это возможно.
    Даже методы пишу максимально похожими на чистые функции. Так проще переиспользовать их в других местах и, вообще, понятнее что происходит.
    А то уже замучался разбираться с этим хардкорным ООП, которое встречается сплошь и рядом.

    Качественный класс написать сложно, плюс наследование в js не особо рекомендуется. А для композиции лучше подходят простые функции.
    Ответ написан