Как стать автором
Обновить
14
0
Valery S. @tisov

Backend Developer

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

Python Meetup 28.11.14: пакетирование, печать и баги

Время на прочтение2 мин
Количество просмотров6.6K
Python Meetup MinskВсем привет!
28 ноября состоялась последняя в 2014 году встреча любителей языка программирования Python. Темы в этот раз обсуждались самые что ни на есть хардкорные: пакетирование кода и подготовка к печати документов со сложной структурой. А в рамках «свободного микрофона» была затронута проблема багтрекинга.




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

Стартап шаг за шагом: будущее онлайн-образования

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


Всем привет!

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

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

В серии статей мы пройдем по шагам от идеи до реализации на нашем собственном примере. С чего начать, как найти единомышленников, где найти деньги, как построить бизнес-модель и т. д. Все это с точки зрения начинающих стартаперов. Также расскажем об ошибках и трудностях и дадим советы, исходя не из теории, а из полученного опыта.
Читать дальше →
Всего голосов 35: ↑25 и ↓10+15
Комментарии31

Стартап шаг за шагом: команда и менторы

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


Мы продолжаем цикл статей о том, как построить стартап, где рассказываем о каждом шаге на собственном примере. В первой статье мы рассказали о том, как придумать идею, теперь поговорим о команде.
Читать дальше →
Всего голосов 45: ↑28 и ↓17+11
Комментарии8

Исполнение SSH-команд на сотнях серверов с помощью Go

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

О чём статья


В этой статье мы с вами напишем простенькую программу на Go (в 100 строк), которая может исполнять команды через протокол SSH на сотнях серверов, делая это достаточно эффективно. Программа будет реализована с помощью go.crypto/ssh — реализации SSH протокола авторами Go.

Более «продвинутая» версия программы, написанной в этой статье, доступна на гитхабе под названием GoSSHa (Go SSH agent).
Читать дальше →
Всего голосов 43: ↑36 и ↓7+29
Комментарии26

Пишем веб сервис на Go (часть первая)

Время на прочтение18 мин
Количество просмотров57K
В этой статье, я хотел бы рассказать вам, как можно достаточно быстро и легко написать небольшое веб-приложение на языке Go, который, не смотря на юный возраст, успел завоевать расположение у многих разработчиков. Обычно, для подобных статей пишут искусственные приложения, вроде TODO листа. Мы же попробуем написать что-то полезное, что уже существует и используется.

Часто, при разработке сервисов, нужно понимать какие данные отправляются в другой сервис, а возможность перехватить траффик есть не всегда. И как раз для того, чтобы отлавливать подобные запросы, существует проект requestb.in, позволяющий собирать запросы по определённому урлу и отображать их в веб-интерфейсе. Написанием подобного же приложения мы и займёмся. Чтобы немного упростить себе задачу, возьмём за основу какой-нибудь фреймворк, например Martini.

В конечном итоге, у нас должен будет получится вот такой вот сервис:



Приступим к разработке
Всего голосов 35: ↑33 и ↓2+31
Комментарии10

Пишем веб сервис на Go (часть вторая)

Время на прочтение18 мин
Количество просмотров26K
Продолжение статьи о том, как написать небольшое полнофункциональное приложение на Go.

В первой части мы реализовали REST API и научились собирать приходящие HTTP запросы. В этой части, мы покроем наше приложение тестами, добавим красивый веб-интерфейс на основе AngularJS и Bootstrap, и внедрим ограничение доступа для разных пользователей.
Напишем капельку кода на Go
Всего голосов 38: ↑34 и ↓4+30
Комментарии12

Go + Heroku: развертывание web-приложения

Время на прочтение3 мин
Количество просмотров19K
Для размещения своего web-приложения в облаке уже существует не мало различных сервисов и хостингов, однако лишь немногие поддерживают работу с Go. Среди них можно обратить внимание на следующие:
— Google App Engine
— Heroku
Некоторые другие сервисы также предлагают поддержку Go, однако на платной основе, что не всегда выгодно для разработчика, например, если он проводит различные эксперименты, изучая особенности языка. Выбрав такие критерии выбора, как простоту развертывания, скорость и удобство, я остановился на Heroku.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии7

О плюсах и минусах Go

Время на прочтение16 мин
Количество просмотров51K
В данной статье я хочу поделиться опытом, полученным в ходе переписывания одного проекта с Perl на Go. В ней будет больше о минусах, чем о плюсах, ибо о достоинствах Go и так поведано немало, а вот о подводных камнях, ожидающих новых разработчиков, узнать зачастую, кроме как от собственных шишек — неоткуда. Пост никоим образом не преследует цели охаять язык Go, хотя, признаться, некоторые вещи я был бы рад не писать. Также в нем охвачено сравнительно небольшой срез всей платформы, в частности, не будет ничего о шаблонах, регекспах, распаковке/запаковке данных и подобного, часто используемого в веб-программировании, функционала.
Читать дальше →
Всего голосов 102: ↑96 и ↓6+90
Комментарии66

