LINUX.ORG.RU

Сообщения Dennis7

 

DevOps инженер. Москва

Форум — Job

Основные требования:

• Очень хорошие знания ОС Linux, общесистемного ПО;
• Понимание принципов CI/CD;
• Опыт использования какой-либо системы сборки (Buildroot, Yocto, OBS);
• Опыт работы с системами виртуализации, контейнерной изоляции;
• Знание языка программирования python;
• Знания Bash;
• Опыт использования системы контроля версий git;
• Знания английского языка, достаточного для чтения технической литературы и документации;

Чем предстоит заниматься:

• Создание инфраструктуры разработки;
• Создание, поддержка и развитие механизмов автоматизированной сборки и поставки дистрибутива (CI/CD);
• Автоматизация процессов разработки, контроля качества, подготовки к выпуску и развертыванию релизов;
• Взаимодействие с командами разработки и тестирования в рамках рабочих процессов и создания релизов.

Будет плюсом:

• Опыт в Open Source проектах.
• Опыт разработки на С/С++, Go, Rust;
• Знания make, Cmake, yaml;
• Опыт системного администрирования Linux серверов;
• Опыт работы с системами управления конфигурацией (Ansible).

Что предлагаем:

• Конкурентоспособная заработная плата в зависимости от квалификации;
• Система бонусов и поощрений по результатам работы;
• Работа в аккредитованной IT-компании;
• Гибкий график работы, возможность работы в формате (гибрид/офис);
• Программу рекомендаций: рекомендуя друзей или бывших коллег, вы получаете возможность работать вместе (и дополнительный денежный бонус).
• Возможность карьерного роста;
• Оформление согласно ТК РФ.

Вилка от 200К. Почта: d.semakin<собакен>a-store.tech

 ,

Dennis7
()

Инженер-программист Linux. Москва

Форум — Job

Основные требования:

• Опыт системной разработки под семейства ОС на базе ядра Linux в пространстве пользователя и в пространстве ядра на языке программирования Си;
• Опыт разработки модулей ядра Linux или приложений на основе DPDK\SPDK;
• Знания архитектуры и внутренних механизмов ОС Linux; 
• Опыт разработки и сопровождения многопоточных, отказоустойчивых, масштабируемых приложений;
• Базовые знания сетей и протоколов передачи данных;
• Базовые знания принципов построения систем хранения (RAID, протоколы доступа, отказоустойчивость, мгновенные снимки, клоны, репликация, компрессия и дедупликация); 
• Знания и опыт работы с одной или несколькими дисковыми подсистемами/файловыми системами (LVM2, ZFS, BTRFS и т. д.);
• Опыт написания высокопроизводительного кода, оптимизации производительности, профилирования;
• Опыт использования системы контроля версий git;
• Знания английского языка, достаточного для чтения технической литературы и документации;

Чем предстоит заниматься:

• Проектирование и разработка составных частей системы хранения данных (СХД)  на различных носителях (HDD, SSD, NVMe SSD) ; 
• Разработка алгоритмов обработки и хранения данных в следующи подсистемах (специализация закрепляется по итогам собеседования, не более 2 специализаций):
• Защиты данных (RAID, слои дисковой абстракции);
• Оптимизации операций ввода-вывода (алгоритмов кеширования операций чтения и записи);
• Отказоустойчивости (кластеризация, балансировка нагрузки, распределение ресурсов и т.д.);
• Оптимизации данных (компрессия, дедупликация с переменным блоком на блочном уровне);
• Доступа (протоколы доступа к данным, разграничение доступа, отказоустойчивое подключение, балансировка потоков);
• Защита данных (мгновенные снимки, клоны, репликация данных);
• Приоритизации и ограничения доступа к данным (QoS);
• Мониторинг состояния и показателей производительности.
• Разработка unit-тестов;
• Документирование результатов разработки;

Будет плюсом:

• Работа с протоколами SAN (iSCSI и Fibre Channel), NAS и NVMe-oF;
• Понимание концепций параллельного программирования, lock-free, wait-free; 
• Опыт работы с различными аппаратными архитектурами (x86, E2K, ARM, RISC-V); 
• Опыт разработки решений с применением сложных математических алгоритмов;
• Понимание принципов работы файловых систем и устройств хранения данных; 
• Опыт работы с RDMA; 
• Опыт работы с SIMD;
• Опыт работы с подсистемами ядра Linux (block, filesystems, network, device drivers); 
• Опыт в Open Source проектах;
• Опыт разработки на С++ (C++11, C++14), bash, python, Go, Rust;
• Опыт и понимание паттернов проектирования. SOLID.

