Задать вопрос
  • Как ограничить доступ пользователя его домашней директорией?

    Adamos
    @Adamos
    Возможно, вам и не нужно ограничивать пользователя его директорией.
    Но нужно обеспечить, чтобы разные пользователи не имели прав на просмотр директорий друг друга.
    Это делается просто правами.
    Ответ написан
    Комментировать
  • Как ограничить доступ пользователя его домашней директорией?

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    В зависимости от требуемого уровня изоляции используются rbash, chmod, chroot в порядке возрастания.
    Ответ написан
    Комментировать
  • Что умеет настоящий senior/lead developer кроме знания какого-то языка и его фреймворков?

    Что умеет настоящий senior/lead developer кроме знания какого-то языка и его фреймворков?
    Что бы вы ни изучали, вы выйдете из вуза джуниором. Сеньорами становятся не выучив синтаксис 10 языков программирования, а сделав 10 крупных проектов. Как и на чём они сделаны не так важно, главное - это те уроки, которые разработчик с них вынес.

    Чему стоит научиться за первые курсы для того чтобы повысить свою "цену" как разработчика в будущем?
    Исходя из написанного выше: изучите "какой-то язык и его фреймворки" на высоком уровне, чтобы сразу при устройстве на работу начать приносить пользу и получать опыт реализации проектов, а не борьбы с компилятором java. Изучите свою IDE, используйте её эффективно. Ну и посматривайте в смежные области, чтобы расширять кругозор: графический дизайн, UX, другие парадигмы программирования.
    Ответ написан
    Комментировать
  • Java junior developer кратчайший путь с нуля до реальной работы?

    @Mikeismynick Автор вопроса
    2 месяца как работаю разработчиком ))) желаю всем дойти до своей цели, на любые вопросы с радостью отвечу.

    Перед прочтением поста прошу достать свой компас сейчас мы будем его настраивать или же решим что он все таки показывает в отличную от программирования сторону, дело в том что люди которые читают подобные статьи находятся в смятении, и прочитав очередную саксес стори пытаются замотивировать себя идти в этом направлении, это все понятно - я писал этот пост именно для вас, выше вы найдете предисторию чтобы все это “примерить на себя”, чего таить и я в свое время делал точно также, причем я больше мотивировал себя чем шел к цели.
    Будучи разработчиком сейчас я вполне отдаю себе отчет что мог им и не стать, да у меня была цель, да были мотиваторы, но реально почти до самого конца я вел себя так как будто не хотел этого - чуть что давал слабину, расслаблялся и чуть-ли не забрасывал все это дело, года 2 я просто думал что выучу все сам и по факту вообще ничего не делал, уже будучи на курсах я держался в хвосте из - за чего постоянно был в авральном режим и чуть догонял костяк как тут-же сбавлял темп и отставал, вообще процесс обучения этому занятию переодически очень сильно вымораживает и тот самый фильтр который многие не проходят, я могу посоветовать тебе читатель иметь свою философию и подход к этому занятию, в итоге у тебя все равно все “поднимется” и “победится", советую читать и перечитывать tutorials.jenkov.com/software-as-career/learning-i... с правильным мировозрением все это преодолевается намного легче.
    Внимание! Если вы хотите стать разработчиком, то уже сегодня примените весь ресурс что у вас есть. Хотите попробовать сами выучить все ? Вперед! но общайтесь активно с комьюнити, ходите на конференции, и пишите код, много кода, и главное пишите его правильно, посмотрите как устроены небольшие опенсорс проекты, почитайте про трехслоную архитектуру и дерзайте! Не получается ? или вы видите что темп черепаший, а уже начинает надоедать и руки опускаются ? ОК! все к этому приходят, вам нужен турбоБуст а это ментор или курсы.

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

    Ну если, вы и дальше ищите статьи и варианты выучить джаву за 21 день то просто перестаньте тратить свое время, это не ваше, увы и АХ!

    Как это было - много писать не буду (а получилось в итоге много И ДАЖЕ ОЧЕНЬ), могу посоветовать статьи Стаса Лазенко на dou.com, там расписан путь (на ближайший 1 - 1.5 года), не нужно учить все что там есть от корки до корки, но в конце у вас должно быть свое приложение в моем случае это https://bitbucket.org/Mikeismynick/phonebook, там написаны инструменты которыми я пользовался, все что там перечислено это технологии которые активно используются в современной веб разработке, если и не придется работать с ними в итоге то знать о них и пощупать надо, и да там не весь список технолгий которые нужно изучать, вот то что я указывал в резюме,

    Классические алгоритмы и структуры данных Java SE 7 ООП IO Collections Multithreading Concurrency Utilities JDBC JPA Hibernate(ниже написал что именно) Servlet JSP Spring Framework (IoC Container, JDBC, ORM, MVC) JavaScript jQuery Ajax JSON Twitter Bootstrap XML (DOM, SAX, StAX) JUnit Mockito IntelliJIDEA Git/Bitbucket Maven Tomcat MySQL

    по хибернейту - нужно уметь поставить на проект, знать где конф файлы и как их настраивать, список аннотаций которые должны быть в проекте изложен в первый 7 - 8 главах референса, на проекте должны быть таблицы находящиеся в отношениях manyToOne oneToOne, manyToMany соответственно хибер должен все это покрывать, неплохо поработать через jdbc для начала чтобы понять а зачем вообще нужен хибер.

    Приложение писалось 2 месяца (и не чисто писалось а с пробой технологий и перепиской на более современные с целью глубже понять как это современное работает под копотом и зачем оно в общем то нужно если и без него тоже можно написать рабочий вариант). Сразу скажу если хотите доучиться используйте весь доступный вам ресурс, не пускайте все на самотек со словами вот ща немного посижу и потом немного, вы просто потратите время, наймите ментора или идите на курсы в группу, самостоятельно учится конечно можно, но почти наверняка вы перегорите т.к. темп будет черепаший и вам будет казатся что вы этим плотно занимаетесь, а смысл в том что плотно это когда тебе снится java )) ( но вы в общем то и будете 90% времени учится самостоятельно даже на курсах и у ментора, т.к. программирование иначе никак не выучить).

    Без ментора очень тяжело, оглядываясь могу сказать что выучить нужно много и желание учится часто будет пропадать тк. цель будет маячить где то там далеко, а процесс разработки переодически просто вымораживает особенно когда ты ищешь багу 6 часов а окозалось что просто где то по не внимательности пропустил самую тривиалную вещь.

    Я лично учился в группе getJavaJob (собственно мне это здесь и посоветовали, поклон ребят !!), чистыми учился около 6-7 месяцев, работал очень плотно, 3-4 часа в день минимум, конечно не всегда так получалось но и в выхи и в праздники я тоже учился так что назвал средние цифры. ну и у всех голова и бэкграйнд разный, считаю что быстро схватывал, но отсутствие бэкграунда и посредственный англ очень тормозили меня. На курсы пришел прочитав 150 стр. из "полного руководства" Шилдта.

    Что до конкретных курсов то очень рекомендую попробовать, курс поделен на 2 части, первая длится 2 месяца и там учат java se (алгоритмы, структуры данных) паралельно прививают правильный стиль программирования и учат работать с инструментами разработки (idea, git, debugger). Ну и организатор курсов суров, если начинаешь тупить и отставать то он быстро тебя подрежет и ты престыженный будешь дальше пилить, пилить ))

    Конечно не все так радужно реально я учился больше года т.к. выпадал из учебы, и депрессовал и плакал и богу молился чтобы он дал мне сил, хотя сам не верующий. Но в итоге преодолел и стал сильнее )) а гланое огонь в глаза и желание расти. Всем удачи ! )))

    Кстати в slack сидит русскоязычное комьюнити канал называется 3monthjunior, заточенное как понятно из названия на подъем до джуна и трудоустройство ))) чуть не забыл, мега важно иметь людей которые буду подсказывать и толкать вперед
    Ответ написан
    3 комментария
  • Как правильно делать deploy с помощью docker registry?

    Tyranron
    @Tyranron
    Официальную документацию надо все же читать, проявив усидчивость. Тогда не будет путаницы в базовых понятиях, из-за которой возникает каша в голове.

    Давайте разберемся с инструментами и их предназначением, которые Вы используете:
    • Комманда docker - это консольный интерфейс (CLI) для работы с Docker
    • docker build создает по заданному Dockerfile образ контейнера
    • docker tag присваивает указанному образу указанный тег (опция -t для build делает то же самое)
    • docker pull скачивает указанный образ из удаленного регистра на текущую машину
    • docker push заливает указанный образ в удаленный регистр
    • docker run запускает новый контейнер из указанного образа
    • docker ps выводит список текущих "бегущих" контейнеров

    Команда docker не жонглирует файлами, она жонглирует образами и контейнерами, а они от нас абстрагированы Docker'ом, как что-то эфемерное. То есть выполняя комманду docker pull Вы не скачиваете образ в ту папку, где выполняете команду, и уж точно не скачиваете какие-либо файлы. Все что Вы делаете этой командой - это скачиваете образ в локальное хранилище Docker'а, дабы Docker daemon мог запустить контейнер на основании этого образа.

    Команда docker-compose - это уже совсем другая команда. Все что она делает - это читает указанный YAML-манифест и выполняет соответствующие команды Docker. Это всего лишь позволяет декларативно указывать желаемые сценарии при работе с Docker в удобном формате. Но ни команда docker, ни docker-compose, не предоставляют ничего для того, чтобы транспортировать/обновлять версии Ваших манифестов где-то там. Docker, опять таки, жонглирует образами и контейнерами, не более.

    У Вас в манифесте указана директива build:. Таким образом docker-compose пытается сначала собрать контейнер, вместо того, чтобы просто запустить его из образа.

    Касательно совета docker-compose.yml под каждый env, все правильно советовали. Именно так это и задумывалось. Вы в манифесте указываете отнюдь не разные окружения (development, production), а набор контейнеров, которые должны бежать в одной связке одной логической единицей (концепция POD'ов). Ничего не запрещает делать и так, как сделали Вы, но это сродни использованию дуршлага в роли миски для еды: сегодня Вы нормально из него наворачиваете пельмени, а завтра супчик в нем уже куда-то не туда утекает.

    Воркфлоу в Вашем случае можно организовать следующим образом:
    1. На dev-машине у Вас один docker-compose.yml, согласно которому контейнер перед запуском собирается из сорцов.
    2. Когда у Вас готова новая версия приложения, Вы его собираете через docker build, присваиваете ему номер версии через docker tag и отправляете в удаленный регистр образов через docker push.
    3. На prod-машине у Вас отдельный docker-compose.ymlв котором указано запускать конкретную версию образа (и никаких build). Новая версия приложения - меняем тег образа в манифесте и перезапускаем контейнеры. При выполнении docker-compose образ автоматически скачается перед запуском, если его нет локально. Если же Вы обновили образ конкретной версии, которая уже была скачана ранее, то да, нужно выполнить docker pull перед стартом, дабы скачать новый образ.


    Дополнительный совет:
    Сборку образа и его заливку в удаленный регистр часто удобно автоматизировать с помощь Makefile'ов.
    Ответ написан
    3 комментария
  • Как добавить метод (расширить класс) для объекта нативного класса в Ruby?

    shurik_sh
    @shurik_sh
    Начинающий программист
    Добрый день.
    Не нужно в классе Hash делать такой метод, т.к. любой хэш это валидный json
    Пример:
    a = {'a'=>'n'}
    a.to_json #=> Валидная строка в формате json

    Можно, но я не рекомендую добавлять методы в руби классы, создайте лучше свой и работайте с ним, можете свой класс унаследовать от Hash и делать с ним что хотите
    class MyHash < Hash
    
      def foo_value?
        has_value? 'foo'
      end
    
    end
    
    a = MyHash.new
    a[:a] = 'foo'
    b = MyHash.new
    b[:a] = 'baz'
    p a.foo_value?
    p b.foo_value?

    Просто работать с кодом где много изменений в стандартных классах не удобно.
    Ответ написан
  • Что делать если Rails проекту не хватает места на сервере?

    sim3x
    @sim3x
    Настрой logrotate - логи в 'гзипе -9' за год весят пару Мб
    Ответ написан
    Комментировать
  • Как отследить приложение/службу которое перегружает HDD в CentOS?

    atop в режиме логгирования на сутки
    потом просматривать по времени из мониторинга
    Ответ написан
    2 комментария
  • В чем разница между & и &&?

    @vilgeforce
    Раздолбай и программист
    & - битовая операция и работает с целыми, а не с bool как вы решили.
    && - операция логическая и работает с bool.
    Аналогично с | и ||. Дальше - гугл по словам "%LANGNAME% operators"
    Ответ написан
    Комментировать
  • Как оживить на домашнем компьютере снимок сервера?

    @Fixid Куратор тега Linux
    Если файл .raw то с большой вероятность это qemu формат. Ставьте KVM/qemu гипервизор и разворачивайте файл и работайте
    Ответ написан
    2 комментария
  • Донесение информации до подчиненных. Какой агрегатор информации посоветуете?

    foxmuldercp
    @foxmuldercp
    Системный администратор, программист, фотограф
    А можно и правильнее всего всех перевести на электронную почту
    Ответ написан
    1 комментарий
  • Донесение информации до подчиненных. Какой агрегатор информации посоветуете?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Уберите всю лишнюю фигню и оставьте важную информацию.
    Создайте для важной информации отдельный канал, засуньте туда всех сотрудников. Постите апдейты. Точка.
    Ответ написан
    2 комментария
  • Как развиваться начинающему web-разработчику?

    @toZavtra
    Принимаю заказы, пишите vasya@incream.org
    Послушай человека, у которого 4 года опыта управления веб-студией.

    Тебе нужно в первую очередь понять, где ты хочешь работать и только потом уже думать о технологиях и их прокачке. Когда ты узнаешь, где ты хочешь работать, над какими проектами, то узнаешь и какие технологии там используются. Потом устраивайся туда junior'ом и так вырастешь быстрее всего.
    Заодно, посмотришь, надо ли тебе оно и может тебе идти в другую область с другими технологиями.

    Помимо программистских советов есть еще чисто практичные и зачастую они решают, например, ты любишь делать законченный продукт или ковыряться в старом коде? Все эти басни и бредни про фреймворки, пойми, эти люди, которые до тебя писали код на твоей будущей работе, мозгами намного хуже тех же программистов, которые создали тот же Wordpress, зато они позволяют себе хаять его. Так вот ты придешь и будешь за таким человеком искать ЕГО баги 4-х летней давности. А представь, что баги эти от кривой архитектуры.

    Далее, опять про фреймворки, сами по себе они тоже глючат, там есть куча нюансов, ускоряют разработку они далеко не всегда, как писали на хабре "это фабрика над фабрикой".

    Поэтому, в чем лучше кодить: в wordpress или в каком-нибудь symfony - это вопрос спорный, холиварный. Ни то ни другое не идеальное. Соответственно, какой стек технологий тебе учить, выбирать нужно отталкиваясь от того, чем хочешь заниматься. А учить стек лучше не на курсах, а идти джуниором.

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

    Потом, не забывай еще главное, мы живем в стране, где даже автомобиль нормальный сделать не могут, качество разработки здесь абсолютно такое же, то есть никакое, люди они одинаковые, что в АВТОВАЗЕ, что в Яндексе, поэтому на весь этот флёр вокруг каких-то там разработчиков клади болт.

    Я тебе расскажу, как это работает с точки зрения бизнеса в России, а не со стороны парняги в свитере и очёчках:
    1) Есть богатый дядя, который наворовал в своё время денег, у него есть сын, сын начитался хабра и бизнес молодости, взял у бати своего миллионов 50-100 и пошел пилить абсолютно никому не нужный стартап, нанял 30 человек, поставил компы, вот сюда нужно знать не столько сами технологии, сколько МОДНЫЕ технологии, смотришь модные тренды и их учишь или просишься джуниором, вауаля, и вот ты в струе.
    Делали делали, сыночке надоело пилить стартап, у него пати на мальдивах, свадьба, дети и тд - все разбежались.
    2) Есть государство или крупная контора, которая так или иначе, принадлежит кому-то из власть имущих, им нужно какой-то проект, они этот проект отдают фирме (то есть сыну, брату, свату), у которой сайт визитка. Эта фирма отдаёт это другой фирме, та отдает это еще двум-пяти фирмам. Где-то там в конце сидишь ты за компом и делаешь то, что тебе написали в ТЗ. Чтобы тебе что-то изменить в этом ТЗ, это должно пройти через 8 ртов и кучу согласований, и ты вообще лучше сиди и поменьше высовывайся. В таких конторах будешь пилить и пилить какую-нибудь хрень, в которой уже запутались все вокруг, но ты как-то делай, ведь скоро сдача. А потом они за два дня до сдачи, всей аравой посредников и программистов собираются в одном месте и наконец-то звонят главному заказчику и спрашивают, а как надо делать, то есть то, что ты спрашивал месяц назад. Иногда этот брейншторм помогает, иногда нет. Как туда устроиться? Опять таки, иди джуном.
    Примечательно, что качество продукта таких контор обычно хуже самой захудалой Джумлы, зато там все хаят CMS, но чтобы им в продукте прикрутить голосовалку, им нужно напрячь 8 ртов, распилить бюджет в тысяч 180-400, через кучу согласований сделать всё через жопу, но через ООП и какую-нибудь Symfony. Круто.
    3) Компании типа Яндекса, каких-нибудь банков. В таких компаниях обычно умные люди только на самом верху - это основатели компании, усмотреть за всеми аспектами фирмы им технически невозможно, поэтому часть продукта у них хорошая, основная, например, как поиск у гугла, а 90% других сервисов полное говно (посмотрите, что сделали эти "умы" из яндекса, вроде, с кинопоиском). Зато ЧСВ у каждого там Васи на уровне основателя компании. Вот эти Васи и делают там 90% продуктов, которые, как-бы второстепенны. Чтобы туда попасть надо не технологии учить, а изучать тренды какого-нибудь хабра, что там сейчас ценятся, какие авторы зарубежные: "Мега алгоритмическое программирование Алана Коуэла" и тд, таких книжек прочитать штук 10, выучить всё азы чистого программирования без фреймворков, одеться как мудак, чтобы выглядеть еще мудачее того гика, который тебя будет собеседовать, а то они ранимые и завистливые и опять таки, устроиться джуном.
    4) Компании локальные по созданию сайтов и прочего программирования. В таких фирмах свободы намного больше, чем в первых трёх, но нет столько денег, зато сразу видно продукт, который делаешь. Тут тебе пригодится и вордпресс и битрикс. Туда тоже лучше идти джуном. В таких компаниях шанс того, что ты потом запустишь боком собственный проект намного выше, т.к. у тебя будет опыт создания веб-сервисов, сайтов за Реальные сроки и ты будешь видеть ход их развития. Но с точки зрения денег, редкий случай, когда они тебе могут предложить даже столько, сколько в стартапе.
    Поэтому, если для души программировать, получать удовольствие, то варианты 1 и 4. Если хочется работы, от которой многие воют, то 2, 3.

    5) Есть еще компании, которые работают на запад, денег сейчас там в теории, может быть столько же, сколько и в стартапе у богатого буратино, там тебе сильно повезет, если будете делать пункт 4, если 2-3, то можешь брать веревку и мыло.
    Стартапы таким компаниям дают мало когда, ведь хипстеру миллионеру нужна атмосфера, нужны работнички перед глазами, а не на аутсорце. А вот латать баги в 6 летнем коде по цене продавщицы в ларьке Нью-Йорка - это запросто, это аутсорц. Текучка в таких местах дикая, поэтому они, отчаявшись, ищут негров за рубежом, никто вменяемый этим заниматься не хочет у них на родине. Поэтому если на аутсорце будет создание сайтов или каких-нибудь новых систем, это большая удача.
    Туда тоже нужно идти джуниором. Еще они почти всегда требуют английский, а если у тебя есть английский, зачем тебе они?

    6) Учишь английский, вордпресс, джумлу, магенто, цсс и идешь искать клиентов на английском языке. Из тебя вылупляется фрилансер, в перспектике открываешь собственную контору номер 5.

    Есть еще лайфхак, берешь абонемент в дорогой фитнес центр и знакомишься там с парнями, когда-нибудь тебе повезет и выйдешь на кого-нибудь богатого из чиновничков или олигаршьих родственников. Всем говори, что ты программист и у тебя есть "команда". Этого хватит, у богатых всегда "куча идей" куда бы просрать бабки (стартап) или наоборот где-то "намутить денег" (пункт 2). Они тебе сами предложат "тему", если ты обмолвишься, что ты программист. Всё, что у тебя будет к тому моменту, это сайт визитка, понимаешь к чему я клоню? Пункт 2, но ты будешь сверху, вторым ртом. Если повезет, будет и пункт 1, но ты будешь ко-фаундерем, ты посмотришь модные технологии и будешь под смузи составлять вакансии с reactJS, Angular, high load и еще кучу умных слов. А на биржах заказы пусть обычные люди ищут, которые за деревьями леса не видят. Или идут через жопу в пункт 2, когда надо заходить с другой стороны. Think different.
    Тот, кто на основании выше написанного лайфхака понял, что он ходил по кругу, а ключик в другом месте открывается, может мне скинуть денег за совет на кошелек R738086405346
    Точнее, это даже не совет, это инструкция, которая действительно рабочая.
    Ответ написан
    2 комментария
  • Как развиваться начинающему web-разработчику?

    @alegrans
    советую видеокурсы Русакова (наберите в поиске - сразу найдете).
    Особенно если покупать после вебинара: скидка + куча бонусов.
    Плюсы: видео доходчивей, объясняет толково и на конкретных примерах, получаете бонусом весь джентльменский набор для разработчика. Парень продвинутый))
    Ответ написан
    1 комментарий
  • Какие есть хорошие книги по ООП для начинающего?

    Freika
    @Freika
    Senior Ruby on Rails developer
    Сначала полгода практики, потом "Совершенный код"
    Ответ написан
    Комментировать
  • Как ограничить канал для пользователя?

    Вопрос - если какой нибудь прокси между сервером и клиентами, к примеру простой squid без проблем будет резать трафик, можно поставить pfsense, в настройках прост и есть web морда.
    Настройка pfsense
    https://habrahabr.ru/post/257787/
    Настройка squid
    https://habrahabr.ru/post/119611/

    Можно и без прокси, средствами iptables на сервере
    www.k-max.name/linux/iptables-v-primerax
    www.linuxcenter.ru/lib/articles/networking/qos_lin...

    P.S. И на чем сервер и какова его роль? Что стоит, то на нем?
    Ответ написан
    5 комментариев
  • Что за ошибка, при установке Redisa на Centos 6.x?

    opium
    @opium
    Просто люблю качественно работать
    не работает днс
    Ответ написан
    Комментировать
  • Литература по MySQL?

    @Meller008 Автор вопроса
    Нашел книгу где более глубоко рассказывается про MySQL
    MySQL. Оптимизация производительности
    Ответ написан
    2 комментария