Как стать автором
Обновить
-8
@ford153focusread⁠-⁠only

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

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

Работаем с XML как с массивом, версия 2

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

Всем привет.

Хочу поделиться с вами опытом в парсинге XML файлов размером до четырёх гигабайт. Что бы это происходило быстро, мы читаем файл последовательно, частями, парсим только нужные нам элементы.

В двух словах для быстрого парсинга файлов надо пользоваться XMLReader в связке с yield.

О моей реализации этой связки читайте ниже.

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

Полное руководство по модулю asyncio в Python. Часть 1

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

Python-модуль asyncio позволяет заниматься асинхронным программированием с применением конкурентного выполнения кода, основанного на корутинах. Хотя этот модуль имеется в Python уже много лет, он остаётся одним из самых интересных механизмов языка. Но asyncio, при этом, можно назвать ещё и одним из модулей, которые вызывают больше всего недоразумений. Дело в том, что начинающим разработчикам бывает трудно приступить к использованию asyncio.

Перед вами — подробное и всестороннее руководство по использованию модуля asyncio в Python. В частности, здесь будут рассмотрены следующие основные вопросы:

Читать далее
Всего голосов 31: ↑29 и ↓2+27
Комментарии8

Как я перехватывал трафик покер рума или «Пишем свой MitM SSL прокси на C#»

Время на прочтение5 мин
Количество просмотров76K
Однажды у меня появилась навязчивая идея: посмотреть, а что же там такого покерный клиент отправляет на сервер. Как Вы понимаете, крупные покерные румы используют SSL для передачи данных. Протоколы, основанные на асимметричном шифровании, подвержены только одному известному мне виду атак — MitM (Man in the middle — человек посередине).

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

Читать дальше →
Всего голосов 62: ↑54 и ↓8+46
Комментарии33

Сверхновая реальность рынка труда IT

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

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

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

Читать далее
Всего голосов 68: ↑61 и ↓7+54
Комментарии228

Создаем и запускаем в облаке мощный и главное бесплатный сервер Minecraft

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

Пару месяцев назад, когда Oracle представила в своем публичном облаке двухсокетные серверы с 80-ядерными ARM-процессорами, в англоязычном блоге Тодда Шарпа появилась статья о том, как запустить сервер Minecraft в облаке. Теперь, когда Oracle добавил эти процессоры в Always Free Tier, все стало еще интереснее — вы можете совершенно бесплатно и неограниченно создавать и использовать виртуальные машины, использующие в общей сложности 4 ядра и 24GB памяти. Однако за два месяца изменился интерфейс Публичного Облака Oracle и версии программ, которые применяются для запуска сервера Minecraft. Поэтому сегодня я хочу поделиться своим опытом прохождения этого же пути — с учетом изменений и подводных камней, а также в русскоязычным интерфейсом. Всех любителей Minecraft, а также заинтересованных в создании бесплатных виртуальных серверов, прошу под кат!

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Комментарии43

Здоровый сон взрослого человека — это засыпать за 15 минут и не вставать ночью попить и пописать

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


Послушала на днях 2х-часовое выступление «Здоровый сон» врача-невролога, сомнолога Елены Царевой. Выдернула самые важные для себя пункты:

  1. Спать регулярно, ложиться и вставать в одно и то же время — самое важное. 
  2. Биоритмы — частично наследуются, частично регулируются стилем жизни. На них можно влиять самому.
  3. Нормальное время отхода ко сну около 22:00. Сова и жаворонок — это отклонение на ±1-2 часа. Больше — это нарушение и сдвиг фазы сна, чаще из-за внешних раздражителей.
  4. Самая частая причина плохого сна и тяжелого засыпания — неправильный свет.
  5. Для сдвига режима на 1 час организму нужен 1 день на адаптацию.
  6. Невозможно «доспать» бессонную ночь. Досыпание устраняет только 30% последствий недосыпа.
  7. Прежде, чем искать причины плохого сна, исключите психологические проблемы (тревожность, депрессию), нарушения щитовидки, дефицит железа, диабеты, сердечно-сосудистые заболевания и патологию почек и мочеполовой системы.
  8. Водителям и пассажирам: 17 часов без сна равны 0,5 промилле, 21 час без сна — 0,8 промилле.
  9. В постели без сна больше 15 минут не находиться — совет при бессоннице. 
  10. Самые физиологичные будильники — те, что светятся. 