Подборка библиотек для бекенда

Время на прочтение2 мин
Количество просмотров13K
Мы пишем свои бекенды на Go. Собираем метрики кода и балансируем запросы на шарды.
Шифруем RPC. Общаемся с Монгой. За год разработки сформировался стек проверенных библиотек.
Например, goagain сэкономил кучу времени и дебага после обрыва клиентов внутреннего RPC.

Делимся подборкой библиотек, проверенных и работающих в бою.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии1

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

Время на прочтение8 мин
Количество просмотров209K
Каждый день открываются и закрываются интернет-магазины. Причины выхода из бизнеса могут быть разные: проблемы с конкуренцией, логистикой, маркетингом. В статье мы рассмотрим 10 ошибок, которые совершил Шаббир Нураддин при запуске двух интернет-магазинов.

image

Работа в e-commerce дала мне лучший практический опыт в жизни. Те вещи, которые я узнал, запуская онлайн-бизнес не рассказывают на лекциях MBA или других обучающих курсах.

Все ошибки, которые я совершил позволили мне понимать бизнес-задачи лучше, и я поделюсь своим опытом, чтобы вы не наступали на те же “грабли” и смогли прийти к успеху быстрее.
Читать дальше →
Всего голосов 38: ↑32 и ↓6+26
Комментарии24

Пишем код C на Cython

Время на прочтение3 мин
Количество просмотров57K
Последние два года я решаю все задачи исключительно на Cython. Это вовсе не значит, что я пишу на Питоне, а потом «Ситонизирую» это с использованием различных деклараций типов, нет, я просто пишу на Cython. Я использую «сырые» структуры и массивы C (а иногда и векторы C++) и маленькую обёртку вокруг malloc/free, которую я написал сам. Код работает практически так же быстро, как C/C++, потому что это и есть код на C/C++, украшенный синтаксическим сахаром. Это код на C/C++ с функционалом Python именно там, где мне это нужно и где я этого хочу.

Читать дальше →
Всего голосов 71: ↑62 и ↓9+53
Комментарии13

Как повысить уровень конверсии целевой страницы сайта с помощью психологии желания

Время на прочтение7 мин
Количество просмотров67K
Создание соблазнительных для потребителя предложений — не такая сложная задача. Все, что вам нужно — понять, что движет вашими потенциальными покупателями. Как только вы разберетесь с тем, чего они на самом деле желают, у вас появятся инструменты для создания предложений, от которых будет просто невозможно отказаться. Ниже перевод статьи Аарона Бишела, которая содержит несколько психологических методик, используемых успешными компаниями для стимуляции желания приобретать их продукцию, а также советы о том, как оптимизировать целевые страницы и маркетинговые акции.
Читать дальше →
Всего голосов 63: ↑39 и ↓24+15
Комментарии10

Вглубь Pyparsing: парсим единицы измерения на Python

Время на прочтение12 мин
Количество просмотров16K
В прошлой статье мы познакомились с удобной библиотекой синтаксического анализа Pyparsing и написали парсер для выражения 'import matplotlib.pyplot as plt'.

В этой статье мы начнём погружение в Pyparsing на примере задачи парсинга единиц измерения. Шаг за шагом мы создадим рекурсивный парсер, который умеет искать символы на русском языке, проверять допустимость названия единицы измерения, а также группировать те из них, которые пользователь заключил в скобки.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии1

Как просто написать распределенный веб-сервис на Python + AMQP

Время на прочтение7 мин
Количество просмотров29K
Привет, Хабр. Я уже довольно давно пишу на Python. Недавно пришлось разбираться с RabbitMQ. Мне понравилось. Потому что он без всяких проблем (понятно, что с некоторыми тонкостями) собирается в кластер. Тут я подумал: а неплохо бы его использовать в качестве очереди сообщений в кусочке API проекта, над которым я работаю. Сам API написан на tornado, основная мысль была в исключении блокирующего кода из API. Все синхронные операции выполнялись в пуле тредов.

Первое, что я решил, это сделать отдельный процесс(ы) «worker», который бы брал на себя всю синхронную работу. Задумал, чтобы «worker» был максимально прост, и делал задачи из очереди одну за другой. Скажем, выбрал из базы что-нибудь, ответил, взял на себя следующую задачу и так далее. Самих «worker»ов можно запустить много и тогда AMQP выступает уже в роли некоего подобия IPC.

