Как стать автором
Обновить
7
0

Software developer

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

Суровая правда о разработчиках и разработке

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

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

Огромных зарплат в те времена не было, компании по разработке ПО создавались романтиками в съемных комнатушках-офисах, в которых часто приходилось и ночевать. Кто-то не выдерживал и сдавался, кто-то создавал шедевры и богател, но в те времена никто не говорил, что люди получают зарплату просто так. Те времена подарили нам кучу программ, часть из которых остаются самыми популярными в своей сфере и по сей день (Например, MS Excel. Страшно думать, но до сих пор большинство инвестиционных банкиров используют для своих моделей именно MS Excel). Те времена подарили нам таких людей как Питер Нортон и Андерс Хейлсберг или Джон Кармак с Сидом Майером, если игры вам ближе.

А что дальше и не параноик ли автор?
Всего голосов 33: ↑23 и ↓10+19
Комментарии103

Дизайн и подходы создания Big Data пайплайнов

Время на прочтение23 мин
Количество просмотров8.9K
image
(Корень всех зол в data engineering лежит в излишне сложном конвейере обработки данных)

Исторический контекст


Разработка конвейера данных достаточно серьезная задача, а с учетом областей с огромными объемами данных, эта сложность многократно увеличивается. Инструменты и концепции, связанные с большими данными, начали развиваться примерно в начале 2000-х годов, когда масштабы и скорость интернета резко начали возрастать. Компании внезапно обнаружили, что им приходится иметь дело с огромными объемами и скоростью передачи данных. Возможно, одним из пионеров в этой области был Google, инженеры которого боролись с поисковым сканером и индексатором. По сути это по, которое в то время лежало в основе поисковика Google. Поскольку количество веб-сайтов и страниц астрономически росло, Google не мог решить, как масштабировать свой сканер/индексатор, используя существующие вычислительные ресурсы, которые были распределены географически. Ни одна из коммерческих баз данных или технологий в то время не могла масштабироваться быстро и с минимальными затратами, и обе эти технологии были необходимы Google для масштабирования своего основного продукта.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

Как синхронизировать сотни таблиц базы в Kafka, не написав ни одного продюсера

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


Привет, Хабр! Меня зовут Сергей Бевзенко, я ведущий разработчик Delivery Club в команде Discovery. Наша команда занимается навигацией пользователя по приложению Delivery Club: мы отвечаем за основную выдачу ресторанов, поиск и всё, что с этим связано.

Я расскажу про Kafka Connect: что это такое, какова общая концепция и как работать с этим фреймворком. Это будет полезно тем, кто использует Kafka, но не знаком с Kafka Connect. Если у вас огромный монолит и вы хотите перейти на событийную модель, но сталкиваетесь со сложностью написания продюсеров, то вы тоже найдёте здесь ответы на свои вопросы. В комментариях можем сравнить ваш опыт использования Kafka Connect с нашим и обсудить любые вопросы, которые с этим связаны.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии10

Как научиться программировать на Java: почему стоит и где начать

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

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

Было бы проще, если бы среди всех языков программирования был «лидер рынка»? И тогда у всех новичков всегда будет безопасный выбор — выучите этот язык, и вы наверняка будете востребованы. Но это конечно же невозможно. Языки являются «инструментами» для решения многочисленных задач. Один из языков, к которому стоит присмотреться, является Java.

Java — это хорошо структурированный, объектно-ориентированный язык, который может показаться простым для начинающих. Вы можете справиться с ним довольно быстро, так как много различных процессов запускаются автоматически. В первое время не потребуется углубляться глубоко в «как там все работает». Java является кроссплатформенным языком. Это позволяет программисту создать приложение, которое можно развернуть на любом устройстве. Это предпочтительный язык для IoT(интернет вещей), отличный инструмент для создания enterprise приложений, мобильных приложений и т.д.

Что важно для новичка, у Java есть одно из крупнейших сообществ и очень качественная документация. Если у вас есть проблема, с высокой вероятностью ответ есть уже в документации. Еще два преимущества Java — это обширные библиотеки и фреймворки, которые покрывают большинство проблем, с которыми вам придется столкнуться как младшему разработчику.
Читать дальше →
Всего голосов 8: ↑4 и ↓4+3
Комментарии16

