Pull to refresh
25
0
Kirill Marchenko @nutt

User

Send message

Чат-бот для ВКонтакте на Python на Callback API

Reading time10 min
Views122K
Чат-боты стали уже очень распространенным явлением, и появляются во всех мессенджерах ежедневно.

В этой статье по шагам разберем создание бота с набором простых команд и узнаем, как в дальнейшем можно расширить его функционал. Статья будет полезна для самых новичков, которые никогда не пробовали создавать чат-ботов.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments10

Как я дома NAS строил

Reading time3 min
Views81K
Давно меня посетила идея организовать маленькое сетевое хранилище дома. Для чего? В первую очередь для фото, и еще нескольких файлов которые не хотелось бы потерять. Ну раз уж пошла такая пляска то и организация человеческой медиатеки.

Смотрел я на модели именитых брендов, такие как дели Synology и QNAP, даже чуть не взял QNAP TS-469 Pro, но жаба таки сделала свое дело.

Начал я бороздить просторы интернета в поисках публикаций с вариантами постройки хранилищ своими ручками, это и интересно и мне тогда показалось что дешевле
Читать дальше →
Total votes 26: ↑20 and ↓6+14
Comments153

10 способов как выделиться из толпы безликих аутсорсеров-конкурентов (с примерами)

Reading time5 min
Views17K

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


image alt text


Итак, возможные преимущества, которые можно выкатывать на сайте, чтобы цеплять потенциальных клиентов:

Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments10

Легальный вывод средств с Upwork в РФ

Reading time8 min
Views66K
На Хабре уже написано достаточно много статьей по теме, в частности:


В ответ на повторяющиеся просьбы написать статью, в которой:

  • разбросанные по разным статьям крупицы будут собранны в единое целое
  • всевозможные противоречия будут устранены
  • все сведения будут иметь актуальный характер
  • будут учтены пожелания такие как «а можно с картинками? :)»

родилось следующее руководство.
Total votes 78: ↑70 and ↓8+62
Comments383

Партиционирование в PostgreSQL – Что? Зачем? Как?

Reading time23 min
Views172K
Функцией партиционирования таблиц в PostgreSQL, к сожалению, активно пользуются пока не многие. На мой взгляд, очень достойно о ней рассказывает в своей работе Hubert Lubaczewski (depesz.com). Предлагаю вам еще один перевод его статьи!

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

Так что я постараюсь объяснить в меру своих знаний и возможностей, что это такое, зачем его стоит использовать и как это сделать.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments26

Микросервисные паттерны проектирования

Reading time6 min
Views91K
Здравствуйте, Хабр!

В ближайшее время читайте пост о русском переводе долгожданной книги "Создание Микросервисов" Сэма Ньюмена, которая уже отправилась в магазины. Пока же мы предлагаем почитать перевод статьи Аруна Гупты, автор которой описывает самые интересные паттерны проектирования, применимые в микросервисной архитектуре
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments7

Объясняя необъяснимое. Часть 2

Reading time8 min
Views69K
Регистрация на конференцию PG Day’16 в разгаре, а мы продолжаем публиковать перевод статей Hubert Lubaczewski об explain и его основных компонентах.

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

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments4

Объясняя необъяснимое

Reading time11 min
Views60K
Друзья, мы с радостью продолжаем публикацию интересных материалов, посвященных самым разнообразным аспектам работы с PostgreSQL. Сегодняшний перевод открывает целую серию статей за авторством Hubert Lubaczewski, которые наверняка заинтересуют широкий круг читателей.