Что предлагаем:

• Конкурентоспособная заработная плата в зависимости от квалификации;
• Система бонусов и поощрений по результатам работы;
• Работа в аккредитованной IT-компании;
• Гибкий график работы, возможность работы в формате (гибрид/офис);
• Возможность принять непосредственное участие как в проектировании, так и в разработке нового продукта. Отсутствие какого-либо legacy (исторически унаследованного) кода;
• Программу рекомендаций: рекомендуя друзей или бывших коллег, вы получаете возможность работать вместе (и дополнительный денежный бонус);
• Возможность карьерного роста;
• Оформление согласно ТК РФ.

Вилка от 250К на руки. Почта: d.semakin<собакен>a-store.tech

 ,

Dennis7
()

Старший инженер-программист Linux. Москва

Форум — Job

Основные требования:

• Опыт системной разработки под семейства ОС на базе ядра Linux в пространстве пользователя и  в пространстве ядра на языке программирования Си;
• Опыт разработки модулей ядра Linux или приложений на основе DPDK\SPDK;
• Глубокие знания архитектуры и внутренних механизмов ОС Linux; 
• Опыт проектирования, разработки и сопровождения многопоточных, отказоустойчивых, масштабируемых информационных систем;
• Базовые знания сетей и протоколов передачи данных;
• Базовые знания принципов построения систем хранения (RAID, протоколы доступа, отказоустойчивость, мгновенные снимки, клоны, репликация, компрессия и дедупликация); 
• Знания и опыт работы с одной или несколькими дисковыми подсистемами/файловыми системами (LVM2, ZFS, BTRFS и т.д.)	
• Опыт написания высокопроизводительного кода, оптимизации производительности, профилирования;
• Опыт использования системы контроля версий git;
• Знания английского языка, достаточного для чтения технической литературы и документации;

Чем предстоит заниматься:

• Проектирование и разработка составных частей системы хранения данных (СХД)  на различных носителях (HDD, SSD, NVMe SSD) ; 
• Разработка алгоритмов обработки и хранения данных в следующи подсистемах (специализация закрепляется по итогам собеседования, не более 2 специализаций):
• Защиты данных (RAID, слои дисковой абстракции);
• Оптимизации операций ввода-вывода (алгоритмов кеширования операций чтения и записи);
• Отказоустойчивости (кластеризация, балансировка нагрузки, распределение ресурсов и т.д.);
• Оптимизации данных (компрессия, дедупликация с переменным блоком на блочном уровне);
• Доступа (протоколы доступа к данным, разграничение доступа, отказоустойчивое подключение, балансировка потоков);
• Защита данных (мгновенные снимки, клоны, репликация данных);
• Приоритизации и ограничения доступа к данным (QoS);
• Мониторинг состояния и показателей производительности.
• Разработка unit-тестов и участие в code-review для обеспечения качества и надежности кода;
• Документирование результатов разработки;
• Техническим лидерством, наставничеством для младших разработчиков;

Будет плюсом:

• Работа с протоколами SAN (iSCSI и Fibre Channel), NAS и NVMe-oF;
• Понимание концепций параллельного программирования, lock-free, wait-free; 
• Опыт работы с различными аппаратными архитектурами (x86, E2K, ARM, RISC-V); 
• Опыт разработки решений с применением сложных математических алгоритмов;
• Понимание принципов работы файловых систем и устройств хранения данных; 
• Опыт работы с RDMA; 
• Опыт работы с SIMD;
• Опыт работы с подсистемами ядра Linux (block, filesystems, network, device drivers); 
• Опыт в Open Source проектах.
• Опыт разработки на С++ (C++11, C++14), bash, python, Go, Rust;
• Опыт и понимание паттернов проектирования. SOLID.

Что предлагаем:

• Конкурентоспособная заработная плата в зависимости от квалификации;
• Система бонусов и поощрений по результатам работы;
• Работа в аккредитованной IT-компании;
• Гибкий график работы, возможность работы в формате (гибрид/офис);
• Возможность принять непосредственное участие как в проектировании, так и в разработке нового продукта. Отсутствие какого-либо legacy (исторически унаследованного) кода;
• Программу рекомендаций: рекомендуя друзей или бывших коллег, вы получаете возможность работать вместе (и дополнительный денежный бонус);
• Возможность карьерного роста;
• Оформление согласно ТК РФ.

