...

суббота, 11 марта 2017 г.

GameDev с нуля: От хакатона до собственной студии разработки игр. Часть 2

Универсальный грамматический анализатор естественных языков с нуля. Выпуск 1

[Перевод] Как Discord хранит миллиарды сообщений

NeoQuest 2017: Реверс андроид приложения в задании «Почини вождя!»

пятница, 10 марта 2017 г.

Спецслужбы США атакуют вендоров. Теперь MikroTik. Патч уже доступен

Вносите изменения в код понемногу

Всегда было любопытно узнать, что и как думают кодеры за океаном? Логично предположить, что техническое мышление и основные процессы должны быть схожими с российскими разработчиками. Под катом возможность сравнить наши походы с «тамошними». Если у вас все хорошо с английским, оригинал публикации и самого автора можно найти по ссылке.

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

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

Это заблуждение. Следует начать с процедур, которые возымеют эффект уже в процессе текущей работы, и двигаться в обратном направлении, к тому, что было сделано при разработке. Даже с учётом создания выгружаемых MVP (минимальных жизнеспособных продуктов), в конечном итоге в действующем бизнесе большую часть стоимости ПО составляют операционные расходы, а не затраты на разработку.

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

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

Проверка сотен строк кода — это серьезная задача. Она требует серьёзных затрат рабочего времени и погружения в процесс. Просмотр больших изменений обычно заканчивается проставлением метки “lgtm” («Думаю, это неплохо»), при этом за суетой небольших исправлений можно не обратить внимание на проблемы более общего характера. Даже в командах с сильнейшей культурой разработки бывают проверки кода, которые превращаются в охоту на ведьм пробелы.

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

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

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

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

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

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

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

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

Ниже приведён несложный список указаний. Но если отнестись к ним серьёзно, то можно сделать некоторые интересные выводы.

Ветви кода инертны, и это плохо. Я говорю людям, что я не возражаю против работы в ветках, если им это помогает, и если я даже не могу сказать с уверенностью, что они это делают. Проще удвоить размер ветки, чем выполнить слияние и развернуть весь код, и разработчики постоянно попадаются в эту ловушку.
Легкие манипуляции с исходным кодомэто нормально. GitHub-ветки замечательно распиарены, но git diff | gist -optdiff также неплохо работает, если речь идёт о десятках строк кода.
Вам не нужны тщательно продуманные ритуалы Git-релизов. Церемонии, подобные тэгированию релизов, выглядят пустой тратой времени, если вы выпускаете релизы много раз в день.
Ваша настоящая проблема заключается в частом выпуске релизов. Ограничение объёма выпускаемого кода может притормозить прогресс, если только вы не сможете одновременно увеличить частоту публикаций. Это не так просто сделать, и при этом ваш арсенал инструментов начнёт тяготеть к средствам, заточенным под решение этой задачи.

Это не исчерпывающий список. Если начать с повседневной операционной деятельности и двигаться в обратном направлении, в направлении разработки кода, то это позволит критически осмыслить весь свой процесс разработки. И это только пойдёт на пользу.