Одна из первых вещей, которую слышит новоиспеченный администратор баз данных – «используй EXPLAIN». И при первой же попытке он сталкивается c непостижимым:

                                                        QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------
 Sort  (cost=146.63..148.65 rows=808 width=138) (actual time=55.009..55.012 rows=71 loops=1)
   Sort Key: n.nspname, p.proname, (pg_get_function_arguments(p.oid))
   Sort Method: quicksort  Memory: 43kB
   ->  Hash Join  (cost=1.14..107.61 rows=808 width=138) (actual time=42.495..54.854 rows=71 loops=1)
         Hash Cond: (p.pronamespace = n.oid)
         ->  Seq Scan on pg_proc p  (cost=0.00..89.30 rows=808 width=78) (actual time=0.052..53.465 rows=2402 loops=1)
               Filter: pg_function_is_visible(oid)
         ->  Hash  (cost=1.09..1.09 rows=4 width=68) (actual time=0.011..0.011 rows=4 loops=1)
               Buckets: 1024  Batches: 1  Memory Usage: 1kB
               ->  Seq Scan on pg_namespace n  (cost=0.00..1.09 rows=4 width=68) (actual time=0.005..0.007 rows=4 loops=1)
                     Filter: ((nspname <> 'pg_catalog'::name) AND (nspname <> 'information_schema'::name))

Что бы это могло значить?
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments23

Использование функций в PostgreSQL как параметризированных представлений

Reading time6 min
Views42K

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

Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments1

40 механик для социальных игр

Reading time4 min
Views29K
Разработчик игр Раф Костер (Raph Koster) составил всеобъемлющий список базовых правил, на которых основаны социальные отношения в играх (мультиплеер, параллельная игра и т.д.). Эти правила для разработчиков игры заменяют азбуку. Во многом они пересекаются с принципами игровой механики, которые уже обсуждались на Хабре.

Раф Костер приобрёл известность как создатель дизайна Ultima Online и креативный директор проекта Star Wars Galaxies, после чего основал собственную студию.
Читать дальше →
Total votes 102: ↑92 and ↓10+82
Comments33

Chatroulette своими руками — 50 строк кода

Reading time1 min
Views28K
image
Пару месяцев назад я приглашал всех на веб-семинар о p2p во Flash, но сделал это слишком поздно, поэтому наверняка большое количество желающих на него не попало. Самое ценное, что я извлек из этого семинара — то, что peer-to-peer приложения во Flash делать очень легко. Правда у самого руки очень долго до этого не доходили.

Но буквально вчера руки очень сильно зачесались, и посидев ночку я разобрался в том, как работает технология p2p во Flash. Соединить видеопотоки двух flash-клиентов мне показалось мало, поэтому решил сделать что-то более интересное:
  1. Пользователь открывает страничку
  2. Выбирает тему для разговора (один из постов на главной хабры)
  3. Разговаривает со всеми, кто выбрал эту же тему

Сделал. Тут мой пример видеоконференции, исходники клиента и сервера можно скачать отсюда. Минимальные требования для примера — наличие Flash Player 10 и вэб-камеры.

UPD: Все это добро хостится на AppEngine, могут закончиться бесплатные квоты и все перестанет работать. Перекинул клиента на narod.ru. Если работать не будет — заходите сюда
Total votes 78: ↑72 and ↓6+66
Comments59

Организация живой трансляции с ip камеры на сайте

Reading time7 min
Views20K

Введение

Задача
Рассмотрим задачу по организации на сайте живой видео трансляции с ip камеры. Наш стенд состоит из трёх составных частей:
  • ip камера
  • медиасервер
  • flash плеер в браузере на стороне клиента
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments15

Загрузчик фотографий как vkontakte на Flex

Reading time9 min
Views11K
Неделю назад мои знания action script ограничивались тем, как добавить событие onclick на баннер перед загрузкой в баннерную сеть. В качестве загрузчика файлов я использовал swfupload, и очень не хотел влезать внутрь swf-ника и разбираться в коде. Мне не нравится flash, я ни разу не дизайнер и теряюсь, когда вижу все эти слои, кадры, инструменты для рисования звездочек и motion guides.

Потом я наткнулся на эту эту потрясающе-красивую штуку, и узнал, что есть flex. И что flex — это круто, потому что даже такой супер-начинающий как я, с нуля за несколько дней смог написать загрузчик фотографий с предпросмотром, ресайзом на клиенте и upload-баром, примерно такой, какой используется на сайте vkontakte.ru.