Вилка от 300К на руки. Почта: d.semakin<собакен>a-store.tech

 ,

Dennis7
()

openvpn + gost. Как сейчас с этим дела? Есть бесплатное решение?

Форум — Admin

Всем привет!

Может кто-нибудь подсказать как сейчас обстоят дела с интеграцией шифрования по отечественному ГОСТ в openvpn? Нашел, что несколько лет назад на лоре такая тема уже была, но чем закончилось дело - так и осталось неизвестно.

Сейчас актуальная версия openvpn вроде как 2.4, где-то нашел патч для версии 2.1, откатился, наложил, кое-как собрал (с забиванием костылей и шаманством над кодом), но не работает.

Конфиг сервера:

#dev tun
dev tap
#engine cryptocom
engine gost
auth gost-mac
cipher gost89
tls-cipher GOST2001-GOST89-GOST89
#comp-lzo yes

ca sample-keys/ca.crt
cert sample-keys/server.crt
key sample-keys/server.key

server 10.0.0.0 255.255.255.0
keepalive 10 120
proto tcp
socket-flags TCP_NODELAY

persist-key
persist-tun

dh sample-keys/dh2048.pem
Выхлоп сервера при подключении:
openvpn --config /etc/openvpn/ovpn-srv
Wed Jul 19 11:26:37 2017 OpenVPN 2.3.13 armv7l-unknown-linux-gnueabi [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Apr 28 2017
Wed Jul 19 11:26:37 2017 library versions: OpenSSL 1.0.2h-fips  3 May 2016, LZO 2.09
Wed Jul 19 11:26:37 2017 Initializing OpenSSL support for engine 'gost'
Wed Jul 19 11:26:37 2017 WARNING: file 'sample-keys/server.key' is group or others accessible
Wed Jul 19 11:26:37 2017 No valid translation found for TLS cipher 'GOST2001-GOST89-GOST89'
Wed Jul 19 11:26:37 2017 TUN/TAP device tap0 opened
Wed Jul 19 11:26:37 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Jul 19 11:26:37 2017 /sbin/ip link set dev tap0 up mtu 1500
Wed Jul 19 11:26:37 2017 /sbin/ip addr add dev tap0 10.0.0.1/24 broadcast 10.0.0.255
Wed Jul 19 11:26:37 2017 Listening for incoming TCP connection on [undef]
Wed Jul 19 11:26:37 2017 TCPv4_SERVER link local (bound): [undef]
Wed Jul 19 11:26:37 2017 TCPv4_SERVER link remote: [undef]
Wed Jul 19 11:26:37 2017 Initialization Sequence Completed
Wed Jul 19 11:26:42 2017 TCP connection established with [AF_INET]10.0.0.1:42237
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 OpenSSL: error:1408A0C1:SSL routines:ssl3_get_client_hello:no shared cipher
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 TLS_ERROR: BIO read tls_read_plaintext error
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 TLS Error: TLS object -> incoming plaintext read error
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 TLS Error: TLS handshake failed
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 Fatal TLS error (check_tls_errors_co), restarting
Конфиг клиента:
#dev tun
dev tap
#engine cryptocom
engine gost
auth gost-mac
cipher gost89
tls-cipher GOST2001-GOST89-GOST89
#comp-lzo yes

ca sample-keys/ca.crt
cert sample-keys/client.crt
key sample-keys/client.key

client
remote 10.0.0.1
keepalive 10 120
proto tcp
socket-flags TCP_NODELAY

persist-key
persist-tun
Выхлоп клиента:
openvpn --config /etc/openvpn/ovpn-cli 
Wed Jul 19 11:26:42 2017 OpenVPN 2.3.13 armv7l-unknown-linux-gnueabi [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Apr 28 2017
Wed Jul 19 11:26:42 2017 library versions: OpenSSL 1.0.2h-fips  3 May 2016, LZO 2.09
Wed Jul 19 11:26:42 2017 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Wed Jul 19 11:26:42 2017 Initializing OpenSSL support for engine 'gost'
Wed Jul 19 11:26:42 2017 WARNING: file 'sample-keys/client.key' is group or others accessible
Wed Jul 19 11:26:42 2017 No valid translation found for TLS cipher 'GOST2001-GOST89-GOST89'
Wed Jul 19 11:26:42 2017 Attempting to establish TCP connection with [AF_INET]10.0.0.1:1194 [nonblock]
Wed Jul 19 11:26:42 2017 TCP connection established with [AF_INET]10.0.0.1:1194
Wed Jul 19 11:26:42 2017 TCPv4_CLIENT link local: [undef]
Wed Jul 19 11:26:42 2017 TCPv4_CLIENT link remote: [AF_INET]10.0.0.1:1194
Wed Jul 19 11:26:42 2017 Connection reset, restarting [0]
Все ссылки, которые можно найти в гугле читал.

 ,

Dennis7
()

poll после send

Форум — Development

Всем привет. Ткните носом, хочу разобраться. Есть маленький клиент на си, соединяющийся по локальному сокету с сервером. Хочется, чтобы клиент дожидался ответа от сервера, что данные получены или отваливался по таймауту. Набросал небольшой код:

int poll_ret;
struct pollfd fds;
 
    if (send(s, send_data, sizeof(send_data->level)
       sizeof(send_data->cmd_id), 0) < 0) {
         fprintf(stderr, "Cannot send to %s: %s.\n",LOCAL_SOCK,
                                             strerror(errno));
                          close(s);
                          return FAILED;
    }

    fds.fd = s;
    fds.events |= POLLIN;
    poll_ret = poll(&fds, 1, 5000);
 
    fprintf(stderr, "poll_ret = %d\n", poll_ret);
 
    if (poll_ret < 0) {
          perror("poll");
    } else if (poll_ret == 0) {
          fprintf(stderr, "End of data\n");
    } else {
         ret = read(fds.fd, buf, 100);
         fprintf(stderr, "Data: %s\n", buf);
    }
почти всегда poll возвращает 1 и сразу же все идет дальше, а нужно чтобы ждал данные, пару раз было что работает как задумывалось, т.е. отваливался по таймауту. Может кто подскажет как лучше сделать? Сокет неблокирующий, сервер делаю так: sudo nc -l -U /run/lock.sock

 ,

Dennis7
()

DES. Есть хэш. Узнать пароль.

Форум — Security

Сабж. В инете нашел один сервис, но он платный. Нет времени заморачиваться с программированием.

 

Dennis7
()

Development'у один фиг не хватает ядра

Форум — Linux-org-ru

Я не разработчик ядра, но, блин, я знаю много людей, которые бы поддержали эту ветку, по разработке.

 

Dennis7
()

Где в стандарте си прочитать про выражения типа ...

Форум — Development
({ какой-то код на си })

Интересует именно последовательность из круглой и фигурной скобок.

 ,

Dennis7
()

планшет Huawei MediaPad T1 8.0, не работает 3g (Android 4.3)

Форум — Mobile

Всем привет! В один прекрасный день на планшете отвалился 3g. Wi-Fi работает, а 3g нет. Я перепробовал все настройки, какие только нашел, но лучше не стало. С этим девайсом такое уже было, но тогда в сервисном центре его перепрошили, и все заработало.

Я тоже перепрошил (прошивку взял с официального сайта), но опять таки не заработало. Может кто-нибудь подскажет что можно еще попробовать? Может быть стоит попробовать перепрошить 3g модем (если такое вообще возможно, я не большой спец)? В сервисный центр ехать не очень близко и неохота.

Спасибо.

 ,

Dennis7
()

С чего начать изучение Objective-C

Форум — Development

Сабж.

Тему «Посоветуйте книги по X, с чего начать изучать Y» читал, в Wiki ответов не нашел. Умею С/С++, с ООП знаком. В Obj-C ни в зуб ногой, не умею даже hello_world, вообще новый для меня язык. С чего начать изучение?

Спасибо.

 

Dennis7
()

Что почитать про менеджмент в IT (программирование, разработка)

Форум — Development

Всем привет!

Проще говоря, интересуют книги про то, как эффективно руководить коллективом из 5-10 человек в IT сфере (программирование, разработка). Может кто знает? Можно на английском.

Dennis7
()

разве это правильно

Форум — Development

Всем привет. Сегодня увидел в коде программы

char CompressStr(char s[256])
... 
some code
...
и офигел... прогу писал математик. Блин,зачем же так передавать параметры в функцию. неужто он не знает указателей? (я объяснял что это переменная, содержащая адрес другой переменной, а еще бывает указатель на указатель, тут его реально «замкнуло...») кто-нибудь может скомпилить это код (с флагами -О0 если можно) и выложить ассемблерные инструкции сюда, интересно посмотреть.

Ни линукса, ни компилятора под рукой нет, а посмотреть интересно. )))