Под катом конспект 2х-часового выступления про сон на 15 минут чтения. Еще один поинт в копилку полезных материалов про сон — Sleep Hackers.
Читать дальше →
Всего голосов 169: ↑149 и ↓20+129
Комментарии247

Сравнение производительности ASP.NET Core-проектов на Linux и Windows в службе приложений Azure

Время на прочтение8 мин
Количество просмотров10K
Что быстрее — ASP.NET Core-приложение, развёрнутое в Docker-контейнере на Linux, или такая же программа, но запущенная на Windows-сервере, учитывая то, что всё это работает в службе приложений Azure? Какая из этих конфигураций предлагает более высокий уровень производительности, и о каком «уровне производительности» можно говорить?


Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Комментарии8

Зоопарк нашей кожи: что делать с акне (прыщами)

Время на прочтение7 мин
Количество просмотров51K
image
Staphylococcus epidermidis. Обычно ведёт себя мирно, но может провоцировать акне, если слишком проголодается

Наша кожа — это зоопарк. Причём открытого типа, с разными «климатическими» зонами и биомами. В программе сафари около 1000 видов различных бактерий и грибов. У здоровых людей вся эта микробиосистема живёт в гармонии и согласии, ест друг друга, остатки того что насекретировала наша кожа, и не пускает особенно злые виды, которые были бы не против съесть нашу кожу. Если экологическое равновесие нарушается, то в первую очередь возникают воспалительные очаги, которые обычно называют прыщами.

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

Обычно на коже выделяют три основных биома: жирный, сухой и влажный. В каждом из них живёт свой набор организмов, который оптимально адаптирован к жизни в этой зоне. Например, пупок — типичная влажная зона. Нет воздействия губительного ультрафиолета, сальные железы отсутствуют, тепло и влажно. Поэтому он часто считается эталонным участком для исследований пупкового пуха микробиома человеческой кожи.
Читать дальше →
Всего голосов 80: ↑74 и ↓6+68
Комментарии36

Я мотоцикл покупал, чтобы ездить, а не чтобы падать

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


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

Когда лет 10 назад я купил себе первый мотоцикл, любая встреча двухколесных на дороге была целым событием. Последние же несколько лет ситуация изменилась кардинально — пробка из мототехники в междурядье уже каждодневная обыденность. Размышлять на тему, почему это происходит я не буду, а постараюсь просто поделиться опытом «выживания в большом городе» с теми, кто только купил или пока просто задумывается. Вполне возможно, что некоторые вещи будут полезны и любителям электротранспорта.
Читать дальше →
Всего голосов 266: ↑227 и ↓39+188
Комментарии1346

Заложники COBOL и математика. Часть 1

Время на прочтение8 мин
Количество просмотров21K
Посмотрим правде в глаза: никто не любит дробные числа — даже компьютеры.

Когда речь заходит о языке программирования COBOL — первый вопрос, который всплывает у всех в голове, всегда выглядит так: «Почему человечество всё ещё использует этот язык во множестве жизненно важных областей?». Банки всё ещё пользуются COBOL. Около 7% ВВП США зависит от COBOL в деле обработки платежей от CMS. Налоговая служба США (IRS), как всем хорошо известно, всё ещё использует COBOL. В авиации тоже используется этот язык (отсюда я узнала одну интересную вещь на эту тему: номер бронирования на авиабилетах раньше был обычным указателем). Можно сказать, что множество весьма серьёзных организаций, идёт ли речь о частном или государственном секторе, всё ещё используют COBOL.



