Как стать автором
Обновить
4
Олег Цилюрик @Olej read⁠-⁠only

Linux, Linux kernel, программист

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

Викторианская история больших данных

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

В весьма впечатлившей меня книге «Информация. История. Теория. Поток» Джеймса Глика, о которой я уже упоминал ранее, страннейшим образом обойдён вопрос о том, как возник феномен «Big Data». В той же книге упоминается первый авторский словарь английского языка, составленный в начале XVII века неким Кодри, а далее развивается идея о том, что феномен концептуализируется в языке после того, как попадает в словарь – в английской культуре таким словарём является оксфордский.

Тогда я попробовал проверить, когда же в английском и русском языке закрепилось понятие «BigData» и, соответственно, «большие данные». Распространено мнение, что выражение «BigData» впервые было употреблено в 2008 году в статье Клиффорда Линча  «Big data: how do your data grow?», опубликованной в журнале «Nature», но даже это небольшое исследование подсказывает, что всё гораздо сложнее.

Читать далее
Всего голосов 37: ↑33 и ↓4 +29
Комментарии 0

Простые Задачи и Функционально-Блондинистый Подход

Время на прочтение 5 мин
Количество просмотров 25K
sad girl and lambda expression

Пару месяцев назад я взяла на себя обязательство по самопросвещению. Есть в иных конторах такая тема — сотрудника, раз в полгода ревьюят и говорят «давай к следующему ревью ты изучишь Spring, паттерны (какие?) и функциональное программирование!» Идея была бы неплоха если бы цели не ставили так размыто. Пропустим пока спринг и паттерны — на выходных я бросилась в атаку на ФП.

Общие-туманные сведения о ФП у меня конечно были — анонимные классы в Java я писать умею — с похожими способностями Python и JavaScript знакома.

Начну с простых упражнений на Scala — решила я. Выбрала Scala поскольку основной рабочий инструмент у нас Java — ну были еще варианты Clojure, Groovy и Java8 (что-то еще?) — но с ними авось попробую потом.

Поставила себе цели (а правильно ли я ФП поняла?):
  • Решать задачи в функциональном стиле
  • Т.е. по возможности не использовать явных циклов и ветвлений
  • А также избегать мутабельных коллекций и т.п.


Одни упражнения получались легко, другие мягко говоря не очень. Сейчас я попробую вкратце рассказать об этом — упорядочить новые познания. Трудно сказать, может ли эта статья кому-то в будущем помочь или, скорее, кто-то поможет мне самой, указав на ошибки или предложив улучшения.
Читать дальше →
Всего голосов 42: ↑31 и ↓11 +20
Комментарии 35

Простой диспетчер задач с веб-интерфейсом, на GO для Unix-систем, включая Android

Время на прочтение 4 мин
Количество просмотров 31K
Простой диспетчер задач с веб-интерфейсом, написанный на языке GO для Unix-систем включая Android.

Читать дальше →
Всего голосов 55: ↑44 и ↓11 +33
Комментарии 5

Разработка менеджера закачек на GO

Время на прочтение 8 мин
Количество просмотров 30K
Менеджер многопоточных закачек на GO.

http://loafter.github.io/godownloader/
https://github.com/Loafter/godownloader


Вступление


Давным-давно, в году этак 1998, для выхода в интернет я использовал модем на работе у отца. Он его включал вечером после работы и я мог наслаждаться просторами сети интернет на скорости аж 31.2 кбит/c. В то время не было истеричных блогеров, страницы не весили по мегабайту, а в новостных сайтах говорили только правду. Естественно основной интерес представляли ресурсы. Картинки, программы, всякие дополнения к играм, вроде машинок. Как сейчас помню качать через IE было сущим адом. Скачать файл весом больше 500 кб было просто невозможно, древний осел был намного упрямей.
Читать дальше →
Всего голосов 45: ↑42 и ↓3 +39
Комментарии 38

Go, практика асинхронного взаимодействия

Время на прочтение 8 мин
Количество просмотров 34K
Немножко про каналы, про выполнение в основном процессе, про то как вынести блокирующие операции в отдельную горутину.
  • Каналы и пустое значение
  • Односторонние каналы
  • Выполнение в основном треде ОС
  • Вынос блокирующих операций

Читать дальше →
Всего голосов 23: ↑19 и ↓4 +15
Комментарии 32

Встраивание в ядро Linux: перехват системных вызовов

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

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

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

Встраивание в ядро Linux: перехват функций

Время на прочтение 9 мин
Количество просмотров 17K
Перехват функций ядра является базовым методом, позволяющим переопределять/дополнять различные его механизмы. Исходя из того, что ядро Linux почти полностью написано на языке C, за исключением небольших архитектурно-зависимых частей, можно утверждать, что для осуществления встраивания в большинство из компонентов ядра достаточно иметь возможность перехвата соответствующих функций.

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

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

Информация

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