А что реально, так можно писать на Си? Или это плюсовики так могут?

 

Dennis7
()

Книга про битовые операции

Форум — Development

Всем привет!

Давно когда-то читал книжку на русском языке о программировании. В ней первая глава была посвящена битовым операциям и трюкам с ними (типа установить/сбросить n-ый бит, сосчитать кол-во битов == 1 в слове, установлен ли первый бит в 1 и т.д.). Может кто-нибудь вспомнит название и автора. Или какую-нибудь толковую книжку посоветует по теме, можно и на английском.

Заранее спасибо.

 битовый операции, ,

Dennis7
()

Вероятности тред...

Форум — Development

Всем привет! Пишу в General, потомучто не знаю в какой конкретно раздел поместить сей вопрос.

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

Спасибо...

P.S.: Линукс здесь при том, что пишу я программу для него )))

Перемещено tazhate из general

 

Dennis7
()

rpmbuild: error: No file attributes configured

Форум — Development

Всем привет!

Так получилось, что волею судеб мне пришлось удалить rpm и все связанные с ним файлы с компа. Теперь надо бы восстановить. Делал

sudo apt-get install rpm
Файлы rpmrc и macros скопировал с другого компа, похожей конфигурации. Но все равно rpmbuild «не видит» макрос %defattr(-,root,root,-) в spec-файле. Ранее по этим spec-файлам все собиралось ОК.

OS: Ubuntu 12.04

rpm: 4.9.1.1

Я далеко на гуру в rpm. Гугл пока никак не помогает... Куда копать?...

 , ,

Dennis7
()

systemd, dbus, не вброс...

Форум — Development

Всем привет. Эксперементирую с systemd на виртуалке.

Собрал, запустил, но dbus ругается, что нет такого адреса на шине (выхлоп будет потом, я еще «поколдую»).

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

Леннарт Поттеринг вежливо отмалчивается пока....

 ,

Dennis7
()

Где (в каком файле) android хранит ip-адрес?

Форум — Mobile

Сабж.

Dennis7
()

Почему макросы major, minor возвращают странные значения?

Форум — Development

Есть код:

$ cat t.c
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

int main()
{
        struct stat st;
        const char *s = "/dev/input/event0";
#ifdef _BSD_SOURCE
        printf("_BSD_SOURCE is defined.\n");
#else
        printf("_BSD_SOURCE is NOT defined.\n");
#endif
        if (stat(s, &st) == 0) {
                printf("ID: %lld\n", st.st_dev);
                printf("%s: char dev=%s, major=%u, minor=%u\n",
                   s, S_ISCHR(st.st_mode) ? "yes" : "no", major(st.st_dev), minor(st.st_dev));
        } else
                printf("Err: \n");
        return 0;
}
Компилирую:
$ gcc -Wall -ggdb -O2 t.c -o t
Запускаю:
$ ./t 
_BSD_SOURCE is defined.
ID: 5
/dev/input/event0: char dev=yes, major=0, minor=5
А в консоли:
$ ls -la /dev/input/event0
crw------- 1 root root 13, 64 Jun 15 08:49 /dev/input/event0
Почему major, minor в программе возвращают странные значения?
$ uname -r
2.6.32-5-686
$ gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.4.5 (Debian 4.4.5-8)

Dennis7
()

Доступ к памяти на чтение

Форум — Development

Всем привет, и доброй ночи | дня | утра | вечера. Хочу понять... например, есть библиотека, в ней есть функция с прототипом:

read_data(void *data, size_t len);

Понятно, что data - указатель на данные, len - размер этих данных. Эта функция из библиотеки возможно будет вызываться из многих программ, и существует вероятность того, что len будет валидным, а вот data... data может быть указателем на память после mmap или ioctl+copy_to_user...

Проверка того, что data == NULL необходима или достаточна?

Как проверить, что память, на которую указывает data доступна для чтения в размере len? Говорят, что в оффтопике есть функция IsBadPtr, которая как раз и применяется для этого вопроса.

Dennis7
()

Видимо прописка - это главное

Форум — Talks

Искал (ищу) работу... В Job не надо перемещать, плиз, пост не об этом...

Есть куча предложений, но все работодатели хотят, чтобы у меня была прописка в..., как тут говорят, default city... Хотя, я жил там, успешно работал, но сейчас перешел на «удаленку», но сейчас вновь подыскиваю себе работу... Живу в дальнем подмосковье. Отчего работодатели «воротят» нос от моей прописки? Как будто в Ховрино добраться из, например, Выхино занимает менее часа?

Dennis7
()

RSS подписка на новые темы