Под капотом нашего продукта крутятся сотни, тысячи, а в некоторых сервисах и миллионы очередей, через которые проходит огромное количество данных. Все это нужно каким-то магическим образом обрабатывать и не застрелиться. В данном посте я расскажу, какие архитектурные подходы мы используем у себя, имея достаточно скромный стэк технологий и не имея маленького дата-центра у себя в «кладовке».
Сонько Дмитрий @SonkoDmitry
Веб разработка
Авторизация/Регистрация пользователя через Telegram
2 min
76KВ данном топике хочу описать дополнительный, а для некоторых сервисов возможно и основной способ авторизации и регистрации пользователя через Telegram, подобно OAuth авторизации через социальные сети и web-сервисы.
Допустим, у Вас есть некий сервис, который предлагает пользователям вход через Telegram. На странице авторизации пользователю предлагается ввести его Username в Telegram. После ввода Username, на аккаунт пользователя приходит сообщение с кодом подтверждения, который он вводит на странице авторизации.
В первую очередь нам потребуется «живой» аккаунт в Telegram, то есть аккаунт который зарегистрирован на мобильный номер телефона. В данном случае боты не подходят для данной задачи, так как боты не могут писать сообщения первыми.
Допустим, у Вас есть некий сервис, который предлагает пользователям вход через Telegram. На странице авторизации пользователю предлагается ввести его Username в Telegram. После ввода Username, на аккаунт пользователя приходит сообщение с кодом подтверждения, который он вводит на странице авторизации.
В первую очередь нам потребуется «живой» аккаунт в Telegram, то есть аккаунт который зарегистрирован на мобильный номер телефона. В данном случае боты не подходят для данной задачи, так как боты не могут писать сообщения первыми.
+6
30 чудных библиотек для PHP программистов
6 min
105KПредлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
+49
Переходим на HTTPS на Nginx: шпаргалка
3 min
156KУже второй раз сталкиваюсь с задачей «поставь https на наш сервер» от моего босса, поэтому решил сделать для самого себя шпаргалку, а заодно и для всех остальных. Итак, ситуация следующая: к нам пришел босс и заявил, что ему нужен https. Под катом я напишу 5 простых шагов, как все сделать буквально за час. Приступим.
+20
300 потрясающих бесплатных сервисов
11 min
1.6MTranslation
Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.
A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета
- HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
- Bootswatch: Бесплатные темы для Bootstrap.
- Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
- Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
- Strikingly.com Domain: Конструктор веб-сайтов.
- Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
- Withoomph: Мгновенное создание логотипов (англ.).
- Hipster Logo Generator: Генератор хипстерских логотипов.
- Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
- Invoice to me: Бесплатный генератор счета.
- Free Invoice Generator: Альтернативный бесплатный генератор счета.
- Slimvoice: Невероятно простой счет.
+309
Как продавать Fortune 500, государству и другим ужасным организациям
18 min
16KTranslation
Если вы продаете ПО, то наверняка при виде бюджетов больших корпораций задумывались, как бы и вам откусить кусочек от этого пирога. Лично мы в Web-payment.ru, проекте о платежных системах, постоянно ищем способы заполучить в партнеры крупные платежные системы или сервисы на рекламные услуги, разработку, или даже помощь в ведении блога на Хабре. В этой статье-переводе как раз пойдет речь о том, как работать с крупной рыбой. Сразу хотел бы предупредить, что наши реалии отличаются от западных, которые описываются в статье, но в чем-то они пересекаются, так что почитать интересно.
Многие задаются вопросом о продаже ПО офигенно большим организациям. Работать с такими крутыми компаниями в установленном вами ценовом диапазоне крайне непросто, так как любые величины меньше 500$ для них выглядят как ошибка в округлении. В то же время, наличие пары таких клиентов дарует вам социальную значимость, которая позволяет вам продавать как другим таким же гигантам, так и более мелким клиентам. Получив IBM в качестве клиента, вы ничего не потеряете. Ну а если при этом в самом IBM никого не уволили за выбор вас в качестве поставщика, значит, и вы вполне подходите для большой игры.
Многие задаются вопросом о продаже ПО офигенно большим организациям. Работать с такими крутыми компаниями в установленном вами ценовом диапазоне крайне непросто, так как любые величины меньше 500$ для них выглядят как ошибка в округлении. В то же время, наличие пары таких клиентов дарует вам социальную значимость, которая позволяет вам продавать как другим таким же гигантам, так и более мелким клиентам. Получив IBM в качестве клиента, вы ничего не потеряете. Ну а если при этом в самом IBM никого не уволили за выбор вас в качестве поставщика, значит, и вы вполне подходите для большой игры.
+18
Рецепт новогоднего корпоратива в стиле ИТ
6 min
29K«А ну-у-у-ка теперь все выходим в центр и встаём в круг, мальчик-девочка, да поплотнее-е-е-е!». На третий раз после такого мы чуть было не выбросили ведущую из окна четвёртого этажа. Пронесло. Успели бы выпить чуть больше, трагедии не миновать.
Знакомая ситуация? Вы долго и упорно ищете ведущего на корпоратив, тщательно описываете ситуацию и публику, обсуждаете все нюансы выступления, а он устаивает деревенскую свадьбу. Ну это когда всем надо отплясывать под Сердючку, передавать подбородком апельсины, попадать карадашом в бутылку и щупать друг дружку с завязанными глазами.
Примерно так мы пару лет назад отмечали 8 марта. После чего решили, что впредь развлекательную программу будем готовить только сами. И на прошлый Новый год жребий пал на меня. В то время мне пришлось серьёзно потрудиться и с моей стороны было бы в высшей степени неправильно не поделиться полученным опытом.
Так что, если Вы сейчас находитесь в похожей ситуации — этот пост как раз для Вас. Под катом история о том, какие я готовил конкурсы, и как в результате прошел праздник.
Знакомая ситуация? Вы долго и упорно ищете ведущего на корпоратив, тщательно описываете ситуацию и публику, обсуждаете все нюансы выступления, а он устаивает деревенскую свадьбу. Ну это когда всем надо отплясывать под Сердючку, передавать подбородком апельсины, попадать карадашом в бутылку и щупать друг дружку с завязанными глазами.
Примерно так мы пару лет назад отмечали 8 марта. После чего решили, что впредь развлекательную программу будем готовить только сами. И на прошлый Новый год жребий пал на меня. В то время мне пришлось серьёзно потрудиться и с моей стороны было бы в высшей степени неправильно не поделиться полученным опытом.
Так что, если Вы сейчас находитесь в похожей ситуации — этот пост как раз для Вас. Под катом история о том, какие я готовил конкурсы, и как в результате прошел праздник.
0
Проектирование новостной ленты в социальных сетях
9 min
39KТак сложилось, что за последние пару лет я успел поучаствовать в разработке нескольких социальных сетей. Главная задача, которую приходилось решать в каждом из этих проектов, заключалась в формировании новостной ленты пользователя. При чём важным условием была возможность масштабирования этой ленты в условиях роста числа пользователей (точнее, числа связей между ними) и, как следствие, — количества контента, который они деливерят друг другу.
Мой рассказ будет о том, как я, превозмогая трудности, решал задачу формирования новостной ленты. А также я расскажу о подходах, которые наработали ребята из проекта Socialite, и которыми они поделились на MongoDB World.
+30
Что делать, если вам надоели рекламные СМС
3 min
297KВ продолжение статей о том, что ФАС собирает дополнительную информацию о «коротких» номерах, хочу рассказать, как эта служба может помочь вам избавиться от нежелательной рекламы по СМС.
Согласно ч.1 ст.18 ФЗ «О рекламе», распространение рекламы по сетям электросвязи, в том числе посредством использования телефонной, факсимильной, подвижной радиотелефонной связи, допускается только при условии предварительного согласия абонента или адресата на получение рекламы.
Итак, отписавшись от всех рекламных рассылок своего оператора, я наивно полагал, что рекламные СМС меня больше не будут отвлекать. Но маркетологи различных компаний решили, что без рекламы мне скучно, и быстро исправили ситуацию. В итоге, год назад я практически каждую неделю получал несколько рекламных СМС, в основном это были сообщения от такси нашего города. Особую активность компании проявляли перед Новым годом.
Согласно ч.1 ст.18 ФЗ «О рекламе», распространение рекламы по сетям электросвязи, в том числе посредством использования телефонной, факсимильной, подвижной радиотелефонной связи, допускается только при условии предварительного согласия абонента или адресата на получение рекламы.
Итак, отписавшись от всех рекламных рассылок своего оператора, я наивно полагал, что рекламные СМС меня больше не будут отвлекать. Но маркетологи различных компаний решили, что без рекламы мне скучно, и быстро исправили ситуацию. В итоге, год назад я практически каждую неделю получал несколько рекламных СМС, в основном это были сообщения от такси нашего города. Особую активность компании проявляли перед Новым годом.
+196
Теряем посетителей — много и каждый день
2 min
17KПо какой-то причине огромное количество проектов с радостью теряет самых хлебных посетителей — белых воротничков в рабочее время.
Большинство работодателей закрывают все социальные сети скопом, начиная, естественно, с контакта. Несмотря на это — у крупных и очень крупных проектов в начале страницы( уже не очень хорошо) можно встретить простую строчку:
<script type="text/javascript" src="http://vkontakte.ru/js/api/share.js?3"></script>
или
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?20"></script>
В итоге пользователи с закрытым контактом не могут открыть сайт, перейти по ссылке и в конце концов — принести проекту прибыль.
Примеры c посещаемостью больше 50к в день:
vesti.ru
kp.ru
smotri.ru
oktogo.ru
lifehacker.ru
povarenok.ru
Будьте аккуратны, используйте асинхронный код, доступный для всех соц. сетей, в крайнем случае — его можно смастерить самому.
+60
Racing technologies: Electronic Control Unit
3 min
8.5KПривет, коллеги!
Сегодня я немножко отклонюсь от традиционных для меня тем информационной безопасности и расскажу про электронику, с которой я работаю в свободное время: системы управления двигателем гоночных автомобилей.
Но начнем с описания ситуации в целом. В автоспорте, как собственно и во многих других технических видах спорта, довольно часто результат зависит не только от спортсмена, но и от «снаряда» который он использует. Поэтому требуется профессиональный подход к подготовке и настройке болида. Конечно же, нюансов очень много. Но если грубо разделить его на части, то это будет настройка шасси и настройка двигателя. Сегодня хотелось бы рассказать вам, какая электроника используются при работе с «сердцем» гоночных автомобилей.
Сегодня я немножко отклонюсь от традиционных для меня тем информационной безопасности и расскажу про электронику, с которой я работаю в свободное время: системы управления двигателем гоночных автомобилей.
Но начнем с описания ситуации в целом. В автоспорте, как собственно и во многих других технических видах спорта, довольно часто результат зависит не только от спортсмена, но и от «снаряда» который он использует. Поэтому требуется профессиональный подход к подготовке и настройке болида. Конечно же, нюансов очень много. Но если грубо разделить его на части, то это будет настройка шасси и настройка двигателя. Сегодня хотелось бы рассказать вам, какая электроника используются при работе с «сердцем» гоночных автомобилей.
+82
Теория и Практика Поиска Работы в Канаде (часть 2) — Лиха беда начало
6 min
4.4KВступление
Данная статья разительно отличается от первой по нескольким причинам. Во-первых, тут мы делаем лирическое отступление и обсуждаем вещи, которые стоит знать перед отъездом, что, надеюсь, позволит более эффективно спланировать эмиграцию.
+39
iPad как платформа для разработки веб-приложений
3 min
44KСовременное общество мобильно, легко адаптируется к динамично меняющейся окружающей среде. Мы на связи с глобальной сетью повсюду: в машине, в поезде, в метро, даже в туалете!
По-моему термин On-The-Go! наиболее точно характеризует современного человека.
Сейчас планшетник уже перестал быть роскошью и гаджетом, который есть только у президента. Уже пол года, как я стал счастливым обладателем iPad. В основном я использовал его для серфинга в Интернете, презентаций видеоработ заказчикам, и чтения технической литературы (как это ни странно прозвучит, но художественную мне удобнее читать с iPhone'а). Но с момента покупки меня ниразу не покидала мысль «А можно ли полноценно разрабатывать веб-приложения на iPad? Так, чтобы компьютер был не нужен вообще?». И сегодня я могу сказать — ДА — на iPad можно вести полноценную веб-разработку. Сегодня в AppStore уже есть ряд программ, которые очень сильно помогут при разработке приложений на iPad.
По-моему термин On-The-Go! наиболее точно характеризует современного человека.
Сейчас планшетник уже перестал быть роскошью и гаджетом, который есть только у президента. Уже пол года, как я стал счастливым обладателем iPad. В основном я использовал его для серфинга в Интернете, презентаций видеоработ заказчикам, и чтения технической литературы (как это ни странно прозвучит, но художественную мне удобнее читать с iPhone'а). Но с момента покупки меня ниразу не покидала мысль «А можно ли полноценно разрабатывать веб-приложения на iPad? Так, чтобы компьютер был не нужен вообще?». И сегодня я могу сказать — ДА — на iPad можно вести полноценную веб-разработку. Сегодня в AppStore уже есть ряд программ, которые очень сильно помогут при разработке приложений на iPad.
+36
Психологическая деформация программистов. Взгляд с обеих сторон баррикад
6 min
138K Само наличие психологической деформации у какой-либо профессии, как правило, достаточно спорный момент ввиду того, что у разных людей она проявляется по-разному. Однако общую тенденцию можно выделить и, пожалуй, настало то время когда можно достаточно смело говорить, что программисты всё же имеют свой особенный психологический портрет который обусловлен их профессиональной деятельностью.
Я достаточно часто сталкивался с подобным мнением и не придавал ему особого значения, но когда женский коллектив нашей организации поздравил программистов с 23-м февраля по доброму назвав их «космическими войсками», решил всё же расставить определенные акценты в данном вопросе, т.к. одна из моих профессий связана напрямую с психоанализом. Да и баш уже не молчит.
Я достаточно часто сталкивался с подобным мнением и не придавал ему особого значения, но когда женский коллектив нашей организации поздравил программистов с 23-м февраля по доброму назвав их «космическими войсками», решил всё же расставить определенные акценты в данном вопросе, т.к. одна из моих профессий связана напрямую с психоанализом. Да и баш уже не молчит.
+411
Как выбрать телевизор
6 min
74KПривет!
Недавно, прочитав статью «Как собрать домашнюю медиа-систему начального уровня? Выбираем телевизор, плеер, аудио» и почитав комментарии к ней, я с удивлением узнал, что большинство хабрачитателей, хоть и держат нос по-ветру и стараются знать обо всех новинках и последних тенденциях, попав в магазин банально не смогут выбрать телевизор и акустику. Я занимаюсь продажей этой техники, а в частности телевизорами, и постараюсь дать пару советов, на что обратить внимание при выборе.
Недавно, прочитав статью «Как собрать домашнюю медиа-систему начального уровня? Выбираем телевизор, плеер, аудио» и почитав комментарии к ней, я с удивлением узнал, что большинство хабрачитателей, хоть и держат нос по-ветру и стараются знать обо всех новинках и последних тенденциях, попав в магазин банально не смогут выбрать телевизор и акустику. Я занимаюсь продажей этой техники, а в частности телевизорами, и постараюсь дать пару советов, на что обратить внимание при выборе.
+90
Как я перестал волноваться и полюбил электронные книги
7 min
20KНа фоне растущей популярности электронных читалок и, как следствие, разгорания холиваров на такие темы, как «Цифра или бумага?» и «Вытеснят ли электронные издания печатную продукцию?», я решил набросать статейку о своём личном опыте использования электронной читалки. Ещё два года назад, до использования читалки, я был ярым привеженцем «настоящих книг» и презрительно смотрел на всякие умные устройства для чтения книг. А сейчас сложно подыскать большего фаната электронного чтения, чем я (на что прозрачно намекает заголовок топика). :)
О том, какие же плюсы читалок способствовали моему переходу в «стан противника», рассказано под катом.
+98
Мечта попасть в штаты – как она реализовалась…
5 min
5.9KПривет
По просьбе хабровчан раскажу о том как я попал в штаты. (Phoenix, Arizona)
Кому интересно просьба под кат…
По просьбе хабровчан раскажу о том как я попал в штаты. (Phoenix, Arizona)
Кому интересно просьба под кат…
+184
Организация домашнего медиапространства
5 min
13KВот уже полтора года мне служит верой и правдой домашний медиасервер, задачами которого являются:
Вертится это все под периодически обновляемой Убунтой, и в общем и целом за исключением некоторых недостатков, до недавнего времени вполне устраивал.
- torrent-качалка-раздавалка;
- локальная файлопомойка;
- примитивный веб-сервер для таких же примитивных страничек (а чего взять-то от горняка?);
- ftp-сервер;
- «генератор аудио-видеоконтента» для просмотра на телевизоре закачанных фильмов/мультиков (благодаря встроенной видюхе ION)...
Вертится это все под периодически обновляемой Убунтой, и в общем и целом за исключением некоторых недостатков, до недавнего времени вполне устраивал.
+33
Цемент для замков в “облаках”: как мы учились продавать SaaS
6 min
772В этой статье я поделюсь опытом продаж SaaS решений в сегменте B2C и расскажу, какие из испробованных подходов оказались работающими, а на что, возможно, начинающим SaaSникам не стоит тратить много сил.
Если вы связаны с продажами облачных сервисов и электронной коммерцией, добро пожаловать под кат, где ждут не теоретические выкладки, а изложение реального опыта построения работающей системы продаж SaaS-решения.
Если вы связаны с продажами облачных сервисов и электронной коммерцией, добро пожаловать под кат, где ждут не теоретические выкладки, а изложение реального опыта построения работающей системы продаж SaaS-решения.
+12
How-to install gitosis (мануал с учётом проблем возникающих при установке) + интеграция в redmine
6 min
4.3Kgitosis — программное обеспечение для хостинга Git репозиториев
Установка:
Появился скрипт авто установки пока тестируется
sudo apt-get install python-setuptools git-core -y
mkdir ~/src
cd ~/src
git clone git://github.com/sc0rp1us/gitosis-tools.git
cd gitosis-tools/gitautoinstall
sudo bash main
Дальше следуем инструкциям скрипта
Но вернёмся к статье
Для начала установим необходимые компоненты для запуска gitosis:
- Для debian & ubuntu выполните следующие команды от пользователя root
apt-get update
apt-get upgrade
apt-get install python-setuptools git-core -y
cd ~/src
git clone git://eagain.net/gitosis.git
cd gitosis
python setup.py install
Далее зайдём в учётную запись через которую будем управлять gitosis'om (назовём её gitadmin), выгрузим дистрибутив и установим его
Настройка:
Теперь нам нужно будет создать пользователя который будет владеть хранилищем(имя может быть любым, но я предпочитаю использовать просто git), к тому же на одном сервере может быть несколько аккаунтов владеющих хранилищами, такому аккаунту не нужен пароль, но необходим действующий shell иначе SSH откажется с ним работать:
P.S. вы конечно можете использовать уже существующую учётную запись, но по соображениям безопасности, крайне не рекомендуется этого делать
+3
Information
- Rating
- Does not participate
- Location
- Пермь, Пермский край, Россия
- Date of birth
- Registered
- Activity