Pull to refresh
0
0
Кириченко Сергей @kirichenko

Вертел на хую хабр и всех пидарасов из ТМ

Send message

Профилирование и оптимизация программ на Go

Reading time25 min
Views84K

Введение


В этой статье я расскажу, как профилировать и оптимизировать приложения на языке Go с использованием встроенных и общих инструментов, доступных в ОС Linux.

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

Я привел такое определение, чтобы сразу отсечь вопросы некорректной работы приложения. В этой статье мы не будем говорить о проблемах мультитредового программирования, о дата-рейсах (англ. data race), о поиске ошибок (англ. debugging). Для всего этого в Go есть свои утилиты и подходы, но оставим эту тему на будущее.



Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments18

Логика сознания. Часть 2. Дендритные волны

Reading time16 min
Views45K
В предыдущей части мы показали, что в клеточном автомате могут возникать волны, имеющие специфический внутренний узор. Такие волны могут запускаться из любого места клеточного автомата и распространяться по всему пространству клеток автомата, перенося информацию. Соблазнительно предположить, что реальный мозг может использовать схожие принципы. Чтобы понять возможность аналогии, немного разберемся с тем, как работают нейроны реального мозга.
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments53

Исследование защищенности карты Тройка

Reading time18 min
Views202K
Карта тройка

Карта Тройка представляет из себя универсальный пополняемый электронный кошелек, широко используемый в системах оплаты общественного транспорта Москвы с 2013 года.

Цель данного исследования — выяснить защищенность системы электронного кошелька от подделки баланса, оценить безопасность инфраструктуры, работающей с картой. Вся работа была выполнена без использования специальных технических средств. Использовался дешевый смартфон на платформе Android и персональный компьютер. Общее время, затраченное на исследование, составило 15 дней.

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

Итогом исследования стала разработка приложения TroikaDumper, позволяющего эксплуатировать уязвимости системы электронного кошелька.

Внимание! Данные материалы представлены исключительно в ознакомительных целях. Подделка проездных билетов является уголовным преступлением и преследуется по закону.

Читать дальше →
Total votes 380: ↑374 and ↓6+368
Comments348

Взаимодействие с ГИС ЖКХ с помощью stunnel и openssl по ГОСТу

Reading time11 min
Views37K


Встала перед нами в полный рост задача наладить взаимодействие с ГИС ЖКХ. Согласно документации, предполагается использование небезызвестного отечественного ПО для шифрования туннеля и формирования ЭЦП по ГОСТу, но это не наш метод. Вооружившись гуглом и консолью, я и slavam реализовали необходимый функционал подручными средствами.
Всё необходимое ПО есть как на Linux, так и на Windows платформах, потому методику можно назвать мультиплатформенной.

Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments16

IBM поможет Мельбурну решить проблемы города

Reading time4 min
Views6.3K
Мельбурн — один из крупнейших городов мира, участвующих в программе Smarter Cities Challenge



В 2010 году корпорация IBM запустила в работу проект Smarter Cities Challenge. Цель проекта —помочь городским администрациям решить стоящие перед ними актуальные проблемы. Для каждого города список проблем сугубо индивидуален. В рамках инициативы Smarter Cities Challenge IBM уже направила 700 своих специалистов в городские муниципалитеты разных стран по всему миру, где они оказывали безвозмездную консультационную помощь местным органам власти в деле предоставления жизненно важных услуг населению.

За первые четыре года действия программы большинству из 116 муниципалитетов, выигравших гранты IBM Smarter Cities Challenge, удалось улучшить общественную безопасность, экономическое развитие, городские доходы, качество предоставления социальных услуг, общественный транспорт, коммунальные услуги, а также повысить уровень вовлеченности граждан в решение городских проблем. Теперь команда специалистов из IBM прибудет в Мельбурн (Австралия), где в течение трех недель эксперты будут заниматься проблемами города.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments3

Мозг. Голографическая память. Биология квантовых вычислений

Reading time12 min
Views40K


Говорят, что чтобы правильно задать вопрос надо знать большую часть ответа. Основной вопрос, который обычно задают про мозг – это как он устроен и каковы принципы его работы? Вопрос хороший и вполне корректный. Но предположим, что нам удалось узнать «большую часть ответа». Допустим, что возникла теория, которая исключительно правдоподобно описывает работу мозга. Какой вопрос теперь будет «правильным»?
Читать дальше →
Total votes 23: ↑18 and ↓5+13
Comments35

Проект «Око» ч.10

Reading time16 min
Views17K

Фото: A.V. Photography

И вот, спустя почти три месяца со старта, свет увидела десятая, юбилейная часть «Ока».

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

Для тех, кто не понимает, что это вообще такое и что происходит:

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

Предыдущие части:

Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9

Текст, как и всегда, под катом. Приятного чтения.
Читать дальше →
Total votes 29: ↑21 and ↓8+13
Comments4

Проект «Око» ч.9

Reading time11 min
Views16K

Фото: A.V. Photography

Доброго времени суток, дорогие читатели. Хотелось бы сразу сказать, что девятая часть получилась не слишком объемной по нескольким причинам:

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

Для тех, кто не понимает, что это вообще такое и что происходит:


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

Предыдущие части:

Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8

