Как стать автором
Обновить
0
0
Кириченко Сергей @kirichenko

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

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

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

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

Введение


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

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

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



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

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

Время на прочтение16 мин
Количество просмотров46K
В предыдущей части мы показали, что в клеточном автомате могут возникать волны, имеющие специфический внутренний узор. Такие волны могут запускаться из любого места клеточного автомата и распространяться по всему пространству клеток автомата, перенося информацию. Соблазнительно предположить, что реальный мозг может использовать схожие принципы. Чтобы понять возможность аналогии, немного разберемся с тем, как работают нейроны реального мозга.
Читать дальше →
Всего голосов 48: ↑47 и ↓1+46
Комментарии53

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

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

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

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

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

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

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

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

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

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


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

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

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

Время на прочтение4 мин
Количество просмотров6.3K
Мельбурн — один из крупнейших городов мира, участвующих в программе Smarter Cities Challenge



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

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

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

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


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

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

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

Фото: A.V. Photography

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

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

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

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

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

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

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

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

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

Фото: A.V. Photography

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии21

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

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

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

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

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

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

Надеюсь, данные результаты будут интересны и полезны многим :)
Всего голосов 77: ↑69 и ↓8+61
Комментарии102

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

Время на прочтение6 мин
Количество просмотров9K
Piccy.info - Free Image Hosting

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

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

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

Добро пожаловать в альтернативную реальность...
Всего голосов 19: ↑18 и ↓1+17
Комментарии20

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

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


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

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

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

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

Добро пожаловать в зрительный зал.
Всего голосов 72: ↑68 и ↓4+64
Комментарии41

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

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


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

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

Добро пожаловать в зрительный зал.
Всего голосов 88: ↑77 и ↓11+66
Комментарии69

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

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

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

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

Добро пожаловать в зрительный зал.
Всего голосов 109: ↑100 и ↓9+91
Комментарии44

Информация

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