LINUX.ORG.RU

Сообщения Kpoxman

 

Senior developer, СПб

Мы – компания-разработчик игр для мобильных устройств и социальных сетей. Наши продукты используют 1.000.000 пользователей каждый день.

Ищем client-side разработчика уровня senior, который поднимет планку разработки на новый уровень. Кандидат должен иметь широкий кругозор в технологиях и в процессах разработки. Для участия в развитии наших существующих популярных приложений и разработке новых игр.

Первое, чем нужно будет заняться в плане разработки – участие в развитии Android-клиента игры в составе команды нескольких разработчиков. А в перспективе и JS-клиента.

На Android: Java / Kotlin / libgdx / networking.

На JS: TypeScript / PixiJS / WebGL / networking.

Обратите внимание, что мы не ищем “Android-разработчика” или “JS-разработчика”. Считаем, что подобное сужение области ответственности скорее для junior-ов, а мы ищем сильного и универсального члена команды.

Требования:

  • Профильное образование.
  • Опыт 5+ лет в разработке.
  • Широкий кругозор в языках, фреймворках, технологиях.
  • Высокий уровень дизайна кода (KISS, DRY, SOLID,…). Проект большой и сложный. Если с технологиями мы на уровне, то по дизайну кода очень рассчитываем, что новый коллега нас поддержит.
  • Алгоритмы и структуры данных на адекватном уровне.
  • Знание и желание внедрять и применять процессы и практики (TDD, CI, Code Review,…).
  • Большим плюсом будет опыт работы с 2D/3D.
  • Любовь к играм.

Условия

  • Оклад от 200 т.р.
  • Уютный видовой офис в центре, после карантина.
  • Комфортное рабочее место с iMac 27", креслом Herman Miller и столом-трансформером.
  • Маленькая команда с отсутствием волокиты.

Писать можно мне: anton.belyaev@gmail.com. Если есть какие-то вопросы, то можно в треде писать, возможно, ответы на них кого-то еще заинтересуют.

 , , ,

Kpoxman
()

Ищу разработчика в СПб

Привет!

Ищу разработчика для портирования (читай – написания с нуля) клиента под Android для популярной онлайн-игры.

Требования:

  • прокачаный OOD/OOP;
  • алгоритмы и структуры данных на адекватном уровне;
  • 3+ лет коммерческой разработки.

Пожелания:

  • опыт разработки на Android;
  • опыт разработки игр или программирования графики.

От нас:

  • белая и пушистая зарплата;
  • уютный офис около Коменды;
  • рабочее место с iMac 27" (not gay);
  • маленькая стартап-бригада с отсутствием волокиты;
  • коллектив на 50% состоит из девушек.

Связь тут, в топике.

 

Kpoxman
()

Вырубить конкретный IP из результатов DNS-lookup

День добрый,

DNS резолвит заданный домен на несколько разных IP. Один из этих IP не работает, а значит, с некоторой вероятностью, я получаю ошибки при обращении к сервису, который предоставляется на данном домене.

Я знаю «плохой» IP. Можно ли его как-то вырубить на уровне настроек Linux?

Можно это и в на application-level сделать. Но лезть туда не хочется.

Можно просто прописать в hosts «хорошие» IP на данное доменное имя. Но этот метод плох тем, что хозяин сервиса может сменить IP и я не сразу это замечу.

 

Kpoxman
()

Приоритет логических дисков

Есть у нас GNU/Linux-машина, на ней есть диск. Можно ли этот диск представить в виде двух виртуальных дисков, причем так, чтобы приоритет доступа диску одного виртуального диска был выше, чем у другого?

«Зачем тебе это нужно?» - спросите вы в слух, а про себя подумаете: «Грязный извращенец!». Дело в том, что mongodb последовательно и постоянно пишет в журнал и раз в минуту fsync-ает data-файлы, генерируя много random IO. При большой нагрузке (в моем случае 1K tps), fsync забивает запросами диск так, что даже журнал начинает тормозить и все падает. При этом, если смотреть не на две секунды fsync-a, а на производительность в целом, то ее запас велик. Две секунды диск работает на пределе, остальные 58 секунд практически не занят. Хочется, чтобы fsync data-файлов был менее приоритетен, чем запись в журнал.

Kpoxman
()

DVCS + issues service

Добрый день!

Хочется хостинг для тикетов и dvcs, где можно гибко настраивать права. Например, чтобы фрилансер имел доступ к тикетам, но не имел доступа к репозитарию.

Сейчас я использую bitbucket, там это решается довольно коряво: создал два репозитария - в одном код, в другом тикеты. Да и достал уже bitbucket, лежит постоянно, медленно работает.

Git/Mercurial - без разницы. Платный/бесплатный - тоже все равно.

Кто что пользует? Что посоветуете?

Kpoxman
()

UFW блокирует соединения непонятно зачем

Привет!

Для управления iptables использую ufw. Задал на нем ряд стандартных правил:

sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
4949                       ALLOW       Anywhere

Т.е. заблочить все, кроме определенных портов. Однако, в kern.log много таких сообщений:

Feb 15 12:02:04 cs3799 kernel: [31868751.541035] [UFW BLOCK] IN=eth0 OUT= MAC=00:25:90:01:5e:b0:88:e0:f3:b6:47:c0:08:00 SRC=22.136.17.126 DST=18.93.78.68 LEN=40 TOS=0x00 PREC=0x00 TTL=115 ID=64610 DF PROTO=TCP SPT=5000 DPT=80 WINDOW=65535 RES=0x00 ACK FIN URGP=0 

Почему ufw блокирует эти пакеты?

Kpoxman
()

[СПб] ubuntu/python/erlang/as3/postgres/mongo/cassandra

Мы делаем приложения для социальных сетей и мобильных платформ. Уверяю, это отнюдь не уныло, как может показаться иному Вождю Красноглазых =)
Работаем небольшой, дружной командой в атмосфере startup-а.
Есть куча интересных задач, для решения которых нужны джедаи-программисты.

Много интересной работы на клиенте (AS3, iOS, Object-C) и на сервере (Ubuntu, Python, Erlang, Postgresql, Cassandra).

Обязанности:
Cовершенствование существующих и разработка новых приложений. С полным вовлечением, на всех этапах.

Требования:
- strong OOP/OOD;
- знание основных алгоритмов и структур данных;
- желание продуктивно работать и хорошо зарабатывать;
- опыт работы от 2 лет;
- отсутствие опыта Visual Basic и .NET :)

Условия:
- «белая» з/п RUR ~80k;
- современный офис в БЦ «РЕСО», около ст. м. Комендантский Проспект;
- iMac 27".

Kpoxman
()

Виснет консоль на некоторых командах

Добрый вечер,

При заходе по SSH на сервер все работает отлично, кроме некоторых команд. Например простецкое

ps -ef|grep java
вешает консоль. Ctrl-C не помогает. Если открыть другую сессию, то висящая сессия видна в who. Пропадает она оттуда, только если закрыть терминал висящей сессии.

Что это может быть вообще такое? Может ли это быть связано с настройками iptables?

Kpoxman
()

Исходящий PortScan

Привет,

От хостера моего сервера пришло письмо, где меня блеймят в исходящем портскане. Логи прилагают:

UDP  XXX.XXX.XXX.XXX 29944 =>     48.49.50.51 2632
UDP  XXX.XXX.XXX.XXX 12901 =>     36.37.38.39 7661
UDP  XXX.XXX.XXX.XXX 5182  =>     48.49.50.51 4544
UDP  XXX.XXX.XXX.XXX 12901 =>     36.37.38.39 8805
UDP  XXX.XXX.XXX.XXX 42922 =>     52.53.54.55 7249
UDP  XXX.XXX.XXX.XXX 42922 =>     36.37.38.39 6261
UDP  XXX.XXX.XXX.XXX 42922 =>     52.53.54.55 3601

Куча UDP трафика со случайных портов на случайные порты других IP. Все сканируемые IP имеют структуру вида n.n+1.n+2.n+3 - странно, правда?

Посмотрел «sudo lsof -i udp», там только ntpd. Проверил chkrootkit - тоже ничего не обнаружено. На всякий случай сменил пароль.

Что это может быть? Что еще можно посмотреть? Спасибо.

Kpoxman
()

Вопрос по бранчам в Mercurial

Добрый день,

Сделал с помощью команды branch еще одну ветку. Далее разработка идет в обоих ветках.

Иногда хочется новую проапдейтить ветку из основной, чтобы в конце разработки ветки облегчить слияние новой в основную.

Проблема в том, что при этом основная ветка помечается как inactive. В этом ничего страшного, но несколько неприятно.

Как вообще такое принято делать правильно? Я имею в виду обновление из основной ветки в бранч.

Kpoxman
()

possible SYN flooding on port 9999

Добрый день,

/var/log/messages

выдает с периодичностью в несколько минут строку

possible SYN flooding on port 9999

На 9999 висит мой сервер, к которому может коннектится только Nginx (на той же машине запущен). Т.е. никакой атаки точно нету.

Что можно сделать?

Kpoxman
()

Необъяснимые пики IOwait

Добрый день,

На веб-сервере крутится Postgresql, Nginx и приложение на Python. Диск - software raid 1 с двумя физическими дисками.

Периодически происходит какая-то интенсивная запись на диск по 20 мб/сек в течение 5-10 секунд.

Вывод dstat -t -v -s -n: http://kpox.s3.amazonaws.com/iowait.png

Кто выполняет эту запись - непонятно!

Postgresql в это время не делает ничего особенного (ни vacuum, ни analyze).

pidstat -d 1 ничего знаменательного не показывает: в течение этих перидов процессы пишут столько же, сколько и обычно.

