Обновить
0
0

Пользователь

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

Алкоголизм последней стадии

Время на прочтение2 мин
Охват и читатели250K
Комментарий модератора. Эта статья находилась в Песочнице и была отклонена на премодерации. Но сегодня был поднят важный и сложный вопрос в статье. А этот пост раскрывает признаки распада личности и может быть полезным тем, кто, как выразился автор упомянутой статьи, в метре от водопада. Поэтому решено её выпустить.
Здравствуйте, уважаемые читатели!

Пишу вам в состоянии глубочайшего запоя (более 3-х месяцев), из которого выйти не могу. Дозы — в день около 1 — 1,5 л. крепкого алкоголя и одна-две бутылки сухого вина. Лежал в психиатрической клинике около месяца год назад — не перенёс распад семьи, сломался. Делали т.н. «кодировку» инъекцией. После ввода лекарства алкоголь и нюхать нельзя — он не перерабатывается. Отличительная черта, извините — запах мочи. Резкий, как уксус. Отвратительный.

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

Итак, по пунктам:
Читать дальше →

Алкоголь и математик(а)

Время на прочтение2 мин
Охват и читатели94K
Это непростая, спорная и больная тема. Но я хочу попробовать её обсудить. Не могу что-то великого и искромётного рассказать про себя, поэтому сошлюсь на достаточно искреннее (среди кучи лицемерия и морализаторства по этому вопросу) выступление математика, доктора наук, Алексея Савватеева. (Само видео в конце поста.)

image

36 лет моей жизни были очень тесно связаны с алкоголем. И я выбыл из игры за пять минут до водопада, примерно. Я плыл, плыл, река всё круче становится, я водный турист, я «отстрелился». Отстрелился перед самым водопадом, видимо. Четыре года назад завязал с употреблением алкоголя. Не могу сказать фразу: «И вам того же советую». Потому что я видел людей, которые совершенно нормально пьют. Но это не мой случай.

Могу дать совет, как старый алкоголик с огромным стажем. Если вы, даже в 10% случаев (не в 100%, и даже не в 70%) вы не останавливаетесь, а пьете до падения под стол, то вам нужно завязывать.

Sampler. Консольная утилита для визуализации результата любых shell команд

Время на прочтение5 мин
Охват и читатели89K

В общем случае с помощью shell команды можно получить любую метрику, без написания кода и интеграций. А значит в консоли должен быть простой и удобный инструмент для визуализации.


Sampler


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


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Читать дальше →

Russian Railway Simulator (RRS): первый публичный релиз

Время на прочтение5 мин
Охват и читатели103K
Наступил тот долгожданный мной день, когда я наконец могу представить эту разработку. Проект был начат ровно год назад, 1 сентября 2018 года, по крайней мере в репозитории RRS на Gtihub первый коммит имеет именно такую дату.

Пассажирский поезд на станции Ростов Главный (кликабельно)



Что такое RRS? Это открытый кроссплатформенный симулятор подвижного состава колеи 1520 мм. Читатель закономерно задаст вопрос: «Позвольте, а для чего нужен этот проект, если симуляторов железнодорожной тематики, как коммерческих, так и открытых, достаточное количество?» За ответом на этот вопрос я и предлагаю заглянуть под кат

Два года с Dart: о том, как мы пишем на языке, который ежегодно «хоронят» (часть 2)

Время на прочтение5 мин
Охват и читатели19K


Продолжаем наше интервью с менеджером по разработке Wrike Игорем Демьяновым. Сегодня поговорим о перспективах языка, его развитии и улучшении инструментов, а также попробуем ответить на вопрос «Dart Шреденгира»: жив все-таки или умер язык, можно ли безбоязненно использовать его в своих проектах.
Читать дальше →

Рекомендации по написанию чистого кода на JavaScript

Время на прочтение8 мин
Охват и читатели39K
Если вы заботитесь о самом коде, и о том, как он написан, а не заняты лишь тем, чтобы создавать работающие программы, это означает что вы стремитесь к тому, чтобы ваш код был чистым. Профессиональный разработчик пишет код не только в расчёте на компьютеры, но и в расчёте на себя самого, встретившего этот код в будущем, и в расчёте на других программистов. Код, который вы пишете, не исчезает навсегда в недрах компьютера. Он живёт, изменяется, и, если написан плохо, вполне может сильно расстроить того, кому придётся редактировать его после того, как вы его написали. Вполне возможно, что этим «кем-то» будете именно вы.



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