Есть три причины, из-за которых я решил использовать flash для загрузки фотографий. Это FileReference, FileReferenceList и flash.display.Bitmap. В 10-й версии флеш плеера у FileReference появилась функция load(), с помощью которой можно просматривать выбранные фотографии в ролике локально без загрузки на сервер. FileReferenceList позволяет в файловом диалоге с помощью shift-а выбрать сразу несколько фотографий. Bitmap делает ресайз картинок перед отправкой на сервер. Все это нельзя сделать на чистом javascript-е.

Итак, пишем загрузчик фотографий как vkontakte на flex (пошаговое пособие для совсем начинающих).
Читать дальше →
Total votes 92: ↑63 and ↓29+34
Comments49

Постоянно отваливается Flash Plugin в Google Chrome? Есть решение!

Reading time3 min
Views606K
Преамбула.

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

Надо заметить, что Хром я люблю и пользую для динамического контента, вроде Ютуба и всего флэш- и js- содержащего (по совершенно очевидным причинам).

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

Настал тот миг, когда терпение моё лопнуло, и я решил разобраться с этой проблемой. Поставить в этой истории точку.

Решение, к слову сказать, оказалось довольно простым, и, одновременно, действенным.
Хочу решение!
Total votes 59: ↑44 and ↓15+29
Comments36

Centos5.5 Nginx 0.8.33 + PHP5.3.1(fpm) + MySQL5.5.0(phpmyadmin) — полная настройка для начинающих — 1 часть

Reading time12 min
Views5.3K
Centos5.5 Nginx 0.8.33 + PHP5.3.1(fpm) + MySQL5.5.0(phpmyadmin)

Недавно мой знакомый купил ВПС, и конечно же ему захотелось развернуть полноценный сервер, плюс учитывая начальные ресурсы: 768Мб памяти и 2 ядра выделеных на его контейнер, сервер должен быть не прожорливым и быстрым, на нем будет крутиться blog. Решил поставить nginx, и php+php-fpm. Думаю nginx описывать не буду, как и php+php-fpm обзоры можно найти на хабре. Вот только вся соль проблемы в том, что он хотел поставить все правильно, как в учебнике. Заглянул по форумам, перегуглил весь интернет, но так и не нашел правильного пацанского мануала. Везде только основные моменты настроек и установки сервера. Так не пойдет, сказал он и пришел ко мне. Одна голова хорошо, но пиво в двоем пить лучше!
Стали составлять план, что нам нужно для работы.

! Данный пост предназначен только для начинающих, для тех кто не имеет опыта в установке и настройке сервера. Вам будет понятно на примере что и где и как установить, и потом углубившись в мануалы и вооружившись напильником, сделать все конкретно под ваши задачи.
Как минимум для начала работы нужно:
Putty — the.earth.li/~sgtatham/putty/latest/x86/putty.exe — SSH client

Centos 5.5 — последяя будет уже стоять на серваке.
Nginx 0.8.33 — можно выбрать и старший релиз или стабильный.
PHP 5.3.1 — думаю проблем с ней не будет.
MySQL 5.5.0 — база!
php-fpm патч
suhosin-patch
libevent-1.4.13-stable

и далее все остальные пакеты которые понадобятся для компиляции и работы сервера:
gcc gcc-c++ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libmcrypt libmcrypt-devel pcre-devel

Поехали...
Total votes 40: ↑25 and ↓15+10
Comments28

Небольшой мастер-класс. Как создать хорошую контекстную рекламную кампанию

Reading time4 min
Views3.5K
Привет, %username%!

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

Что будет в этом посте:

— Что такое контекстная реклама и почему не SEO?
— Почему выгодно делать хорошие объявления?
— Как сделать хорошее объявление?
— 5 простых способов повысить CTR объявления.
— И это далеко не все…
Узнать как делать хорошие тексты...
Total votes 129: ↑114 and ↓15+99
Comments75

