Как стать автором
Обновить
6
0
Дима @IsaevDimka

Senior Full Stack developer

Отправить сообщение

Пишем Telegram бота на Ruby в 10 строк

Время на прочтение2 мин
Количество просмотров54K

После выпуска Telegram Bot Platform многие задумывались о написании своего бота. Этот пост описывает минимальные шаги, необходимые для написания собственного бота на Ruby. Для этого потребуется только аккаунт в Telegram и машина с установленным Ruby на ней.
Читать дальше →
Всего голосов 38: ↑22 и ↓16+6
Комментарии35

Синхронизируем уведомления CI с Telegram

Время на прочтение3 мин
Количество просмотров24K
Cегодня я хотел бы поделиться своим опытом синхронизации уведомлений Continuous Integration серверов (Bamboo, Jenkins, TeamCity и тп.) с бесплатным мессенджером от Павла Дурова — Telegram.

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

Для организации данной синхронизации мы будем использовать BOT API от телеграмма, Gmail API от Google, а также наш ubuntu сервер на Digital Ocean.
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии7

Облако в штанах

Время на прочтение8 мин
Количество просмотров104K

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

Рынок «облачных хранилищ» очень насыщен: есть как зарубежные решения, так и отечественные.

Например, одни из самых известных зарубежных это: Dropbox.com, GoogleDrive, Microsoft OneDrive
Из отечественных: Yandex.Диск, Облако Mail.ru

У каждого из вышеперечисленного есть как преимущества, так и недостатки.
Так, например, Dropbox бесплатно выдаст Вам всего 2Гб дискового пространства, что по сравнению с бесплатными 10Гб от Yandex.Диск явно меньше, но зато у Dropbox есть система контроля версий файлов, что для кого-то может оказаться очень важным.