Как и по каким причинам провалились мои первые 5 стартапов

Время на прочтение6 мин
Количество просмотров8.3K
До того, как Loki.ai стал финансово устойчивой компанией, я потерпел неудачу с первыми 5 стартапами за 5 лет.

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

Я запустил свой первый «бизнес» когда я еще учился в школе в 2009 году. Я занимался продажей футболок и доход нашей команды составлял 25 000 долларов. Но несмотря на доход, нам так и не удавалось получить какую-либо прибыль. В свои 17 лет я почему то стал считать, что разобрался в том, как делается бизнес. Но позже я понял, что продавать на площадках, где вы не пользуетесь популярностью и известностью, далеко не тоже самое что продавать футболки друзьям в школе. Это был мой самый первый опыт.

С момента окончания школы я запустил 6 стартапов и с треском провалился в 5 из них.

image

Все 5 неудач имели разные причины. Но уроки, которые я извлек из них, помогли на шестой попытке сделать то, что долго не удавалось (3 года и более).
Читать дальше →
Всего голосов 6: ↑4 и ↓2+4
Комментарии11

Кластер Elasticsearch на 200 ТБ+

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


С Elasticsearch сталкиваются многие. Но что происходит, когда хочешь с его помощью хранить логи «в особо крупном объёме»? Да ещё и безболезненно переживать отказ любого из нескольких дата-центров? Какой стоит делать архитектуру, и на какие подводные камни наткнёшься?


Мы в Одноклассниках решили при помощи elasticsearch решить вопрос лог-менеджмента, а теперь делимся с Хабром опытом: и про архитектуру, и про подводные камни.

Читать дальше →
Всего голосов 33: ↑31 и ↓2+41
Комментарии20

Как запустить стартап с минимальными потерями: 23 правила

Время на прочтение13 мин
Количество просмотров7K
За 5 лет бутстрэппинга я попробовал много всего и обнаружил, что существует много способов создать себе сложности, которые отнимают время и энергию. В результате ты вынужден разбираться с ними вместо того, чтобы заниматься делом и наращивать ценность своего продукта.

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

Если вы хотите полностью минимизировать сложности при запуске софтверного бизнеса, то следуйте каждому из приведенных ниже правил.

Правило #1: Организуйте стабильный доход


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

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

Запуск бизнеса с выручкой, которая в основном растет и очень редко существенно падает, раз в сто снижает уровень вашего стресса по сравнению с ситуацией, когда выручка меняется по принципу «то густо, то пусто».


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

Мой опыт проведения 1000 интервью. Конспект доклада Егора Бугаенко

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

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

Читать дальше →
Всего голосов 29: ↑10 и ↓19-7
Комментарии25

Обеспечение высокой доступности приложений с Kafka Streams

Время на прочтение10 мин
Количество просмотров14K
Kafka Streams — это Java-библиотека для анализа и обработки данных, хранящихся в Apache Kafka. Как и в любой другой платформе потоковой обработки, она способна выполнять обработку данных с сохранением и/или без сохранения состояния в режиме реального времени. В этом посте я попытаюсь описать, почему достижение высокой доступности (99,99%) проблематично в Kafka Streams и что мы можем сделать для того, чтобы ее достичь.

Что нам нужно знать


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

Kafka: Партицирование данных


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

Как доводить до конца долгосрочные цели

Время на прочтение5 мин
Количество просмотров14K
Данная статья является продолжением к самым важным советам по повышению продуктивности: «Личная продуктивность (только проверенные на себе подходы)».

В прошлых статьях мы говорили о том, как правильно поставить перед собой долгосрочные цели, — назовем это уровнем стратегии. Мы уже поговорили о том, как эффективно проводить микроменеджмент своих задач и доводить проект до конца. Назовём этот уровень тактическим. Сегодня я хочу рассказать о том, как правильно связать эти уровни между собой, чтобы то, что делается на тактическом уровне, связалось со стратегическим уровнем. Очень часто именно этот аспект подкашивает молодых адептов моих советов. Кажется продуктивность выросла и долгосрочные цели стоят правильные, но почему-то в конце квартала/года понимаешь, что сделано намного меньше, чем хотелось. Если вам это знакомо, то сегодня я расскажу почему так происходит и как с этим бороться.

Для примера я взял ОЧЕНЬ упрощенный кейс (личный давний опыт), который мне помог найти мою первую работу в большой международной компании на позиции Android-разработчик.

Данная статья подготовлена на базе нащего скринкста комманды Java Hexlet, выпуск №3. Посему, если вы слушали скринкаст, то можете смело проигнорировать статью.
Читать дальше →
Всего голосов 16: ↑10 и ↓6+4
Комментарии5

Стартапер «С нуля», мой опыт, истории успехов

Время на прочтение19 мин
Количество просмотров84K
Свой текущий стартап я запустил в марте 2012. До этого я занимался предпринимательской деятельностью в вебе с 1999 года. Я начинал в г. Кривой Рог, Украина. Допотопную телефонную линию, на которой периодически висели беседы неизвестных мне людей, мог пробить только модем USRobotics. С его помощью можно было попасть в магический мир — лучик надежды посреди тотальной бесперспективности.

С тех пор мне удалось поэкспериментировать с запусками десятков трех проектов, которые, обрастая опытом, плавно перетекали друг в друга, превратившись в 6 прибыльных проектов.
Читать дальше →
Всего голосов 166: ↑123 и ↓43+80
Комментарии144

Почему мы должны перестать заниматься пет-проектами

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

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

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

Все это так, но удовольствие видеть, как твоим продуктом пользуется кто-нибудь еще, видеть, что он решает чьи-то проблемы — несравнимо выше. Так что я решил во что бы это ни стало довести хотя бы один проект до релиза.
Нужно было всего лишь разобраться, что мне мешало сделать это раньше.
Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии10

Ричард Хэмминг: Глава 17. Цифровые фильтры — IV

Время на прочтение14 мин
Количество просмотров5.3K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2442 в закладки, 393k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

Мы уже перевели 24 (из 30) главы. И ведем работу над изданием «в бумаге».

Глава 17. Цифровые фильтры — IV


(За перевод спасибо Пахомову Андрею, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту magisterludi2016@yandex.ru

А сейчас мы обратимся к рекурсивным фильтрам, которые имеют следующий вид:

image

Из этой формулы видно, что мы располагаем значениями только с одной стороны от текущего n-ого значения. Мы используем предыдущие значения сигнала и его значение в текущий момент времени un а так же предыдущие значения полученные на выходе фильтра.
Этот классический подход является результатом того, что часто мы обрабатывает сигнал в режиме реального времени и у нас нет доступа к будущим значениям сигнала.

Вспомнив основы, мы увидим, что если бы у нас были «будущие значения», вероятно, двухстороннее прогнозирование было бы намного более точное. Тогда бы для вычисления yn мы столкнулись бы с системой, которая должна была бы моментально решать линейные уравнения — ничего страшного в век дешевых вычислений.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

11 кругов ада для тех, кому не хватает опыта на новой работе

Время на прочтение12 мин
Количество просмотров122K
image
Eugene Smith, «Country Doctor» («Сельский доктор», 1948 г.)

Случалось ли вам попадать в ситуацию, когда вы открывали новую веху в своей профессиональной жизни (например, устроились на работу мечты), но поняли, что вам катастрофически не хватает опыта, а позиция требует вполне конкретных успешных результатов? Мне – да.

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

И это всё правда. И я даже скажу категорично: обучение новым видам деятельности и вообще сам процесс постижения нового – это очевидное благо.

Но теперь представьте себе такую ситуацию: вы проходите онлайн-курсы, читаете какие-то учебники, ходите на воркшопы, и в какой-то момент оказываетесь на заветной позиции (сменили работу, получили повышение или открыли своё дело); вы смогли убедить других людей в своей годности, оказались среди профессионалов, и теперь вам нужно действовать… и тут руки начинают дрожать, глаза и мысли – метаться: вы не имеете ни малейшего представления, что именно делать – из-за нехватки опыта. Иными словами, вы – выскочка, и вы это поняли.
Читать дальше →
Всего голосов 93: ↑82 и ↓11+71
Комментарии58

Блокчейн 101: книги, исследования и статьи по теме

Время на прочтение6 мин
Количество просмотров40K
Мы подготовили дайджест из 30 полезных материалов о блокчейне: это книги, статьи, видео для тех, кто «что-то слышал, но хочет лучше разобраться в теме». Этот список мы формировали на основе собственных материалов и исследований, а также рекомендаций резидентов платформ Hacker News, Quora, Reddit.

Как устроены смарт-контракты, как объяснить концепцию биткойна ребенку и (самое интересное) как сделать свой собственный блокчейн — обо всем под катом.

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

Использование kubernetes для разработки блокчейн проектов на Hyperledger Fabric

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

Добрый день, дорогие хабровчане.
Я являюсь разработчиком научно-технического центра IBM в Москве. Мы ведем разработку продуктов IBM совместно с другими лабораториями по всему миру. Если позволяет время и есть желание, то у нас разрешено использовать часть рабочего времени на проекты, которые не являются основной занятостью. Такой подход расширяет кругозор и поддерживает творческий настрой. Для меня такой областью является разработка блокчейн-решений на Hyperledger Fabric. Тем более, что такие проекты стали востребованы на нашем рынке.
Надеюсь, что статья будет не о блокчейне, а о том, что мы используем для разработки таких решений, но тем не менее стоит все-таки начать с предметной области.
Статья не претендует на полноту и нацелена на создание рабочего облачного окружения для разработки блокчейн-проектов на Hyperledger Composer. В результате наших практических изысканий мы должны получить следующую инфраструктуру:


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

Статический анализ в Go: как мы экономим время при проверке кода

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


Привет, Хабр. Меня зовут Сергей Рудаченко, я техлид в компании Roistat. Последние два года наша команда переводит различные части проекта в микросервисы на Go. Они разрабатываются несколькими командами, поэтому нам понадобилось задать жесткую планку качества кода. Для этого мы используем несколько инструментов, в этой статье речь пойдет об одном из них — о статическом анализе.


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


В статьях по этой теме часто встречается термин «линтер». Для нас это удобное название простых инструментов для статического анализа. Задача линтера — поиск простых ошибок и некорректного оформления.

Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии12

Методика разработки высоконадёжных серверов на Go

Время на прочтение26 мин
Количество просмотров18K
Время от времени перед веб-программистами встают задачи, способные нагнать страху даже на профессионалов. Речь идёт о разработке серверных приложений, которые не имеют права на ошибку, о проектах, в которых стоимость сбоя чрезвычайно высока. Автор материала, перевод которого мы сегодня публикуем, расскажет о том, как подходить к решению таких задач.


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

Курс о Deep Learning на пальцах

Время на прочтение2 мин
Количество просмотров174K
Я все еще не до конца понял, как так получилось, но в прошлом году я слово за слово подписался прочитать курс по Deep Learning и вот, на удивление, прочитал. Обещал — выкладываю!

Курс не претендует на полноту, скорее это способ поиграться руками с основными областями, где deep learning устоялся как практический инструмент, и получить достаточную базу, чтобы свободно читать и понимать современные статьи.

Материалы курса были опробованы на студентах кафедры АФТИ Новосибирского Государственного Университета, поэтому есть шанс, что по ним действительно можно чему-то научиться.


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

Как AI вставляет Николаса Кейджа в фильмы и делает порно со знаменитостями

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


Теперь нельзя верить политикам, говорящим что-то в YouTube-роликах, и «сливам» секс-видео звёзд. Реддит-юзеры научили AI заменять лица на видео, и в последние недели это так взорвалось, что ни одна знаменитость не осталась нетронутой. Больше всего досталось Нику Кейджу, который, с его экспрессивностью, давно стал золотой жилой для создателей мемов. Благодаря искусственному интеллекту и возможностями машинного обучения это вышло на новый уровень, так что сейчас к технологии присматриваются и в Голливуде. Эффекты иногда получаются лучше, чем в последних блокбастерах. Вот только у некоторых пользователей другие интересы…

Всего голосов 53: ↑48 и ↓5+43
Комментарии106
1

Информация

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