Комментарии (0)

    Let's block ads! (Why?)

    Дрон боевой, полностью твой. Обучаем игровой AI методом перебора стратегий

    В продолжение статьи Поиск в пространстве стратегий. AI водитель
    Я сделал мини-игру жанра «файтинг», где обучаемый AI дерётся с другими, рукописными ботами, и разрабатывает стратегию победы методом проб и ошибок.
    В этой игре дерутся два парня вроде такого:


    Они расположены на координатной оси, обладают некоторым запасом здоровья, а ещё у них есть параметр «cooldown». Cooldown – это сколько тактов боец пропустит из-за того, что выполнил данное действие. Например, действие «идти» вызывает cooldown 2, а действие «удар ножом» вызывает cooldown 4. Действовать можно лишь когда cooldown опустился до нуля (он каждый ход уменьшается на единицу, если ещё не равен нулю).
    Итак, есть два бойца. У каждого есть координата, здоровье и кулдаун:

    Каждый из бойцов может в свой ход выполнить одно из 6 действий:
    1) Идти вправо на 1 (вызывает cooldown 2)
    2) Идти влево на 1 (вызывает cooldown 2)
    3) Ждать (вызывает cooldown 1)
    4) Удар ножом (вызывает cooldown 4, наносит 20 урона, если расстояние до противника не более 1)
    5) Выстрел из арбалета (вызывает cooldown 10; на расстоянии до 5 клеток наносит 10 урона; до 12 клеток наносит 4 урона)
    6) Отравление (вызывает cooldown 10; на расстоянии до 8 клеток наносит 2 урона и отравляет. Отравленный противник каждый ход теряет по 1 хп. Отравление действует до конца боя, отравить дважды нельзя)

    На вход каждому бойцу поступает информация: x, hp и состояние отравлен/не отравлен о себе и о своём противнике. Кроме того, поступает значение cooldown противника. На выходе у каждая стратегия выдаёт число от 1 до 6.
    В случае, когда стратегию реализует нейросеть, она выдаёт 6 чисел, каждое из которых означает «насколько я хочу, чтобы реализовался такой-то вариант». Например, если нейросеть выдала 0 0 1 0 -1 0, это значит, что она выбирает действие 3, так как у 3-его элемента последовательности наибольшее значение.
    Один бой длится 70 тактов (или пока один боец не убьёт другого, если это случится раньше). 70 тактов – это 7 выстрелов или 35 шагов.
    Определимся с метрикой качества для AI-бойца. Будем считать, что качество игры нейросети за один бой = -100 – (сколько мы потеряли здоровья)+(сколько противник потерял здоровья). Минус сотня нужна потому, что мой оптимизатор хорошо максимизирует только отрицательные величины.
    q=-100-(input(3)-units(1).hp)+(input(4)-units(2).hp);
    Параметрами данной стратегии будут веса и сдвиги в нейронной сети — испытание нашего AI выглядит следующим образом: в нейросеть загружается набор весов, эта нейросеть некоторое время дерётся в противником, затем она получает оценку качества. Оптимизатор анализирует полученное качество, генерирует новый набор весов (предположительно, дающий лучшее качество), и цикл повторяется.
    Важный элемент этой игры – ступенчатая зависимость метрики качества от коэффициентов нейросети.

    Почему так? Потому что допустим, нейросеть выдала следующий выходной вектор: 0 0 1 0 0 0. А потом мы чуть-чуть изменили один любой параметр. И получили такой выходной вектор: 0 0 0.9 0 0 0. Или 0.1 -0.1 0.9 0 0 -0.1. При этом нейросеть как голосовала за 3-й вариант, так и продолжает за него голосовать.
    То есть методы оптимизации, основанные на малых изменениях (градиентный спуск, например), здесь работать не будут.
    Качество AI по результату серии боёв будем считать как среднее качество по всем боям плюс наихудшее качество делить на два.

    q=(min(arr)+sum_/countOfPoints)/2 - sum(abs(k))*0.00001;%sum(abs(k)) – это регуляризация. Нужна, чтобы оптимизатор не делал веса сети чересчур большими – тогда алгоритм начинает хуже обучаться. 
    

    Зачем брать наихудшее? Затем, чтобы нейросеть не научилась идеально играть в одном редком случае, плохо играя во всех остальных, и не стала получать за это кучу очков «в среднем». А зачем брать среднее? Затем, что чем больше выборов нейросети участвует в оценивании, тем больше это:

    Похоже на это:

    А второй вариант куда легче оптимизировать методами малых изменений, чем первый.
    Проводим серию тестов. Метрика качества застряла на величине около -100. То есть AI не стал сражаться. Ну а что? Научиться убегать гораздо легче, чем научиться побеждать.
    Введём ограничение. Всякий раз, когда наш боец выходит за пределы арены (от -20 до 20 по x), он погибает. Приказ «ни шагу назад» в действии.
    Да, и обсудим стратегию рукописных ботов, коих несколько.

    Рукописный бот «Гладиатор». Идёт на сближение. Если достаёт до противника ножом – бьёт. Стреляет только если видит, что убьёт противника одним выстрелом (чего почти никогда не бывает).
    AI начал чаще выигрывать, чем проигрывать, через 15 минут обучения (метрика: -95.6). Ещё через минуту он улучшил свой навык (метрика: -88). Ещё через минуту метрика была -77.4. Через минуту -76.2.
    Проверяем, как это он побеждает. Запускаем бой.
    У Гладиатора координата 10, hp=80, у нейросети координата -9, hp=80.
    Гладиатор наступает, а нейросеть стоит на месте и делает удары ножом в пустоту. Как только Гладиатор дошёл до рубежа стрельбы ядом, нейросеть стреляет. Затем, когда кулдаун проходит, нейросеть продолжает бесполезно махать ножом… Яд стреляет на 8 клеток. Чтобы пройти 8 клеток, надо потратить 16 ходов. Удар ножом – это 4 хода. 16 нацело делится на 4. Это означает, что когда гладиатор подходит к нейросети в упор, она наносит удар ножом раньше Гладиатора. Фактически AI использовал кулдаун от удара ножом в качестве таймера. Теперь соотношение здоровья – 80:34 не в пользу Гладиатора. Если бы нейросеть стреляла из арбалета (что, казалось бы, разумнее, чем бить ножом по воздуху), она упустила бы шанс первого удара.
    Время истекло, когда счёт был 45:5 в пользу нейросети.

    Создаю несколько новых рукописных ботов.
    Рукописный бот «Штурмовик». Идёт на сближение. Если достреливает ядом, и противник ещё не отравлен, применяет яд. Если достреливает из арбалета на короткой дистанции (5 единиц), стреляет. Если противник подошёл в упор, применяет нож.
    Рукописный бот «Стрелок». Идёт на сближение. Если достреливает из арбалета хоть как-нибудь — стреляет. Если достреливает ядом и противник не отравлен, использует яд. Если добивает ножом, применяет нож.
    Рукописный бот «Башня». Не идёт на сближение. Если достреливает из арбалета хоть как-нибудь — стреляет. Если достреливает ядом и противник не отравлен, использует яд. Если добивает ножом, применяет нож.

    И оставляю нейросеть драться с ними на ночь. Для бОльшего сглаживания функции полезности я задам больше испытаний (13 штук) и больше тактов в одном испытании (85 вместо 70). Соответственно, работать всё это будет теперь медленнее, но я считаю, шансов найти хороший оптимум больше.
    10:30 утра. Я проверяю качество обучения сети. -90.96. В наихудшем случае метрика равна -100 (то есть AI и его противник нанесли друг другу поровну урона). В среднем случае -81.9231, то есть AI нанёс на 18 единиц урона больше.

    Посмотрим, как дерётся нейросеть с разными видами ботов.
    1) Гладиатор. Начальные координаты: -9 у нейросети и 10 у Гладиатора. Гладиатор идёт на сближение, а нейросеть тем временем стреляет в пустоту. Соответственно, нейросеть почти всё время стоит с большими кулдаунами. И… Когда гладиатор оказался на расстоянии 9 от нейросети, кулдаун закончился, и нейросеть ждёт. Не стреляет. Гладиатор делает свой ход, и нейросеть тут же его отравляет. К тому времени, когда Гладиатор подобрался на расстояние 4 до нейросети, её кулдаун после отравления прошёл. Нейросеть наносит удар ножом в пустоту… И кулдаун заканчивается ровно тогда, когда гладиатор подошёл на расстояние удара. Нейросеть бьёт первой, и дальше начинается обмен ударами. 85 тактов не успевают истечь – нейросеть убила Гладиатора. У Гладиатора -18 hp, у нейросети 40. Разница – 58 единиц.
    2) Штурмовик. Начальные координаты: у нейросети 5, у Штурмовика -10. Штурмовик идёт в атаку, а нейросеть стоит на месте и машет ножом. Как только Штурмовик оказался в зоне действия яда, нейросеть применяет яд. И тут я замечаю ошибку в коде штурмовика, да и всех других ботов тоже. Из-за этой ошибки они не могут пользоваться ядом.

    Тем не менее, я смотрю, что AI делает с ботом «Башня». Да ничего интересного – он с ним просто не дерётся. Видимо, игра от обороны настолько хороша, что нейросеть не пытается противостоять этой стратегии, а просто не ввязывается. И игра заканчивается вничью.
    Итак, в 11:02 я доработал стратегии «Штурмовик», «Стрелок» и «Башня», чтобы они могли пользоваться ядом, и запустил нейросеть на обучение. Метрика качества тут же упала до -107.
    В 11:04 произошло первое улучшение: метрика достигла -97.31.
    И всё. Худший результат хуже -100, так что в 11:59 я перезапускаю поиск с нуля.
    После мультистарта и первичной эволюции метрика была около -133. На момент 12:06 метрика уже была -105.4.

    Но дальше метрика росла как-то медленно. Я решил выяснить, в чём же дело. Ну конечно! Нейросеть научилась убегать даже в отрезке от -20 до 20. И большинство боёв завершалось вничью. В нескольких боях AI не мог отступать по каким-либо причинам, и там его эффективность колебалась от -53 (разрывает противника вклочья) до -108 (поражение средней тяжести).
    Уменьшим размер поля боя. Пусть это будет отрезок от -10 до +10. А ещё будем давать награду всякому, кто может удержать центр – по 1 очку за один ход удержания. К метрике за бой прибавляется число очков за центр для нейросети и вычитается число центр-очков для врага.

    q=-100-(input(3)-units(1).hp)+(input(4)-units(2).hp)+(center.me-center.enemy);
    

    И я запускаю обучение с нуля в 16:06. После мультистарта и первичной эволюции получаю качество -126.
    В 9:44 на следующий день получаю качество -100.81. То есть бот в среднем выигрывает, но иногда проигрывает. Смотрим, сколько он набирал в разных испытаниях.
    -45 -98 -108 -99 -100 -76 -104 -100 -105 -99 -96
    3 поражения, 2 ничьи и 6 побед. Посмотрим, что это за ситуации такие, где нейросеть проигрывает.
    Битва номер 3, самая проигрышная. Начальные координаты нейросети и противника – это -9 и 9. Здоровье – по 80, стратегия противника – Штурмовик.

    Поначалу нейросеть стреляет в пустоту, затем дожидается, когда Штурмовик подойдёт на расстояние отравления, бойцы обмениваются отравлениями (нейросеть стреляет раньше, поэтому опережает противника на 5 hp. Почему именно 5, а не 2, я так и не понял.), затем нейросеть начинает уже привычным образом махать ножом в ожидании противника, в результате Штурмовик первым выходит на ближний рубеж стрельбы из арбалета и стреляет в нейросеть. Этот выстрел был смертельным. Итого, у Штурмовика 5 hp, у нейросети 0. Плюс Штурмовик получил 3 очка за прохождение центра.
    -104 очка сеть выбила в 7-ом бою. Координаты нейросети и противника были -6 и 9 соответственно, у обоих по 400 хп, стратегия противника – Стрелок.
    Стрелок идёт в наступление, а нейросеть тем временем машет ножом. В результате нейросеть пропускает оптимальный момент для выстрела, и инициативу перехватывает противник. Дальше следует продолжительная перестрелка, и Стрелок успевает сделать на один выстрел больше, чем нейросеть. А выстрел из арбалета на дальнюю дистанцию снимает как раз 4 хп.
    -105 очков сеть выбила в 9-ом бою. Координаты нейросети и противника были -1 и 9 соответственно, у нейросети 140 хп, у противника 40, стратегия противника – Штурмовик. Нейросеть в ожидании машет ножом и пропускает оптимальный момент для применения яда. Штурмовик первым пускает яд. В результате он нанёс на 5 урона больше, чем нейросеть.

    Промежуточные выводы.


    Нейросеть во-первых, не атакует, а сидит в обороне, во-вторых, ожидает неоптимальным образом, вместо нажатия кнопки «ждать» жмёт кнопку «удар».
    Со стратегией «башня» нейросеть дерётся только если они находятся уже на расстоянии выстрела. Стратегию «гладиатор» нейросеть разрывает вклочья: -45 и -76 набиты именно на нём. Стратегии «штурмовик» и «стрелок» нейросеть побеждает за счёт того, что стреляет первой и получает преимущество либо в яде, либо в количестве выстрелов.
    Ну и ещё такой AI долго обучается. А в остальном… Вообще-то это AI, принимающий дискретные решения, и он скорее работает, чем нет.

    Нейросеть-берсеркер


    Когда я рассказал об этом AI другу, который только вернулся из армии, он очень удивился моей метрике качества. Расстреливать отступающих, говорил он – плохое решение. Лучше сделай, чтобы AI считал нанесение урона врагу более важным занятием, чем сохранение своего хп. Сделай его кровожадным!
    То есть исправь это:
    q=-100-(input(3)-units(1).hp)+(input(4)-units(2).hp); 
    

    На это:
    q=-100-(input(3)-units(1).hp)+2*(input(4)-units(2).hp); %2 – коэффициент агрессивности
    

    Тогда метрика штрафует нас на 1 за получение единицы урона и награждает на 2 за нанесение одной единицы.
    Запускаем обучение с нуля. За то время, что прошло до идеи создать берсеркера, я успел сменить процессор на более мощный и написать более быструю реализацию нейросетей, так что всё обучение заняло всего минут 20. 20 минут – и метрика качества равна -65… Только как из этой метрики понять, насколько реально эффективен AI?
    Возвращаем не-берсеркерскую метрику
    q=-100-(input(3)-units(1).hp)+(input(4)-units(2).hp); 
    

    И ужасаемся. «Осторожная» метрика равна -117, во многих сражениях AI снял меньше хп, чем потерял. AI получился чересчур кровожадным – совсем забыл о своём хп.
    Меняем метрику на
    q=-100-(input(3)-units(1).hp)+1.7*(input(4)-units(2).hp); %1.7 – коэффициент агрессивности
    

    И продолжаем обучение.
    Минут через пять видим результат: q=-75.75.
    Результаты по отдельным испытаниям:
    0 -91.2000 -76.3000 -49.300 -49.500 -29.5000 -87.200 -73.600 -64.00 -57.00 -82.0000
    Снова меняем метрику на «осторожную» и смотрим на результат.
    Q=-114.98. Из 11 боёв AI проигрывает.
    Подбираем такое значение коэффициента агрессивности, чтобы AI видел у себя одно поражение, то есть чтобы один из 11 боёв заканчивался со счётом меньше -100. Я это хочу сделать, чтобы с одной стороны, и дальше поощрять AI к игре от нападения, а с другой, чтобы у AI было примерно такое же понимание побед и поражений, как и у меня. С точки зрения биологии, я сейчас настраиваю эволюционную траекторию AI.
    Итак, при коэффициента агрессивности 1.18 AI уже понимает, что иногда он проигрывает, но ещё не понимает, насколько часто.
    Продолжаем обучение.
    Спустя полчаса мы достигаем q=-96.
    Возвращаем «осторожную» метрику, получаем q=-106.23
    Смотрим, сколько очков получил AI в каком бою.
    -44 -94 -119 -99 -110 -75 -104 -96 -95 -93 -96
    Проиграно: 3 боя. Выиграно: 8 боёв. Ничьи: 0. Это лучше, чем 3 поражения, 2 ничьи и 6 побед, которые получились в испытании без агрессивности.

    Посмотрим, как наш AI выиграл в 3-ем с конца бою – без агрессии он тогда проиграл.
    Типа противника в этом бою – Штурмовик. Вначале бойцы сближаются, игнорируя возможность выстрелить из арбалета на дальнюю дистанцию. Затем они при первой же возможности отравляют друг друга (AI это делает раньше, и выигрывает за счёт этого единичку хп). Затем AI стреляет из арбалета (на дальнюю дистанцию, со штрафом), а Штурмовик бросается в ближний бой. К моменту, когда Штурмовик оказался на расстоянии прицельного выстрела (5 шагов), AI уже перезарядился и стреляет снова. Штурмовик этого не пережил.

    Посмотрим же, как наш AI проигрывает. Запускаем бой номер 3.
    Противник – снова Штурмовик.
    Как и в прошлый раз, враги сходятся на расстояние отравляющего выстрела, но на этот раз Штурмовик смог выстрелить первым, и получить преимущество в 1 хп (ошибка номер 1). Дальше бойцы продолжают сходиться и начинается перестрелка на арбалетах. AI поспешил, и первый снаряд выпустил прежде, чем противник оказался в зоне прицельного огня (ошибка номер 2). Он нанёс урон чуть раньше, зато Штурмовик сделал шаг вперёд и нанёс 10 урона вместо 4. В ходе дальнейшей перестрелки Штурмовик успешно убивает AI.

    Выводы


    Из данного эксперименты я делаю следующие выводы:
    1) Тот способ создания AI, который пригоден для создания автопилота, пригоден и для создания боевого робота.
    2) Иногда для того, чтобы AI достиг заданной цели, ему нужно называть более достижимую цель, а затем постепенно подменять цель на ту, которой мы хотим достичь.
    3) Оптимизировать ступенчатую функцию намного тяжелее, чем гладкую.
    4) 3 слоя по 11 нейронов – это достаточно для управления роботом, у которого 7 сенсоров и 6 выходнов. Обычно 33 нейронов не хватает на задачи подобной размерности.

    Коды функций


    Функция, симулирующая один бой:
    
    function q = evaluateNN(input_,nn)
        units=[];
        %input_: AI.x, enemy.x, AI.hp, enemy.hp, enemy.strategy
        units(1).x=input_(1);
        units(1).hp=input_(3);
        units(1).cooldown=0;
        units(1).poisoned=0;
        units(2).x=input_(2);
        units(2).hp=input_(4);
        units(2).cooldown=0;
        units(2).poisoned=0;
        me=1;
        enemy=2;
        center.me=0;
        center.enemy=0;
        
        for i=1:85
            if(units(1).cooldown==0 || units(2).cooldown==0)
                cooldown=[units(1).cooldown;units(2).cooldown];
                [ampl,turn]=min(cooldown);
                %choose
                if(turn==me)
                    %me
                    answArr=fastSim(nn,[units(me).x;units(me).hp;units(me).poisoned; units(enemy).x;units(enemy).hp; units(enemy).poisoned;units(enemy).cooldown]);
                    [ampl, action] = max(answArr);
                else
                  if(turn==enemy)
                      %enemy
                                      action=3;
                      if(input_(5)==0)%Human player
                          units(1),units(2)
                          'Player2: 1: x++, 2: x--, 3: wait, 4: knife, 5: crossbow, 6: poison'
                          action=input('Action number:')
                      end;
                                      if(input_(5)==1)%gladiator
                                              if(abs(units(me).x-units(enemy).x)<=1)
                                                    action=4;
                                              elseif(abs(units(me).x-units(enemy).x)<=5 && units(enemy).hp<=10)
                                                    action=5;
                                              elseif(units(enemy).x>units(me).x)
                                                    action=2; 
                                              else
                                                    action=1;  
                                              end;
                                      end;
                                      if(input_(5)==2)%stormtrooper
                                              if(abs(units(me).x-units(enemy).x)<=1)
                                                    action=4;
                                              elseif(abs(units(me).x-units(enemy).x)<=5)
                                                    action=5;
                                              elseif(abs(units(me).x-units(enemy).x)<=8 && units(me).poisoned==0)
                                                    action=6;
                                              elseif(units(enemy).x>units(me).x)
                                                    action=2; 
                                              else
                                                    action=1;  
                                              end;
                                      end;
                                      if(input_(5)==3)%archer
                                              if(abs(units(me).x-units(enemy).x)<=1)
                                                    action=4;
                                              elseif(abs(units(me).x-units(enemy).x)<=8 && units(me).poisoned==0)
                                                    action=6;
                                              elseif(abs(units(me).x-units(enemy).x)<=12)
                                                    action=5;
                                              elseif(units(enemy).x>units(me).x)
                                                    action=2; 
                                              else
                                                    action=1;  
                                              end;
                                      end;
                                      if(input_(5)==4)%tower
                                              if(abs(units(me).x-units(enemy).x)<=1)
                                                    action=4;
                                              elseif(abs(units(me).x-units(enemy).x)<=8 && units(me).poisoned==0)
                                                    action=6;
                                              elseif(abs(units(me).x-units(enemy).x)<=12)
                                                    action=5;
                                              else
                                                    action=3;  
                                              end;
                                      end;
                  end;
                end;
                %actions
                %move
                if(action==1)
                    if(turn==1)
                        another=2;
                    else
                        another=1;
                    end;
                    if(units(turn).x+1~=units(another).x)
                        units(turn).x=units(turn).x+1;
                    end;
                    units(turn).cooldown=units(turn).cooldown+2;
                end;
                if(action==2)
                    if(turn==1)
                        another=2;
                    else
                        another=1;
                    end;
                    if(units(turn).x-1~=units(another).x)
                        units(turn).x=units(turn).x-1;
                    end;
                    units(turn).cooldown=units(turn).cooldown+2;
                end;
                if(action==3)
                %pause
                    units(turn).cooldown=units(turn).cooldown+1;
                end;
                %knife
                if(action==4)
                    if(turn==1)
                        another=2;
                    else
                        another=1;
                    end;
                    if(abs(units(turn).x-units(another).x)<=1)
                        units(another).hp=units(another).hp-20;
                    end;
                    units(turn).cooldown=units(turn).cooldown+4;
                end;
                %crossbow
                if(action==5)
                    if(turn==1)
                        another=2;
                    else
                        another=1;
                    end;
                    if(abs(units(turn).x-units(another).x)<=5)
                        %meely
                        units(another).hp=units(another).hp-10;
                        
                    elseif(abs(units(turn).x-units(another).x)<=12)
                        %long-range
                        units(another).hp=units(another).hp-4;
                    end;
                    units(turn).cooldown=units(turn).cooldown+10;
                end;
                %poison
                if(action==6)
                    if(turn==1)
                        another=2;
                    else
                        another=1;
                    end;
                    if(abs(units(turn).x-units(another).x)<=8)
                        units(another).hp=units(another).hp-2;
                        units(another).poisoned=1;
                    end;
                    units(turn).cooldown=units(turn).cooldown+10;
                end;
            else
                units(1).cooldown=units(1).cooldown-1;
                units(2).cooldown=units(2).cooldown-1;
            end;
            if(units(me).poisoned>0)
                units(me).hp=units(me).hp-1;
            end;
            if(units(enemy).poisoned>0)
                units(enemy).hp=units(enemy).hp-1;
            end;
            if(units(me).hp<=0)
                break;
            end;
            if(units(me).x==0)
                center.me=center.me+1;
            end;
            if(units(enemy).x==0)
                center.enemy=center.enemy+1;
            end;
            if(abs(units(me).x)>=10)
                units(me).hp=0;
                break;
            end;
            if(units(enemy).hp<=0)
                break;
            end;
            
        end;
    
        q=-100-(input_(3)-units(1).hp)+1.0*(input_(4)-units(2).hp);
        if(q>0)
            q=0;
        end;
    end
    
    


    Функция, проводящая серию боёв:
    
    function q = testSeria(k)
        global nn
        sum_=0;
        countOfPoints=0;
        nnlocal=ktonn(nn,k);
        arr=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
        %%
        input=[[-3.,9.,80,80,1];[-2.,8.,10,10,2];[-4.,3.,60,60,4];[-4.,8.,20,20,3];[-2.,9.,15,15,2];[5.,-8.,100,100,4];[-5.,0.,50,50,1];[-5.,4.,80,80,2];[4.,7.,70,100,3];[7.,-6.,10,10,3];[-1.,9.,140,140,3]];
    %input=[-3.,9.,80,80,0];%Player 2 is a human
        sz=size(input);
        for (i=1:sz(1))
            val=evaluateNN(input(i,:),nnlocal);
            sum_=sum_+val;
            arr(i)=val;
        end;
        countOfPoints=sz(1);
        q=(min(arr)+sum_/countOfPoints)/2 - sum(abs(k))*0.001;
    end
    
    


    Функция, исполняющая нейросеть:
    
    function arr = fastSim(nn,input)
        %fast simulation for fast network
        sz=size(nn.LW);
        sum=cell([1,sz(1)]);
        LW=nn.LW;
        b=nn.b;
        sum{1}=nn.IW{1}*input;
        arr=sum{1};
        
        for i=1:sz(1)-1
            sum{i+1}=tansig(LW{i+1,i}*(sum{i}+b{i}));
        end;
        arr=sum{sz(1)};
    end
    
    


    Функция, переводящая набор чисел в коэффициенты нейросети – нужна для оптимизации нейросети:
    
    function nn = ktonn(nn,k)
        %neuro net to array of koefficients
        ksize=size(k);
        if(ksize(2)==1)
            k=k';
        end;
        
        bsz=size(nn.b);
        counter=1;
        for i=1:bsz(1)-1
            sz=size(nn.b{i});
            nn.b{i}=k(counter:counter+sz(1)-1)';
            counter=counter+sz(1);
        end;
        
        lsz=size(nn.LW);
        for i1=1:(lsz(1)-1)
            x=i1+1;
            y=i1;
            szW=size(nn.LW{x,y});
            nn.LW{x,y}=reshape(k(counter:counter+szW(1)*szW(2)-1),szW(1),szW(2));
            counter=counter+szW(1)*szW(2);
        end;
        
        sz=size(nn.IW{1});
        arr=k(counter:counter+sz(1)*sz(2)-1);
        arr=reshape(arr,sz(1),sz(2));
        nn.IW{1}=arr;
    end
    
    


    Main.m:
    
    clc;
    
    global nn
    
    X=[[(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5)],    [(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5)]];
    Y=[[(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5)],    [(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5);(rand()-0.5)]];
    nnBase=newff(X,Y,[11,11,11],{'tansig' 'tansig' 'tansig'},'trainrp');
    
    nn.b=nnBase.b;
    nn.IW=nnBase.IW;
    nn.LW=nnBase.LW;
    f=load('./conf.mat');
    k=f.rtailor;
    q=testSeria(k)
    


    Файл с конфигурацией нейросети. К сожалению, я потерял тот файл с хорошо выигрывающим AI, но этот играет не хуже.

    При желании можно сыграть против AI — в этом случае надо в Test Seria раскомментировать строчку:
    input=[-3.,9.,80,80,0];%Player 2 is a human

    Комментарии (0)

      Let's block ads! (Why?)

      [Из песочницы] Попытки сделать изучение алгоритмов поиска пути проще

      Еще одна новая фича pg_filedump: восстанавливаем каталог PostgreSQL



      В прошлой статье мы узнали, как при помощи утилиты pg_filedump можно восстановить данные, или, по крайней мере, какую-то их часть, из полностью убитой базы PostgreSQL. При этом предполагалось, что мы откуда-то знаем номера сегментов, соответствующих таблице. Если мы знаем часть содержимого таблицы, ее сегменты действительно не сложно найти, например, простым grep'ом. Однако в более общем случае это не так-то просто сделать. К тому же, предполагалось, что мы знаем точную схему таблиц, что тоже далеко не факт. Так вот, недавно мы с коллегами сделали новый патч для pg_filedump, позволяющий решить названные проблемы.


      Итак, допустим, мы хотим восстановить таблицу с именем test. Если имя таблицы мы не помним, это не страшно, так так используя описанный далее прием можно получить имена всех таблиц в базе. Информация о таблицах храниться в каталожной таблице pg_class, сегмент которой всегда имеет номер 1259.


      Используя последнюю версию pg_filedump, мы можем прочитать pg_class следующим образом:


      ./pg_filedump -D name,oid,oid,oid,oid,oid,oid,~ /path/to/base/16384/1259 | grep COPY | grep test
      

      Обратите внимание на список типов для декодирования, который мы передаем pg_filedump:


      name,oid,oid,oid,oid,oid,oid,~
      

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


      Пример вывода:


      COPY: test  2200    16387   0   10  0   16385
      COPY: test  2200    16387   0   10  0   16385
      COPY: test_pkey 2200    0   0   10  403 16391
      

      Последний столбец — это relfilenode, то есть номер сегмента. Он то нам и нужен! Запомним, 16385.


      Но постойте-ка, ведь мы не знаем схему таблицы. Узнать ее нам поможет каталожная таблица pg_attribute, relfilenode которой захардкожен и равен 1249. Кстати, relfilenode всех каталожных таблиц вы можете подсмотреть в файле pg_class.h.


      Открываем доку по pg_attribute, декодируем:


      ./pg_filedump -D oid,name,oid,int,smallint,~ /path/to/base/16384/1249 | grep COPY | grep 16385
      

      Пример вывода:


      COPY: 16385 k   23  -1  4
      COPY: 16385 v   25  -1  -1
      COPY: 16385 ctid    27  0   6
      COPY: 16385 xmin    28  0   4
      COPY: 16385 cmin    29  0   4
      COPY: 16385 xmax    28  0   4
      COPY: 16385 cmax    29  0   4
      COPY: 16385 tableoid    26  0   4
      

      Как видите, таблица имеет два столбца с именами k и v (остальные столбцы системные, они нужны для работы MVCC и вот этого всего). Здесь 23 и 25 — это atttypid, то есть, типы столбцов. Но как понять, что это за типы?


      Ответ содержится в каталожной таблице pg_type (relfilenode = 1247, дока):


      ./pg_filedump -i -D name,~ /path/to/base/16384/1247 | grep -A5 -E 'OID: (23|25)'
      

      Пример вывода:


        XMIN: 1  XMAX: 0  CID|XVAC: 0  OID: 23
        Block Id: 0  linp Index: 8   Attributes: 30   Size: 32
        infomask: 0x0909 (HASNULL|HASOID|XMIN_COMMITTED|XMAX_INVALID) 
        t_bits: [0]: 0xff [1]: 0xff [2]: 0xff [3]: 0x07 
      
      COPY: int4
      --
        XMIN: 1  XMAX: 0  CID|XVAC: 0  OID: 25
        Block Id: 0  linp Index: 10   Attributes: 30   Size: 32
        infomask: 0x0909 (HASNULL|HASOID|XMIN_COMMITTED|XMAX_INVALID) 
        t_bits: [0]: 0xff [1]: 0xff [2]: 0xff [3]: 0x07 
      
      COPY: text
      

      Итак, теперь у нас на руках есть вся необходимая информация. Таблица называется test, имеет relfilenode 16385 и содержит два столбца — k с типом int4 и v с типом text. Теперь мы можем сдампить ее содержимое, как было описано в предыдущей статье.


      Надеюсь, что на практике эти знания вам никогда не понадобятся :) Если у вас есть вопросы или дополнения, буду рад ознакомиться с ними в комментариях!

      Комментарии (0)

        Let's block ads! (Why?)

        Уязвимости, которые устранила команда PVS-Studio на этой неделе: выпуск N1


        Мы решили в меру своих сил регулярно искать и устранять уязвимости и баги в различных проектах. Можно назвать это помощью open-source проектам. Можно — разновидностью рекламы или тестированием анализатора. Еще вариант — очередной способ привлечения внимания к вопросам качества и надёжности кода. На самом деле, не важно название, просто нам нравится это делать. Назовём это необычным хобби. Давайте посмотрим, что интересного было обнаружено в коде различных проектов на этой неделе. Мы нашли время сделать исправления и предлагаем вам ознакомиться с ними.

        Для тех, кто ещё не знаком с инструментом PVS-Studio


        PVS-Studio — это инструмент, который выявляет в коде многие разновидности ошибок и уязвимостей. PVS-Studio выполняет статический анализ кода и рекомендует программисту обратить внимание на участки программы, в которых с большой вероятностью содержатся ошибки. Наилучший эффект достигается тогда, когда статический анализ выполняется регулярно. Идеологически предупреждения анализатора подобны предупреждениям компилятора. Но в отличии от компиляторов, PVS-Studio выполняет более глубокий и разносторонний анализ кода. Это позволяет ему находить ошибки в том числе и в компиляторах: GCC; LLVM 1, 2, 3; Roslyn.

        Поддерживается анализ кода на языках C, C++ и C#. Анализатор работает под управлением Windows и Linux. В Windows анализатор может интегрироваться как плагин в Visual Studio.

        Для дальнейшего знакомства с анализатором, предлагаем изучить следующие материалы:

        • Подробная презентация на сайте SlideShare. В формате видео она доступна на YouTube (47 минут).
        • Статьи о проверенных открытых проектах.

        Уязвимости


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

        1. CoreFX. CWE-476 (NULL Pointer Dereference)

        V3080 Possible null dereference. Consider inspecting '_swtFirst'. MemberLookup.cs 109

        if (_swtFirst == null)
        {
          _swtFirst.Set(sym, type); // <= 
          ....
        }
        

        Pull Request: http://ift.tt/2n6Pwmn

        2. CoreFX. CWE-476 (NULL Pointer Dereference)

        V3080 Possible null dereference. Consider inspecting 'tabClasses'. PropertyTabAttribute.cs 225

        if (tabClasses != null)                        // <=
        {
          if (tabScopes != null && tabClasses.Length != tabScopes.Length)
          {
            ....
          }
          _tabClasses = (Type[])tabClasses.Clone();
        }
        else if (tabClassNames != null)
        {
          if (tabScopes != null &&
              tabClasses.Length != tabScopes.Length)    // <=
          {
            ....
          }
          _tabClassNames = (string[])tabClassNames.Clone();
          _tabClasses = null;
        }
        

        Pull Request: http://ift.tt/2n6Pwmn

        3. CoreFX. CWE-476 (NULL Pointer Dereference)

        V3080 Possible null dereference. Consider inspecting 'BaseSimpleType'. SimpleType.cs 368

        if ((BaseSimpleType == null && otherSimpleType.BaseSimpleType != null)
            &&
            (BaseSimpleType.HasConflictingDefinition(...)).Length != 0) // <=
            return ("BaseSimpleType");
        

        Pull Request: http://ift.tt/2n6Pwmn

        4. CoreFX. CWE-476 (NULL Pointer Dereference)

        V3019 Possibly an incorrect variable is compared to null after type conversion using 'as' keyword. Check variables 'o', 'other'. CompilerInfo.cs 106

        CompilerInfo other = o as CompilerInfo;
        if (o == null)
        {
            return false;
        }
        return CodeDomProviderType == other.CodeDomProviderType && ... // <=
        

        Pull Request: http://ift.tt/2n6Pwmn

        5. CoreFX. CWE-476 (NULL Pointer Dereference)

        V3019 Possibly an incorrect variable is compared to null after type conversion using 'as' keyword. Check variables 'myObject', 'myString'. CaseInsensitiveAscii.cs 46

        string myString = myObject as string;
        if (myObject == null)
        {
            return 0;
        }
        int myHashCode = myString.Length;      // <=
        

        PVS-Studio: fixed vulnerability CWE-476 (NULL Pointer Dereference)

        Pull Request: http://ift.tt/2n6Pwmn

        6. CoreFX. CWE-476 (NULL Pointer Dereference)

        V3019 Possibly an incorrect variable is compared to null after type conversion using 'as' keyword. Check variables 'a', 'nodeA'. AttributeSortOrder.cs 22

        V3019 Possibly an incorrect variable is compared to null after type conversion using 'as' keyword. Check variables 'b', 'nodeB'. AttributeSortOrder.cs 22

        XmlNode nodeA = a as XmlNode;
        XmlNode nodeB = b as XmlNode;
        if ((a == null) || (b == null))
            throw new ArgumentException();
        int namespaceCompare =
          string.CompareOrdinal(nodeA.NamespaceURI, nodeB.NamespaceURI); // <=
        

        Pull Request: http://ift.tt/2n6Pwmn

        7. CoreFX. CWE-476 (NULL Pointer Dereference)

        V3019 Possibly an incorrect variable is compared to null after type conversion using 'as' keyword. Check variables 'a', 'nodeA'. NamespaceSortOrder.cs 21

        V3019 Possibly an incorrect variable is compared to null after type conversion using 'as' keyword. Check variables 'b', 'nodeB'. NamespaceSortOrder.cs 21

        XmlNode nodeA = a as XmlNode;
        XmlNode nodeB = b as XmlNode;
        if ((a == null) || (b == null))
            throw new ArgumentException();
        bool nodeAdefault = Utils.IsDefaultNamespaceNode(nodeA); 
        bool nodeBdefault = Utils.IsDefaultNamespaceNode(nodeB); 
        

        Pull Request: http://ift.tt/2n6Pwmn

        8. MSBuild. CWE-476 (NULL Pointer Dereference)

        V3095 The 'name' object was used before it was verified against null. Check lines: 229, 235. Microsoft.Build.Tasks GenerateBindingRedirects.cs 229

        V3095 The 'publicKeyToken' object was used before it was verified against null. Check lines: 231, 235. Microsoft.Build.Tasks GenerateBindingRedirects.cs 231

        private void UpdateExistingBindingRedirects(....)
        {
          ....
          var name = assemblyIdentity.Attribute("name");
          var nameValue = name.Value;  // <=
          var publicKeyToken = assemblyIdentity.
                               Attribute("publicKeyToken");
          var publicKeyTokenValue = publicKeyToken.Value;  // <=
          var culture = assemblyIdentity.Attribute("culture");
          var cultureValue = culture == null ? 
                             String.Empty : culture.Value;
          
          if (name == null || publicKeyToken == null)
          {
              continue;
          }  
          ....
        }
        

        Pull Request: http://ift.tt/2ndxSKC

        Прочие ошибки


        1. MSBuild

        V3041 The expression was implicitly cast from 'long' type to 'float' type. Consider utilizing an explicit type cast to avoid the loss of a fractional part. An example: double A = (double)(X) / Y;. Microsoft.Build CommunicationsUtilities.cs 615

        private static long s_lastLoggedTicks = DateTime.UtcNow.Ticks;
        internal static void Trace(....)
        {
          ....
          long now = DateTime.UtcNow.Ticks;
          float millisecondsSinceLastLog = 
            (float)((now - s_lastLoggedTicks) / 10000L);
          ....
        }
        

        Pull Request: http://ift.tt/2ndxSKC

        2. MSBuild

        V3118 Milliseconds component of TimeSpan is used, which does not represent full time interval. Possibly 'TotalMilliseconds' value was intended instead. MSBuild XMake.cs 629

        public static ExitType Execute(string commandLine)
        {
          ....
          if (!String.IsNullOrEmpty(timerOutputFilename))
          {
              AppendOutputFile(timerOutputFilename, 
                                elapsedTime.Milliseconds);
          }
          ....
        }
        

        Pull Request: http://ift.tt/2ndxSKC

        Заключение


        Предлагаем скачать анализатор PVS-Studio и попробовать проверить ваш проект:
        Для снятия ограничения демонстрационной версии, вы можете написать нам, и мы отправим вам временный ключ.

        Для быстрого знакомства с анализатором, вы можете воспользоваться утилитами, отслеживающими запуски компилятора и собирающие для проверки всю необходимую информацию. См. описание утилиты CLMonitoring и pvs-studio-analyzer. Если вы работаете с классическим типом проекта в Visual Studio, то всё ещё проще: достаточно выбрать в меню PVS-Studio команду «Check Solution».

        Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Andrey Karpov. Vulnerabilities detected by PVS-Studio this week: episode N1

        Прочитали статью и есть вопрос?
        Часто к нашим статьям задают одни и те же вопросы. Ответы на них мы собрали здесь: Ответы на вопросы читателей статей про PVS-Studio, версия 2015. Пожалуйста, ознакомьтесь со списком.

        Комментарии (0)

          Let's block ads! (Why?)

          Оцифровка звука на STM32 (АЦП+DMA) и кодирование в Speex для передачи

          [Перевод] +500 бесплатных инструментов для запуска вашего стартапа в 2017 году

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

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

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

          Генераторы названий и имен


          1. The Name App – Итак, вам пришла в голову гениальная идея и даже уникальное название для нее. С помощью этого сервиса вы сможете проверить наличие свободных доменов и пользовательских имен на главных интернет-площадках.
          2. Naminum — это ведущий бесплатный генератор названий для стартапов, компаний и веб-сайтов.  
          3. Short Domain Search – Постоянно обновляемый список компактных и свободных доменных имен, состоящих из одного слова.
          4. Wordoid – Удобный ресурс, где можно подобрать короткое и запоминающееся название для вашего продукта, компании или домена. Отличный источник необычных идей для запоминающихся доменных имен.
          5. Hipster Business – Чувак, это доменное имя просто создано для тебя.  
          6. Impossibility – Супербыстрый генератор доменных имен. Определенно лучший поисковик доменных имен!
          7. Lean Domain Search – С помощью Lean Domain Search поиск подходящего доменного имени займет всего пару секунд.   
          8. Dominr – Быстрый поиск отличного доменного имени.

          Веб-дизайн


          1. Logaster — это быстрый, простой и недорогой сервис для создания логотипов и элементов фирменного стиля. Логотип маленького размера можно скачать бесплатно.
          2. WIX – Создайте бесплатный веб-сайт с Wix.com. Чтобы работать в конструкторе веб-сайтов от Wix, вам не нужно уметь кодировать. Выберите дизайн, задайте индивидуальные настройки, и ваш собственный сайт готов!
          3. Weebly – С Weebly создать высококачественный веб-сайт, блог или онлайн-магазин проще простого! Более 40 миллионов человек воплотили свои идеи в жизнь при помощи Weebly.
          4. WordPress.org — это удобная веб-программа для создания сайтов, блогов и приложений. Более того, WordPress — это бесплатный (а точнее, бесценный!) инструмент.
          5. Tumblr – Публикуйте что угодно (и откуда угодно!), кастомизируйте, читайте других пользователей, которые разделяют ваши интересы. Создайте свой блог на Tumblr прямо сейчас.
          6. Moonfruit – С помощью конструктора веб-сайтов от Moonfruit вы можете абсолютно бесплатно создать веб-сайт или онлайн-магазин. Никаких навыков кодирования не требуется, а хостинг уже имеется.
          7. Yola – Доверьте создание своего веб-сайта нашему бесплатному конструктору сайтов. Мы предлагаем бесплатный хостинг и бесплатный веб-адрес. Google, Yahoo и Bing могут узнать о вашем бизнесе уже сегодня!
          8. Doodlekit – Этот бесплатный конструктор веб-сайтов идеально подходит для стартапов и малого бизнеса. Встроенные инструменты поисковой оптимизации. Возможность создания собственных шаблонов. Никакого кодирования.
          9. Zoho Sites – С Zoho Sites вы можете создать бесплатный веб-сайт для любого бизнеса или события. К каждому веб-сайту прилагается бесплатный блог, адрес электронной почты и неограниченный веб-хостинг.
          10. Squarespace представляет собой универсальное решение для тех, кто хочет создать качественный веб-сайт. Домены, торговля в интернете, хостинг, галереи и аналитика.
          11. Jimdo – С конструктором сайтов от Jimdo создание профессионального веб-сайта, онлайн-магазина или блога — это дело нескольких минут. Выберите один из множества редактируемых шаблонов — и вперед!
          12. uCraft — это бесплатный конструкторов веб-сайтов для компаний, маркетологов и дизайнеров. Выберите шаблон, добавьте контент, бесплатно подключите домен. Готово!
          13. Webnode – Совершенно бесплатно создайте свой веб-сайт для неограниченного пользования. С Webnode это дело пары минут!
          14. Zpecommerce – Создайте бесплатный веб-сайт для Интернет-торговли за пару минут.10000 продуктов и разделов. Бесплатный веб-сайт для Интернет-торговли.
          15. Google Sites – Подумываете о создании своего собственного сайта? Google Sites это бесплатная и простая в использовании платформа, которая позволяет создавать и расшаривать веб-страницы.
          16. Site Builder – Создайте свой веб-сайт с SiteBuilder за пару минут! Потрясающий выбор из 1000 шаблонов.
          17. QuickPages – Создавайте, публикуйте и анализируйте лендинговые страницы. Для этого вам не требуется никаких технических знаний. Бесплатный сервис для создания лендинговых страниц с высокой конверсией.

          Планирование бизнеса


          1. Enloop предлагает бесплатное приложение, которое напишет за вас бизнес-план и оценит ваши шансы на успех.
          2. StratPad – Лучшая в мире программа для планирования бизнеса, удостоенная множества наград. Запустите свой проект при помощи StratPad!
          3. Law Depot — это платформа для самостоятельного составления юридических документов. Кастомизируйте шаблоны юридических документов (завещания, брачные договоры и т.д.). Оцените бесплатную пробную версию прямо сейчас.
          4. Rocket Lawyer – Создавайте, храните и подписывайте контракты и договоры онлайн, найдите адвоката и воспользуйтесь недорогими юридическими услугами. Ведите свои юридические дела онлайн.  
          5. BPlans предлагает бесплатные образцы и шаблоны бизнес-планов, ресурсы по планированию бизнеса, полезные статьи, финансовые калькуляторы, отраслевые отчеты и многое другое!
          6. SME Toolkit – Узнайте, как начать свой бизнес, написать бизнес-план, взять ссуду, вести бухгалтерию малого бизнеса и многое другое. Бесплатные идеи для малого бизнеса.  

          Маркетинговый план


          1. Plan Bold – Один план у одного человека это хорошо. Но совместное обсуждение плана на одной онлайн-платформе – еще лучше!
          2. Marketing Donut – Маркетинговые ресурсы и инструменты для малого бизнеса. Материалы о рекламном продвижении, выставках, исследовании рынка, онлайн медиа, PR и т.д.
          3. Free Mind — это удобное приложение для планирования вашего бизнеса.
          4. Marketing Plan Now – Услуги и инструменты для составления маркетинговых планов для коммерческих и некоммерческих организаций. Узнавайте новое, публикуйте и ищите маркетинговые планы онлайн.
          5. MPlans – Работаете над маркетинговым планом для своего бизнеса? Воспользуйтесь практическими идеями и моделями из десятков успешных маркетинговых планов или составьте свой собственный план.
          6. Desjardins Business Tools предлагает решения для ведения и улучшения ваших бизнес-проектов.  

          Бухгалтерские счета


          1. Invoicetome – Создавайте и отправляйте профессионально составленные PDF-инвойсы онлайн. Бесплатные и простые шаблоны инвойсов для вашего бизнеса. Автоматически рассчитывает налоги и итоговые суммы.  
          2. Free Invoice Generator – Составляйте счета бесплатно! Free Invoice Generator сохраняет все ваши настройки не на своих серверах, а на облаке.
          3. Slimvoice – Теперь вам не нужно составлять электронные письма и прикреплять инвойсы вручную. Забудьте о нагромождении файлов на своем компьютере! Slimvoice сразу отправляет PDF-инвойсы вашим клиентам.
          4. Mybrightbook – Этот сервис обещает стать лучшей бесплатной платформой по ведению счетов для фрилансеров, подрядчиков и малого бизнеса.
          5. Pandle – С нашей бесплатной и простой в использовании программой малые предприниматели дадут фору профессиональным бухгалтерам. Pandle — это «облачная» бухгалтерская программа, которая отвечает реальным потребностям предпринимателей.
          6. BeanBalance предлагает бесплатную бухгалтерскую программу для малого бизнеса и подрядчиков из Великобритании.  
          7. Quickfile – Платформа для ведения бухгалтерского учета для британских компаний. QuickFile — это простая в использовании программа, которая работает в облаке и является бесплатной для компаний с небольшим объемом счетов.
          8. WaveApps – Более 2 миллионов небольших фирм и фрилансеров используют Wave для отправки инвойсов и ведения бухгалтерского учета.
          9. Free Invoice Creator – Создавайте инвойсы и шаблоны для них бесплатно! Сохраняйте, печатайте и скачивайте инвойсы в формате PDF и получайте за это деньги. Профессионально составленные инвойсы для любого бизнеса.
          10. Invoice Generator – Создавайте правильные инвойсы прямо в своем браузере без регистрации.
          11. Mint – Управляйте своими деньгами, оплачивайте счета и отслеживайте свою кредитную историю. Mint — это рациональное отношение к деньгам.
          12. Manager.io – Ищите программу для ведения бухгалтерии? Manager — это бесплатная бухгалтерская программа для малого бизнеса.  
          13. Invoice Home – Теперь вы можете создать и скачать безукоризненные инвойсы в PDF за считанные секунды! Пользуйтесь огромной галереей шаблонов для инвойсов, отправляйте инвойсы по электронной почте, получайте оплату по карточке.

          Дизайн


          1. Easel.ly — это простой веб-инструмент, который позволяет создавать графические материалы (инфографика, постеры) и делиться ими с другими. Опыт в области дизайна не требуется!
          2. Infogr.am – Создавайте, публикуйте и расшаривайте данные в виде зрительных образов, инфографику и онлайн-графики.
          3. Logomak.com — Подберите цвет, шрифт для вашего логотипа всего за несколько минут.
          4. Placeit – Вставьте скриншот вашего приложения в макеты для iPhone и iPad. Это намного быстрее, чем использовать PSD-макет.
          5. Fotor — это бесплатный онлайн-инструмент для создания и редактирования графических изображений, который отвечает всем вашим требованиям! Добавляйте фильтры, рамки, текст, стикеры и прочее.  
          6. Kraken – Оптимизируйте изображения в два клика с помощью многофункционального API- и веб-интерфейса.
          7. Compressor – Эффективный онлайн-инструмент, который значительно уменьшает размер изображений и фотографий практически без потери качества.  
          8. Freebbble предлагает более 1000 бесплатный дизайнерских идей от своих пользователей.  
          9. Dribble – Сервис, о котором должен знать каждый дизайнер.
          10. Pixel Buddha предлагает веб-дизайнерам и разработчикам эксклюзивные, высококачественные ресурсы на бесплатной и платной основе.
          11. Premium Pixels – Коллекция бесплатных дизайнерских материалов от британского веб-дизайнера Ормана Кларка.
          12. Fribble – Бесплатная коллекция PSD-файлов других материалов от Dribbblers, курируемая Гилбертом Пеллегромом.
          13. Freeiesbug — это блог о веб-дизайне, который предлагает бесплатные высококачественные PSD-файлы, HTML-шаблоны веб-сайтов, шрифты и много других интересных материалов.  
          14. 365PSD – Качайте бесплатные векторы и PSD-файлы каждый день!
          15. DBFreebies – Скачивайте лучшие бесплатные материалы по дизайну с Dribbble и Behance. Новейшие PSD-файлы для UI, макеты, иконки, шрифты, шаблоны и фоны.  
          16. MarvelApp – Используйте скетчи, макеты и дизайны для создания приложений для iPhone, iOS, Android и Apple Watch.
          17. Techandall – Бесплатные графические материалы для личного и коммерческого использования.  
          18. Freepik – Более миллиона бесплатных векторов, PSD-файлов, фотографий и бесплатных иконок. Все, что вам нужно для работы над своими проектами.  
          19. Pixeden предлагает бесплатные веб-ресурсы и шаблоны для графического дизайна. Исследуйте!
          20. UISpace – Высококачественные бесплатные PSD- и AI-файлы, бесплатные шрифты, макеты, последние коллекции иконок и другие материалы в вектором формате.  
          21. Adobe Experience Design – Разрабатывайте веб-сайты и мобильные приложения с Adobe Experience Design.
          22. Draw.io — это бесплатная онлайн-программа для создания блок-схем, диаграмм процессов, организационных схем, UML-диаграмм, ER-диаграмм и сетевых диаграмм.  

          Редакторы изображений


          1. Canva – С сервисом Canva дизайн под силу каждому. Создавайте изображения для веб-пространства или печати: графика для блога, презентации, обложки для Facebook, флаеры, постеры и многое другое!
          2. Pixlr – Бесплатный онлайн-редактор изображений, который позволяет создавать, корректировать и обрабатывать изображения при помощи фильтров прямо в браузере.
          3. TinyJpg – Увеличьте скорость работы своего веб-сайта, сохранив ширину полосы. TinyJPG — это лучший автоматический оптимизатор изображений в формате JPEG, который сжимает их на 40-60%!
          4. ImageOptim сокращает время загрузки изображений и удаляет «раздутые» мета-данные. Экономит место на диске и сохраняет ширину полосы, сжимая изображения без потери качества.
          5. Evernote Skitch – У Skitch имеются все необходимые инструменты, чтобы превращать идеи в зрительные образы, делиться обратной связью и работать вместе с друзьями и коллегами.  
          6. Recitethis – Создавайте красивые цитаты в виде изображений. Загружайте результаты на свой компьютер, делитесь ими в социальных сетях.
          7. Memegenrator – Невероятно быстрый генератор мемов, адаптированный под мобильные устройства. Добавляйте надписи на готовые мемы или загружайте свои собственные изображения и создавайте уникальные мемы.

          Селекторы цветов


          1. WebPage FX – Селектор цветов Hex и RGB.
          2. Get UI Colors – С UI Colors подобрать отличные UI-цвета для вашего веб-сайта или проекта стало проще простого.
          3. Coleure – Отличный селектор цветов.
          4. Colllor – Правильный подход к цветовой палитре. Создавайте сбалансированные цветовые решения. Генерируйте оттенки и тоны.
          5. Material Palette – Выбирайте свои любимые цвета, создавайте и скачивайте свои палитры.
          6. Flat UI Color Picker – Идеальные цвета для плоских изображений.
          7. Flat UI Colors – Широких выбор цветов для плоских изображений.
          8. Coolors – Создайте идеальные цветовые комбинации для своих изображений.
          9. Bjango – Полезные ресурсы на тему дизайна.
          10. Couleurs App — это простое приложение для поиска и корректировки цветов на вашем экране.
          11. Material UI – UI-компоненты для материального дизайна от Google.
          12. Brandcolors – Официальные цветовые коды для крупнейших брендов мира.
          13. Paletton – Инструмент для создания гармоничных цветовых комбинаций.
          14. 0to255 — это простой инструмент, где веб-дизайнеры смогут найти вариации любого цвета. Цвета при наведении курсора, границы, градиенты и многое другое.
          15. Colour Lovers — это креативное сообщество, в котором люди со всего мира создают цвета, палитры и паттерны и делятся ими друг с другом.
          16. Color Wheel – Создавайте цветовые схемы при помощи цветового круга или загрузите тысячи цветовых комбинаций из сообщества Kuler.

          Стоковые изображения


          1. Pexels – Бесплатные стоковые фотографии, которые можно использовать абсолютно везде. Бесплатно для коммерческого использования. Указание авторства не требуется.
          2. All the free Stock — это тщательно отобранная коллекция бесплатных стоковых изображений, аудио- и видеоматериалов. Все лучшие бесплатные стоковые изображения и видеоролики в одном месте.
          3. UnSplash – Бесплатные фотографии высокого разрешения. Делайте с ними все, что хотите!
          4. Splash Base – Огромный выбор бесплатных фотографий и видеоматериалов в высоком разрешении. Материалы с таких платформ, как travelcoffeebook, startupstockphotos, littlevisuals, gratisography.
          5. Startup Stock Photos – Берите бесплатные материалы и творите!  
          6. Jay Mantri – Бесплатные изображения (лицензия CC0).
          7. Moveast – Фотографии путешествующего по миру португальца, который предоставляет все свои фотографии для бесплатного пользования.  
          8. Travel Coffee Book – Прекрасные моменты из путешествий. Все фотографии бесплатные (лицензия cc0), то есть вы можете делать с ними все, что угодно.
          9. Designer Spics – Бесплатные фотографии для личного и коммерческого использования на веб-сайтах, в презентациях, на брошюрах/упаковке/этикетках.  
          10. Death to the Stock Photo – Огромный выбор фотографий и вдохновляющих идей для творческих людей. Ежемесячная рассылка бесплатных фотографий на почту.
          11. Foodies Feed – Более 1000 красивых, реалистичных и бесплатных изображений еды в высоком разрешении.
          12. Mazwai – Бесплатные видеоролики в HD.
          13. Jeshoots – Бесплатные изображения.
          14. Superfamous – Большой выбор бесплатных изображений.
          15. Pixabay – Сайт с сотнями тысяч бесплатных фотографий и клипартов для любых целей.
          16. Magdeleine – Бесплатное фото дня в блоге Magdeleine.co, который предлагает высококачественные стоковые изображения, вдохновляющие вас на новые идеи.
          17. Little Visuals – Подпишитесь на еженедельную рассылку 7 изображений в высоком разрешении и используйте их, как душа пожелает.
          18. Splitshire – Бесплатные стоковые фотографии и изображения для ваших коммерческих проектов. Без указания авторских прав.  
          19. Free Photobank – Сайт с бесплатными стоковыми фотографиями. Качайте изображения разрешением до 2048 пикселей с лицензией Creative Commons.
          20. Free Range Stock – Бесплатные стоковые изображения и текстуры в HD, с системой распределения доходов от публикации рекламы.
          21. Free Images – Более 16 000 бесплатных цифровых изображений. Платные и бесплатные стоковые фотографии.
          22. RGB Stock – Сайт с более чем 100 000 бесплатных стоковых изображений онлайн.
          23. Dreamstime – Выбирайте из более чем 51 миллиона стоковых фотографий, иллюстраций, векторов и видеороликов из крупнейшей базы бесплатных стоковых изображений.  
          24. Image Free – Бесплатные изображения.
          25. Stock Vault – Более 90 000 бесплатных стоковых фотографий, текстур и графических изображений для вашего следующего проекта. Без указания авторства.  
          26. Public Domain Pictures – Коллекция фотографий в открытом доступе для личного и коммерческого использования.  
          27. Free Digital Photos – Бесплатные изображения, высококачественные стоковые фотографии и иллюстрации. Идеальный вариант для ваших онлайн и оффлайн проектов. Все малоразмерные изображения доступны бесплатно.
          28. ISO Republic – Бесплатные стоковые фотографии для творческих людей.
          29. StokPic – Бесплатные стоковые фотографии в HD для коммерческого использования.
          30. Kaboompics – Потрясающие бесплатные стоковые изображения для личных целей и бизнеса.  
          31. We Function – В Dealotto мы создаем базу лучших материалов для дизайнеров.  
          32. PJRVS – Paul Jarvis помогает людям привнести творческую атмосферу в область торговли.  
          33. Lock and Stock Photos – Бесплатные стоковые фотографии. Используйте их для любых целей, в любом месте и в любое время!
          34. RaumRot – Отличная коллекция изображений для творческих людей. Бесплатные нестоковые изображения для вашего проекта.
          35. Bucketlistly – Коллекция из более чем 4 000 бесплатных фотографий на тему путешествий.  
          36. Get Refe – Бесплатные высококачественные и естественные фотографии.
          37. Gratisography – Бесплатные стоковые фотографии в HD для личных и коммерческих проектов.
          38. Lifeofpix – Бесплатные изображения.
          39. Pic Jumbo – Бесплатные стоковые фотографии.

          Иконки


          1. Fontello – Генератор шрифтов для иконок.
          2. Flat Icon – Поисковая система с более чем 16 000 глиф-иконок в векторе.
          3. Font Awesome – Набор инструментов для CSS.
          4. Glyphsearch – Коллекция иконок из множества каталогов.
          5. MakeAppIcon – Создавайте иконки для приложений любого размера в один клик.
          6. Endless Icons – Бесплатные плоские иконки и другие графические материалы.
          7. Iconsflow — Уникальный редактор, который поможет тебе создать свои собственные иконки различных размеров и стилей.
          8. Ico Moon – 4 000+ бесплатных векторных иконок, генератор иконок.
          9. The Noun Project – Тысячи глиф-иконок от разных авторов.
          10. Perfect Icons – Инструмент для создания иконок.
          11. Material Design Icons – 750 бесплатных глиф-иконок от Google.
          12. Icon Finder – Отдельный раздел с бесплатными иконками.  
          13. Fav Icon Generator – Конвертируйте свое любимое цифровое изображение в фавикон, аватар, иконку или баннер в Facebook, аватар или иконку в Twitter, или просто обрежьте и измените размер изображения для любых других целей.

          Интеграция разработки и эксплуатации ПО


          1. Loggly – Самый популярный облачный сервис для управления журналами приложений. Анализ приложений.
          2. Firebase – Firebase предлагает инструменты и инфраструктуру для создания приложений и успешного развития бизнеса.
          3. New Relic – Платформа, которая позволяет разработчикам обнаруживать и решать проблемы производительности приложения в режиме реального времени.
          4. Segment — это выбор тысяч компаний, которые доверяют ему данные о своих клиентах. Собирайте данные о пользователях при помощи одного API и отправляйте их тысячам инструментов.
          5. Import.io – Ведущая платформа по извлечению веб-данных для компаний и физических лиц.  
          6. Let's encrypt — это центр, предоставляющий бесплатные сертификаты и созданный некоммерческой корпорацией Internet Security Research Group.
          7. Cloudflare – Мы в Cloudflare заставляем интернет работать так, как следует. Мы предлагаем системы защиты CDN, DNS, DDoS, выявляем проблемы и направления совершенствования вашего сайта.
          8. SSL Server Test – Полный и бесплатный SSL-тест для общественных веб-серверов.  
          9. HSTS preload list – Составьте список доменов для предварительной загрузки в Chrome (HTTP Strict Transport Security (HSTS)).
          10. Secure Site Check – Мониторинг безопасности сайтов и удаление вредоносных программ.
          11. Pingometer – Отслеживайте аптайм, даунтайм, а также производительность веб-сайтов. Круглосуточный мониторинг.
          12. Uptime robot – Сервис, который мониторит веб-сайты каждые 5 минут.
          13. Eager – Бесплатно усовершенствуйте свой веб-сайт при помощи плагинов, устанавливаемых за пару секунд.
          14. Dotcom Tools – Измерьте набор параметров производительности вашего веб-сайта: скорость, производительность веб-сервера, тест почтового сервера, трассировка маршрута DNS, ftp-серверы.
          15. Snowy Evening – Отслеживание ошибок вашего веб-сайта.
          16. Web Page Test – Проведите бесплатный тест скорости работы веб-сайта для пользователей из разных уголков мира при помощи реальных браузеров с пользовательскими скоростями подключения. Подробные рекомендации по улучшению работы веб-сайта.
          17. Load Impact – Проверьте нагрузку вашего веб-сайта, приложения или API при 1,2 млн параллельных пользователей.
          18. Nibbler – Бесплатный инструмент для тестирования вашего веб-сайта и выявления направлений улучшения его работы. Проверьте доступность, SEO, социальные сети, соответствие и прочее.
          19. GitHub – Хостинг для онлайн-проектов, использующий Git. Включает в себя браузер с исходным кодом, последовательное редактирование, вики и тикеты. Бесплатно для открытого исходного кода.  
          20. BitBucket – Коллективное написание кода с внутристрочными комментариями и запросами на включение. Управляйте и делитесь своими хранилищами Git, создавая программы в команде.
          21. Firefox Developer Tools – Инструменты для веб-разработки. Позволяют просматривать, редактировать и отслеживать запросы CSS, HTML, JavaScript и Net на любой веб-странице.
          22. Responsinator – Посмотрите, как выглядит ваш веб-сайт на разных устройствах.
          23. Logmein – Неограниченные возможности удаленного доступа с LogMeIn. Теперь вы можете получить доступ к настольному компьютеру и ноутбуку по сети и работать из любой точки мира.

          Интернет-торговля


          1. WooCommerce – Платформа с широкими возможностями кастомизации для развития вашего онлайн-бизнеса.
          2. Magento — это бесплатная общедоступная платформа для интернет-торговли, которая предоставляет малому бизнесу программное обеспечение и фреймворк для успешной электронной коммерции.
          3. Google Merchant Centre – При помощи Merchant Tools от Google Merchant Center вы можете загрузить данные о своей продукции и рассказать о своих товарах миллионам покупателей.
          4. Google Trusted Stores – Став одним из надежных магазинов по версии Google, вы сможете увеличить свои показатели конверсии, заручиться доверием покупателей и предложить клиентам защиту покупателя.
          5. M2EPro – Контролируйте товары, реализуйте различные стратегии ценообразования и увеличьте продажи на eBay, Amazon и Rakuten.
          6. OpenCart – Все, что вам нужно, чтобы запустить, масштабировать и вести бизнес.  
          7. OS Commerce – Мы предлагаем вам бесплатные инструменты для создания полноценного онлайн-магазина с собственным хостингом, который будет продавать товары  и услуги покупателям во всем мире.
          8. CubeCart — это эффективное, бесплатное решение для онлайн-торговли, которое позволяет тысячам продавцов со всего мира продавать цифровые и физические товары в Интернете.
          9. Prestashop – Создайте онлайн-магазин бесплатно.
          10. Web Scraper – Бесплатный инструмент для извлечения данных с динамических веб-страниц.

          Платежные сервисы*


          1. Stripe предлагает эффективные и гибкие инструменты для онлайн-торговли. На данный момент наш ежегодный оборот составляет миллиарды долларов.
          2. PayPal — это безопасный способ отправлять и получать платежи за товары и услуги, переводить деньги друзьям и членам семьи.
          3. Go Cardless предлагает самый простой способ прямого дебетования. Отличный инструмент для регулярно выставляемых счетов и расчетов между компаниями. Число клиентов составляет 20 000 компаний. *Транзакции осуществляются на платной основе

          Безопасность


          1. Lastpass – Менеджер паролей, автоматическое заполнение форм, генерация рандомных паролей и надежный онлайн-кошелек.
          2. Chrome Password Manager – С помощью этого инструмента Chrome может запоминать ваши пароли от разных сайтов.
          3. Firefox Passwords – Firefox предлагает Менеджера паролей, который может сохранять ваши пароли от разных веб-сайтов.  
          4. Enpass – Лучший в мире менеджер паролей для iOS, Android, Windows, Linux and Mac. Enpass сохраняет и зашифровывает данные оффлайн и создает надежные пароли.
          5. Dashlane по праву считается лучшим менеджером паролей. Воспользуйтесь нашей бесплатной опцией автозаполнения форм. Сохраняйте чеки, типы платежей, пароли и персонализируйте свой онлайн-кошелек.  

          Хранение


          1. Box  позволяет вам усовершенствовать управление контентом вашего бизнеса, начиная от простого расшаривания файлов и заканчивая созданием своих собственных приложений.  
          2. Google Drive – Хранение ваших файлов в облаке и резервное копирование ваших фотографий, видеороликов, файлов и прочих материалов.
          3. Dropbox  упрощает процесс создания, расшаривания и сотрудничества. С Dropbox ваши фотографии, документы и видеоролики в надежных руках.  
          4. Onedrive – Microsoft OneDrive позволяет вам получить доступ к файлам откуда угодно, с любого устройства.
          5. Drp.io – Бесплатный, быстрый, приватный и простой хостинг для изображений и файлов.  

          Подписание документов


          1. Hello Sign – Подписывайте уверенно! HelloSign предлагает простые в использовании электронные подписи, имеющие полную юридическую силу.
          2. DigiSigner – Подписывайте документы онлайн при помощи электронной подписи. Получайте подписи от других.
          3. GoNitro – Подписывайте, одобряйте и управляйте документами онлайн и на своем компьютере.

          Расшаривание файлов


          1. Wetransfer предлагает простой способ отправки файлов в любую точку мира.  
          2. Seshi – С Seshi вы можете обмениваться файлами с кем угодно и где угодно.
          3. WeSendIt — это самый безопасный и простой способ отправки больших и маленьких файлов. Без регистрации. Бесплатная отправка больших файлов до 20 Гб на любой электронный адрес.  
          4. Hightail значительно упрощает сотрудничество в рамках творческих проектов. Надежная пересылка и расшаривание больших файлов. Получение обратной связи в одном месте.

          Совместный доступ к экрану


          1. Screen O Matic – Миллионы пользователей доверяют Screencast-O-Matic организовывать и расшаривать запись видео с экрана.
          2. Jing – Простой способ начать делиться изображениями и короткими видеороликами на экране вашего компьютера.  

          Анонимные адреса электронной почты


          1. Mailinator – Бесплатные веб-адреса, создаваемые при получении сообщений. Без регистрации. Сообщения удаляются через несколько часов.
          2. Maildrop предлагает бесплатные одноразовые адреса электронной почты для заполнения веб-форм, регистрации в приложениях и других случаев, когда вы не хотите разглашать свои персональные данные.
          3. Maildu – Используйте любой адрес name@maildu.de, когда хотите где-либо зарегистрироваться или просто протестировать сервис без разглашения своего адреса электронной почты.
          4. 10 Minute Mail – Бесплатные и надежные временные адреса электронной почты позволят вам избежать спама.

          Связь


          1. Skype – Оставайтесь на связи со своими близкими бесплатно. Международные звонки, бесплатные онлайн-звонки и опция Skype for Business для стационарных компьютеров и мобильных устройств.
          2. Slack – Со Slack все общение осуществляется в рамках одной платформы. Обмен сообщениями в режиме реального времени, архивирование и поиск современных команд.  
          3. Hipchat представляет собой групповой чат для команд и бизнеса. Бесплатное участие для неограниченного количества пользователей, неограниченные групповые чаты, видеочаты и совместный доступ к экрану.  
          4. Yammer обеспечивает доступ к информации и людям в вашей организации, о существовании которых вы и не подозревали.  

          Управление задачами


          1. Trello – Бесконечно гибкий. Невероятно простой в использовании. Отличные мобильные приложения. И все это бесплатно. Trello отслеживает все процессы, от общей ситуации до мелких деталей.  
          2. Evernote – Собирайте, развивайте и распространяйте идеи через сервисы для стационарных и мобильных устройств. С Evernote ваши мысли всегда с вами и всегда в идеальном порядке.
          3. Skitch – Выразите любую идею при помощи нескольких слов и заметок.
          4. Google Docs вдохнет жизнь в ваши документы. Эффективные инструменты для редактирования и форматирования текстов и абзацев.  
          5. ToDo.vu –  Наша цель состоит в том, чтобы помогать командам управлять задачами, которые касаются клиентов и внутренних проектов.  
          6. Asana – Отслеживайте проекты от начала до конца.  
          7. easynote.io – Easynote — это лучший менеджер задач и инструмент для эффективной работы в команде! Идеальное и совершенно бесплатное решение для управления проектами.
          8. MeisterTask — это интуитивно понятный онлайн-инструмент для координации командной работы и управления задачами. Регистрируйтесь, приглашайте членов своей команды и начинайте работать!
          9. Pintask – Станьте идеальным менеджером задач с Pintask (включает в себя канбан-доску).  
          10. Todo Cloud – Работайте самостоятельно или в команде. Получите доступ к своим задачам, проектам и спискам на всех устройствах.  
          11. Todoist — это лучшее онлайн-приложение для управления задачами и работы со списками дел.  
          12. TrackingTime – Каждый раздел приложения TrackingTime PRO предоставляет эффективные аналитические инструменты, с помощью которых вы найдете ответ на любой вопрос и примите единственно правильное решение.  
          13. Wrike — это онлайн-программа для управления проектами, которая обеспечивает полную прозрачность ваших задач и позволяет вам без труда управлять ими.  
          14. Wunderlist поможет вам расправиться с делами за считанные минуты, будь то планирование отпуска, составление списка покупок или управление несколькими рабочими проектами.
          15. Yanado – Управление задачами в Gmail.
          16. Swipe позволяет вам быстро создавать и распространять профессиональные и интерактивные онлайн-презентации на любом устройстве.  
          17. Centrallo – Простой организационный инструмент, который не даст вам отстать от графика.  
          18. SamePage – С помощью наших инструментов для координации командной работы и обмена сообщениями ваша команда сможет сделать еще больше! Будьте на связи с коллегами, работайте в режиме реального времени, обменивайтесь файлами.
          19. Producteev — это лучшая в мире программа для управления задачами, которая помогла сотням тысяч команд справиться с работой на сто процентов. Это больше, чем просто ведение списка дел онлайн.
          20. Google Keep – Запишите свои мысли. Делайте заметки, составляйте списки, добавляйте фотографии и аудиозаписи.

          Учет времени и составление графиков


          1. Harvest – Надежный онлайн-инструмент для учета времени, быстрого выставления инвойсов и составления отчетов. Упростите себе задачу по составлению табелей учета рабочего времени своих сотрудников и выставлению счетов.
          2. Togglr – Лучшая система учета времени для малого бизнеса. Простой онлайн-таймер с калькулятором для учета рабочего времени. Совместимость с iOS и Android.
          3. Time Doctor – Программа для учета и планирования времени со скриншотами, которая увеличит вашу производительность.  
          4. Worksnaps – Надежный сервис учета времени для удаленной командной работы. Использование скриншотов как доказательства выполненной работы.  
          5. Hubstaff – Менеджер рабочего времени со скриншотами, табели учета рабочего времени, мониторинг использования интернета и приложений.
          6. Calendly – Подыскиваете время для встречи? Забудьте о напоминаниях на телефоне или в электронной почте. Планируйте встречи с Calendly – и вы обязательно найдете время, которое устраивает всех!  
          7. actiTime – Простая, но при этом эффективная программа для учета рабочего времени для любого бизнеса. actiTIME — это самый простой способ учета и управления временем.
          8. Get Time Flow – Планируйте время с любого устройства. Создавайте, представляйте в виде зрительных образов и скачивайте ежечасные отчеты по каждому клиенту, пользователю и т.д.  
          9. My Hours — это сервис учета времени, без которого вы скоро не сможете представить себе свою жизнь. Организуйте свое рабочее время и рабочее время команды. Выставляйте счета клиентам, развивайте бизнес.  
          10. T Sheets – Программа для учета рабочего времени сотрудников с GPS. С TSheets вы можете забыть о сложностях составления расчетных ведомостей, создания отчетов и выставления счетов. Бесплатная и неограниченная помощь.
          11. Account Sight – Воспользуйтесь AccountSight для отслеживания поступлений на ваши счета и контроля за потоком денежных средств. Составление многофункциональных отчетов при помощи набора простых инструментов.

          Управление рабочими процессами


          1. IFTTT помогает вам делать больше, используя ваши любимые сервисы. Объедините Amazon Alexa, Facebook, Twitter, Instagram, Fitbit, Slack, Skype и многие другие платформы.
          2. BIP.io – Быстрая разработка рабочих процессов при помощи привычных вам «облачных» инструментов. Навыки программирования не требуются.
          3. Zapier автоматизирует задачи в разных веб-приложениях.
          4. Flow by Microsoft – Автоматизируйте повторяющиеся задачи путем интеграции своих любимых приложений с Microsoft Flow.

          Онлайн-встречи


          1. Lytespark – Как сделать встречи более быстрыми и удобными? Бесплатные видеоконференции от LyteSpark идеально отвечают вашим требованиям и не требуют загрузки.  
          2. GotoMeeting – Необходимость поработать может возникнуть в любое время и в любом месте. С программой для проведения видеоконференций от GoToMeeting работать в режиме реального времени стало намного проще!
          3. Google Hangouts оживят ваши разговоры при помощи фотографий, эмодзи и даже групповых видеозвонков. И все это бесплатно! Вы можете общаться со стационарных компьютеров, а также устройств Android и Apple.
          4. Free Conference Call – Ведущий сервис по предоставлению услуг конференц-связи с полным набором полезных инструментов.  
          5. JoinMe – Бесплатный совместный доступ к экрану, онлайн-встречи и работа в команде.

          Отчетность


          1. Neatly – Соберите все бизнес-данные, аналитические данные, бухгалтерские счета и социальные сети в одном месте и управляйте ими в режиме реального времени.
          2. Cyfe – Онлайн-программа, которая помогает компаниям перенести всю свою бизнес-метрику на одну платформу.
          3. Dasheroo – Отслеживайте ключевые показатели производительности, веб-аналитику, маркетинговые данные и данные продаж на одной инструментальной панели.
          4. Baremetrics – Всего один клик – и вы будете получать сотни полезных метрик и деловых рекомендаций.   

          Товарные запасы


          1. Clearly Inventory – Простой онлайн-сервис для управления товарными запасами для малого бизнеса и организаций. Оперативность, возможность коллективного доступа.
          2. Skyware Inventory – Онлайн-программа для учета товарных запасов от Open Sky Software, производителя заказных программ для управления товарными запасами.  
          3. The Canvus – Stockpile — это бесплатная онлайн-программа для управления товарными запасами для малого и среднего бизнеса.  

          Управление взаимодействием с клиентами и клиентская поддержка


          1. Freshsales — это полноценная программа для управления взаимодействия с клиентами, разработанная для команд по продажам. Управление лидами. Управление деловыми контактами.  
          2. Capsule CRM – Онлайн-программа для управления взаимодействием с клиентами для физических лиц, малого бизнеса и команд по продажам, которым необходим простой, эффективный и доступный по цене инструмент. Управляйте контактами и их историей.  
          3. Drift — это приложение для обмена сообщениями, которое помогает компаниям взаимодействовать с клиентами и посетителями сайтов в режиме реального времени из любой точки мира.
          4. Intercom Observe расскажет вам о том, кто ваши клиенты и как они используют ваше приложение.
          5. Zoho CRM – Комплексное управление бизнесом при помощи набора онлайн-инструментов для повышения производительности и Saas-приложений от Zoho.
          6. Fresh Desk – Служба клиентской поддержки, которая позволяет вам работать с клиентами по электронной почте, по телефону, в Twitter и на странице вашей компании в Facebook.
          7. Bettersalez – Простой онлайн-инструмент для отслеживания продаж, разработанный специально для фрилансеров и консультантов.  
          8. Bitrix24 — это бесплатная (для малого бизнеса) платформа для социальных предприятий. Это общее рабочее пространство, в котором рассматриваются многочисленные аспекты ежедневных процессов и задач.  
          9. HubSpot CRM – Планируйте, отслеживайте и продавайте с системой управления взаимодействия с клиентами от Hubspot.
          10. Highrise CRM – С Highrise вести бизнес – одно удовольствие! Делитесь задачами, заметками, сделками, электронной перепиской и многим другим, используя нашу программу управления взаимодействия с клиентами для малого бизнеса.
          11. Basecamp — это лучший онлайн-инструмент для управления проектами и координации командных работ.
          12. Apptivo – Развивайте бизнес с бесплатными программами для управления взаимодействием с клиентами, управления проектами, управления счетами и учета рабочего времени.  

          Live чаты


          1. Freshchat предлагает вам живой чат для быстрого взаимодействия с посетителями вашего веб-сайта и их конверсии в клиентов.
          2. My Live Chat – Абсолютно бесплатный живой чат.
          3. Live Chat – Живой чат и служба поддержки для бизнеса. Более 17 000 компаний из 140 стран мира используют LiveChat.

          Системы бронирования


          1. Free to Book – Простая в использовании система бронирования для вашего отеля, коттеджа, хостела или гостевого дома.
          2. Eventbrite объединяет людей со схожими интересами. Найдите интересующие вас события или создайте собственное событие при помощи инструментов для продажи билетов онлайн.
          3. Meetup – С Meetups вы можете посвящать больше времени тому, что для вас действительно важно. Вы можете создать собственную группу и найти людей, которые живут неподалеку от вас и разделяют ваши интересы.  

          Формы и опросы


          1. Typeform – Составляйте красивые, интересные и интерактивные онлайн-формы, опросы, анкеты, лендинговые страницы и многое другое при помощи Typeform.
          2. Wufoo – HTML-конструктор поможет вам создать формы обратной связи, онлайн-опросы и формы регистрации для участия в различных мероприятиях.
          3. Tally – Создавайте опросы за считанные минуты.
          4. 123 Contact Form – Создавайте формы обратной связи или любые другие веб-формы при помощи многофункционального HTML-конструктора форм совершенно бесплатно. Для работы с этим инструментом вам не понадобятся никакие специальные навыки.
          5. Formsite – Бесплатные коммерческие услуги по созданию HTML-форм на основе баз данных. Для этого вам нужен только веб-браузер! Возможность загрузки и выборочной отправки результатов по электронной почте.
          6. Jotform – Если вам нужны онлайн-формы для генерации лидов, распространения опросов, сбора платежей и прочих целей, JotForm это как раз то, что вам нужно.
          7. Cognito Forms – Бесплатный конструктор форм поможет вам создать профессиональные формы для вашего веб-сайта. Составляйте формы обратной связи, регистрационные формы, формы заказов, опросы и многое другое!  
          8. Doodle значительно упрощает процесс планирования событий, мероприятий, встреч и т.д.
          9. Survey Monkey – Создавайте и публикуйте онлайн-опросы за считанные минуты, просматривайте результаты в виде графических изображений в режиме реального времени.  

          Аналитика


          1. Google Analytics позволяет измерять экономический эффект от рекламы, а также отслеживать эффективность сайтов и приложений.
          2. Piwik — это ведущая общедоступная аналитическая платформа, которая дает намного больше, чем просто информативные аналитические данные.  
          3. Open Web Analytics — это общедоступная аналитическая программа, которая позволяет вам отслеживать и анализировать, как люди используют ваши веб-сайты и приложения.
          4. Clicky – Отслеживайте, анализируйте и реагируйте на трафик вашего блога или веб-сайта в режиме реального времени.  
          5. Similar Web – При помощи новейшего инструмента от SimilarWeb.com вы можете узнать источники трафика любого веб-сайта и его маркетинговые стратегии.
          6. SEM Rush — это эффективный и универсальный набор инструментов для конкурентной разведки в области онлайн-маркетинга, от SEO и PPC до социальных сетей и видеорекламы.  
          7. Stat counter – Бесплатный, но надежный невидимый веб-трекер, счетчик посещений с высокими возможностями конфигурации и подробная веб-статистика в режиме реального времени.  
          8. Applyzer предоставляет общемировые рейтинги для приложений iOS, tvOS, Mac и Google Play по каждой стране и категории. Ежечасовые рейтинги, хронологические данные и диаграммы.
          9. Heap Analytics – Автоматизируйте скучные аспекты работы с пользовательской аналитикой. Больше никаких действий вручную!
          10. Hotjar – Узнайте, как посетители используют ваш веб-сайт, получайте обратную связь от пользователей и конвертируйте посетителей в клиентов.  
          11. Crazy Egg – При помощи тепловой карты кликов и карты скроллинга от Crazy Egg вы узнаете, как посетители проводят время на вашем веб-сайте, чтобы на основании этой информации увеличить конверсию.
          12. iWeb Track – Веб-аналитика, отслеживание поведения посетителей и счетчик посещений для вашего веб-сайта.
          13. YouTube Analytics – Проверьте эффективность своего канала и видеороликов при помощи YouTube Analytics, интерактивной системы отчетности от YouTube.
          14. Facebook Insights – Эффективный инструмент, который покажет вам, как пользователи взаимодействуют с вашей страницей и постами.  
          15. Twitter Analytics – Измерьте и увеличьте охват своего профиля в Twitter.

          A/B тестирование пользователей


          1. Optmizely – Опробуйте лучшую в мире экспериментальную платформу.  
          2. Peek – Узнайте, что думают ваши пользователи.  

          Продажи


          1. Boomerang  добавит на вашу Gmail-почту такие опции, как запланированная отправка и напоминания.
          2. Email Hunter – Hunter — это самый простой способ поиска профессиональных адресов электронной почты. Укажите доменное имя и получите список относящихся к нему адресов электронной почты.
          3. Wappalyzer определяет технологии, используемые на веб-сайтах. Если вы веб-разработчик или просто интересуетесь веб-программами, обязательно установите это приложение!  
          4. Ifnoreply – Поразительно простой инструмент для автоматической рассылки электронных писем, который работает с вашей почты на Gmail. Для специалистов по продажам, стартапов и агентств.
          5. Linkedin – Социальная сеть для профессионалов.
          6. Builtwith – Этот эффективный сервис определяет, как устроен веб-сайт.

          Маркетинг


          1. Notify – Найдите все упоминания вашего стартапа в Twitter, Facebook, Instagram, Youtube, Google+, Reddit, Medium, Hacker News, а также в различных блогах, в новостях и на форумах.
          2. Sumo Me — это набор бесплатных инструментов для увеличения объема трафика на вашем веб-сайте. Инструменты от SumoMe показывают отличные результаты на любом веб-сайте. Простая установка.
          3. Hello Bar – С Hello Bar вы можете увеличить конверсию посетителей в клиентов.
          4. Visual Ping — это самая простая в использовании программа, которая отслеживает и обнаруживает изменения на веб-странице, а также извещает пользователя об этих изменениях.
          5. Marketing Grader – Website Grader — это бесплатный онлайн-инструмент, который оценивает ваш веб-сайт по таким ключевым параметрам, как эффективность, совместимость с мобильными устройствами, SEO и безопасность.
          6. Mautic предлагает бесплатную, общедоступную программу по автоматизации маркетинга.  
          7. Google Trends – Ознакомьтесь с последними трендами, данными и зрительными образами от Google. Узнайте, что сейчас в тренде в вашей индустрии!
          8. Sumo Me List Builder – Расширьте список своих подписчиков с List Builder. List Builder конвертирует разовых посетителей в постоянных читателей и подписчиков.
          9. Sumo Me Scroll Box предлагает неагрессивный метод увеличения числа ваших подписчиков.  

          Контент


          1. Content Row – Инструмент контент-маркетинга от экспертов, которые знают толк в создании первоклассного контента, повышающего конверсию.
          2. HubSpot Title Generator – Впишите в поля слова (желательно существительные), о которых вы бы хотели писать, и этот инструмент предложит вам целый список интересных названий для ваших будущих постов.
          3. Portent – Генератор идей для вашего контента.
          4. Co Schedule Headline Analyzer – Используйте проверенные данные для создания лучших заголовков. Убедитесь, что вы соблюдаете баланс между популярными, редкими и эмоциональными словами.
          5. Sumo Me Headline Generator – Сомневаетесь насчет заголовка для своего следующего поста? Автоматический генератор заголовков готов прийти вам на помощь!  
          6. Hemingway App придает вашим текстам ясности и четкости. Приложение обнаруживает длинные, перегруженные предложения, а также распространенные ошибки.
          7. Medium – При помощи этого сервиса вы можете читать, писать и взаимодействовать с важными для вас текстами.
          8. Slideshare – Исследуйте крупнейшее в мире сообщество по обмену профессиональным контентом.
          9. Quora – Лучший ответ на любой вопрос.
          10. ZenPen – Компактный текстовый редактор, который ненавязчиво помогает вам записывать ваши тексты.
          11. Storywars – Разные подходы к коллективному написанию текстов.
          12. AmInstitute – Этот бесплатный инструмент анализирует заголовки для определения его эмоциональной окраски (EMV).
          13. EggTimer – Простой таймер с обратным отсчетом времени. Задайте время и сохраните его для повторного использования.
          14. WriteRack – Накопилось много мыслей? С WriteRack вы можете писать серии твитов общим размером более 140 символов.
          15. Spruce превращает ваши слова в красивые изображения, которыми вы можете поделиться в Twitter за считанные секунды. Это самый быстрый и простой способ создания изображений для социальных сетей.  
          16. Disqus предлагает лучшие инструменты для увеличения вовлеченности посетителей на вашем веб-сайте. Мы помогаем вебмастерам вести и поддерживать обсуждения онлайн.  
          17. Paper.li – Соберите контент, соответствующий интересам ваших клиентов и предоставьте его им. Делитесь контентом в социальных сетях в автоматическом режиме.  
          18. Grammarly – Инструмент для вычитки текста, который проверит ваш текст на грамматику, пунктуацию, соответствие стилю. Проверка орфографии и анализ плагиата.  
          19. Buzzstream — это онлайн-программа, которая помогает ведущим маркетологам продвигать свои продукты, услуги и контент для налаживания контактов, привлечения внимания и развития бизнеса.
          20. Plagium – Анализ плагиата.

          Подкастинг


          1. Blubrry – Хостинг для подкастов, статистика, хостинг на Wordpress, плагин PowerPress, крупнейший в мире каталог подкастов и многое другое.
          2. Garage Band – Новый взгляд и новые опции. GarageBand это самый простой способ создания первоклассных песен на вашем Mac.
          3. Jahshaka – Jahshaka объединяет общедоступную виртуальную реальность, медиауправление, воспроизведение, редактирование, композитинг и специальные эффекты.
          4. iMovie – С iMovie для iOS и iMovie для macOS вы сможете с легкостью превращать свои фотографии и видеоклипы в прекрасные фильмы и трейлеры, а также делиться своими творениями со всем миром.  
          5. Ardour – Мультиканальная станция цифровой звукозаписи.  
          6. Simple VoiceBox – Оцените преимущества голосовой почты Simple VoiceBox.
          7. Writer Duet — это современная, профессиональная программа для написания сценариев с возможностью коллективной работы в режиме реального времени.
          8. Podomatic – Коллекция лучших миксов на планете – диджеи, исполнители, просветители и т.д.
          9. TalkShoe — это веб-сайт для живого и записанного голосового контента, созданного пользователями. Пользователи могут организовывать и присоединяться к группам обсуждения контента, ток-шоу на радио и беседам.
          10. Vozme – Онлайн-инструмент, который предлагает приложения и услуги по преобразованию текста в речь.

          Видео


          1. Biteable – С программой для создания видеороликов и анимационных роликов на Biteable.com вы можете создать видео совершенно бесплатно. Создавайте презентации, продающие видеоролики, инфографику, рекламные ролики, вступительные заставки (интро) и многое другое.
          2. Animaker — это онлайн-программа для самостоятельного создания анимационных видеороликов, с которой студийное качество становится доступным каждому.
          3. Animatron – Создавайте интересные анимационные ролики для вашего бизнеса или образовательного проекта. Продающие видеоролики, анимационные маркетинговые видеоролики, обучающие видеоролики.
          4. Renderforest — это бесплатная программа для создания слайдшоу и анимационных видеороликов. Слайдшоу, рекламные и продающие видеоролики, анимации для логотипов.
          5. Youtube – Смотрите свои любимые видеоролики, слушайте музыку, загружайте оригинальный контент и делитесь им со своими друзьями, членами семьи и всем миром на YouTube.
          6. Wistia предоставляет профессиональные услуги видеохостинга с аналитикой пользователей, HD качеством и маркетинговыми инструментами, которые помогут вам лучше понять своих посетителей.
          7. Vimeo – Присоединяйтесь к самому дружелюбному сообществу авторов видеоконтента и получите доступ к первоклассным инструментам для хостинга, расшаривания и трансляции видеороликов в HD и 4K без рекламы.

          Курирование


          1. Pocket – Если вы нашли материалы, которые хотите посмотреть позже, вы можете сохранить их в Pocket.
          2. Feedly – Организовывайте, читайте и расшаривайте то, что для вас важно.
          3. Flipboard — это ваш личный журнал, который позволит вам оставаться в курсе важных для вас новостей.  
          4. Protopage – RSS-агрегатор, удостоенный ряда наград.

          Установление контактов


          1. Conspire – Conspire подскажет вам, как найти подход к любому человеку, будь то клиент, работодатель или инвестор.
          2. CharlieApp просматривает сотни источников и предоставляет вам краткую информацию о каждом человеке, с которым вы собираетесь встретиться.  
          3. Onalytica – Найдите влиятельных лиц при помощи своего контента.

          Упоминания в прессе и пресс-релизы


          1. HARO предлагает журналистам обширную базу источников для их будущих репортажей. Источники, заслуживающие широкого освещения в СМИ.
          2. Submit.co – Как рассказать в прессе о стартапе.
          3. Source Bootle – Бесплатный онлайн-сервис, который объединяет журналистов и потенциальные источники новостей.
          4. Onlineprnews – Распространение пресс-релизов для SEO и социальных сетей. Используйте услуги OPN для создания пресс-релизов онлайн и обеспечения широкого освещения в СМИ.
          5. Newswire – Наши инструменты в области распространения новостей, таргетинга, мониторинга и маркетинга помогут вам наладить взаимодействие с целевой аудиторией по всему миру.
          6. Pr Inside – Создавайте пресс-релизы.
          7. Pr.com – Поиск компаний, товаров, услуг, вакансий. Профили компаний, распространение пресс-релизов и опубликованные статьи.
          8. Prlog.org – Бесплатный сервис по распространению пресс-релизов.
          9. JustReachOut – Мы поможем вам привлечь внимание журналистов и делать ежедневные публикации без помощи PR-агентств.

          Электронная почта


          1. Mailchimp предоставляет услуги email-маркетинга для более чем 14 миллионов человек по всему миру. Отправляйте профессионально составленные электронные письма, подключите свой интернет-магазин и увеличьте свои продажи.
          2. Email Octopus – Подключите свой аккаунт на Amazon SES – и работать с подписчиками станет намного дешевле. Эффективная аналитика, отслеживание отказов/жалоб и многое другое.
          3. Inbox Inspector  – Предварительный просмотр электронных писем в более чем 20 популярных email-клиентах для стационарных и мобильных устройств.
          4. MotionMailApp предлагает бесплатные таймеры с обратным отчетом для вашей электронной почты. Улучшив качество своих маркетинговых писем, вы повысите вовлеченность своей аудитории, конверсию и продажи.
          5. Email designer – Приведите свои электронные письма к единому стилю.
          6. Send Pulse – Интегрированный сервис для управления кампаниями email-маркетинга и webpush-уведомлений. Создавайте и отправляйте новостные рассылки.
          7. Sendgrid – Отправка деловых и маркетинговых электронных писем через одну надежную платформу.
          8. Maillift – Сервис для создания рукописных писем для продаж и маркетинга. Увеличьте свои продажи, используя написанные от руки письма!
          9. Senderbase – Крупнейшая в мире сеть мониторинга электронных писем и веб-трафика.  
          10. Senderscore – Узнайте репутацию своего адреса электронной почты (рейтинг отправителя).  
          11. Reputation Authority – WatchGuard предлагает эффективные технологии сетевой защиты и VPN для малого и среднего бизнеса.
          12. Barracuda Central – Проверьте репутацию своего IP-адреса.
          13. Trusted Source – McAfee предлагает онлайн-инструмент, при помощи которого вы можете проверить, включен ли определенный веб-сайт в разные версии SmartFilter Internet Database или Webwasher URL Filter Database.
          14. Emailonacid – Электронный ящик на Acid предлагает инструменты для email-тестирования и email-маркетинга для повышения эффективности ваших кампаний.
          15. Spamcheck – Вы хотели проверить входящие или исходящие электронные письма на спам, но не хотели связываться с Spam Assassin? Тогда этот инструмент как раз то, что вам нужно.
          16. Mailtester – Онлайн-инструмент для тестирования адресов электронной почты. Узнайте, является ли ваш адрес действующим, почему письма на него не доставляются и к какому почтовому серверу он относится.
          17. HTML Mail Designs – Прекрасные электронные письма, которые вдохновят вас на будущие шедевры.
          18. Great Email Copy – Профессионально составленные электронные письма со всей всемирной сети. Забавный проект от Customer.io.
          19. Really Good Emails – Лучшие электронные письма во вселенной (которые пришли на мой почтовый ящик).
          20. Rival Explorer – С Rival Explorer вы можете изучить маркетинговую программу любого бренда.
          21. Beetle Email – Ознакомьтесь с электронными письмами своих конкурентов, подсмотрите идеи для дизайна и проанализируйте статистику. Beetle предлагает более миллиона электронных писем.
          22. Email on Deck – Бесплатные и быстрые электронные письма за 2 простых шага.
          23. Send Check It – Очистите свои маркетинговые письма от неработающих ссылок, отсутствующих изображений и других компрометирующих недостатков.

          Темы электронных писем


          1. Subject Line – Более 4 миллионов проверенных тем. Проверьте тему своего электронного письма.
          2. Subject Line Checker by Adestra – Этот инструмент определяет ключевые слова, которые могут повысить или, наоборот, cнизить успешность вашего письма.

          Социальные сети


          1. Buffer – С Buffer поделиться любой страницей, которую вы читаете, стало проще простого. Добавляйте интересные страницы в Buffer, и мы будем автоматически расшаривать их весь день.  
          2. Hootsuite – Увеличьте эффективность управления своими социальными сетями при помощи Hootsuite. Управляйте множеством страниц в социальных сетях и профилей, измеряйте их эффективность.
          3. MySocial Gram – Управляйте множеством профилей в Instagram с вашего компьютера.
          4. Quuu — это вручную управляемая платформа, которая подключается к вашему профилю в Buffer и предлагает вам соответствующий контент. Отличный способ увеличить количество подписчиков в социальных сетях.  
          5. Bit.ly – Хотите максимизировать отдачу от своей работы с социальными сетями и онлайн-маркетинга? Отслеживайте ссылки, которыми вы делитесь онлайн!
          6. Social Oomph – Увеличьте эффективность своих страниц в социальных сетях.
          7. Social Crawlytics – Узнайте, какой контент авторитетных для вас лиц и ваших конкурентов является самыми популярным и кто его расшаривает.
          8. Picstats – Аналитический инструмент для Instagram.
          9. Sharetally — это бесплатный инструмент, который предлагает вам расшариваемые данные из сотен различных социальных сетей.
          10. Snip.ly – Sniply добавляет ваши индивидуальные «призывы к действию» на каждую вашу страницу, позволяя вам увеличивать вовлеченность фолловеров.
          11. Reddit later – Later (для Reddit) позволяет вам определять время публикации ваших постов на Reddit, чтобы их увидело как можно больше людей.
          12. Likeable Hub – Теперь управлять страницами в социальных сетях стало проще и быстрее.  
          13. Mav Social – Управлять визуальным контентом с одной платформы еще никогда не было так просто! Храните, управляйте и публикуйте изображения и видеоролики в 6 социальных сетях + получайте визуальную аналитику.
          14. RaffleCopter предлагает вам самый простой способ организовать бесплатный розыгрыш онлайн. Организуйте и запустите свой розыгрыш всего за пару минут! Навыки кодирования и знания в области IT не требуются.
          15. Timing – Этот сервис подсказывает вам наилучшее время для публикации ваших постов на Google+ для достижения наибольшего охвата.
          16. Later – С Later планировать маркетинг визуального контента удивительно просто.
          17. SharedCount – Отслеживайте расшаривания URL, лайки, твиты и прочее.
          18. Social Rank – Самый простой способ определять, организовывать и управлять фолловерами в Twitter и Instagram.
          19. Klout помогает людям, которые хотят добиться успеха в социальных сетях. Присоединитесь уже сегодня, чтобы начать расшаривать оригинальный контент и измерять свой охват.
          20. Crowdriff – Ищите, организовывайте, публикуйте и оптимизируйте лучший пользовательский визуальный контент.
          21. Filament — это эффективный инструмент с широкими возможностями кастомизации, который позволяет вашим посетителям расшаривать контент более эффективно.
          22. Addthis – предлагает кнопки для расшаривания, инструменты для таргетинга и рекомендации по работе с контентом. Больше лайков, расшариваний и фолловеров!
          23. Buffer Respond – Большинство инструментов для социальных сетей предназначены для маркетинга, а не обслуживания клиентов. Respond поможет вам координировать работу своей службы поддержки.
          24. CrowdfireApp – Управляйте своими аккаунтами в Twitter и Instagram при помощи Crowdfire.
          25. Followerwonk поможет вам нарастить потенциал своего профиля в социальных сетях. Изучите свою аналитику в Twitter: кто ваши фолловеры и откуда они?
          26. Co Schedule  — Этот инструмент поможет вашим читателям расшаривать ваш контент.  
          27. Google Alerts – Отслеживайте новый интересный контент в сети.
          28. Slacksocial — это бесплатный инструмент для централизованного управления профилями в социальных сетях.
          29. Riffle – Все о вашем профиле в Twitter, где бы вы ни находились!
          30. Circular – Общедоступное приложение от Buffer.
          31. Content Gems ищет для вас лучший контент, ежедневно просматривая тысячи статей из лучших источников.
          32. Juxtapost – Быстрый, бесплатный и простой способ делать закладки изображений, чтобы потом ничего не забыть!
          33. Storify – Создавайте истории при помощи социальных сетей. Превращайте посты в социальных сетях в захватывающие истории. Собирайте и публикуйте лучшие фотографии, видеоролики, твиты и многое другое.
          34. Triberr – Сообщество талантливых блогеров и авторитетных лиц, где читают и расшаривают первоклассный контент.
          35. eLink — это универсальный инструмент для контент-маркетинга. Проверяйте и публикуйте почтовую рассылку и веб-страницы за считанные минуты. Увеличьте свою аудиторию и ее вовлеченность.
          36. Pearltrees — это отличное место для организации всех ваших интересов. Открывайте новое и делитесь всем, что вам нравится!
          37. List.ly – Топ-10 списков, составленных сообществом блогеров и вебмастеров Listly. Составляйте интересные списки и статьи-списки на Listly, расшаривайте их в Facebook иTwitter.
          38. Rebel Mouse – Ведущая платформа для публикации контента. Быстрый способ увеличения аудитории.
          39. Thinglink  – Среди аналогичных сервисов ThingLink выделяется тем, что предлагает широкий выбор эффективных инструментов, который сделают ваш контент заметнее.  
          40. Diigo — это эффективный исследовательский инструмент и сообщество для обмена знаниями.  
          41. Scoop.it – Создавайте и наращивайте свое присутствие в сети, публикуя проверенный контент.
          42. Del.ico.us – Сохраняйте, расшаривайте и находите все самое лучшее в сети при помощи Delicious, ведущего сервиса по созданию закладок в социальных сетях.
          43. HeadSlinger – Охват всех новостей вдвое быстрее. Просматривайте заголовки своих любимых сайтов за считанные секунды. Сохраняйте свои любимые источники новостей в удобные папки.
          44. Addict O Matic – Дышите сетью. Addictomatic ищет для вас лучшие сайты, где публикуется все самое популярное и интересное.
          45. Curation Soft выводит курирование контента на новый уровень.  Проверенные инструменты для курирования контента помогут вам повысить авторитетность своего бренда.

          SEO (Поисковая оптимизация)


          1. Open Site Explorer откроет перед вами новые возможности для создания ссылок. Проверяйте обратные ссылки, определяйте стартовые страницы, просматривайте пользовательскую активность, анализируйте якорный текст.
          2. Yoast Extension – При открытии ссылки этот полезный инструмент определяет авторитетность страницы, якорный текст, а также наличие атрибута nofollow.
          3. Alexa предоставляет аналитическую информацию для сравнения и оптимизации интернет-проектов.
          4. Keywordtool.io – Лучшая бесплатная альтернатива Google Keyword Tool для подбора ключевых слов! Более 750 длиннохвостых ключевых слов от Google Suggest за считанные секунды.
          5. Google PageSpeed Insights – Инструменты PageSpeed анализируют и оптимизируют ваш сайт, используя лучшие методы.
          6. Moz Keyword Explorer – Надежный инструмент для поиска и ранжирования лучших ключевых слов.  
          7. Screaming Frog –  Screaming Frog SEO Spider — это компьютерная программа (для PC или Mac), которая индексирует ссылки на веб-сайты, изображения, CSS, скрипты и приложения для достижения целей SEO.
          8. Majestic SEO – Инструменты анализа ссылок для достижения целей SEO, PR и маркетинга. Site Explorer позволяет детально исследовать домен/URL и получить сводную информацию о главной странице домена.
          9. Quicksprout website analyzer – Развивайте свой веб-сайт. С Quick Sprout вы будете знать, что происходит на вашем веб-сайте и как увеличить объем трафика.  
          10. SERPs rank checker – Международные и локальные рейтинги ключевых слов.  Проверяйте рейтинг ключевых слов в Google или Yahoo, используя более 100 комбинаций страны и языка.
          11. SEO site checkup – При помощи наших бесплатных SEO-инструментов вы сможете моментально проверить правильность настройки поисковой оптимизации вашей страницы. Более того, мы дадим вам ценные рекомендации.
          12. Search Metrics является мировым лидером в области SEO-маркетинга, SEO-оптимизации, маркетинга в социальных сетях и контент-маркетинга.
          13. Copyscape — это бесплатный инструмент для выявления плагиата. Программа обнаруживает дублированный контент и проверяет ваши статьи на оригинальность.
          14. aHrefs — это набор инструментов для SEO и маркетинга. Включает в себя инструменты для работы с обратными ссылками, естественным трафиком, ключевыми словами, контент-маркетингом и т.д.
          15. RankTank – Бесплатные SEO-инструменты. Пользуйтесь ими и даже создавайте на их основе новые инструменты.
          16. SEO tools for excel – Excel-плагин для целей онлайн-маркетинга. Создавайте SEO-отчеты и инструментальные панели. Более 100 функций, чтобы вывести вашу компанию в топ!  
          17. Open Link Profiler – 200 000 свежих ссылок на каждый сайт. Получите детальный анализ  действующих обратных ссылок.
          18. Lovesdata – Подборка лучших SEO-отчетов.
          19. Small SEO Tools – Абсолютно бесплатные SEO-инструменты для проверки контента, исправления контента, расположения ключевых слов, пингования.
          20. Sitemap Generator – Генератор карты веб-сайта, который создает варианты в XML и HTML. Используйте бесплатно для 500 страниц или купите скрипт для неограниченного пользования.
          21. Google Search Console – Проверьте поисковые показатели вашего веб-сайта при помощи Google Search Console. Поддержка вашего веб-сайта, обучающие материалы и свежие новости от Google Webmasters.
          22. Bing Webmaster Tools – Улучшите поисковые показатели своего веб-сайта. Получите доступ к бесплатным отчетам, инструментам и ресурсам.  
          23. GT Metrix — это бесплатный инструмент, который анализирует скорость загрузки страниц вашего веб-сайта. Используя PageSpeed и YSlow, GTmetrix рассчитывает баллы скорости загрузки ваших страниц.
          24. Moz Bar – Универсальная панель SEO-инструментов.
          25. Domain hunter plus – это удобное расширение для Chrome, которое позволяет пользователю быстро просматривать веб-страницы на предмет наличия неработающих ссылок.

          PPC (Плата за клик)


          1. Adwords Editor – это бесплатное приложение от Google для управления рекламными кампаниями.
          2. Bing Ads Editor – Экономьте время и повышайте эффективность кампаний по поисковому маркетингу.  
          3. Wordstream Adwords Performance Grader – Получите бесплатный, мгновенный отчет об эффективности вашего аккаунта в Google AdWords с AdWords Performance Grader. Бесплатный PPC-аудит за менее чем 1 минуту!

          Анализ страниц результатов поиска


          1. Mozcast – MozCast показывает изменения в алгоритме Google за предыдущий день в виде метеорологической сводки. Чем жарче и ветренее, тем больше рейтингов изменилось.
          2. Serpmetrics – SERPmetrics позволяет вам отслеживать эффективность своей поисковой кампании, чтобы видеть, какие методы работают, а какие – нет.  
          3. Algoroo – Подскажет вам, как изменились рейтинговые позиции веб-сайтов.
          4. Serp Watch – Отслеживает изменения в результатах локального поисковика.
          5. Serposcope – Serposcope — это бесплатный, общедоступный инструмент для определения рейтинговых позиций веб-сайтов и улучшения ваших SEO-показателей.
          6. Serplab – Теперь вы можете быстро и точно отслеживать рейтинги ключевых слов в поисковых системах.  
          7. Serpstat – Надежный и эффективный инструмент для анализа обратных ссылок, отслеживания рейтингов, анализа ключевых слов, анализа конкурентов и аудита веб-сайтов.  

          Ключевые слова


          1. KW Finder – Пятьсот скрытых, SEO-эффективных ключевых слов за считанные секунды. KW Finder это лучший инструмент для анализа ключевых слов.  
          2. Rankbrain – Keyword Tool предлагает сотни уникальных длиннохвостых ключевых слов.
          3. Sistrix –  SISTRIX представляет собой набор проверенных инструментов, используемых SEO-профессионалами. Необходимые вам данные от людей, которым вы доверяете.
          4. Soolve – Поисковые запросов в ведущих поисковых системах. Простой в использовании, быстрый и эффективный инструмент. Выбирайте поисковую систему при помощи правой стрелки. Вам даже не понадобится печатать!
          5. Wordstream – При помощи наших бесплатных инструментов и модели «20-минутная рабочая неделя», вы сможете создавать, оптимизировать и измерять высокоэффективные платные кампании по поисковой оптимизации и  кампании в социальных сетях.
          6. Ubersuggest.io подскажет вам идеи по ключевым словам, которые вы не найдете в Google Keyword Planner.
          7. Small Business Calculator – Воспользуйтесь нашими калькуляторами, созданными специально для малого бизнеса, для оценки своего бизнеса и определения перспективных направлений его дальнейшего развития.
          8. Bing Ad Intelligence — это эффективный инструмент для анализа ключевых слов, который позволяет вам создавать и расширять списки ключевых слов при помощи старого-доброго Microsoft Office Excel.
          9. Google Keyword Planner – Начните с поиска слов или фраз, относящихся к вашим товарами или услугам. Keyword Planner находит ключевые слова, которые идеально описывают ваш бизнес.

          Умные вещи


          1. Fuzzy – Fuzzy.ai превращает ваши знания и интуитивные ожидания относительно вашего бизнеса в автоматически совершенствуемый алгоритм.
          2. Wit.ai – Создавайте текстовые или голосовые боты, с которыми люди смогут общаться в их любимом мессендежере.

          Музыка


          1. Spotify — это музыкальная онлайн-платформа с миллионами песен.  
          2. SoundCloud — это аудиоплатформа, на которой вы можете слушать свои любимые песни и делиться своими музыкальными творениями.
          3. Grooveshark – Слушайте любую музыку онлайн совершенно бесплатно. Бесплатные радиостанции в интернете.
          4. Pandora — это бесплатное, персонализированное радио, которое предлагает вашу любимую музыку. Открывайте новые горизонты и наслаждайтесь старыми хитами.
          5. Last.fm – Онлайн-каталог с бесплатным прослушиванием музыки, видеороликами, фотографиями, текстами песен, чартами, биографиями исполнителей, концертами и интернет-радио.

          Инструменты для поиска новых инструментов


          1. Product Hunt – Расширяйте свои горизонты, находите новые интересные вещи.
          2. BetaList предлагает обзор стартапов в интернете. Загляните в будущее первым!

          Обучающие ресурсы


          1. Skillshare – Развивайте свой творческий потенциал с бесплатными онлайн-занятиями и проектами.  
          2. Khan Academy - Бесплатное, качественное образование для всех.
          3. Coursera - Бесплатные онлайн-курсы от 80+ ведущих университетов мира и организаций.
          4. Codecademy - Научитесь кодировать бесплатно.
          5. Startup Notes — Startup School приглашает основателей легендарных компаний, чтобы они поделились своей историей успеха.
          6. The How - Учитесь у предпринимателей.
          7. Launch This Year - Путеводитель, который поможет вам сделать первые шаги в онлайн-бизнесе.  
          8. Closed Club — Просмотрите список закрывшихся стартапов и узнайте, почему они потерпели фиаско.  
          9. Startup Talks — Курируемая коллекция видеороликов о стартапах.
          10. Rocketship.fm - Учитесь у успешных предпринимателей каждую неделю.
          11. reSRC.io - Бесплатные ресурсы для обучения программированию.  
          12. Freecode camp – Учитесь кодировать и создавайте проекты для некоммерческих организаций. Составьте портфолио в области комплексной разработки веб-приложений уже сегодня.
          13. Moz Whiteboard Friday – Еженедельный вебинар от Рэнда Фишкина («Волшебника страны Moz»).

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

          От переводчика. Со всеми пожеланиями и замечаниями по поводу перевода прошу обращаться ко мне в личку. Спасибо!

          Комментарии (0)

            Let's block ads! (Why?)