Вторая часть

Автор материала, первую часть перевода которого мы сегодня публикуем, собирается найти ответ на вопрос о том, почему COBOL, язык, который появился в 1959 году, всё ещё настолько распространён.
Читать дальше →
Всего голосов 79: ↑73 и ↓6+67
Комментарии41

Добываем Wi-Fi соседа стандартными средствами MacOS

Время на прочтение5 мин
Количество просмотров358K
Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.

И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.


Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…
Читать дальше →
Всего голосов 163: ↑151 и ↓12+139
Комментарии249

«Король мышек» WarMouse Meta поступил в продажу

Время на прочтение1 мин
Количество просмотров1.2K
Британская фирма WarMouse выпустила 18-кнопочную мышку с джойстиком WarMouse Meta стоимостью $64, которая по нескольким параметрам превосходит обсуждавшуюся ранее OpenOfficeMouse от той же фирмы.



В частности, чувствительность мыши повышена до 5600 CPI. Также добавлены профили для 64 программ, включая Firefox и Thunderbird, Word, Excel, Outlook, OpenOffice.org Writer, Calc, Impress, 3D Studio Max, Autodesk AutoCAD, 3DS Max, Adobe Photoshop CS4, Adobe Reader, Gnu Image Manipulation Program.

Ну и внешне мышка стала посимпатичнее.
Всего голосов 10: ↑4 и ↓6-2
Комментарии20

Как писать парсеры на JavaScript

Время на прочтение10 мин
Количество просмотров110K
… а именно как писать LL парсеры для не очень сложных структур при помощи конструирования сложного парсера из более простых. Изредка возникает необходимость распарсить что то несложное, скажем некую XML-подобную структуру или какой нибудь data URL, и тогда обычно возникает либо простыня хитрого трудно читаемого кода либо зависимость от какой то ещё более сложной и хитрой библиотеки для парсинга. Здесь я собираюсь совместить несколько известных идей (какие то из них попадались на Хабре) и показать как можно просто и лаконично написать довольно сложные парсеры уложившись при этом в совсем немного строчек кода. Для примера я буду писать парсер XML-подобной структуры. И да, я не буду вставлять сюда картинку для привлечения внимания. В статье вообще картинок нет, поэтому читать будет трудно.

Читать дальше →
Всего голосов 60: ↑56 и ↓4+52
Комментарии53

Бесплатный редактор шрифтов на HTML5

Время на прочтение1 мин
Количество просмотров48K
Всё больше полезных программ удаётся портировать на открытые веб-технологии. До сих пор среди них не было редактора шрифтов. Теперь есть: Glyphr.



Профессиональный софт для проектирования шрифтов — это сложные и дорогие программы. В отличие от них, интерфейс Glyphr вполне доступен для каждого желающего, а само приложение совершенно бесплатно.
Читать дальше →
Всего голосов 93: ↑89 и ↓4+85
Комментарии11

О том, как я заставлял Ubuntu работать 10 часов от батареи

Время на прочтение11 мин
Количество просмотров191K
imageЯ являюсь рядовым линукс-пользователем и поэтому не стоит от этой статьи ожидать очень умных ходов или нестандартных программистских решений. Все по мануалам. Но раз результат достигнут, значит кому-то кроме меня это может оказаться полезным.

О том, как заставит ноутбук работать под линуксами как можно дольше, написано немало, в том числе и на хабре. В какой-то степени я еще раз соберу все советы воедино, от очевидных до обскурных, заодно опишу несколько проблем и решений, которые у меня оказались достаточно «индивидуальными».

Устанавливал я Ubuntu 10.10 на ноутбук Acer Aspire Timeline 5810TG. Эта машина обладает экраном в почти 16 дюймов и относительно производительным железом, зато батарея достаточно емкая, чтобы ставить с ней личные рекорды.
Читать дальше →
Всего голосов 296: ↑285 и ↓11+274
Комментарии124