Текст, как и всегда, под катом. Приятного чтения.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments19

Что на самом деле означает сверхурочная работа?

Reading time4 min
Views49K
imageВ технологическом и дизайнерском бизнесе много людей работает сверхурочно, например, более 70 часов в неделю. Все это основано на каком-то комплексе великомученика. Но давайте посмотрим на все трезво. Вот что на самом деле означает сверхурочная работа:

Вы работаете бесплатно
Если вы наемный работник, то работаете бесплатно. Каждый час свыше 40 часов в неделю не приносит вам ни копейки. [1]

Сверхурочная работа способствует необоснованным и неразумным ожиданиям
Клиенты и боссы будут всегда ожидать от вас тех темпов проектирования и разработки, которые обычно включают в себя сверхурочные часы.
Читать дальше →
Total votes 84: ↑71 and ↓13+58
Comments56

Вся правда о UTF-8 флаге

Reading time10 min
Views24K


Распространённое заблуждение состоит в том, что строки символов, в отличие от строк байтов, имеют UTF-8 флаг установленным.
Многие догадываются, что если данные являются ASCII-7-bit, то UTF-8 флаг просто не важен.

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

Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments21

Metaobject Protocol для базового Perl 5

Reading time8 min
Views6K
Идея создания Metaobject Protocol (MOP) для Perl 5 витала достаточно давно. Хорошо известна одна из реализаций — Class::MOP, которая используется в Moose. Но попасть в базовую поставку Perl 5 может лишь такое решение, которое будет совместимо с существующей объектной моделью и не будет перегружено излишними возможностями и зависимостями. На днях Stevan Little опубликовал первый пробный релиз на CPAN возможного кандидата на это вакантное место — модуль mop. Проект прошёл долгую эволюцию, за процессом внимательно следило сообщество. Давайте же рассмотрим, что получилось и какие последствия это может иметь для Perl 5.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments17

Опрос: почему люди увольняются

Reading time1 min
Views67K
Не секрет, что в последнее время IT компании тратят очень много сил и ресурсов на «удержание сотрудников». У меня лично складывается впечатление, что «удержание сотрудников» — это что-то про манипуляции и не слишком честных руководителей. А для того, чтобы ребята оставались работать в вашей команде, достаточно вовремя платить конкурентную зарплату, дать им интересные проекты и создать условия, в которых им будет комфортно работать.

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

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

Надеюсь, данные результаты будут интересны и полезны многим :)
Total votes 77: ↑69 and ↓8+61
Comments102

Пьеса «Разработка многопользовательской сетевой игры.» Часть 4: Переходим в 3D

Reading time6 min
Views9K
Piccy.info - Free Image Hosting

Часть 1: Архитектура
Часть 2: Протокол
Часть 3: Клиент-серверное взаимодействие

В последнее время работаю с 11 flash на примере движка AWAY3D 4. Информации на русском по этому движку очень мало. На хабре о нем практически ничего нет. Вот решил написать пару статей об этом очень интересном продукте. Писать про простые кружки и кубики не совсем интересно. Не люблю обсуждать сферических коней в вакууме.
В общем решил сделать описание движка на боле менее реальном примере. Переведем нашу игру в топдаун 3D шутер. И продолжим разработку, но уже с применением 3D технологий.
Конечно я в курсе, что есть движок Alternativa3D. Но мне их продукт не нравится по многим причинам. Обсуждать их в статье не будем, если есть вопросы, добро пожаловать в каменты.

В общем будем делать альтернативу альтернативе…

Добро пожаловать в альтернативную реальность...
Total votes 19: ↑18 and ↓1+17
Comments20

Пьеса «Разработка многопользовательской сетевой игры.» Часть 3: Клиент-серверное взаимодействие

Reading time7 min
Views15K


Часть 1: Архитектура
Часть 2: Протокол
Часть 4: Переходим в 3D

С третьей частью я немного задержался. Но как говорится лучше поздно чем никогда…

Итак, продолжаем разговор.

В третьей части нашей постановки мы реализуем протокол, напишем сервер и клиент которые будут взаимодействрвать по сети. И (ОМГ!) танки будут ездить!
Под катом то, что вы давно хотели, но боялись спросить…

Добро пожаловать в зрительный зал.
Total votes 72: ↑68 and ↓4+64
Comments41

Пьеса «Разработка многопользовательской сетевой игры.» Часть 2: Это страшное слово «протокол»

Reading time7 min
Views18K


Часть 1: Архитектура
Часть 3: Клиент-серверное взаимодействие
Часть 4: Переходим в 3D

Итак, продолжим создание многопользовательской игры.
Сегодня мы рассмотрим создание протокола передачи данных.
А также создадим заготовки TCP сервера и соответственно клиента.

Добро пожаловать в зрительный зал.
Total votes 88: ↑77 and ↓11+66
Comments69

Пьеса «Разработка многопользовательской сетевой игры.» Часть 1: Архитектура

Reading time3 min
Views21K
image

Часть 2: Протокол
Часть 3: Клиент-серверное взаимодействие
Часть 4: Переходим в 3D

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

Добро пожаловать в зрительный зал.
Total votes 109: ↑100 and ↓9+91
Comments44

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity