Pull to refresh
29
0
Денис Гуков @fiftin

Разработчик проекта «Семафор»

Send message

Загружаем данные в Oracle

Reading time14 min
Views93K
В своей предыдущей статье я показал, что при использовании асинхронных запросов, скорость опроса устройств по протоколу SNMP может достигать 9000 запросов в секунду (при условии, что у нас есть достаточное количество устройств для формирования такого потока ответов). Вопрос о том, что делать с этим потоком данных остался открытым.

Обычной практикой является обработка данных мониторинга посредством RDBMS (таких как Oracle Database). Но способны ли традиционные реляционные базы данных справиться с такой нагрузкой? Попробуем в этом разобраться.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments136

Пишем плагин для jQuery

Reading time8 min
Views247K
Эта статья призвана дать представление об основных правилах, подходах, дающих наилучшие результаты, и распространённых ошибках, на которые стоит обратить внимание при разработке плагинов для jQuery.
Читать дальше →
Total votes 171: ↑138 and ↓33+105
Comments67

Схема обработки ошибок в Yii

Reading time4 min
Views34K
Всем привет!
Процесс обработки ошибок в Yii был для меня не совсем прозрачным с первых дней использования этого фреймворка. Даже несмотря на наличие в документации специального раздела Error Handling. В каких случаях какие view используются, как влияет ajax или debug-режим, зачем нужен errorAction, в чем отличия при обработке исключений?
В итоге после копания в документации и исходном коде фреймворка я нарисовал наглядную схему обработки ошибок, которая лично для меня оказалась весьма полезной и наверняка пригодится кому-то еще.
Под катом собственно схема и некоторые комментарии к ней.
Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments22

С++ библиотека от Google с контейнерами map и set на B-деревьях

Reading time2 min
Views30K
Один из сотрудников Google в 20% свободного времени разработал и выложил под свободной лицензией библиотеку cpp-btree (С++ B-Tree), которая содержит контейнеры, работающие как map, set, multimap и multiset из стандартной библиотеки шаблонов (STL).

Разница в том, что контейнеры в STL реализованы на красно-чёрных деревьях, а аналогичные контейнеры cpp-btree — на B-деревьях. При этом в определённых ситуациях достигается существенный выигрыш в использовании памяти (на элементах маленького размера) и в производительности (на больших размерах контейнера).

B-деревья известны как инструмент для работы с дисковой памятью: базами данных и файловой системой. Но те же свойства, которые дают выигрыш там, позволяют эффективнее использовать и оперативную память. Каждый узел красно-чёрного дерева содержит один элемент, требует три указателя плюс по биту информации на элемент для сбалансированности. Для сравнения, контейнеры на B-деревьях хранят несколько элементов на узел, поэтому уменьшают оверхед указателей и экономят значительное количество памяти.
Читать дальше →
Total votes 82: ↑77 and ↓5+72
Comments34

Пол Грэм: Как найти идею для стартапа (часть вторая)

Reading time7 min
Views106K

Данный пост является продолжением первой части перевода одной большой статьи Пола Грэма о том, как найти свою стартап-идею. Это не пошаговая инструкция, а скорее глубокое философское эссе Грема, основанное на его богатом опыте в качестве основателя YCombinator — самом успешном стартап-акселераторе. Продолжаем:

Сознание


Но как определить, есть ли путь «наружу» у идеи? Как понять, является ли это зачатком большой компании или всего лишь продуктом, обреченным на узкую нишу? Часто это не возможно сделать. Фаундеры AirBnb не осознавали в начале, на рынок какого масштаба они покусились. Изначально у них была более узкая идея. Они собирались позволить владельцам сдавать свое пространство во время выставок, конференций. Они не предвидели экспансию этой идеи; она сама себя навязывала постепенно. Все что они знали в начале, что на крючке какая-то рыба. Возможно, это столько же, сколько знали изначально Билл Гейтс и Марк Цукерберг.
Читать дальше →
Total votes 52: ↑42 and ↓10+32
Comments25

Пол Грэм: Как найти идею для стартапа (часть первая)

Reading time5 min
Views188K

Недавно вышла статья Пола Грэма о поиске идеи для стартапа. Грем — сам по себе культовая личность Кремниевой долины и уже только поэтому достоин внимания. Но на мой взгляд, эта статья одна из лучших в своем роде. Да, о Customer Development и Lean Startup сейчас не пишет разве что ленивый, но она отличается глубокой внутренней философией Грема и обобщает его богатый опыт в качестве основателя YCombinator, общающегося с тысячами стартаперов в год.
Статья очень длинная, поэтому я взял на себя смелость разбить ее на 5 частей, дабы никого не утомить. Поехали:


Лучший способ найти идею для стартапа — не думать о ней. Найдите проблему, и лучше — если она есть у вас самого.
Читать дальше →
Total votes 66: ↑60 and ↓6+54
Comments32