Кроссплатформенная мобильная разработка на Flex

Reading time1 min
Views1.9K
На сегодняшний день, несмотря на кризис, продажи мобильных телефонов успешно показывают рост. По данным отчета Worldwide Mobile Phone Tracker исследовательской компании IDC, за 2009 год по всему миру было продано 1,13 млрд. единиц мобильных средств связи. Очевидно, что рынок ПО к мобильным устройствам не стоит на месте, но из-за большого количества различных платформ(как минимум: Iphone, Android, Symbian, Windows Mobile) разработка ПО под мобильные устройства для меня не представлялась возможной.

Для меня Flex всегда был лучшей технологией для разработки RIA + на нем можно писать десктопные приложения (AIR) и теперь, благодаря ребятам из Openplug, на нем можно разрабатывать кроссплатформенные мобильные приложения.

Представляю вашему вниманию ELIPS Studio 3: cross-platform mobile application development based on Flex. В списке поддерживаемых платформ можно найти такие популярные платформы, как Iphone, Android(Был обещан в январе, но пока нет. Будем надеяться, что скоро появится), Symbian, Windows Mobile, и уже сейчас можно начинать разрабатывать кроссплатформенные мобильные приложения.

Всем удачи!
Total votes 10: ↑7 and ↓3+4
Comments13

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

Reading time2 min
Views14K
20 вопросов, которые Вы должны задать клиенту, прежде чем приступить к дизайну его логотипа

Мой перевод статьи 20 Questions To Ask Clients Prior To Designing A Logo дизайнера Брайна Хоффа

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

Читать дальше →
Total votes 28: ↑21 and ↓7+14
Comments13

Linux 32bit и 4 гб RAM

Reading time1 min
Views1.6K
Вчера столкнулся с проблемой, после того, как доставил дополнительную 2гб планку оперативки к своей имеющейся 2гб. Система видела всего 3.2 гбайт, хотя bios определял все 4гб

Решение данной проблемы описывалась на Хабре для Win-систем.

Для linux же решение все намного проще:

  1. Если вы используете Ubuntu Desktop(не знаю, как в других дистрибутивах), просто установите серверное ядро(там по умолчанию включена поддержка PAE)
    sudo apt-get install linux-server linux-headers-server
  2. Или же второй вариант — собрать ядро самому. Во время конфигурирования(к примеру, с помощью «make menuconfig») во вкладке High Memory Support выбираем 64GB(тем самым активируем PAE бит). Весь процесс расписывать не буду, так как в сети и так много мануалов по сборке ядра.


При включенном режиме PAE иногда могут отвалится драйвера, в многих случаях именно на видеокарту. У многих перестает работать suspend. У некоторых ядро вообще вываливается в kernel panic(и такое было, хотя я не думаю что тут причина именно в PAE). В общем тут уже вам выбирать — не спать ночами, но иметь поддержку всех 4 гб оперативной памяти, или же просто напросто наплевать на те 800 мб.

Более детально о том, что такое PAE, можно почитать на вики
Total votes 22: ↑13 and ↓9+4
Comments38

Первые шаги на пути к покупкам на ebay, dealextreme, focalprice, kaidomain…

Reading time2 min
Views8.4K
Не секрет, что на ebay, DX, KD и прочих онлайн-магазинах существует много гаджетов и товаров, которых в РФ не найти. Чтобы удовлетворить свои гиковские потребности, а также просто тратить с умом, рано или поздно приходится обращаться к интернет магазинам. Однако новички теряются во всех этих «палках, клеймах, лотах, диспутах, EMS, USPS и прочее», а также некоторые не владеют английским для того, чтобы элементарно зарегиться в paypal.
Для этой цели админом форума ebay-forum.ru был создан подробнейший pdf-мануал, с которым я и предлагаю всем желающим ознакомиться.
Читать дальше →
Total votes 72: ↑63 and ↓9+54
Comments144
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity