LINUX.ORG.RU

Сообщения matroskin

 

Поиск специальности мечты

Думаю, что тема скорее для talks.
Предисловие - работал когда-то в тех-поддержке, нравился постоянный контакт с людьми, решение проблем здесь и сейчас, не нравилась зарплата.
Стал программистом, нравится зарплата, разрабатывать проекты с нуля, не нравится разгребать огромные проекты которые видишь впервые «за 40 часов» без документации, от чужой команды с которой связи нет, все это в одиночку, не нравится оторванность от людей, за год я одичал.
Вопрос - куда идти и что делать, если нравится работать с людьми, четыре года в тех-поддержке и админстве, есть опыт программирования около двух лет и при всем при этом иметь перспективы? Я действительно не знаю как может называться такая специальность и это не сарказм.

 

matroskin
()

На сколько защищиены от угона сессии tomcat?

Добрый день! Пишу маленькое приложение, нужно идентифицировать каждого пользователя, но без регистрации. Первое, что пришло на ум - использовать Id сессии пользователя. Но меня очень беспокоит вопрос безопасности - насколько сложно и возможно ли увести чужую сессию подменой значения в куках?

 ,

matroskin
()

Выбор 3g/4g модема для дма от производителя

Добрый день!
Какой купить модем от производителя (huavei?), что бы в него воткнуть sim от yota?
Описание проблемы более развернуто - новые sim от yota стоят довольно дешево, траффик на них безлимитный, но раздавать траффик с устройства (телефона), нельзя. Прочитав несколько статей сложилось некоторое понимание того, как обойти эту проблему - несколько модифицировать исходящие пакеты в iptables. Для этого мне необходим usb(?) модем которые я никогда не использовал. Какую модель можете посоветовать?

 , ,

matroskin
()

Maven, не понимаю как сделать тривиальную сборку проекта

Добрый день! Есть проект, поделен на три модуля

parent
  --core
  --processing (psvm Main([])) и core используется в нем как зависимость
Зависимости прописаны в pom-е parent. Сборка происходила в идее и мне хватало, достаточно было install core + package processing, сейчас проект нужно отдать и требуют скрипт сборки, что бы раз - и все готово. Собирается все с помощью assembly плагина, все зависимости упакованы в конечный jar. Если из parent - не видит Main из processing. Вопрос - как мне одной командой все собрать? Использовать другие плагины - не проблема, только в итоге должен получится один jar файл.

 ,

matroskin
()

Зарегистрировать groovy-bean в java-config

Добрый вечер!
Возникла необходимость вынести часть логики spring приложения во внешний скриптовый-файл, выбор пал на groovy. Все очень просто и работает с xml конфигом на ура, но идеализм требует привести к нормальному виду и переписать на java конфиг, пока не понимаю как. Ниже xml конфиг, его я импортирую в java - конфиг.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:lang="http://www.springframework.org/schema/lang"

	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd">

    <lang:groovy id="foo" script-source="${groovyScriptLocation}"/>
</beans>

 , ,

matroskin
()

Spring runtime bean configuration

Добрый день!
Есть БД, я знаю параметры подключения к ней, в этой БД хранятся параметры подключения к другой БД... Каким образом можно сконфигурировать в рантайме новый DataSource, который будет использоваться другими бинами? Даже ключевые слова для поиска будут большой помощью.

 ,

matroskin
()

Дистанционное высшее образование

Добрый день!
В 2010 году я получил диплом колледжа, с тех пор работаю по профессии - сначала в тех поддержке, потом администратором, программистом. При очередной смене работы столкнулся с тем, что очень многие настоятельно требуют диплом о высшем образовании, получил несколько отказов именно из - за этого. С горем пополам устроился java разработчиком с обещанием высшее таки получить.
Ходить в ВУЗ меня совсем не прельщает, даже на сессии появляться там не хотелось бы, образование нужно только для «корочки», т.к. стаж уже достаточный. Заинтересовался дистанционной формой обучения.
У кого есть опыт, какие есть подводные камни, какие ВУЗ стоит рассматривать?
P.S. Золотая мечта - стать менеджером проекта или начальником отдела технической поддержки. Стоит ли рассматривать специальности ориентированные именно на менеджмент или инженерные так же будут котироваться работодателем?

 ,

matroskin
()

Как сегодня хранить пароли пользователь web сервиса в бд?

Добрый день. Какой способ хэширования паролей актуален на сегодняшний день?

  1. MD5/SHA512(password) - совсем не актуально.
  2. MD5/SHA512(randomSalt + password) - хранить соль рядом с хэшем пароля. Если актуально, то какой размер соли должен быть?
  3. PBKDF2(MD5/SHA512, password, randomSalt, iterationCount=4096, len=256) - какой должен быть размер соли, количество итераций и конечная длинна?
  4. Альтернативы?

В безопасности я полный профан, поэтому и прошу помощи и просвещения от сообщества. Сервис написан на java, если это имеет какое либо значение. Спасибо.

matroskin
()

Звуковая карта для прослушивания музыки только в наушниках Sennheiser HD 558.

Добрый день! На работе я провожу не менее восьми часов в день, проводить их хочется с комфортом, слушая музыку. В перспективе у меня есть наушники Sennheiser HD 558. Звук на миллион каналов не нужен, только 2.0, супер-аудиофилией не страдаю, но сам поигрываю на музыкальных инструментах и знаю, что такое хорошо и что такое плохо. Вопрос - какая звуковая карта подходит под бюджет до восьми тысяч рублей и выше озвученные требования.

 

matroskin
()

Как пробиться через HR?

Я сейчас в сложной ситуации - переезд в Питер, поиск работы... Стажа у меня аж 3 года и 11 месяцев. Нет высшего образования.Работал тех-поддержкой/админом. Что то кодил потихоньку, разные web-системы отчетности для ПО (REST). Портфолио нет, все осталось в гитах компаний, где работал, показать - нечего. В силу «вкусов» полюбил JEE, JPA, CDI, JAX-RS (вообще прелесть!), junit и прочее, но занимаюсь не так давно. Как вы искали работу без опыта в конкретной специализации? Как пробиться через HR отдел? Истории успеха приветствуются!

matroskin
()

PBKDF2, java, хранение паролей.

Добрый день! Подходить к хранению паролей нужно с максимальной ответственностью, что я и делаю. В криптографии я не силен, поэтому вопрос задам здесь. Какие параметры использовать для PBKDF2WithHmacSHA512? Длинна соли, количество итераций и конечный размер? Что актуально на сегодняшний день?

 ,

matroskin
()

Django, проблема с пониманием orm.

Добрый день! Не так давно опять сел осваивать Django, столкнулся с orm и немного... Задумался. Есть простенькая модель

from django.conf import settings
from django.db import models


class Message(models.Model):
    message_num = models.IntegerField()
    owner = models.ForeignKey(settings.AUTH_USER_MODEL)
    name = models.CharField(max_length=50)
    creation_time = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return ''.join([
            str(self.id),
            ' ',
            str(self.message_num),
            ' ',
            self.name
        ])


class MessageVersion(models.Model):
    message_id = models.ForeignKey(Message)
    version_num = models.PositiveIntegerField()
    text = models.TextField()
    creation_time = models.DateTimeField(auto_now_add=True)
Хочется извлечь из MessageVersion последние версии для каждого Message. На SQL все решается банально
select res1.*, res2.* from homepage_messageversion res1
    join (
        select message_id_id, max(version_num) as version_num
        from homepage_messageversion
        group by message_id_id
    ) res2
    on (res1.message_id_id = res2.message_id_id)
    and (res1.version_num = res2.version_num);
Но как это превратить в запрос orm? И именно с join, а не where in?

 , , ,

matroskin
()

Бинарник откомпилированный gcc - работает, clang - нет.

Учу C, читаю С.Скиену, компилирую clang-ом (больше нравится вывод в случае ошибок). Дочитал до двоичных деревьев. Ниже код

#include <stdlib.h>
#include <stdio.h>


typedef struct tree{
  int item;
  struct tree *parent;
  struct tree *left;
  struct tree *right;
} tree;


tree *search_tree(tree *l, int x);
void traverse_tree(tree *l);
int insert_tree(tree **l, int x, tree *parent);


int main(int argc, char *argv[]){
  tree *l;
  insert_tree(&l, 0, NULL);
  return 0;
}


tree *search_tree(tree *l, int x){
  if(l == NULL){
    return(NULL);
  }
  if(l->item == x){
    return(l);
  }
  if(x < l->item){
    return(search_tree(l->left, x));
  }
  else{
    return(search_tree(l->right, x));
  }
}


void traverse_tree(tree *l){
  printf("%d\n", l->item);
  traverse_tree(l->left);
  traverse_tree(l->right);
}


int insert_tree(tree **l, int x, tree *parent){
  tree *p;
  printf("step1\n");
  if(*l == NULL){
    printf("step2\n");
    p = malloc(sizeof(tree));
    p->item = x;
    p->left = p->right = NULL;
    p->parent = parent;
    *l = p;
    return 0;
  }
  if(x < (*l)->item){
    printf("step3\n");
    insert_tree(&((*l)->left), x, *l);
  }
  else {
    printf("step4\n");
    insert_tree(&((*l)->right), x, *l);
  }
  return 1;
}
При запуске программы откомпилированной gcc -std=c99 все в порядке, вижу вывод
step1
step2
При запуске программы откомпилированной clang
step1
step4
step1
Ошибка сегментирования (сделан дамп памяти)
И собственно вопрос - почему? Я криворук и не понимаю чего то? На сколько я понимаю, программа написанная правильно и по стандарту должна компилироваться и тем и другим корректно.
Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4)

gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)

 , , ,

matroskin
()

iptables и удаленный сервер

Добрый день! Набросал тут правила iptables, пока требуются только 22 и 80 порт. На локальной машине все работает корректно, но побаиваюсь пока загружать его на удаленный сервер, а то вдруг я криворукий рукожоп и все отвалится. Если есть минута времени - оцените корректность правил.

# Generated by iptables-save v1.4.21 on Tue May 13 13:24:51 2014
*mangle
:PREROUTING ACCEPT [4074:2295745]
:INPUT ACCEPT [4054:2294713]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3042:417394]
:POSTROUTING ACCEPT [3042:417394]
COMMIT
# Completed on Tue May 13 13:24:51 2014
# Generated by iptables-save v1.4.21 on Tue May 13 13:24:51 2014
*nat
:PREROUTING ACCEPT [908:115755]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [764:46845]
:POSTROUTING ACCEPT [764:46845]
COMMIT
# Completed on Tue May 13 13:24:51 2014
# Generated by iptables-save v1.4.21 on Tue May 13 13:24:51 2014
*filter
:INPUT DROP [888:114621]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [3042:417394]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Tue May 13 13:24:51 2014

 

matroskin
()

Оптимальная ФС для Mongo

Весь вопрос в заголовке. Аргументированные мнения приветствуются!

 ,

matroskin
()

Непонимание асинхронности, motor, tornado

Добрый день! Решился поковырять новое для себя - монго и торнадо. Монго используется через motor, на его сайте нашел 2 примера хеллоуворлдов. Первый пример отрабатывает без проблем, второй же - нет. Не выдает ошибок, не пишет ничего в консоль - просто не открывается страница. Свою версию примера выложил сюда. С pyenv пробовал и на python 2.7, и на python 3.3 - результата нет. Бюсь головой об стол весь день.

 , ,

matroskin
()

Drupal, устанавливаю впервые, права доступа к каталогу

Добрый день! Какие нужно дать права доступа на каталог с друпалом? 755 или 775? Застрял на этапе установки. Прежде ни друпал, ни апач не видел.

matroskin
()

Python module CommandNotFound

Добрый день! pyenv, python 3.3.4, django 1.6.2. При попытке создания нового проекта получаю

Traceback (most recent call last):
  File "/usr/lib/command-not-found", line 27, in <module>
    from CommandNotFound.util import crash_guard
ImportError: No module named 'CommandNotFound'
Что это за модуль? Как его установить через pyenv+pip?

 , ,

matroskin
()

Debian, vlan интерфейсы ведут себя очень странно

Добрый вечер. Есть сервер выполняющий функцию маршрутизатора и один физический интерфейс. Таблица маршрутизации заполнена, пакеты ходят нормально между всеми подсетями, iptables ничего нигде не ограничивает.Проблем при загрузке нет, syslog чистый.
Но вот есть интерфейс eth1.201 с адресом 10.0.144.1/22, на пинги отвечает. На сервере tcpdump по этому интерфейсу говорит, что вообще ничего не принимает и не отправляет. Пакетов: 0. Конфиг точно корректный, настроенный по образу и подобию работающих, проверил много раз. Что делать?

 ,

matroskin
()

iptables - ограничить подсеть только доступом в интернет

Добрый день! Есть подсеть 10.0.152.0/22 и ей нужно дать доступ только в интернет, но к подсетям 10.0.128.0/22 и 10.0.132.0/22 доступ запретить. Все это в разных vlan, маршрутизацию выполняет debian сервер.

iptables -N vlan301
iptables -A vlan301 -d 0.0.0.0/0 -j ACCEPT
iptables -A vlan301 -j DROP

iptables -A FORWARD -s 10.0.152.0/22 -j vlan301
Корректно ли я составил правило?
Текущая схема.
И еще один вопрос - в сервере в eth0 я получаю ip 192.168.0.100 от маленького маршрутизатора, который только предоставляет интернет. На eth0 я повесил nat, все компы из сети 10.0.*.*/22 интернет в данный момент получают, но мне не нравится то, что nat получается двойной - на Debian сервере eth0 и на самом маленьком маршрутизаторе. Хочу сделать вот что - на маленьком маршрутизаторе отключить dhcp но оставить nat, дать ему ip 10.0.4.76/22 а на Debian сервере просто добавить статичный маршрут на 0.0.0.0 через этот ip. Таким образом будет только 1 nat и сеть получится однородной. Верно ли я думаю и (хотя бы предположительно) получится ли?

matroskin
()

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