Подборка @pythonetc, май 2019

Время на прочтение5 мин
Охват и читатели7.1K


Это одиннадцатая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки
Читать дальше →

10 типов структур данных, которые нужно знать + видео и упражнения

Время на прочтение9 мин
Охват и читатели301K
Екатерина Малахова, редактор-фрилансер, специально для блога Нетологии адаптировала статью Beau Carnes об основных типах структур данных.

«Плохие программисты думают о коде. Хорошие программисты думают о структурах данных и их взаимосвязях», — Линус Торвальдс, создатель Linux.

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

В этой статье я покажу вам 10 самых распространенных структур данных.
Читать дальше →

Почему на собеседованиях так часто спрашивают про связные списки

Время на прочтение3 мин
Охват и читатели56K
Примечание переводчика: оригинальная статья опубликована в серии твитов

Вероятно, вы уже читали кучу объяснений, почему обработка связных списков — плохой вопрос для собеседования. Я же в первую очередь хочу объяснить, откуда он вообще взялся. Всем пристегнуться, погружаемся в теорию игр ИСТОРИЮ!

Хотя индустрия программного обеспечения процветала в 80-е годы, но действительно взлетела в 90-е. В это десятилетие число работников отрасли в США утроилось и превысило миллион человек. Со взрывным ростом пришла необходимость нанимать массу сотрудников и оценивать их.

Что нужно оценить? Ну, в первую очередь, знание языков. Согласно TIOBE, в 1986−2006 годы самым популярным языком в мире был C, далее следовал C++. К 2006 году Java вышла на первое место, но C остался рядом.

C работал близко к железу без лишних абстракций. Пустой словарь Python расходует аж 288 байт, то есть 5% всего объёма памяти первого поколения Apple II. Абстракции слишком дороги, слишком много накладных расходов. Если вам нужна сложная структура данных, вы должны построить её самостоятельно с помощью массивов, структур и указателей.
Читать дальше →

Руководство по выживанию с MongoDB

Время на прочтение12 мин
Охват и читатели41K
Все хорошие стартапы либо быстро умирают, либо дорастают до необходимости масштабироваться. Мы смоделируем такой стартап, который сначала про фичи, а потом про перфоманс. Перфоманс будем улучшать с MongoDB — это популярное NoSQL-решение для хранения данных. С MongoDB легко стартовать, и многие проблемы имеют решения «из коробки». Однако, когда нагрузка растет, вылезают грабли, о которых вас заранее никто не предупреждал… до сегодняшнего дня!

image

Моделирование проводит Сергей Загурский, который отвечает за инфраструктуру бэкенда вообще, и MongoDB в частности, в Joom. Также был замечен в серверной части разработки MMORPG Skyforge. Как сам себя описывает Сергей — «профессиональный набиватель шишек собственным лбом и граблями». Под микроскопом — проект, который использует стратегию накопления для управления техническими долгом. В этой текстовой версии доклада на HighLoad++ будем двигаться в хронологическом порядке от возникновения проблемы до решения с помощью MongoDB.
Читать дальше →

Указатели в Python: в чём суть?

Время на прочтение15 мин
Охват и читатели185K

Если вы когда-нибудь работали с такими низкоуровневыми языками, как С или С++, то наверняка слышали про указатели. Они позволяют сильно повышать эффективность разных кусков кода. Но также они могут запутывать новичков — и даже опытных разработчиков — и приводить к багам управления памятью. А есть ли указатели в Python, можно их как-то эмулировать?

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

Благодаря этой статье вы лучше поймёте модель объектов в Python и узнаете, почему в этом языке на самом деле не существуют указатели. На случай, если вам понадобится сымитировать поведение указателей, вы научитесь эмулировать их без сопутствующего кошмара управления памятью.
Читать дальше →

Пять ошибок, которые я допустил как ведущий разработчик