sar -d 1 в течение интенсивных периодов показывает загрузку физических дисковых устройств на максимальном уровне (100%). При этом между этими периодами загрузка 0-5%.

Все бы ничего, но иногда эта нагрузка на диск вызывает торможение веб-процессов (транзакции длятся долго).

Помогите разобраться, откуда это берется.

Kpoxman
()

ПисАть в файл из разных процессов

Добрый день,

Я где-то читал, что писать (добавлять) в файл из разных процессов можно, при этом гарантируется атомарность записи. Т.е. содержимое буфера, переданное в write появится в файле полностью, не прерываемое записями из других процессов.

Безопасно ли таким образом писать лог-файл из разных процессов?

Kpoxman
()

Мониторинг линка

Добрый день,

Есть некоторые проблемы на production web-сервере. Никак не найти им объяснение. Есть подозрение, что сетевое соединение сервера бывает на 1-2 минуты просто недоступно из-за глюков аплинка хостера.

Чем бы помониторить соединение? Например, пинг раз в 10 секунд до yandex.ru? Как это лучше сделать?

Kpoxman
()

Хостинг VCS и багтрекера

Решил, что поддерживать репозитарий и багтрекер на своем сервере это ненадежно. Начал юзать bitbucket.org. Имеется в виду, разумеется, приватный проект.

Кто-нибудь юзает нечто подобное? Что можете сказать о bitbucket, либо о других подобных сервисах?

Kpoxman
()

Софт для статистики

Привет,

Есть некая система, в которой пользователи единовременно покупают услуги. Пользователей много, разных услуг много, стоят они по-разному.

Есть ли какая-нибудь софтина, которой можно скормить лог платежей в каком-либо формате и получить возможность анализировать статистику: смотреть по дням, по услугам, по пользователю, усредненные значения и т.д. Разумно все это выводить в виде графиков.

Я что-то даже не могу придумать, какой запрос гуглу сформулировать.

Kpoxman
()

Nginx, выбрать backend в зависимости от аргумента

Добрый день,

Например, есть запрос:

http://somesite.org/profile?user_id=1

И есть 2 бэкэнда: http://backend1.org:8888 http://backend2.org:8889

Как грамотно раскидывать запросы на бэкэнды в зависимости от параметра user_id? Надо что-то сделать с переменной $arg_user_id, но описание синтаксиса конфига Nginx я просто не нашел!

P.S. Раскидывание по IP с помощью директивы backend не подходит. Нужно именно по user_id.

Kpoxman
()

[mdadm] RAID-5 -> RAID-1

Добрый день,

Есть software RAID-5 из 3-х дисков. Хочу переделать в RAID-1.

Примерный план представляю:
1) Удалить один диск из RAID-5.
2) Сделать этот диск RAID-1 (единственным).
3) Скопировать на этот диск информацию из RAID-5 (который еще работоспособен с 2-мя дисками).
4) Удалить массив RAID-5.
5) Освободившиеся диски подцепить к RAID-1.
6) Подождать, пока они «восстановятся».

Из всего этого я не понимаю только, как грамотно сделать #3. Ведь размер тома RAID-1 будет меньше. И абсолютные значения смещений данных в разделе тоже изменятся (не повредит ли это всяким загрузчикам и тд).

Текущая конфигурация такова:

anton@sup:~$ cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] [linear] [multipath]
md2 : active raid5 sdb3[1] sdc3[2] sda3[0]
2917660800 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : active raid1 sdb1[1] sdc1[2] sda1[0]
4200896 blocks [3/3] [UUU]

md1 : active raid1 sdb2[1] sdc2[2] sda2[0]
2104448 blocks [3/3] [UUU]

unused devices: <none>


anton@sup:~$ mount
/dev/md2 on / type ext3 (rw)
proc on /proc type proc (rw)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/dev/md1 on /boot type ext3 (rw)

 

Kpoxman
()

Высокий iowait при отсутствии дисковой активности

Добрый день,

На production сервере среднее значение iowait равно 5. Т.е. практически 0, с учетом того, что шкала циклов процессора имеет максимум, равный 800.

Однако, периодически на графике видны пики iowait.

Однаджы, находясь в консоли, удалось с помощью dstat отловить такой момент. См. скриншот: http://kpox.s3.amazonaws.com/iowait.png

Сначала идет ни с того ни с сего запись по 70 мб в секунду. При этом высокий iowait (такой, что все падает). Далее, несколько секунд вообще никакой дисковой активности, при этом все равно iowait выдающийся.

Диск - software raid 5.

Что это может быть? Куда копать?

Спасибо.

Kpoxman
()

Zope. Жив ли?

Добрый день,

Выбирая фреймворк для очередного проекта, наткнулся на Zope и ZODB.

Сайт Zope выглядит слегка заброшенным. Жив ли Zope? Хорош ли ZODB?

Kpoxman
()

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