Mail.Ru даст Вам 100Гб (давали даже 1Тб, если Вы устанавливаете их ПО, но вроде эту «халяву» прикрыли) но программное обеспечение не работает под консолью Linux, нет даже поддержки WebDAV.
(UPD.: В комментариях писали, что по адресу: https://webdav.cloud.mail.ru/ есть BETA-версия WebDAV, но как оно будет работать сейчас и как оно будет работать дальше — не известно. Используйте на свой страх и риск).
Для кого-то эти тонкости не важны, а кому-то принципиально необходимы, чтобы, например, делать в облако резервные копии своих фотографий с помощью командной строки домашнего роутера.
Так же если на MAIL.RU файлы загружать через web-морду, то работает ограничение на его максимальный объём: 2Гб, а если загружать с помощью родного клиента, то max размер файла может быть 32Гб. Критично это или нет — вопрос индивидуальный.

Лично я отношусь к той категории пользователей, которым нужно как можно больше бесплатного пространства для хранения и чтобы была возможность работать с хранилищем в Linux без графической оболочки. Большим плюсом будет наличие возможности подцепиться к этому хранилищу с мобильного устройства (смартфона/планшета), ведь нам же нужно «облако штанах».

Что же подойдёт под такие критерии? Из бесплатных — не много.
Читать дальше →
Всего голосов 39: ↑32 и ↓7+25
Комментарии78

Оптимизируем VPS за 5$ (512MB RAM / 1 CPU) так, что сайт на wordpress выдерживает нагрузку в 42,735,587 хитов в день

Время на прочтение9 мин
Количество просмотров96K
Когда вы приобретаете сервер VPS с 256MB или 512MB оперативной памяти на борту и лишь часть мощности процессора, то использовать для таких сервисов как MySQL/PHP/Apache настройки по умолчанию является очень плохой идеей. В настоящее время у меня запущено 3 сайта на самом дешевом тарифном плане с 512MB RAM/1 CPU. Не уверен полностью, но посещаемость составляет порядка 5-10 тысяч посетителей в день. Далее я хочу поделиться инструкцией как оптимизировать LAMP используя всего лишь 512 MB и при этом не уходя в swap. Обычно при такой настройки используется 256 – 378Mb памяти и все работает довольно быстро.

Определяем доступную память и активность swap.

Перед началом оптимизации давайте взглянем на количество используемой памяти. Для этого необходимо выполнить следующую команду:

$ free -m

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

$ ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less


Настраиваем LAMP сервер для потребления малого количества оперативной памяти. Останавливаем, отключаем ненужные сервисы

Первый и очевидный вопрос, который необходимо задать — это «какие сервисы мне не нужны в использовании?». Недавно, я обнаружил очень удобную утилиту для управления сервисами. Она называется "sysv-rc-conf" и управляет сервисами при помощи псевдографики и флажками. Выгдялит вот так:



Здесь представлен список сервисов, которые я изменил.

  • Postfix. Этот сервис позволяет отправлять и получать почтовые email сообщения для домена. Я использую для этих целей Google Apps для отправки почты и mailchimp для новостных подписчиков. Таким образом я остановил и отключил этот сервис.
  • Bind9. Он нужен для управления DNS записями Вашего домена. Его можно отключить, так как все DNS записи хранятся у хостера.
  • SSHD. Имеются и другие реализации, которые используют гораздо меньше памяти, но они не поддерживают sftp, поэтому данный сервис я оставил без изменений.


Не запускайте X-сервер, выключите все ненужные сервисы и настройте Apache, MySQL, PHP только с базовой необходимой функциональностью.
Читать дальше →
Всего голосов 131: ↑81 и ↓50+31
Комментарии85

Настройка и оптимизация MySQL сервера

Время на прочтение9 мин
Количество просмотров315K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →
Всего голосов 180: ↑171 и ↓9+162
Комментарии19

Новые продукты Apple: сухие итоги

Время на прочтение3 мин
Количество просмотров219K
Apple представила новые продукты, в разработке которых уже не участвовал Стив Джобс. Давайте же взглянем на характеристики новых аппаратов, и подумаем насколько они могут конкурировать с решениями других компаний. Итак, что у нас в сухом остатке? Начнём с главного — iPhone 5.

iPhone 5


iPhone 5

Подробные характеристики и новые фичи iPhone 5 и новых iPod touch и nano
Всего голосов 116: ↑74 и ↓42+32
Комментарии503

Коротко о Freemyapps (халявные программы для iOS)

Время на прочтение4 мин
Количество просмотров60K
Итак, существует такой сервис, как m.freemyapps.com — сервис для того, чтобы легально и бесплатно получать бесплатно платные игры для iPhone, iPod Touch и iPad. И, как выяснилось, не все знают, что это такое, либо как им пользоваться. Попробую вкратце рассказать, с чем его едят, как сделать аккаунт и зачем.
Во — первых, это рекламный сервис, в котором необходимо устанавливать бесплатные приложения (как правило, игры и клиенты соц. сетей), играть в них 30 секунд или более, получать за это баллы, и обменивать их на платные игры. Под катом — как и зачем нужен второй аккаунт, что можно получить, что для этого надо.
Читать дальше →
Всего голосов 15: ↑8 и ↓7+1
Комментарии24

Возвращаем деньги за приложение в App Store

Время на прочтение2 мин
Количество просмотров10K
image
Всем привет!
Сегодня я решил создать топик, который может помочь каждому «яблочнику», суть в том, что наверняка с многими было такое, когда Вы покупаете приложения, а оказывается, что оно оказалось полной ерундой, или же Вы просто перепутали приложение с другим, а деньги Вам еще понадобятся, но как их возвращать? Сегодня я об этом расскажу.
Читать дальше →
Всего голосов 40: ↑22 и ↓18+4
Комментарии19

Digital October — логово безумных идей и коворкинг-центр

Время на прочтение6 мин
Количество просмотров13K


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

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



Я смог заставить себя перейти только с третьей попытки. И — осторожно: под катом трафик.

Читать дальше →
Всего голосов 101: ↑95 и ↓6+89
Комментарии46

Как передавать данные из рекламных систем Яндекс.Директ и Google AdWords в Google Analytics

Время на прочтение3 мин
Количество просмотров27K
Мы уже неоднократно писали и говорили о колоссальных возможностях Google Analytics. Настроив необходимые отчеты, можно отслеживать и анализировать онлайн и оффлайн кампании, а так же многое узнать о посетителях сайта и качественно улучшить взаимодействие с ними. В комментариях к прошлому материалу, посвященному GA, нас попросили подробно рассказать, как связать аккаунт Google Analytics с рекламными системами Яндекс.Директ и Google AdWords.

Передаем данные из AdWords


Как известно, Google Analytics и AdWords – продукты одной компании, поэтому они легко встраиваются и отлично дополняют друг друга. Связывание аккаунтов двух систем позволяет анализировать действия посетителей на сайте, в том числе, как они взаимодействуют с ресурсом после перехода с рекламного объявления: какой показатель отказов, сколько времени они провели на сайте, количество просмотренных страниц, какое количество посетителей впервые пришли на сайт и т.д. В итоге вы будете понимать, какая часть трафика и объема продаж получена благодаря AdWords. Сможете оценить эффективность ваших рекламных объявлений и более рационально управлять кампанией.

После связывания аккаунтов Google Analytics и AdWords они смогут обмениваться данными, а у вас появится возможность:
  • импортировать цели и транзакции Google Analytics в AdWords;
  • просматривать данные Google Analytics о привлечении трафика на сайт в AdWords;
  • создавать в Google Analytics списки ремаркетинга и использовать их в AdWords для таргетинга определенной аудитории;
  • автоматически просматривать данные AdWords о кликах и расходах рядом с данными Google Analytics о привлечении трафика на сайт.

Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии8

Авто-импорт данных о расходах из Яндекс.Директа в Google Analytics по API

Время на прочтение1 мин
Количество просмотров10K
Я уже писал о сервисе CostUp, который создан для загрузки данных о затратах в Google Analytics. Мы учли пожелания пользователей и сделали автоматическую загрузку данных о показах, кликах и затратах из Яндекс.Директ в Google Analytics, в том числе по расписанию.

Для этого необходимо пройти авторизацию в API Google Analytics и Яндекс.Директ через сервис CostUp, выбрать параметры импорта и параметры использованных UTM-меток по кампаниям (для однозначной идентификации кампании с Директа) и сохранить настройки задания в расписание.
Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Комментарии3

Как IT-фрилансеру стать предпринимателем. Часть 2

Время на прочтение4 мин
Количество просмотров56K
Всем привет! В предыдущем посте мы рассказали, зачем фрилансеру ИП и почему ИП лучше, чем ООО. Сегодня вы узнаете, как зарегистрировать ИП самостоятельно и что делать потом.



Всё для самостоятельной регистрации ИП на сайте «Я люблю ИП»
Читать дальше →
Всего голосов 38: ↑29 и ↓9+20
Комментарии120

Введение в JadePHP

Время на прочтение7 мин
Количество просмотров17K
По предложению автора интересностей и полезностей для веб-разработчика #17, предлагаю свой перевод статьи Introduction to JadePHP.

Существуют десятки шаблонизаторов. Среди наиболее известных можно выделить Smarty, Twig (используется в следующей версии Drupal), Blade (используется по умолчанию в Laravel) и, конечно же, vanilla PHP. Если не говорить конкретно о PHP, то для eRuby / ERB и Haml для Ruby / Ruby on Rails и Javascript есть ряд популярных вариантов, как например Mustache, Handlebars, Hogan и EJS. У одних различия в синтаксисе незначительные, у других они более выраженные.

Шаблонизатор Jade, который значительно отличяется от других, обычно ассоциируется с JavaScript приложениями, например он поддерживается в Express для Node.js. В этой статье, я поговорю о Jade или, более конкретно, о Jade сделанной для PHP — JadePHP.
Читать дальше →
Всего голосов 24: ↑17 и ↓7+10
Комментарии50

Реализация быстрого импорта из Excel на PHP

Время на прочтение3 мин
Количество просмотров68K
Мы продолжаем рассказывать о технологиях, используемых на нашем сервисе email-маркетинга Pechkin-mail.ru. Одной из ключевых задач любого сервиса, связанного с данными клиентов, является загрузка этих данных на сервис. Для Печкина очень важно быстро и без проблем для пользователя загружать адресные базы, содержащие email-адреса, имена, фамилии и другие дополнительные данные.

Что использовать в качестве инструмента?


В качестве базового стандарта, используемого при импорте адресных баз, мы взяли Microsoft Excel. Объясняется это просто:
  • это стандартный инструмент, которым на базовом уровне владеют 100% пользователей компьютеров. Более того, в бизнесе — это де-факто корпоративный стандарт и используется даже, если на рабочих компьютерах Mac или Linux.
  • Практически все CRM-, CMS-, облачные или десктопные системы имеют экспорт в Excel или CSV, который простым пересохранением приводится к формату XLS или XLSX.
  • Известно также, что “90% ошибок ПО сидит в полуметре от монитора”. Не в обиду будет сказано рядовым пользователям, но мы должны учитывать самый базовый уровень подготовки и тех. поддержке для объяснения достаточно сказать “Загрузите Excel-файл”, а не объяснять процедуру подготовки файла в нужном формате.


Проблему пользователей при импорте адресных баз сняли. Но тут возникает уже проблема непосредственно разработки.
Прочитать о быстрой реализации импорта из Excel на PHP и LibXL
Всего голосов 32: ↑25 и ↓7+18
Комментарии23

Почему вам нужны умные часы: десять вариантов применения Pebble

Время на прочтение14 мин
Количество просмотров88K
В настоящее время технологии настолько прочно вошли в нашу жизнь, что большинство людей, забывших дома телефон, чувствуют себя как минимум некомфортно, а как максимум — такая забывчивость вызывает панику. «А если мне срочно надо будет позвонить?». Договорились о встрече, а человека нет… «А если он звонил, чтобы перенести встречу?». А что иногда думают наши родные и близкие, если не брать трубку или села батарейка — такие ужасы самому в голову никогда не придут.

Если у вас уже есть Pebble, или вы только присматриваетесь к ним, или как раз выбираете себе умные часы — прошу под кат. Я постараюсь рассказать о самых интересных возможностях часов на данный момент и о том, как упростить себе жизнь с помощью умных часов.
Читать дальше →
Всего голосов 89: ↑68 и ↓21+47
Комментарии83

Как устроить фестиваль?

Время на прочтение7 мин
Количество просмотров13K
Вообще я работаю дизайнером и обычно делаю доклады про дизайн или про UX. Но этот доклад особенный, я хочу рассказать про то, как сделать своё собственное роскошное it-мероприятие. Доклад основан на реальных событиях и личном опыте организации Фестиваля 404.

404fest-habr.001

Изначально, это был восторженный доклад как все здорово, легко и просто. Что-то вроде того: выйдите в чистое поле, воткните в землю лопату, на следующий день из черенка вырастит красивый большой дуб. Так же и с конференциями — все получается легко и просто. Но! Весной этого года, мы попробовали сделать в Самаре конференцию про электронную торговлю ProfitFest и полностью провалились. Я буду вспоминать и этот опыт, поэтому доклад стал в два раза полезнее.

Читать дальше →
Всего голосов 60: ↑51 и ↓9+42
Комментарии29

Основы.htaccess на примерах

Время на прочтение1 мин
Количество просмотров74K
В данной статье приведены реальные примеры кода, который автор использует, разрабатывая сайты для своих клиентов. Уровень — чуть выше начального. Предлагаю вашему вниманию выдержки из статьи. Возможны неточности в переводе, если поправите — буду признательна. Если кому-то поможет — буду рада.
Всего голосов 28: ↑17 и ↓11+6
Комментарии29

Организация онлайн-вещания подкаста

Время на прочтение4 мин
Количество просмотров19K
Для последней презентации Apple мы решили расширить наши текстовые трансляции и добавить аудиоподкаст в реальном времени. Сначала мы хотели найти какое-нибудь готовое решение, но не смогли подобрать ничего, что могло бы вместить в себя несколько человек из разных точек континента, поэтому пришлось искать иной способ. О том, как сделать живую трансляцию аудиоподкаста (как у Радио-Т :-) с помощью одного ноутбука, одного сервера и Skype —
читайте далее
Всего голосов 40: ↑38 и ↓2+36
Комментарии4

Резервное копирование веб-проектов на Яндекс.Диск без ООП и натурщиц

Время на прочтение6 мин
Количество просмотров40K
Позавчера хабраюзер vasiatka в посте №206752 поделился с хабрасообществом, а следовательно и со всем остальным миром, продуманным и весьма развитым классом для работы с Яндекс.Диском. Некоторое время назад я тоже стал использовать этот сервис для хранения там бэкапов. Хочу поделиться значительно более коротким вариантом скрипта на php, который делает архивы базы данных и файлов сайта, и заливает их по WebDAV. Возможно кому-то и он придётся по душе.
Подробности
Всего голосов 72: ↑57 и ↓15+42
Комментарии48

Клиент Яндекс.Диска для Linux. Консольный

Время на прочтение8 мин
Количество просмотров115K
Сегодня мы представляем долгожданный клиент Яндекс.Диска для Linux. Можно было бы даже сказать «специально для Хабрахабра», так как ни одно упоминание Диска здесь не обходилось без вопросов о клиенте для Линукса.

У него есть вся основная функциональность, которая есть у клиентов для OS X и Windows, и даже больше (симлинки!), и одна особенность — он консольный.

image

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

Читать дальше →
Всего голосов 201: ↑185 и ↓16+169
Комментарии224

Информация

В рейтинге
Не участвует
Откуда
Рязань, Рязанская обл., Россия
Дата рождения
Зарегистрирован
Активность