Время на прочтение6 мин
Охват и читатели33K
Ведущий разработчик — не зря «ведущий». Эту фраза была услышана на одной из конференций по IT-менеджменту и вызвала вопрос, а почему собственно «не зря»? Именно этот вопрос и подтолкнул меня написать эту статью.

image

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

  • Думает не только о своей грядке, но и обо всем огороде (это ключевое качество). Готов выстраивать стандарты и следить за их исполнением.
  • Отлично знает свой язык и фреймворк, превосходно разбирается в архитектуре, имеет солидный опыт работы за плечами. «Солидность» не обязательно означает время проведенное за клавиатурой, важно количество и качество написанных проектов.
  • Хочет и может аргументированно доносить свое мнение, отстаивать его и искать компромисс при необходимости.

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

Одной из сильнейших его сторон является целостная картина мира, в которой совершенно точно определено, что такое хорошо и что такое плохо. Это позволяет быстро принимать решения и без колебаний воплощать их в жизнь. Эта уверенность заразительна и позволяет завоевать авторитет в глазах менеджеров, у которых уже не все так просто и понятно. Ведь кроме технических «лучше», «надежнее» и «быстрее», на уровне менеджмента появляются всякие «заказчик не захочет», «инвестор не оценит» и всевозможные «Вася обидится». Когда менеджер слышит «нет, тут нужно делать только так, потому что 1, 2 и 3» — он вздыхает с облегчением. Выбор становится очевиден и ответственность падает с его плеч.

Чуть более года назад я ушел с позиции ведущего разработчика окончательно и решил сделать небольшую ретроспективу своих самых досадных ошибок. Итак:

Ошибка номер 1. Оверменеджмент


Читать дальше →

Tornado vs Aiohttp: путешествие в дебри асинхронных фреймворков

Время на прочтение12 мин
Охват и читатели26K
Привет! Я Дима, и я довольно давно и плотно сижу на Python. Сегодня хочу показать вам отличия двух асинхронных фреймворков — Tornado и Aiohttp. Расскажу историю выбора между фреймворками в нашем проекте, чем отличаются корутины в Tornado и в AsyncIO, покажу бенчмарки и дам немного полезных советов, как забраться в дебри фреймворков и успешно оттуда выбраться.


Читать дальше →

Книга «Python. Экспресс-курс. 3-е изд.»

Время на прочтение15 мин
Охват и читатели9.8K
image Привет, Хаброжители! Эта книга предназначена для людей, которые уже обладают опытом работы на одном или нескольких языках программирования и хотят по возможности быстро и просто изучить основы Python 3. Предполагается, что читатель уже знаком с управляющими конструкциями, ООП, работой с файлами, обработкой исключений и т. д. Книга также пригодится пользователям более ранних версий Python, которым нужен компактный справочник по Python 3.1.

Предлагаем ознакомиться с отрывком «Обработка файлов данных»
Читать дальше →

Что нам стоит дорогу построить. Часть 1

Время на прочтение8 мин
Охват и читатели7.2K

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


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


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


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

Читать дальше →

Как флитком управляет людьми в онлайновой игре с зашкаливающим уровнем паранойи

Время на прочтение15 мин
Охват и читатели43K


— Слышал, Слон флотом теперь командует?
— В смысле?
— Ну, помнишь, он админил?
— Да.
— Так ты сейчас обсмеёшься, его навыки управления оказались идеальными для управления кланом.

В общем, мне всегда очень хотелось перенять опыт командира флота в Eve Online. Есть такой феномен: люди объединяются в большие корпорации и альянсы, при этом ничего не получают за игру материально, но каким-то чудом все вместе делают общие задачи. Уроки управления местами покруче MBA. И первый — понимание, что Eve — это не космическая игра, а, скорее, соцсеть, к которой прикручена игра про космос. И вести себя надо именно как в соцсети. То есть управление корпорацией — это правильная подача контента.

Очень, очень многое у флиткома перекликается c тем, что нужно знать руководителю. И мне очень жаль, что этот диалог у нас не состоялся лет пять назад.
Читать дальше →

F# меня испортил, или почему я больше не хочу писать на C#

Время на прочтение13 мин
Охват и читатели68K

Раньше я очень любил C#


Это был мой основной язык программирования, и каждый раз, когда я сравнивал его с другими, я радовался тому, что в свое время случайно выбрал именно его. Python и Javascript сразу проигрывают динамической типизацией (если к джаваскрипту понятие типизации вообще имеет смысл применять), Java уступает дженериками, отстутствием ивентов, value-типов, вытекающей из этого карусели с разделением примитивов и объектов на два лагеря и зеркальными классами-обертками вроде Integer, отсутствием пропертей и так далее. Одним словом — C# клевый.


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


А потом я из любопытства попробовал F#.

Читать дальше →

Разработчик! Прекрати считать себя недостаточно хорошим специалистом, это неправда

Время на прочтение7 мин
Охват и читатели62K
Около месяца назад мы подготовили большую статью с невыдуманными историями об IT-самозванцах, где рассказали об ушлых ребятах из Азии, которые любыми путями пытались устроиться к нам на удаленную работу. Весь текст был посвящен разного сорта авантюристам — людям, которые чаще всего ничего не смыслили в IT и разработке, но выдавали себя за девелоперов. В той статье мы упоминали, что подобных Остапов на территории СНГ практически нет. Ну как-то не тянет наших соотечественников и людей из ближнего зарубежья пытаться кого-то обмануть таким образом. Но на другом берегу этой истории с самозванцами стоят настоящие разработчики — люди умные, компетентные, опытные, одним словом, хорошие специалисты. И как раз они, чаще всего, формируют вторую сторону медали поднятой нами истории.


Стив поверил в себя, так и ты поверь

Все дальнейшие рассуждения, советы и пояснения строятся на одном простом факте: очень часто при трудоустройстве через Crossover выходцев из СНГ мы сталкиваемся с ситуацией, когда специалист заявляется на позицию с более низкими требованиями по сравнению с его реальной квалификацией. То есть представители русскоязычного IT-сообщества систематически себя недооценивают. И это — массовая проблема.
Читать дальше →

Как экипаж самолёта готовится к вылету

Время на прочтение7 мин
Охват и читатели78K


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

Эти данные приходят от авиакомпании. Авиакомпания имеет договор со специальными фирмами, специализирующимися на навигации, которые полностью рассчитывают маршрут. Получается 10–15 листов А4 на английском языке (некоторые компании имеют только электронный план полёта, так сказать, минимизируют бумажный документооборот) на маршрут из Москвы в Екатеринбург. Могут посчитать и из Москвы в Гонолулу, у них одинаково софт отработает. Потом рядом отдельно — пакет информации по аэродромам: спецификация по оборудованию, радиотехнические данные, ремонты полос, рулёжных дорожек и т. п. Если известен конкретный борт, то мы уже имеем основной объём информации, какой самолёт, все его особенности отмечены.

В СССР могли сразу дать решение вроде: «Погода нелётная». Сейчас решение всегда — за командиром, и он опирается на прогнозы и фактическую погоду, может требовать залить больше топлива и так далее.

Потом мы едем на работу.
Читать дальше →

Как я создаю базу данных для своих приложений

Время на прочтение7 мин
Охват и читатели133K
Всем привет! Меня зовут Олег и я программист-любитель под Android. Любитель потому что в данный момент я зарабатываю деньги программированием в совсем другом направлении. А это хобби, которому я посвящаю свое свободное время. К сожалению у меня нет знакомых программистов под Android и все свои базовые знания я черпаю либо из книг, либо из интернета. Во всех тех книжках и статьях в интернете, которые я читал, созданию базы данных для приложения отводится крайне мало места и по сути все описание сводится к созданию класса являющегося наследником SQLiteOpenHelper и последующему внедрению SQL кода в Java код. Если не считать, что мы получаем плохо читаемый код (а если в нашем приложении появляется больше 10 таблиц, то вспоминать все эти взаимосвязи между таблицами тот еще ад), то в принципе жить можно конечно, но как-то совершенно не хочется.
Забыл сказать самое главное, можно сказать что это моя проба пера тут. И так поехали.
Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность