Уважаемые партнеры! У вас есть возможность приобрести оборудование по особым ценам
Средства и системы охранно-пожарной сигнализации
Средства и системы охранного телевидения
Средства и системы контроля и управления доступом
Домофоны и переговорные устройства
Средства и системы оповещения, музыкальной трансляции
Источники питания
Средства пожаротушения
Шкафы, щиты и боксы
Сетевое оборудование
Кабели и провода
Системы диспетчерской связи и вызова персонала
Электрооборудование
Умный дом
Оборудование СКС
Инструменты
Монтажные и расходные материалы
Типовые решения
Еще
Весь каталог
Теперь у Вас есть возможность приобрести прекрасный загар, не боясь вредного воздействия солнечных лучей!
КРЕМ АЛОЭ ЗАЩИТА ОТ СОЛНЦАКод продукта: №199
Зная об опасностях длительного пребывания на солнце, мы ищем качественные средства, которые могут защитить нашу кожу Крем Защита от Солнца снимает раздражение и блокирует ультрафиолетовое излучение, имея высокий фактор защиты (SPF=30)Свойства- Оптимально высокий фактор защиты от солнца (SPF=30)
- Водоотталкивающая формула длительного действия — сохраняет солнцезащитные свойства в течение 40 минут после купания
- Увлажняет кожу и сохраняет загар на длительный срок
- Удобен в применении и безопасен для детей и взрослых
Описание
Все кажется прекрасным, когда светит солнце, но, зная об опасностях длительного пребывания на солнце, мы теперь ищем всевозможные качественные средства, которые могут защитить нашу кожу. Лучшее из них — Крем Алоэ Защита от Солнца от Форевер! Это эффективное солнцезащитное средство создано на основе последних достижений современной науки с использованием натуральных ингредиентов. Уникальный водоотталкивающий крем с высоким содержанием Алоэ Вера способен защитить кожу от солнца, а также увлажнить и успокоить ее. Солнцезащитный крем с Алоэ от Форевер блокирует ультрафиолетовое излучение и имеет высокий фактор защиты от солнца (SPF=30). При длительном воздействии солнца кожа теряет влагу и обгорает, в то время как это шелковистое несмываемое водой средство способно поддержать природный баланс влажности кожи и надолго защитить ее от палящих лучей и ветра.
СОСТАВ
Стабилизированный гель Алоэ Вера (35%), октил метоксициннамат, октил салицилат, оксибензон, оксид цинка.
ДОПОЛНИТЕЛЬНЫЕ ИНГРЕДИЕНТЫ
Вода, диметикон, полисорбат 80, С12-15 алкил бензоат, гидроксиэтил актилат/ натрий акрилоилдиметилтаурат кополимер, сквалан, глицерилстеарат, цетиловый спирт, глицерин, полисорбат 60, VP/кополимер эйкозин, PEG-100 стеарат, диазолидинил мочевина, метилпарабен, пропилпарабен, ксантановая смола, ароматизатор, натуральный витамин Е.
ОБЪЕМ УПАКОВКИ
РЕКОМЕНДАЦИИ ПО ПРИМЕНЕНИЮ
За 15 –30 минут перед выходом на солнце нанесите крем на открытые участки кожи. Повторное нанесение рекомендуется по истечении 40 минут после купания, или, когда почувствуете, что кожа стала сухой.
aloe-doctor-flp.blogspot.com
8 хитрых уловок выгодного онлайн-шопинга, чтобы тратить меньше, а покупать больше
Ребята, мы вкладываем душу в AdMe.ru. Cпасибо за то,
что открываете эту
красоту. Спасибо за вдохновение и мурашки.
Присоединяйтесь к нам в Facebook и
Любители совершать покупки онлайн иногда даже не подозревают, какую выгоду упускают из-за простого незнания о полезных сайтах или некоторых других нюансах «умного» шопинга. Если вы периодически задумываетесь о том, чтобы сэкономить без ущерба для настроения, или покупать больше без удара по кошельку, — эта статья специально для вас.
AdMe.ru узнал сразу 8 хитрых манипуляций, которые позволят не растрачивать свои средства впустую, а также признаки добросовестных магазинов и некоторые принципы безопасности онлайн-шопинга. Сохраните себе, чтобы ничего не забыть.
Для начала обратите внимание на параметры, по которым можно определить достойный интернет-магазин
Существуют миллионы сайтов, и найти среди них лучшие подчас бывает не так просто. Однако, чтобы все-таки определиться точнее и не покупать что-то в первом попавшемся месте, важно держать в голове несколько важных параметров:
- Важно, чтобы магазин предоставлял международную доставку.
- Признаком надежного магазина является широкий ассортимент и сотрудничество с большим количеством брендов.
- Четко прописанные гарантии и правила возврата, минимизирующие риски клиента и не оставляющие вопросов и сомнений.
- Сотрудничество с официальными платежными системами: это уже подразумевает, что магазин уже прошел несколько уровней проверок.
Одним из наиболее популярных онлайн-магазинов, отвечающих всем перечисленным требованиям, и даже больше, является, например, Asos.
1. Очистите историю просмотров и файлы cookie в своем браузере, чтобы видеть адекватные цены
Мы живем в мире активно развивающихся цифровых технологий, и вы уже наверняка поняли, на примере контекстной рекламы, как много знает и запоминает о нас интернет. Поэтому неудивительно, что продавцы так же пользуются всевозможными преимуществами, чтобы предложить каждому покупателю соответствующую цену, в зависимости от его местоположения, интересов, поведения в сети и даже ранее совершенных покупок. Чаще всего эта хитрость проявляется при покупке билетов на самолет или поиске жилья.
Помимо очистки браузера мы также советуем выйти из всех социальных сетей и даже, возможно, перейти в режим инкогнито на время шопинга.
2. Выбирайте компании, у которых есть программы поощрений
Подобные дополнительные удобства можно рассмотреть на примере тех же авиакомпаний или других учреждений, которые предоставляют услуги по транспортировке и проживанию. Как правило, они предлагают специальные бонусы или скидки во время поездок, которые распространяются на отели, рестораны, магазины, тематические парки и так далее.
Разобравшись в этом вопросе подробнее, вы можете удивиться, как много возможностей упускали раньше, когда не присоединялись к таким программам.
3. Лучше всего заниматься шопингом со среды по пятницу
Подписка на тематические группы, которые предоставляют информацию о скидках на авиаперелеты, или попытки подгадать и купить билет на рейс в определенный день — это не все секреты успешной сделки. Эксперты также рассказывают о том, что есть определенные дни недели, когда покупки совершать выгоднее всего. Самые популярные дни, в которые торговцами предоставляются специальные льготы и скидки, — это среда, четверг и пятница. В этот период вполне можно воспользоваться преимуществами спецпредложений и бесплатной доставки.
4. Извлеките выгоду из подарочной карты со скидкой
Существуют такие сайты, например как Cardpool, которые перекупают у людей их подарочные карты, если они им по каким-то причинам не подошли, и перепродают со скидкой. Допустим, у кого-то есть карта на $ 50, он продает ее сайту за 30 или 40 (все лучше, чем совсем ничего, правда?), а сайт затем перепродает за $ 35–45. В итоге вы имеете выгоду в $ 15 или $ 5. Да, на это потребуется чуть больше времени и стараний, и все же, если вы отъявленный шопоголик, это вполне хороший вклад.
5. Попробуйте закинуть товар в корзину и выйти с сайта, чтобы получить более выгодное предложение
Если вы не уверены в каком-то товаре, поместите его в корзину и покиньте сайт, не завершив покупку. Иногда магазин может обратиться к вам со специальной скидкой. Просто убедитесь, что у вас есть учетная запись и вы залогинены, чтобы специалисты смогли написать вам. Кроме того, при регистрации нужно поставить галочку напротив пункта, где говорится о возможности связаться с вами по поводу распродаж и специальных предложений.
6. Не забывайте пользоваться специальными сайтами для сравнения цен
Секрет успеха прост: найдя необходимые вещи, не торопитесь покупать их на том же сайте. Прежде лучше воспользоваться данными онлайн-ритейлеров вроде Urstyle или Shop Style: на этих сайтах вы можете поискать те же предметы нужных размеров и цветов и дополнительно увидеть сравнение цен. На другом сайте та же самая вещь может оказаться в 2 раза дешевле. Так зачем переплачивать?
7. Зарегистрируйтесь дважды, чтобы получить дополнительную скидку
www.adme.ru
7 трюков для тех, кто хочет принять верное решение
Ребята, мы вкладываем душу в AdMe.ru. Cпасибо за то,
что открываете эту
красоту. Спасибо за вдохновение и мурашки.
Присоединяйтесь к нам в Facebook и ВКонтакте
Легко определиться с выбором, когда один из вариантов очевидно лучше / выгоднее / перспективнее. И мучительно сложно, когда на чашах весов представлены равноценные альтернативы.
AdMe.ru попробует вернуть вам здоровый сон и душевное спокойствие. Предлагаем вашему вниманию 7 способов выйти из ступора и принять правильное решение.
1. Дать совет другу
Со стороны это может выглядеть как легкая форма раздвоения личности, но попробуйте представить на своем месте другого человека (друга, коллегу). Сделайте вид, что проблема выбора — его, а не ваша. Абстрагируйтесь, отойдите в сторону, понаблюдайте, а затем дайте совет.
Такой прием помогает отбросить эмоции, которые затуманили ваш разум в муках выбора, и более трезво взглянуть на суть вопроса.
2. Отключить информационный шум
Нам кажется, что чем большим количеством сведений мы располагаем, тем объективнее способны оценить ситуацию. Однако бесконечный информационный поток только усиливает напряжение и запутывает наш мозг. Мы начинаем придавать излишнюю важность незначительным фактам и упускаем из вида существенное.
Временно отключите информационный шум, расслабьтесь и позвольте своему разуму самостоятельно найти верный ответ, ведь неспроста многие ученые совершали свои великие открытия во сне.
3. Отрицать очевидное
К определенному возрасту каждый из нас обзаводится собственным стилем поведения в целом и принятия решений в частности. Сломайте шаблон и поспорьте с самим собой, поставив под сомнение очевидные факты в отношении каждого варианта развития событий.
Возьмите ручку, листок и выпишите их, затем переверните лист и придумайте, что будете делать в таких обстоятельствах. Очень часто ответ находится за границами привычных мыслей.
4. Взять у себя интервью
Прежде чем окончательно определиться с решением, задайте себе 3 вопроса и отвечайте на каждый в течение 10 минут. Итак, если вы пойдете по выбранному пути, то:
- Как вы будете себя чувствовать через 10 дней?
- Как вы будете себя чувствовать через 10 месяцев?
- Как вы будете себя чувствовать через 10 лет?
Прислушайтесь к своим ощущениям. Прочувствовать перспективы не менее важно, чем обдумать их. Удовольствие или дискомфорт при визуализации вашего выбора часто говорят громче доводов разума.
5. Поиграть в эпитеты
Подберите для каждого из вариантов решения несколько прилагательных, а затем примените их по отношению к самому себе. Скажем, вы выбираете между 2 предложенными должностями: одна — динамичная, требующая коммуникабельности и постоянных передвижений, другая — стабильная, подразумевающая вдумчивый подход и внимание к деталям.
А теперь попробуйте употребить эти описания по отношению к себе. Какое подходит вам больше? Это крайне важно: делая любой выбор, вы всегда в той или иной степени определяете свое будущее.
6. Нарисовать квадрат Декарта
Этому приему AdMe.ru посвятил отдельную статью. Секрет его эффективности в том, что, принимая сложные решения, мы часто зацикливаемся только на одном вопросе: что будет, если это произойдет? Квадрат Декарта помогает рассмотреть ситуацию с нескольких сторон и сделать более осознанный выбор.
7. Ограничить себя во времени
www.adme.ru
7 уловок сознания, из-за которых мы принимаем неверные решения
Ребята, мы вкладываем душу в AdMe.ru. Cпасибо за то,
что открываете эту
красоту. Спасибо за вдохновение и мурашки.
Присоединяйтесь к нам в Facebook и ВКонтакте
Ученые давно развенчали миф, что мы используем только 10 % нашего мозга. На самом деле даже при выполнении элементарных задач он задействован более чем наполовину. При этом мозг использует 1/5 часть всей нашей энергии. Нет ничего удивительного, что в процессе анализа данных он придумывает различные уловки, чтобы собрать важные сведения и на их основе как можно быстрее принять решение. Вот только это решение далеко не всегда является лучшим.
Мы в AdMe.ru собрали для вас несколько ошибок мышления, из-за которых мы порой делаем абсолютно неверные выводы и усложняем себе жизнь, а также советы, как не допустить такого поворота событий.
1. Сладкий эксперимент
Представьте себе ситуацию: вам подарят пирожное, если вы вспомните один из самых своих счастливых дней, или готовы вручить целых 3 пирожных, если вы вспомните самое неприятное событие из вашей жизни. Что бы вы выбрали?
Большинство людей предпочтут второй вариант. Но удовольствие от поедания сладкого омрачается неприятными воспоминаниями, и такие люди отнюдь не становятся более счастливыми от того, что выбрали вариант с большим количеством пирожных. По этой же причине многие люди не бросают курить: получить удовольствие здесь и сейчас для них важнее угрозы неприятных последствий в будущем.
- Совет: принимая любое решение, старайтесь руководствоваться не только сиюминутной выгодой, но и теми бонусами, которое оно сможет в дальнейшем вам принести. Покупка платья ценой в несколько ваших зарплат принесет кратковременную эйфорию, за которой последует месяц жизни на хлебе и воде. Нужно ли вам это?
2. Наш мозг любит нас обманывать
Наш мозг работает в различных режимах: мы можем использовать диффузное мышление и сравнивать разные варианты, а можем фокусироваться на объекте и игнорировать всю постороннюю информацию. Представьте себе, что вы решили приобрести новую мультиварку. Есть модель со стандартным набором функций, а есть навороченная новинка, которая может самостоятельно лепить и жарить котлеты и печь пирожки с румяной корочкой. Вы покупаете вторую модель, пусть даже она стоит вдвое больше, приносите ее домой и переходите к этапу испытания.
Оказывается, что домашними пирожками вы балуете себя редко, а пожарить в мультиварке за 1 раз можно только 6–7 котлет. Дело в том. что в режиме сравнения мы лучше определяем количественные различия, а в режиме испытания — качественные.
- Совет: перед любой серьезной покупкой защитите себя, написав список всех причин, по которым вы покупаете этот товар, и те задачи, которые он должен выполнить. Так вам будет проще выбрать именно тот оптимальный вариант, который сможет удовлетворить все ваши запросы и при этом не будет иметь функций, которые в действительности вам не нужны.
3. Путь наименьшего сопротивления
Авторы книги «Nudge. Архитектура выбора» Ричард Талер и Касс Санстейн уверены, что люди очень часто делают выбор, который требует от них минимальных усилий, даже если для них это невыгодно, ну а компании этим активно пользуются. К примеру, раз в месяц вам приходит сообщение об автоматическом продлении подписки на какой-либо ресурс или журнал. Многие таким образом платят за издания, которых даже не открывают.
Представьте себе: вы устанавливаете новую программу, где есть варианты стандартной или выборочной установки. Изначально галочка стоит напротив надписи «стандартная установка», и большинство людей выбирают этот вариант автоматически, не желая лишний раз кликнуть мышкой и вникать в детали. Создатели программного обеспечения это знают и основываются на двух принципах: удобстве и выгоде. И такие значения «по умолчанию» довольно часто влияют на наш выбор.
- Совет: не спешите сломя голову принимать самое простое и очевидное решение. Рассмотрите все альтернативные варианты и подумайте, какой из них в перспективе окажется наиболее полезным.
4. Необоснованный оптимизм
www.adme.ru
9 доказательств того, что у вас уже есть всё для счастья, и даже больше
Ребята, мы вкладываем душу в AdMe.ru. Cпасибо за то,
что открываете эту
красоту. Спасибо за вдохновение и мурашки.
Присоединяйтесь к нам в Facebook и ВКонтакте
Радость от новой вещи длится всего пару дней, учеба в институте порой кажется пустой тратой времени, а кто-то стесняется ездить на работу в общественном транспорте. Человек привыкает жить в своей среде и редко задумывается о других.
AdMe.ru собрал 9 вещей из вашей жизни, которые для очень многих людей на Земле — настоящая роскошь. Не забудьте ответить на важный вопрос в конце статьи.
1. Вы получили начальное образование
Часто можно услышать, как вчерашние выпускники называют свой диплом «бесполезной картонкой», а элементарные умения — читать и писать — мы воспринимаем как должное. И мало кто задумывается о том, что:
- В мире около 263 млн детей не посещают школу. Дети вынуждены работать, чтобы их семьи смогли выжить.
- Около 750 млн взрослых людей не умеют читать и писать, и эта цифра постоянно растет.
2. У вас есть доступ к безграничным ресурсам
Одна из неприятностей в нашей жизни — отключение горячей воды и когда приходится придумывать изощренные способы, чтобы умыться на работу. Но попробуйте только представить:
- 3,5 млрд человек на планете лишены доступа к безопасной питьевой воде.
- У 40 % мирового населения нет туалетов.
- Каждый год умирают почти 3 млн человек из-за качества воды. Среди них 1,5 млн — дети в возрасте до 5 лет.
3. Вы можете максимально улучшить здоровье
Проблемы со здоровьем случаются у каждого, но счастье, если вы можете вернуться к физическим упражнениям, найти работу и обеспечивать самого себя. Многие люди с ограниченными возможностями хотели бы трудиться и получать за это достойную зарплату, но их почти нигде не принимают:
- 10 % от всего населения планеты — инвалиды. Это более 650 млн человек, и каждый год число увеличивается.
- Инвалидов среди населения трудоспособного возраста 386 млн. В некоторых странах безработица среди инвалидов достигает 80 %, работодатели считают, что инвалиды не способны работать.
4. У вас другое представление о пожилом возрасте
Современная косметология и фармацевтика направлены на продление молодости. Можно скорректировать зрение, убрать возрастные изменения и вдохновляться модными пожилыми людьми, которые ведут активный образ жизни. Все говорят, что 40 — это вторые 20, только на планете есть места, где жизнь обрывается на шокирующей для нашего времени отметке:
- Сьерра-Леоне — 50 лет;
- Ангола — 52 года;
- Чад — 53 года.
5. У вас есть свобода выбора
Мы привыкли думать, что единственная форма рабства — офисная работа. А теперь представьте: 40 млн человек, которые не распоряжаются своей жизнью, — именно столько человек находятся в настоящем рабстве.
6. Вы знаете, что такое комфорт
Вы не засыпаете каждый день голодными, утром согреваетесь в горячем душе и думаете, что надеть, просматривая новостную ленту. У вас уже есть больше, чем нужно для комфортной жизни. Возможно, понять это вам помогут цифры:
www.adme.ru
Простая возможность приобрести опыт в IT / Parallels corporate blog / Habr
Анестезиолог Кон Коливас разработал собственную версию планировщика задач для Linux ядра, потому что существующая реализация была адаптирована под серверные задачи, но неудовлетворительно справлялась с пользовательскими задачами.Алексей Кузнецов, который по воле случая «превратился» в Linux хакера, сменил свою профессию с физика-теоретика на системного программиста.
ИТ-журналист Пётр Семилетов помимо своей основной работы уже десять лет разрабатывает свой текстовый редактор Tea с открытым исходным кодом.
Леся Новасельская, получившая специальность паталогоанатома, участвует в тестировании проекта c открытым исходным кодом.
Подобных примеров множество. Всех этих людей объединяет одно — они реализовали свои интересы в проектах с открытым исходным кодом и участвовали в них и для удовольствия, и для получения опыта. Сложился некий миф о том, что открытый проект – это только для программистов, причем тех, у кого уже есть большой опыт в разработке. Но это не так. Открытый проект — это не только разработка исходного кода, но и тестирование, техническая поддержка, написание документации, маркетинг и т.д. А ещё — отличный шанс приобрести опыт и получить удовольствие от общения с такими же единомышленниками, как вы. Согласно результатам голосования основным препятствием для участия в открытом проекте является отсутствие понимания того, как присоединиться к проекту. Поэтому в статье мы разберёмся как и в качестве кого можно присоединиться к такому проекту.
Пишите новый код
Не думайте, что вам необходимо быть гением, чтобы начать работать над проектом. Если знаете язык программирования, который используется в проекте, — реализуйте новую функциональность и предложите взять ваши наработки в проект. Все разработчики в проекте, независимо от опыта и квалификации, могут помочь вам с кодом. В одних проектах более лояльны к новичкам, в других менее. Но если ваши наработки принесут пользу другим людям, то ваш код не останется незамеченным.
Для каждого проекта характерны свои внутренние технические процессы, поэтому узнайте о них побольше, прежде чем предложить свой вариант. Например, на проекте PostgreSQL жёстко регламентированы все процессы: изменения в коде отправляются в виде патча в рассылке всем основных разработчикам, которые тщательно изучают все изменения. С другой стороны, есть и другие типы проектов, как, например, Parrot, где программисты могут «коммитить» основной репозиторий. Если на проекте используется GitHub, возможно, процессы поставлены через pull request’ы, т.е. через запросы на включение сделанных изменений. Помните: нет двух одинаковых проектов. Всякий раз, когда вы переписываете код, не забывайте, что вы работаете в команде, поэтому делайте всё возможное, чтобы ваш стиль совпадал со стилем, принятым в проекте. Часть кода, которую вы добавляете или меняете, не должна выбиваться из общего кода. У вас могут быть свои предпочтения в оформлении кода, но ваш код должен соответствовать общим стандартам, принятым в проекте. В противном случае это то же самое, что сказать: «Мне не нравится ваш стиль, и я думаю, что мой лучше, поэтому вы должны делать так, как я».
Приоритезируйте дефекты
Безусловно, код – это основа любого открытого проекта, но его написание – не единственный способ участия в нём. Технической поддержке зачастую уделяют недостаточно внимания в погоне за созданием новых функциональных возможностей и исправлением ошибок. А ведь именно это и есть те области, которые позволяют даже новичкам войти в проект.
Например, у проекта OpenVZ есть полностью открытая система работы с дефектами — bugs.openvz.org, где собраные все известные (исправленные и неисправленные) проблемы за всё время существования проекта (без малого десять лет). Багтрекер – один из механизмов коммуникации между разработчиками и пользователями. Постоянная работа с текущими запросами даёт отличную возможность внести свой вклад в проект. Для работы с системой вам могут понадобиться специальные права доступа, которые вам предоставит менеджер проекта, следуя принципам меритократии.
Тестируйте промежуточные версии
Опрос в сообществе тестировщиков ПО показал, что интерес к тестированию ПО с открытым исходным кодом со стороны профессиональных тестировщиков есть. Многие хотели бы поучаствовать в таких проектах, но не знают с чего начать. В свою очередь в любом проекте (даже в коммерческом) всегда есть недостаток тестировщиков. Обнаружение и сортировка багов может значительно сэкономить время разработчикам на поиск проблемы. Если пользователь пишет: «Программа не работает, когда я делаю такие-то шаги», — не поленитесь разобраться в том, чем вызвана эта проблема. Проблема повторяется? Вы можете продемонстрировать её, повторив ряд конкретных шагов? Сузить круг проблемы до конкретного браузера или дистрибутива? Даже если вы не знаете истинную причину проблемы, попытки сузить круг возможных причин во многом помогут разработчикам справиться с ней. Независимо от того, что вам удалось выяснить, добавьте свои комментарии к багу, чтобы все могли с ними ознакомиться.
По своему опыту могу сказать, что у открытых проектов не хватает ресурсов хорошо протестировать новую функциональность. Поэтому перед тем как добавлять серьёзные изменения в основную ветку репозитория исходного кода проект старается привлечь как можно больше людей для тестирования. Такая практика так и называется — призыв к тестированию (call for testing). Ни один проект не обладает тем количеством аппаратных и программных конфигураций, которые имеет сообщество этого проекта. Разработчики проекта OpenBSD анонсируют появление новой функциональности в новостях, чтобы привлечь внимание тестировщиков и пользователей к ней. То же самое мы делаем и в проекте OpenVZ — публикуем список новой функциональности, доступной для тестирования.
Вы можете принять участие в тестировании и убедиться, что продукт работает на той или иной платформе. Как правило, вам необходимо собрать и установить новый «билд» и протестировать продукт, но особенно значимо для проекта, если вы используете нестандартные аппаратные средства. Если вы подтвердите, что сборка работает и при таких условиях, это существенно облегчит задачу руководителей проекта в определении текущего статуса релиза.
Пишите тесты
В большинстве проектов используются программные комплексы, предназначенные для тестирования кода, но сложно представить себе такой комплекс, который бы не предусматривал возможности добавления в него новых тестов. Используйте такие тестовые инструменты, как gcov для C, чтобы установить те области исходного кода, которые нельзя протестировать имеющимися тестами. Затем добавьте соответствующий тест, чтобы иметь возможность протестировать необходимую функциональность.
Исправляйте баги и добавляйте новую функциональность
Патч с исправлением проблемы или добавляющий необходимую вам функциональность — это своего рода классический способ вовлечения в открытый проект (если помните, с этого началось вообще всё движение за свободное ПО). Этот способ рекомендует и Джеймс Боттомли, CTO Virtuozzo, тем, кто хочет принять участие в Linux-проекте, но не знает, как. Обычно он приводит в пример случай, когда у него возникла необходимость в изменении функциональности SIP клиента в Android. Он обнаружил отсутствие необходимой функциональности, сделал патч и отправил в проект SIPdroid.
При создании новой функциональности неплохо также добавить тест для тестирования той части кода, которую вы исправили; некоторые проекты требуют, чтобы все исправления дефектов сопровождались соответствующими тестами. Ведите записи по мере того, как вы осваиваете незнакомый код. Даже если вы не можете справиться с багом, опишите в тикете то, что вам удалось о нем выяснить. Это поможет тем участникам команды, которые будут работать с багами после вас.
Помогайте поддерживать инфраструктуру проекта
Вам интересна область DevOps? Это направление сейчас очень популярно. Хороших инженеров DevOps очень трудно найти, мы это знаем на собственном опыте. Получить опыт можно в проектах, в которых ведётся открытая разработка инфраструктуры. Это такие проекты как Wikipedia, проект Fedora Linux. OpenVZ только делает первые шаги в этом направлении.
Настройка процесса непрерывной интеграции для компонентов проекта, пакетирование компонентов для Linux дистрибутивов, автоматическая настройка окружения разработчика, — всё это тоже задачи DevOps.
Пишите и переводите документацию
Ведение документации – рутинная составляющая любого проекта, которой зачастую пренебрегают. Кроме того, проблемы с документацией часто могут быть вызваны тем, что она написана с точки зрения людей, хорошо знакомых с проектом, а не тех, кто только знакомится с ним. Если при чтении документации по проекту вас когда-нибудь посещала мысль: «Такое ощущение, что её написали так, как будто я уже знаю, как пользоваться программой», то вы понимаете, о чем речь. Очень часто новый взгляд со стороны позволяет выявить недостатки в текущей документации, которые могут не заметить непосредственные участники проекта. К тому же в динамично развивающихся проектах документация быстро устаревает и её требуется поддерживать в актуальном состоянии.
Если вы по какой-то причине думаете, что заниматься этим «несерьёзно», то вы ошибаетесь. Нет «серьёзного» или «несерьёзного» вклада в открытый проект. К примеру, разработчик OpenBSD (в то же время и сотрудник CERN) Инго Шварц (Ingo Schwarze) написал утилиту mandoc, которая теперь используется для форматирования страниц документации не только в OpenBSD, но и в FreeBSD, NetBSD, DragonFlyBSD и попутно привёл в порядок форматирование существующих страниц документации в проекте. Об этом он рассказывал на BSDCan 2015. Так что все зависит от того, что интересно вам. Если интересно — беритесь и делайте!
Помогайте другим пользователям с их проблемами
Лучший способ сплотить команду – это помогать другим. Для дальнейшего успеха проекта особенно важно отвечать на вопросы, в частности, на вопросы новичков. Это время не будет потрачено зря, даже если он задает вопрос, на который можно найти ответ, перечитав необходимую документацию. Кроме того, вы получите нового благодарного и активного участника своей команды. Все с чего-то начинают, а любому проекту необходим постоянный приток кадров, чтобы он продолжал развиваться.
Рекламируйте любимый проект
Если у вас есть блог, делитесь своим опытом, который вы получили в проекте. Расскажите о проблемах, с которыми вы столкнулись при использовании ПО, и как вам удалось их решить. Таким образом, вы сможете убить двух зайцев сразу: поддержать внимание к проекту своих коллег и создать полезную базу информации для тех, кто присоединится к нему в будущем и будет искать в сети ответы на уже описанные вами вопросы. Блог, рассказывающий о ваших технических достижениях и изысканиях – это также отличный способ поделиться реальным опытом разработки и решения технических проблем, который может вам пригодиться при поиске новой работы. Во многих проектах есть агрегаторы записей из блогов участников проекта, традиционно их называют «планетами»: планеты OpenVZ, Linux kernel, Perl, Freedesktop, Gnome, Debian и т.д. Записи увлечённых своим делом людей могут быть интересны даже если вы никак не связаны с проектом.
Делайте дизайн
Дизайн — это бич большинства открытых проектов. Скучные сайты, невзрачные логотипы сопровождают проекты просто потому что технические люди в основном зациклены на реализации, а не на том, как это должно выглядеть. Поэтому участие дизайнеров крайне приветствуется. Пользователи сайта StackExchange попробовали ответить на вопросы «как графический дизайнер может внести вклад в открытый проект», «чем должен мотивироваться дизайнер для участия в открытом проекте», но мнения их разошлись. Дизайнеры из компании RedHat также осознали необходимость более активного участия дизайнеров в открытых проектах и попробовали создать сайт, который поможет открытым проектам и дизайнерам найти друг друга, но о фактах успешного применения проекта я пока не слышал.
Ищите задачи, которые интересны вам и полезны проекту и пытайтесь их решить. Способы участия в проекте могут отличаться от проекта к проекту, поэтому отличным стартом могут быть страницы с описанием вариантов участия в проекте: OpenStack, OpenVZ, FreeBSD и т.д. Сам факт того, что у проекта есть такая страница говорит о том, что он открыт для участия других людей.
Чтобы подкрепить все наши слова фактами мы собрали отзывы трёх людей, которые получили профессиональный опыт в открытых проектах:
Александр Юрченко, разработчик в компании Яндекс:
На свою первую серьезную работу за деньги (разработчик встраиваемых систем) я пришел уже будучи больше года официальным разработчиком ядра бесплатной операционной системы OpenBSD. Официальным – в смысле у меня был доступ на запись в репозиторий. А до этого еще с год я был «зрителем», присылающим патчи разработчикам.
Должен сказать, что участие в подобном проекте дает колоссальный опыт. В хорошем крупном opensource проекте есть все, что обычно требуют от разработчика на собеседовании: и грамотное проектирование, и хорошее кодирование, и навык работы с системой контроля версий и баг-трекером, а так же peer review, работа в команде и т.д. и т.п. Таким образом, «поварившись» год-другой в такой атмосфере, можно запросто вырасти до уровня, который соответствует позиции Senior developer.
Собственно, со мной так и было. Я не имел никакого формального опыта работы (по трудовой), но меня сразу взяли старшим разработчиком. А после первой недели испытательный срок был уменьшен с трех месяцев до нуля 🙂
Кирилл Горкунов, разработчик проектов OpenVZ и CRIU:
Попал в OpenVZ достаточно случайно. По работе занимался в основном прикладным программированием, практически не имеющим точек пересечения с системным. В какой-то момент приобрел свой первый 64-х битный ноутбук (Acer с AMD Turion 64), ну и поскольку Windows 64 битной под руками не было, поставил Gentoo. С Linux до того момента знакомства практически не имел, так, поиграться ставил какой-то древний RedHat, но особо не впечатлил, да и для решения текущих рабочих задач эта операционка не подходила. Под Gentoo ноут более-менее работал, но некоторых драйверов не было в стандартной поставке ядра, так что пришлось собирать свое ядро из исходников. Тут я и словил первый баг, правда, не в самом ядре, а в программе формирования конфигурации ядра. Порыскал по сети — решения проблемы нет, ну и решил сам попробовать исправить. Оказалось, пришлось разбираться с множеством смежных задач (как собирается ядро, какие инструменты используются и т.п.). Сделал патч, выслал в рассылку. К моему удивлению, мэйнтейнеры ядра отнеслись очень благосклонно даже к такому «кривому» патчу (забегая вперед, скажу, что пришлось переделать, так как патч был таки отвратительный, просто не стали сразу давать “от ворот поворот”), но не было ни одного смешка в сторону новичка: объяснили что и как, и показали как делать правильно.
Дальше заинтересовало само ядро — как работает, какие алгоритмы используются. В этом отношении “открытость” проекта оказывает неоценимую услугу: можно посмотреть как решаются те или иные задачи (не какие-то теоретические, а реальные). Нередко возникал вопрос “а почему так, а не эдак”, и вот тут крайне полезно иметь обратную связь с автором кода. Открытые списки рассылки не только позволяют спросить у разработчиков “что и как”, но, что более важно, служат чем-то вроде базы знаний — всегда можно поискать в архивах обсуждения проблем и методы их решений.
Для начинающего программиста без опыта работы, такое окружение — просто благодатная почва, чтобы попробовать свои силы, понять, а надо ли это все мне.
Примерно так было и со мной: несколько лет правил что-то в коде, высылал патчи, получал по рукам за кривой код, ну и одобрения, если патч был правильным и красивым. Такой опыт фактически бесценен. И можно быть уверенным, если у тебя начинает что-то получаться, то тут же появятся предложения о работе. Я так и пересекся с разработчиками Linux ядра из OpenVZ. Ну а дальше решили работать вместе над OpenVZ ядром и смежными программами, не забывая конечно и о ванильном ядре.
Открытость проекта — чрезвычайно важное подспорье при обучении практическому программированию, но надо понимать, что проект проекту рознь, и открытость сама по себе абсолютно не гарантирует качества кода (если закачать свой код на гитхаб, он не становится от этого хорошим кодом). Равно как и обратное — закрытый код не является априори хорошим или безопасным.
Александр Поляков, разработчик
Я думаю в моей истории ничего оригинального нет. Как это происходит обычно — начинаешь использовать какой-то софт и внезапно оказывается, что хотелось бы чтобы что-то в нем работало не совсем так или чего-то не хватает, или есть противные косяки.
В случае опенсорса есть возможность исправить это самому. Так было с оконным менеджером dwm, в котором меня раздражала конфигурация через config.h c перекомпиляцией: сначала я добавил конфиг через xrdb, потом click to focus и т.д. Такие изменения не соответствовали минималистичным гайдлайнам проекта, поэтому пришлось делать форк. C DragonFlyBSD примерно то же самое: завлекательные тексты на сайте звучали интересно, FreeBSD надоела, но внезапно оказалось, что там плохая поддержка языков, отличных от английского, и управления энергопотреблением (ACPI). Пришлось заняться портированием необходимых участков кода из более свежей версии FreeBSD. Сильно помогли другие разработчики c IRC-канала, объясняли что к чему и помогали разбираться с проблемами. Там я получил кое-какой опыт разработки ядра и системных библиотек. Ещё удалось на этом заработать немного денег — нашёлся человек из Москвы, который использовал DragonFlyBSD в продакшене, и тоже что-то там хотел подкрутить в ACPI и драйвер какого-то рейда (вроде). Нашел меня через git log, связался по почте.
В OpenBSD я только по мелочи какие-то патчи кидал — в cwm что-то допиливал для удобства (в wm’ах то я уже был спец), в ksh поправил пару косяков и улучшил vi mode. В этом проекте отношение к новым контрибьюторам не самое лучшее — предполагается что ты самостоятельно во всем разберёшься, и только после этого будешь писать в рассылку. Порог вхождения получается высокий, выживают только самые стойкие, зато код получается хороший.
Ещё я в 9front участвовал: доработал драйвер для WiFi и, уже знакомый мне, ACPI. У них наверное самая маленькая работающая реализация интерпретатора AML. Да и само ядро довольно компактное (в сравнению с «нормальными» ОС), поэтому разбираться проще. Хвастался этим на собеседовании, насколько помогло (или наоборот) — не знаю.
Ну вот так вот можно получить опыт в открытых проектах. Главное не бояться присылать кривой код (бывает у всех), сохранять спокойствие (когда его обругают) и выбирать проекты, которые тебе действительно интересны. И опыт получишь и удовольствие. Ещё есть шанс, что работодатель сам тебя найдет по коммитам или профилю в гитхабе (Привет, Гугл!).
habr.com