Сборник полезных ссылок для системного администратора

Время на прочтение2 мин
Количество просмотров188K
Думаю у каждого грамотного системного администратора есть коллекция ссылок на полезные в работе ресурсы. Я имею в виду различные сайты и блоги, на которых выкладываются полезные с точки зрения системного администратора посты.
Предлагаю ими поделиться в формате ссылка — описание.
Пример: habrahabr.ru — разнообразные статьи и новости на IT и около-IT тематику.

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

P.S. Хабр, опеннет и лор можно не упоминать. Можно выкладывать ссылки на конкретные статьи, если считаете их очень полезными.

Начну с себя (т.к я администрирую linux, то и ссылки у меня в основном соответствующие):
Читать дальше →
Всего голосов 105: ↑88 и ↓17+71
Комментарии68

Графический стек Linux

Время на прочтение19 мин
Количество просмотров96K
(оригинал — Jasper St. Pierre, разработчик GNOME Shell, взято отсюда)

Это обзорная статья о составных частях графического стека Linux и том, как они уживаются вместе. Изначально я написал её для себя после разговоров об этом стеке с Оуэном Тейлором, Рэем Строудом и Эдэмом Джексоном (Owen Taylor — мэйнтейнер Gnome Shell; Ray Strode — мэйнтейнер большого количества десктопных пакетов сообщества RedHat; Adam Jackson — разработчик графического стека Gnome Shell и интеграции с XOrg; прим. переводчика)

Я постоянно дёргал их, снова и снова расспрашивал о всяких мелочах, а потом эти мелочи благополучно забывал. В конце концов, я задал им вопрос — а нет ли какого-нибудь обзорного документа, уткнувшись в который я бы избавил ребят от своего назойливого внимания? Не получив утвердительного ответа я решил написать эту статью, которая по завершению была вычитана Эдэмом Джексоном и Дэвидом Эйрли. Они оба работают над этим стеком.
Читать дальше →
Всего голосов 196: ↑191 и ↓5+186
Комментарии49

Серверные стойки от IKEA

Время на прочтение1 мин
Количество просмотров78K
Голландские компьютерщики нашли самый дешёвые вариант для серверных стоек. Это стандартные квадратные столики LACK, которые продаются по 5 евро в мебельном магазине IKEA. По счастливой случайности, расстояние между ножками у них составляет 19" — в точности по размеру стандартного серверного юнита. При этом столики отлично крепятся друг с другом, как конструктор Lego.



Проект LACKRack был впервые представлен на компьютерной конференции eth0 несколько дней назад.

P.S. Тема уже обсуждалась на Хабре, здесь просто больше фотографий в качестве DIY-инструкции (под катом).
Читать дальше →
Всего голосов 110: ↑97 и ↓13+84
Комментарии66

Вебинары по QML и QtQuick: интеграция QML и C++

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

Посмотрев данный вебинар вы узнаете, как устроено декларативное окружение Qt и как оно связано с языком QML, а также поймете, что представляет из себя программа на QML с точки зрения C++. В первых вебинарах по разработке на QML и Qt Quick мы уже частично касались этого вопроса, но сейчас разберем его подробнее, вернувшись к элементарной программе «Hello, World!» и рассмотрев её с точки зрения C++.

Также в вебинаре мы рассмотрим возможности и порядок создания нового элемента, научимся экспортировать свойства из C++ в QML, и разберем, как создавать пользовательские сигналы и слоты.

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

Треугольники с тенью на CSS

Время на прочтение3 мин
Количество просмотров40K
Скорее всего, вы уже знаете, как сделать треугольник на чистом CSS, использовав свойство border. Если же не знаете, то можно почитать, например, здесь. Но что, если вам понадобятся треугольники с тенью?



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



Давайте посмотрим на несколько альтернативных решений.
Читать дальше →
Всего голосов 57: ↑51 и ↓6+45
Комментарии13
1

Информация

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