Спустя некоторое время из этого вырос модуль, который берет на себя всю рутину связанную с AMQP и передачей сообщений туда и назад, а также сжимает их gzipом, если данных слишком много. Так родился crew. Собственно, используя его, мы с вами напишем простой API, который будет состоять из сервера на tornado и простых и незамысловатых «worker» процессов. Забегая вперед скажу, что весь код доступен на github, а то, о чем я буду рассказывать дальше, собрано в папке example.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии22

Перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures»

Время на прочтение3 мин
Количество просмотров66K
imageПривет, Хабр!

Мы (@ali_aliev и avenat) с удовольствием представляем вашему вниманию перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures» от Брэда Миллера (Brad Miller) и Дэвида Ранума (David Ranum) из Luther College, что в Айове, США.

О чём?

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

Авторы рассказывают о таких структурах данных, как стеки, очереди (в том числе с приоритетом), деки, хэш-таблицы, списки, деревья и графы. Последним двум вообще посвящены весьма не маленькие главы. Изложение не просто описательное: для каждой структуры предлагается вариант (а иногда и не один) её реализации на Python. Упор, естественно, делается на объектно-ориентированное программирование: создаётся класс, к нему пишутся методы, некоторые из которых авторы оставляют читателям для самостоятельной доработки. Затем идут примеры использования рассмотренной структуры и описание алгоритмов с её участием.

Одна из глав учебника посвящена рекурсии, в том числе её графическому представлению (фракталы). Разбирается несколько известных рекурсивных задач, а в конце наглядно демонстрируется, что эта методика, несмотря на её элегантность, отнюдь не «серебряная пуля».

Не обделены вниманием и классические алгоритмы для сортировки и поиска. И, естественно, для каждого из них анализируются производительность и «подводные камни», а так же даются рекомендации по применению. В последних главах, посвящённых деревьям и графам, даётся много материала об их разновидностях и связанных с ними алгоритмах. Изложение тут становится более сжатым, многие моменты просто описываются с тем, чтобы после прочтения главы читатель реализовал их самостоятельно.
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии19

Adaperio значит «Открыть правду». История создания одного стартапа в двух хардкорных монологах

Время на прочтение6 мин
Количество просмотров27K
Давайте я расскажу вам о себе. Меня зовут Алексей, через месяц мне будет 30, позади шикарная карьера в банке. В 25 лет я уже был директором по розничному бизнесу филиала банка из TOP-20. Чтобы понять, насколько это круто, я могу сказать лишь то, что на такие должности утверждают после разных проверок самые главные дядьки из ЦБ России. Потом у меня была завидная работа в крупной юридической фирме с отличной зарплатой, демократичным графиком и бесплатным интернетом (а еще кофе). И пустота. Пустота от того, что ты не оставишь после себя ни-че-го.



На работе, если у тебя не появляется новых интересных задач, и все отлажено до автоматизма, ты постепенно превращаешься в гипножабу. При этом если у тебя есть энтузиазм, мозги и повезло с интересной работой, то ты реализуешь чью-то ЧУЖУЮ мечту и это давит на тебя с другой стороны еще сильнее. Поэтому, в один прекрасный день я решил уйти и начать что-то свое. Так начинается история Adaperio.
Читать дальше →
Всего голосов 54: ↑35 и ↓19+16
Комментарии37

Петиция против «антипиратского» закона стала доступна на сайте «Российская общественная инициатива»

Время на прочтение1 мин
Количество просмотров79K
На сайте «Российская Общественная Инициатива» стала доступна петиция, призывающая отменить недавно принятый «антипиратский закон».

Стоит отметить, что лишь петиции на сайте http://roi.ru считаются «действительными», т.к. для голосования необходимо быть зарегистрированным на портале «Госуслуги» — c помощью данной авторизации осуществляется как механизм контроля от накруток голосования, так и проверка того, что за инициативы голосуют лишь граждане России.

Петиция «Отменить закон о произвольных блокировках интернет-ресурсов от 02.07.2013 № 187-ФЗ (закон против интернета)» доступна по ссылке.

На момент публикации данного поста собрано меньше 1% голосов (для рассмотрения инициативы на Федеральном уровне необходимо собрать 100 000 подписей).
Всего голосов 116: ↑113 и ↓3+110
Комментарии153

Интересное интервью с Ларри Пейджем

Время на прочтение9 мин
Количество просмотров73K
Привет, Хабр!

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

Лари Пейдж

Tim: Google известна тем что поощряет своих сотрудников решать амбициозные задачи и делать большие ставки. Почему это так важно?
Larry Page: Я волнуюсь о том, что что-то серьёзно пошло не так с тем как мы управляем компаниями. Если вы читаете то что средства массовой информации пишут о нашей компании, или вообще о всей технологической индустрии — речь всегда идёт о конкуренции. Всё преподносится так как будто речь идёт о спортивном событии. Не легко найти примеры действительно впечатляющих вещей, которые были сделаны исключительно за счет конкуренции. Многие компании приходят в упадок со временем, потому что они имеют тенденцию делать в точности тоже что они делали раньше, всего лишь внося небольшие изменения. Это естественно для людей — заниматься чем-то в чем они точно уверены что не потерпят неудачу. Но просто постепенного улучшения недостаточно.
Таким образом огромная часть моей работы это сфокусировать людей на вещах, работая над которыми можно добиться чего-то более значимого чем просто постепенного улучшения существующего. Возьмём например Gmail. Когда мы выпустили её, мы были поисковой компанией — это был большой скачёк для нас выпустить почтовый сервис, не говоря уже о том что мы дали пользователям в сотню раз больше свободного места чем они могли получить где-либо еще. Это не что-то что могло бы произойти само собой если бы мы просто сосредоточились на постепенном улучшении.
Tim: Но вы же должны улучшать и ваши существующие продукты, верно?
Larry Page: Конечно. Но периодически, каждые несколько лет, вам следует работать над чем-то новым, что на ваш взгляд является поистине удивительным.
Tim: Теперь у вас есть отдельное подразделение называемое Google X, предназначенное для таких «moon-shot» проектов (прим. автора: не знал как это точно перевести поэтому так и оставил, здесь имеются ввиду революционные проекты вроде полётов на луну и т.п.), как например самоуправляемые автомобили. Почему вы решили что нужно учредить целый департамент для этого?
Larry Page: Я думаю нам необходимо делать прорывные вещи, а не просто улучшать то что есть и это касается всего нашего бизнеса. Но сейчас Google X делает вещи которые могут быть сделаны более независимо.
Знаете, у нас всегда есть такие споры: У нас есть все эти деньги, у нас есть все эти люди, так почему же мы просто не производим больше? Вы можете сказать что Apple делает очень небольшое кол-во вещей, и это довольно хорошо работает для них. Но я нахожу это неудовлетворительным. Я чувствую как много возможностей использования технологий для улучшения жизни людей сейчас существует в мире. В Google мы нацелены лишь на 0,1% от этих возможностей. А все вместе взятые технологические компании охватывают лишь около 1%. Это означает что 99% это возможности которые упускаются. Инвесторы всегда беспокоятся: «Ах, вы ребята собираетесь потратить слишком много денег на эти сумасшедшие вещи.» Но это как раз сейчас те самые захватывающие вещи — YouTube, Chrome, Android. Если вы не делаете что-то сумасшедшее значит то что вы делаете неправильно!
Tim: Но с другой стороны — первопроходцам всегда приходится не легко. Посмотрите что было с Xerox PARK, не похоже чтобы их фантастические инновации особо помогли самой корпорации.
Larry Page: PARC имела впечатляющую исследовательскую организацию и они внесли большой вклад в современные вычислительные технологии. Но они не были сосредоточены на получении прибыли от своих изобретений. А этого упускать нельзя. Возьмём к примеру компанию Tesla, которой я восхищаюсь. Они не просто сделали действительно инновационный автомобиль, а вероятно около 99% своих усилий потратили выясняя как сделать чтобы их продукт стал массовым и популярным и чтобы им действительно начали пользоваться. Когда я еще только рос, я хотел быть изобретателем. Но потом я понял что есть слишком много печальных историй о изобретателях, таких как Никола Тесла к примеру. Это удивительные люди, которые не имели большого влияния, по причине того что не превращали свои изобретения в бизнес.
Читать дальше →
Всего голосов 96: ↑77 и ↓19+58
Комментарии16

Как написать отличную статью и завоевать умы

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

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

В данной статье мне хотелось бы предложить несколько вариантов того, как стоит создавать статьи, как их подавать и как поддерживать жизнь своей статьи.
Читать дальше →
Всего голосов 131: ↑96 и ↓35+61
Комментарии77

20 способов мошенничества при покупке iPhone

Время на прочтение13 мин
Количество просмотров748K
Когда мы 19 сентября разбирали iPhone 6, предоставленный одним смелым интернет-магазином, его владелец Игорь рассказывал нам удивительные истории о мошенничествах, связанных с этим популярным гаджетом. Истории были насколько увлекательными, настолько и печальными. После того, как эпопея с разбором и сбором закончилась, я попросил Игоря рассказать все известные ему способы жульничества, коих набралось аж двадцать штук. Большинство из них касается покупателей iPhone, но некоторые относятся и к продавцам, которых тоже пытаются обмануть с нерадующей регулярностью.



По итогам получился пост, который, надеюсь, поможет вам избежать многих неприятностей при покупке гаджетов. Тем более, что уловки мошенников универсальны, и могут быть применены не только при операциях с продукцией Apple.
Читать дальше →
Всего голосов 294: ↑282 и ↓12+270
Комментарии324

Информация

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