• Как показывать медиа-контент только с определенного хоста?

    BuriK666
    @BuriK666 Куратор тега Nginx
    Компьютерный псих
    Комментировать
  • Как правильно администрировать VPS?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ни в коем случае не ставить никаких ISP Manager / Vesta / CPanel, иначе никогда не научитесь тому, чему хотите научиться. Кроме того, они жрут ресурсы. Даже Vesta, которая самая легкая, их жрет прилично, а я сильно сомневаюсь, что у вас VPS c 8+ Gb памяти.

    Изучать надо по урокам и статьям, читая мануалы и best practices по каждому package. Порядок, плюс-минус, таков:

    - развернули ось
    - сделали сразу апдейты
    - создали и настроили swap
    - поменяли пароль рута на что-нибудь супер-мега-сложное (его мы использовать все равно не будем)
    - создали себе обычного юзера с паролем нормальной сложности (он будет использоваться для sudo)
    - дали юзеру права sudo
    - закрутили гайки по SSH - сменили порт, запретили вход руту и вход по паролю (только по ssh-ключам), разрешили вход только одному своему новому логину
    - настроили UFW - простой, но эффективный firewall на основе iptables - default deny, allow http, https, свой кастомный ssh-порт. Если логиниться будете только из нескольких мест (офис, дом) - можно вообще ssh разрешить только на эти IP.
    - sudo dpkg-reconfigure tzdata чтобы установить свою временную зону, так логи потом легче читать и понимать
    - настроили logrotate
    - настроили logwatch
    - настроили Postfix, чтобы сервер вам письма мог слать (мы его настраиваем на внешний мейлер, например Mandrill, чтобы все письма точно в спам не падали)
    - настроили fail2ban (потом, после установки и настройки веб-сервера и сайтов, в fail2ban можно дополнения писать, например мы на WordPress-сайтах мониторим попытки авторизации в админку и блочим тем же fail2ban)
    - дальше ставим все что нужно - Git, Nginx, HHVM, PHP5-FPM, MariaDB, Memcached/Redis и так далее.

    Регулярно заходите на сервер, делайте apt-get update && apt-get dist-upgrade.

    p.s.: это по ubuntu/debian, для других систем все то же самое, но packages и команды могут немного отличаться
    Ответ написан
    26 комментариев
  • Почему на Java не разрабатывают операционные системы?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Всеё банально просто. Java компилируется в байткод, а не в ассемблер. Байткод интерпретируется виртуальной машиной JVM, которая при необходимости делает компиляцию в нативный код процессора (технология JIT - Just-in-time compilation).
    Другими словами, для того чтобы получить нативный код нужно запустить байткод внутри JVM. Именно поэтому никто не пришет на java драйверов и прочей низкоуровневой хрени. С другой стороны, чтобы эту хрень писать на java, нужно чтобы было одно из двух условий:
    1) либо процессор напрямую поддерживал спецификацию JVM (со всем барахлом типа GC, memory allocation^ resource management)
    2) либо операционная система поддрерживала в ядре спецификацию JVM (с тем же самым барахлом)

    Ну и не нужно говорить, что язык барахло, если на нем нельзя писать драйверы и секции для MMU. Есть еще десятка два языков, которые это не поддерживают, например все X.NET или erlang^ python и т.д.
    Java для прикладного программирования, а C/C++/D/ASM и прочее - для машинного.
    Ответ написан
    Комментировать
  • Как быстро подтянуть свой уровень веб-разработчика, чтобы соотвествовать требованиям работодателей?

    5angel
    @5angel
    Фронтенд-лид
    Давайте обратимся к данной публикации, чтобы понять примерные тренды, потому что наиболее выгодный вариант – это все же фронтендер.

    Вкратце, полноценный клиентский разработчик должен знать:
    – html5/css3 + bootstrap
    – один-два препроцессора (less/stylus)
    – чистый js и пару-тройку клиентских библиотек или фреймворков (knockout/backbone/angular/react)
    – немного node.js, чтобы уметь пользоваться пакетным менеджером (npm) и билд-менеджером (gulp/grunt)

    Этот список покрывает большинство клиентских задач в средней студии или стартапе.

    В реальности, от разработчика требуется только одно – уметь быстро накостылять какую-нибудь фичу к релизу, который должен был быть вчера. Собственно, если внимательно посмотреть на список, который я привел, можно заметить, что все эти вещи направлены на максимально быструю разработку – тут костыль, там костыль – и в продакшн. Как бы ни пытались нагнать пафоса на собеседовании, в бою будет именно так.

    Другой вопрос – что со всем этим делать.

    Я обычно предлагаю попытаться начать свой маленький проект. Какой-нибудь простенький личный сайт, игру на js (тот же flappy bird или 1048 – много ума здесь не нужно). Посложнее – свою тему или библиотечку. Это будет хорошим практическим опытом, который не стыдно описать в резюме.

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

    Если говорить о личном опыте, то я неплохо подтянул js с помощью codewars – задачки начинаются от самых простых (преобразование строк, перебор массива), до очевидно тяжелых (собственные интерпретаторы и преобразование данных изображения).

    А вот попытка спихнуть на верстальщика UI/UX – это уже экономия со стороны отдельных контор, которые по какой-то причине не хотят нанимать отдельного дизайнера/проектировщика в штат или по контракту. Тут, к сожалению, придется мириться и смотреть статьи по теме – тот же GoodUI.
    Ответ написан
    10 комментариев
  • Как правильно организовать DRY архитектуру для REST back-end'a?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Я как-то эксперементировал с наследованием контроллеров и пришел к выводу что если у вас есть дублирование кода в контроллере, которое красиво решается наследованием... значит что-то пошло не так и это дело надо вынести в сервисы.

    Далее имеет смысл воспользоваться UI-Router что бы разделить скрины на отдельные состояния. Общие вещи можно так выносить в базовые состояния и добиться большей гибкости...

    Так же я делаю ресолвы как-то так:
    $stateProvider.state({
        resolve: {
           list: function (service) {
                return service.list();
           }
        },
        controller: function (list) {
           this.list = list;
        }
    });


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

    Как-то сумбурно... и мне так же было бы любопытно взглянуть на подходы других людей.
    Ответ написан
    3 комментария
  • Есть ли в природе обширная книга по front end разработке?

    Как тема у врачей про таблетку от всех болезней так и у начинающих фронт-эндов. Обширной одной нет, но есть много хороших книг на разную тему.
    И так список понравившихся мне книг:
    www.ozon.ru/context/detail/id/24493075 - Большая книга CSS3 на данный момент одна из лучших книг по css. Тут Вы найдёте не только применение css и объяснения как и что работает , но и кучу полезных сервисов.
    www.ozon.ru/context/detail/id/18060929 - Данную книгу лучше читать тем кто уже знаком с js и конечно хорошо знает html 4 или/и xhtml - так пишет автор и после прочтения половины книги знания js Вам понадобятся точно. Книга довольно обширная не смотря на её 500стр. - конечно есть вода, но куда без неё. Хотя для одних вода, а для других интересные и нужные факты.
    www.ozon.ru/context/detail/id/19677670 - книга с носорогом) куда без неё... Одна из лучших книг, хоть и вода есть, но она стоит своих денег. Это огромный справочник под все случаи жизни. Так же отдельно от неё продаётся маленький справочник (который находится в конце этой огромной книги). Вот в нём как раз нет воды и всё самое важное. Стоит он около 300р - 400р.
    www.ozon.ru/context/detail/id/3159814/#comments_list - эта книга одна из лучших, хотя даже лучшая... В ней вся суть программирования. Тут не рассматривают один конкретный язык. Тут о каждом по чуть-чуть и взята суть каждого.
    www.ozon.ru/context/detail/id/28298064 - книга стоит своих денег, Я бы даже сказала она очень дешевая. В ней рассматриваются пути обхода css3. То есть как сделать что-то с css3 и без него. Также говорят о фильтрах и куча всяких полезностей.

    Всё же решила вернуться к теме и отдать должное пару книгам хоть автор и не просил данный уровень, но ввиду того сколько чуловек лайкнули, отпишу...

    И так самой главной книгой в начале моего пути у меня была "Основы веб-программирования с использованием HTML... - её Я бы посоветовала новичкам которые не знают что такое css и html толком, но которые хотят научиться писать правильный семантичный и симпатичный код. В ней автор буквально толкает читателя на строгий xhtml, но тем самым приучивает быть внимательным и мне кажется как первая книга она не плоха.
    Возможно в свободное время кому-то будет интересно почитать книгу для улучшения памяти, которая как по мне очень даже приятно написана с изюменкой в виде юмора, в ней описаны метода как лугче всего запонимать любую информацию, но если говорить более точно то метод (метод мест) который повсеместно используется знаменитыми мнемонистами. Я думаю вопроса ни у кого не будет: " Зачем программисту книга с набором мнемотекник"

    Пожалуй стоит отметить и те которые покупать не стоит...
    Было дело мне хотелось почитать книгу про seo. Ну думаю раз мне нравится семантика, то Я найду её плюсы в книге по seo. Моё провальное знакомство началось (и закончилось) с книги "Раскрутка: новейшее руководство твоего продвижения сайтов в Рунете", ссылку на этот ужас приводить не буду. На ozone у неё положительные отзывы видимо только от авторов. А на обложке книги полуголая баба. Когда брала книгу то думала у автора с юмором и изложением всё норм, ну и промелькнуло мнение что по обложке не судят. Оказалось судить стоило))) кроме рекламы seoPult (писатели и есть эта контора) ничего там нет. Все 300 страниц описано одно. Вложите деньги в написание контента (можно заказать у нас) и вложите к нам в раскрутку. ВСЁ...
    Вторую книгу Я бы не то чтобы не советовала, скорее можно просто найти куда лучше, да и устарела она уже. JavaScript и jQuery, написана приятно, объясняют хорошо, но 50% технологий устарели или слабы. Тем более лучше носорог, а по JQ поискть что-то более новое
    Если Вам нужны книги по азам или более продвинутые по js то пишите в комментах
    Ответ написан
    17 комментариев
  • Какая книга по Java должна быть на книжной полке?

    afiskon
    @afiskon
    Core Java двухтомник, есть в переводе
    Ответ написан
    Комментировать
  • Как явно указать приватный ключ при работе с git

    kompi
    @kompi
    nullstack devoops
    git clone user@server:/repo_dir/
    в .ssh/config добавить запись для хоста server c нужными параметрами подключения, например:
    Host gitrepo
    HostName server
    User git
    IdentityFile ~/.ssh/private_key
    IdentitiesOnly yes
    PasswordAuthentication no
    Ответ написан
    1 комментарий
  • Существуют ли трансляторы кода из С в C++?

    fornit1917
    @fornit1917
    по идее, после трансляции читаемость кода не ухудшится

    Вы совершенно правы. И для того чтобы оттранслировать код из с в с++ вам всего навсего нужно ничего с ним не делать)).
    Ответ написан
    Комментировать
  • Учу Java. Как развиваться?

    mrstrictly
    @mrstrictly

    Если вы метите в джуниоры, то вам нужно несколько изменить порядок книг в вашей очереди.

    Отложите алгоритмы и TDD на последнюю очередь -- это безусловно очень важные темы, но для вашей цели не первоочередные.
    Познакомьтесь с паттернами (GoF) и "Рефакторингом" Фаулера.
    Прочитайте вдумчиво английское издание Effective Java Джошуа Блоха. Не загромождайте (поначалу) голову паззлерами.
    Ну и, наконец, сформируйте то, что нужно работодателю -- кругозор. Получите представление о вещах, вращающихся вокруг Java. Вот вам набор ключевых слов: Java Collections Framework, Java EE, Spring Framework, Maven, Glassfish, JDBC... Не нужно углубляться. Осознайте, что это такое. Изучите туториалы.

    Я считаю, для поставленной цели этого достаточно.

    Ответ написан
    Комментировать
  • Какие юзать курсы по HTML, CSS, PHP для начинающих?

    @Masterme

    Послушайте. Было бы смешно, если бы не было так грустно. Каждый день пачками появляются вопросы где и как научиться программировать. Ладно, я бы понял, если бы спрашивали как обучиться столярному делу или садоводству. Но блин... интернет просто пропитан компьютерной тематикой и, особенно, вебом. Гугл, самоучитель - и понеслась. Но нет же, надо зайти в QA и спросить "как мне выучиться?". Действительно, как же выучиться? Может быть старым испытанным способом: найти руководство, прочитать и выполнить советы? А где найти руководство? В поисковой системе? О, неужели это работает? А как сформулировать запрос? Достаточно вписать то что я хочу получить? Что ж, звучит недурно. Похоже, я и вправду смогу освоить эту хитрую технику. Но она такая сложная... я ведь учусь всего лишь в 10м классе...

    Ответ написан
    6 комментариев
  • Искать ли альтернативу Java?

    Snowindy
    @Snowindy

    Не ищите альтернативу Java. Язык проще, чем C, намного более управляемый с точки зрения дурацких ошибок новичка (ваш случай). К тому же, если вдруг соберетесь работать программистом, вероятность найти работу на C и C++ значительно меньше, чем на Java.

    Ответ написан
    2 комментария
  • Что за странные сообщения в ленте между постами на хабре?

    Boomburum
    @Boomburum Куратор тега Хабр
    Местный

    Это так называемый голос - отдельный тип записи, которой с некоторой периодичностью могут пользоваться (помимо НЛО) два пользователя - обладатель самой большой кармы и обладатель самого большого рейтинга.

    Ответ написан
    1 комментарий
  • Джуниор поневоле: как найти и убедить разработчика-джедая стать для тебя ментором?

    pomeo
    @pomeo
    Semisonic в личку написал
    Ответ написан
    Комментировать