Приложение в честь Дня святого Валентина на libgdx

Reading time7 min
Views27K

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


.

Читать дальше →
Total votes 50: ↑30 and ↓20+10
Comments22

Уроки написания утилитки на $1 000 000

Reading time4 min
Views197K


Осенью 2008 года мы потратили две-три недели свободного от основной работы времени, чтобы написать маленькую утилитку для бэкапа баз данных (MS SQL Server и потом MySQL). Сегодня она приносит нам около $230 000 в год и можно с уверенностью говорить, что суммарно мы заработаем на ней больше $1 000 000.

Под катом я расскажу, как это получилось и какие уроки мы из этого извлекли. Вполне возможно, что нам просто глупо повезло и опыт этот целиком неверен и теории не соответствует и только навредит вашему начинанию — читайте на свой страх и риск.
Читать дальше →
Total votes 471: ↑457 and ↓14+443
Comments247

Партнерская программа как самый эффективный инструмент продвижения на примере Ivideon

Reading time5 min
Views19K
Не беспокойтесь о людях, ворующих ваши идеи. Если ваши идеи хоть сколько-нибудь хороши, вам придется проталкивать их через людские глотки. Говард Эйкен.



Знаете ли вы какая огромная пропасть лежит между тем чтобы разработать классный продукт и тем, чтобы он стал по настоящему успешным?
У тех кто начинает собственный стартап почти всегда есть одно и то же заблуждение:
достаточно реализовать нечто особенное и на самом высоком уровне, а уж пользователи придут сами.
К сожалению, так не бывает. Чтобы это произошло, необходимо, порой, приложить гораздо больше усилий, чем для самой реализации продукта, очень часто натыкаясь на стену непонимания, а иногда и элементарной глупости:

“Как только Парижская выставка закроется, электрический свет закроется вместе с ней, и больше о нем никто не услышит” Эразмус Уилсон, профессор Оксфордского университета, 1878 год.

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

Под катом я расскажу о том, как мы решали эту задачу в Ivideon и что для нас дало отличный результат, а что нет.
Читать дальше →
Total votes 43: ↑27 and ↓16+11
Comments20

Что на самом деле бизнесы продают клиентам?

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

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

Итак, давайте разберёмся, что на самом деле любой бизнес продаёт…
Обещание!
Total votes 54: ↑42 and ↓12+30
Comments25

Оптимизируем производительность JavaScript для V8

Reading time6 min
Views28K

Предисловие


Дэниел Клиффорд сделал на Google I/O прекрасный доклад, посвященный особенностям оптимизации кода JavaSсript для движка V8. Дэниел призвал нас стремиться к большей скорости, тщательно анализировать отличия между С++ и JavaScript, и писать код, помня о том, как работает интерпретатор. Я собрал в этой статье резюме самых главных моментов выступления Дэниела, и буду обновлять её по мере того, как движок будет меняться.
Читать дальше →
Total votes 75: ↑73 and ↓2+71
Comments62

Улучшенный 9-patch редактор

Reading time4 min
Views45K
Добрый день, Хабражитель!

imageУверен с форматом nine-patch уже все давным-давно знакомы, вероятно даже не раз пользовались им в своих Android-проектах (а может даже и где-то ещё). Также о нём чуть менее года назад skkap писал небольшую статью о том, что это за формат, и «с чем его едят». Также он описал инструмент, предлагаемый для быстрого редактирования этих самых файлов.

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

Тут я и решил лично взяться за дело…

Читать дальше →
Total votes 52: ↑49 and ↓3+46
Comments49

Один в поле воин

Reading time5 min
Views22K


Если вы талантливый инженер, программист и мечтаете о собственной компании, проекте, независимости — вам понадобится сумасшедшая доза решимости, чтобы начать. Это трудный шаг — бросить теплое место в офисе и стабильный оклад и шагнуть “в никуда”. “С другом” этот шаг сделать легче, одному — всегда страшней. Если единственное, что вас останавливает — это отсутствие “друга”, то вот вам пинок: статья от создателя онлайн-школы Treehouse Райана Карсона.

Будет трудно, но если вам действительно нужен кофаундер в проекте, его всегда можно будет найти (или нанять) позже…

И еще: берегите друзей, ведь стартап — это как брак — если у вас с вашим кофаундером испортятся отношения из-за “кто будет мыть посуду, кому больше акций, кто делает всю грязную работу”, вы потеряете друга.

Перевод выполнен в Alconost. Итак, статья…
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments15

Как понять, хорош ли ваш проект для инвестора: чеклист стандартных грабель стартапа

Reading time9 min
Views74K

Бизнес-ангел часто смотрит на стартаперов с недоумением

Предположим, вы придумали какое-то железо, и теперь хотите начать его производство. У вас уже есть прототип: вот он, в руке, коряво выглядит, в 4 раза больше нормального размера и из него торчит провод. Но он работает. У вас горят глаза: ведь осталось только «допилить» его и начать производить по всему миру. Из маркетингового плана у вас есть только «запостить про железку на Хабр – и всё закрутится».

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

Так вот, я занимаюсь тем, что отбираю стартапы для крупных и действительно крупных инвестиций. Ниже я хочу рассказать вам о том, как оценка проекта выглядит «с той стороны» для компаний, рассчитывающих не «срубить бабла по-быстрому», а готовых вкладываться в длинные проекты.
Читать дальше →
Total votes 139: ↑127 and ↓12+115
Comments51

Box2d и Libgdx

Reading time9 min
Views57K
День добрый.

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

Я задался целью поэтапно писать статьи о различных аспектах/частях LibGDX, чтобы в итоге, любой человек мог более-менее работоспособную версию своей собственной игрушки сделать. В этой статье хотел бы рассказать про Box2D, который присутствует в LibGDX.
image
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments9

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 7

Reading time22 min
Views111K

Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике SemenOk2 переводит седьмое занятие. Форматирование 9e9names. Редактор Astropilot

Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего шага
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments11

Методы монетизации интернет проектов

Reading time7 min
Views136K
Поговорим о важном аспекте существования любого сайта, о существующих методах монетизации и их применении в реальных проектах. От этой кажется, совсем небольшой вещи зависит будущее проекта и его перспективы на рынке.

Подробности
Total votes 82: ↑72 and ↓10+62
Comments27

Разработка через страдание

Reading time6 min
Views55K
От переводчика:
Немало копий сломано в спорах о том, когда уместнее KISS, а когда DRY, когда лучше как можно быстрее и проще решить задачу любыми средствами, а когда стоит создавать красивые и универсальные абстракции. Натан Марц, автор популярного фреймворка Storm, используемого в Твиттере, предлагает свой вариант. Чтобы не создавать тонны бесполезного кода ради абстрактной универсальности и в то же время не позволять системе превращаться в кашу из костылей, он использует «разработку через страдание» (suffering oriented programming).



Однажды меня спросили: «Как ты решился пойти на такой страшный риск — писать Storm одновременно с запуском стартапа?» (Storm — фреймворк для распределённых вычислений в реальном времени). Да, пожалуй, со стороны создание такого крупного проекта для стартапа кажется крайне рискованным. Тем не менее, с моей точки зрения это вообще не было рискованным делом. Трудным, но не рискованным.

Я использую стиль разработки, который сильно уменьшает степень риска таких больших проектов, как Storm. Я называю этот стиль «разработкой через страдание». В двух словах: не занимайтесь реализацией технологий, от отсутствия которых вы не испытываете страданий. Этот совет применим как к большим, архитектурным решениям, так и к маленьким повседневным задачам. Разработка через страдание существенно уменьшает риск, гарантируя, что вы всегда работаете над чем-то важным, и что вы хорошо разобрались в предметной области, прежде чем вложить в решение много сил.

Я придумал такую мантру разработки: «Сначала сделай, чтобы было. Затем — чтобы было красиво. Затем — чтобы было быстро».
Читать дальше →
Total votes 101: ↑93 and ↓8+85
Comments64

Боб Дорф: Как работать над стартапом

Reading time5 min
Views28K
Боб Дорф – известный предприниматель (вывел 8 компаний на IPO), консультант и ментор Стартап Академии, который начал свою карьеру в бизнесе, когда ему было 12 лет. Сегодня он является желанным участником многих конференций, потому что как никто другой знает, как правильно создавать успешные стартапы, прочно вставать с ними на ноги и превращать их к крупные компании.

Недавно Боб Дорф выступал на конференции Business of Software 2012 где рассказал об основных принципах жизни «здорового» стартапа. Вашему вниманию основные тезисы его выступления в которые сам искренне верю и стараюсь ежедневно использовать:
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments6

Что нужно делать смолоду или как стать богатым айтишником

Reading time7 min
Views631K

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

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

Нужно заметить, что три года назад, я и сам не знал этого принципа, и мне даже пришлось продать свою машину, чтобы выплатить долги. Но я не расстроился – я уже знал этот принцип и был уверен, что у меня получится стать богатым. Ведь если ты действуешь исходя из этого принципа, то настоящее богатство – лишь вопрос времени. И я не ошибся.
Не важно, кто ты – дизайнер или программист, но я уверен, если ты тоже последуешь ему, то станешь богатым.
Ближе к делу
Total votes 389: ↑303 and ↓86+217
Comments578

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

Fullstack Developer
Senior
JavaScript
SASS
React
Vue.js
Node.js
WordPress
Golang
Docker
SQL
MongoDB