• Не могу подключиться к gitlab по SSH, почему?

    @hottab_1 Автор вопроса
    Всем выражаю большую благодарность за помощь, каждый совет однозначно помог.
    Решение оказалось как всегда на поверхности.
    Все дело было в том, что файл sshd_config на сервере, который находится по следующему пути: /etc/ssh в строчке AllowUsers содержал всего одного доступного пользователя, добавил пользователя git, под которым происходит авторизация и все стало работать.
    Строка AllowUsers после внесения изменений стал выглядеть вот так:
    AllowUsers youruser git

    Расписываю алгоритм более подробно, на случай если кто-то столкнется с такой проблемой.
    1. Открываем файл sshd_config на сервере, который находится по следующему пути /etc/ssh
    2. Ищем строку AllowUsers, скорее всего там будет прописан ваш пользователь под которым обычно происходит авторизация по SSH. Добавляем через пробел пользователя git и строка получается вот такой: AllowUsers youruser git
      Сохраняем изменения

    3. Перезагружаем sshd командой: sudo /etc/init.d/ssh restart
    4. Получаем ключ для Gitlab, много где описано как это сделать, я сделал следующим образом:
      Вводим команду на локальной машине, с которой будете работать:
      ssh-keygen -t rsa -f ~/.ssh/gitlab
      После переходим в папку .ssh и копируем ключ из файла gitlab.pub, идем в веб-интерфейс gitlab и войдя под нужным пользователем добавляем ему ключ.
    5. Теперь создадим файл config на локальной машине в папке .ssh, он нужен, чтобы указать какой ключ для какого соединения применять, так как подключение на сервер у нас происходит тоже по SSH.
      Данный файл получился вот такого содержания:
      Host 45.80.69.169
          IdentityFile /home/kramdmitriy/.ssh/id_rsa
          port 22
      Host gitlab.iso-team.ru
          IdentityFile /home/kramdmitriy/.ssh/gitlab
          port 22

      Первый ключ - это ключ для сервера, второй для гитлаба.
      Сохраняем файл и пробуем подключиться к gitlab по SSH

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

    @fr0g
    Математику чистой теорией не постичь. Мой Вам совет — покупаете или скачиваете «Сборник задач для поступающих во ВТУЗы» автор М.И. Сканави. Это сборник задач разбитых на разные уровни сложности. Там же есть краткие издержки из теории. Начинаете решать, когда почувствуете недостаток в теории — есть википедия, гугл, тематические форумы. Удачного Вам изучения!..
    Ответ написан
    3 комментария
  • Обязателен ли C/C++ при изучении java?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Нет не обязателен. Тем более в начале изучения. Но понимать как оно работает изнутри очень полезно и для этого можно почитать умные книжки про устройство вычислительных машин, а чтоб попрактиковаться в низкоуровневом программировании, учите C, (C++ уж больно огромный и учить его и не использовать смысла нет) и ассемблер. Но я имею ввиду не прям все тонкости, а чтоб понять в общем, как работает программа, как устроена память, какие есть регистры у процессора и почему они быстрее, чем стек и т.д.
    Из книг по си, могу посоветовать
    "Керниган,Ритчи - Программирование на C"
    "Столяров А.В. - Программирование на языке ассемблера NASM для ОС UNIX - 2011".
    "Танненбаум - Архитектура компьютера" (сам пока не начал читать, но отзывы ней хорошие)

    А вообще, если есть время, попробуйте C++, вдруг понравится, в новых стандартах там уже не нужно писать User *obj = new User; и бояться утечек памяти, почти как в джаве, только без тормозного GC.

    Но конечно всё ещё зависит от того, кем Вы хотите стать и сколько у Вас времени на обучение, если вы собираетесь натягивать сайты на фреймворки, то асм/си/си++ вам не особо то и нужен, ну а если мало времени на обучение, не тратьте его зря.
    Ответ написан
  • Как начать C++ с абсолютного нуля в IT?

    @dmshar
    Согласен с предыдущими рекомендациями.
    Только я бы поменял местами сначала - "курс гугления и английского", а уж потом "любой бесплатный курс для начинающих." или учебник. Тем более, что ТС как бы вопросы по Python тут уже задавал. Более года назад. А по JS и СSS - уже в этом году. Что, впрочем, как-то слабо сочетается с " В IT и Computer Science абсолютный ноль." Поэтому я бы еще рекомендовал - в качестве нулевого пункта "развития до junior и глубокого погружения в эту область" - в обязательном порядке школьный курс информатики.
    Ответ написан
    Комментировать
  • Имеет ли смысл начинать с Си?

    @kvothe
    На мой взгляд изучать Си смысл есть. Указатели, ручное выделение памятью и т.д. - это ведёт к понимаю как работают программы, компьютер. Начать - тоже смысл есть, но, скорей всего, если есть достаточно времени.

    Python - хороший язык для быстрого начала изучения разработки как таковой, с переходом практически в любую сферу. Знания Си потом могут пригодиться и в питоне, если нарвётесь на проект использующий ctypes(механизм Python для импорта функций из внешних библиотек).
    Ответ написан
    Комментировать
  • Как можно развить математическое/логическое мышление для решения задач?

    @mkone112
    Начинающий питонист.
    Была такая фигня, очень похоже. Сейчас сюда придут люди которые скажут что математика не нужна веб-разрабам. Хотя если с ними пообщатся - окажется что они неплохо с ней знакомы. Немного алгоритмов, дискретки, мат. логики, алгебра, геометрия и т.д. Когда-то я застрял с одной задачей и понял что не помню даже как решаются дроби. Нанял репетитора, сдал егэ, поучился несколько лет в вузе - мозги встали на место. Рекомендую так-же репетитора, книжки, можно в вуз походить(но нужно учитывать что 90% в снг - мусор). Года за три - справишься(но это не точно).
    Ответ написан
    3 комментария
  • Как можно развить математическое/логическое мышление для решения задач?

    Adamos
    @Adamos
    Математику принято считать наукой о расчетах и решении задач.
    На самом деле такой ее делает плохое образование.
    Математика - наука о том, как свести проблему к задаче.
    Чтобы выучить такую математику, нужно не усидчиво решать шаблонные задачники, а выходить из плоскости - поэтому и советуют всяческие головоломки и логические задачи.
    Зубрить алгоритмы в этом плане довольно бесполезно, имеет смысл только как знакомство с приемами и общей логикой.
    А полезно собрать в кучку говно и палки и пособирать из них пусть неуклюжее, но свое.
    Ответ написан
    Комментировать
  • Как можно развить математическое/логическое мышление для решения задач?

    @eskendarov
    Java-разработчик
    Попробуйте решать задачи на алгоритмы, это хорошо развивает логическое мышление. Можете изучить как работают разные структуры данных, например:
    Set, List, Queue, Deque, Map. (Это из Java, но думаю в каждом языке есть эти коллекции)
    У этих коллекций есть разные интересные реализации, посмотрите исходный код попытайтесь понять как это работает изнутри, попробуйте реализовать простые версии этих коллекций с основным функционалом.
    Вы написали, что читали книгу "Грокаем Агоритмы", найдите применение этим алгоритмам. Только путем решения задач можно развить логическое мышление.
    Тут есть некоторые задачи:
    www.itmathrepetitor.ru/zadachi-po-algoritmam-i-str...
    www.itmathrepetitor.ru/zadachi-po-programmirovaniyu
    Ответ написан
    1 комментарий
  • Какой язык полезно будет учить в сочетании с Java?

    @distrik
    Programador
    Специалист во всем - специалист ни в чем. Распыляться имеет смысл, только если это не тормозит развитие основного навыка.
    Один очень хороший программист как-то посоветовал мне постараться хотя бы раз в год знакомиться с новым языком программирования, потому каждый язык создавался неся в себе какую-то идею, которую он так или иначе реализовал. Это поможет расширить кругозор в отношении существующих в программировании проблем.
    Но если вы только начали знакомиться с java, то лучше хорошенько углубиться в нее для начала. Там есть куда копать в глубь.
    Ответ написан
    Комментировать
  • Какой язык полезно будет учить в сочетании с Java?

    Beshere
    @Beshere
    Разработчик
    К Java скорее нужен не второй язык, а технологии, которые применяются вместе с ней: Java+Android, Java+Spring, Java+SQL, Java+Docker, Java+Hibernate, Java+Concurrency.

    P.S. Ну если язык, то Kotlin.
    Ответ написан
    Комментировать
  • С чего начать изучать алгоритмы?

    @dimoff66
    Кратко о себе: Я есть
    Не нужно никогда и ни при каких обстоятельствах учить алгоритмы. Нужно знать об их существовании и при необходимости подсмотреть. Все необходимые алгоритмы инкапсулированы в методы языков. Вам не нужно знать алгоритмы сортировки, потому что в методах sort языков они реализованы более менее оптимально. Теоретически может возникнуть ситуация, когда необходимо сделать сортировку супербыстрой, но для новчика это вообще не является задачей №1 и даже номер 5.

    Поэтому только язык и реальные проекты, где вы пишете все сами.
    Ответ написан
    Комментировать
  • Школьная программа математики?

    @evgeniy_lm
    А так не пробовал

    На самом деле проблема не в твоей лени или тупости, а в твоем способе мышления. Есть мышление гуманитарное и техническое. В первом случае у человека хорошая память в другом хорошо развита логика. Например, я в школе математику не учил, я ее видел (она вокруг тебя в каждом предмете, в каждом явлении), а вот с географией историей, литературой у меня были проблемы.
    Ответ написан
    6 комментариев
  • Учебник по математике, при почти нулевых знаниях?

    @SeptiM
    Мне кажется, то, с чего нужно начинать, это дискретная математика. Можно сказать, это азбука для программиста. Я ниже приложил некоторый список книг. Стоит, правда, понять, хотите вы самостоятельно изучать предмет или иметь менторов и готовую программу...

    Дискретная математика

    Есть здоровская книжка Андерсона "Дискретная математика и комбинаторика". Она довольно толстая, но главы можно читать почти в случайном порядке. Некоторые математики жалуются, что она не очень строгая и много воды, но для начала самое то.

    По дискретной математике есть русский онлайн-курс на Stepic-е.

    Если идти чуть глубже, есть неплохая книжка Кнута и др. "Конкретная математика".

    Алгоритмы и структуры данных

    Кормен "Алгоритмы: построение и анализ" в переводе А. Шеня. Осилить первые две главы, потом можно идти почти в случайном порядке. Написано достаточно просто и понятно.

    Дасгупта, Пападимитриу, Вазирани "Алгоритмы".

    Онлайн-курс по алгоритмам.

    О математике

    МЦНМО свободно распространяет много интересных книг: www.mccme.ru/free-books
    Посмотрите там в первую очередь Шеня и Арнольда. Например, В. И. Арнольд. Задачи для детей от 5 до 15 лет.

    И разумеется не упустите замечательного писателя Мартина Гарднера "Математические головоломки и развлечения".

    Задачники

    Попрактиковаться в решении с проверкой можно здесь.

    www.braingames.ru -- по математике
    https://projecteuler.net/ -- среднее, ближе к программированию
    acm.timus.ru -- по программированию

    Очные программы

    Умение самоорганизоваться -- это хорошо, но иногда нужен ментор и готовая программа.
    Если вы живете в Москве или Петербурге, попытайте счастье в этих двух организациях:
    https://yandexdataschool.ru/
    https://compscicenter.ru/
    Если нет, но есть возможность на два года уйти в учебу, попробуйте поступить в магистратуру СПбАУ на SE-направление:
    mit.spbau.ru

    Посмотрите задания на собеседования. Скорее всего вам будет что повторить или изучить, прежде чем поступить.

    Удачи!
    Ответ написан
    3 комментария
  • Java: в каком направлении двигаться после Head First Java?

    Maks00088
    @Maks00088
    Обучаюсь Java/JavaEE /Php/Js
    Покупать не советую, всё есть в открытом доступе лутше всего туториалы и паралельно писать код , если надо могу дать ссылки на бесплатные хорошие как для начинающих так и для продвинутых!
    По книгам очень трудно так как не всё расказывается и на практике обычно много дополнительного узнаёте ..

    1. Обязан пройти его курс для начинающего : courses.caveofprogramming.com (Java For Complete Beginners)
    2. Работа с базой данных не пожалей цену на его курс по MySql (самый лутший в сети)
    3. Мультипоточность (шикарно объясняет) тот же сайт!
    4. JDBC - Желательно узнать до продвинутой J2EE! Servlets(Есть на том же сайте) до Энтерпрайза джавы обязан!
    5. Закрепи проектом и только после двигайся в Advanced! Spring/JPA/Hibernate (EJB отложи на последок мож вообше не понадобится после того как со спрингом и перечислиным разберешся!)
    6. Spring - https://javabrains.io/topics/spring
    7.Hibernate/JPA - rutracker.org/forum/tracker.php?f=1565&nm=Hibernate (скачай)!
    Книги оставь, есть Github, набирай в поиске тема которая нужна и найдеш проекты после чего просматривай код и пытайся понять , перекатывай к себе на среду разработки. Без книг!
    Ответ написан
    2 комментария
  • С чего начать учить функциональное программирование "одноклеточному"?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    Для начала вам даже не нужно думать и пытаться понять суть функционального/императивного подхода, т.к. без опыта это невозможно, да и с опытом многие путаются в этом. Да и неважно это. Можно прекрасно понимать суть вещей, но даже не знать, как это называется.
    Вам нужно определиться с тем, какая область программирования вам интересна(игры и другую математику отбросим): будь-то веб, десктоп, мобильная разработка, иное. Дальше нужно понять уровень абстракции, на котором вы хотите работать: низкоуровневые/высокоуровневые языки. Чем более низок уровень абстракции(даже на высокоуровневом языке), тем больше, как вы заметили, вы научитесь думать и обретёте понимание. Далее выбираете язык. Низкоуровневые я бы даже не рассматривал, но дело ваше. Изучаете основы: это как раз функции, типы данных, структуры, как с ними работать, зачем они вообще нужны. Любое программирование - это всегда работа с данными. Вот без понимания этого, включая терминологию, - никак. Далее какой-то мейнстримный фреймворк на этом языке. Далее опускаетесь снова к самому языку, углубляясь в тонкости.

    Может потом дополню, надоело печатать с мобилы.
    Ответ написан
    2 комментария
  • Что изучить чтобы приступить изучать матан?

    Griboks
    @Griboks
    Попробуйте начать с посещений уроков математики в школе.
    Ответ написан
    3 комментария
  • Есть ли смысл делать сайт на wordpress?

    @Angelxalfa
    Вполне стоит! Wordpress - отличная CMS и главное - бесплатная. Давно с ней работаю и нареканий нет! Единственный аспект - постарайтесь по минимуму использовать плагины - большинство из них- это потенциальные дыры в защите!
    Когда только начинал - тоже не знал как да что. Очень помог вот этот видеокурс
    www.youtube.com/watch?v=NamClmyOoms
    А вообще если есть базовые знания html, css - то с созданием шаблона справитесь вполне. А если и php владеете - то вообще вам будет подвластно сделать сайт любой сложности.

    По поводу пермиум тем - если лень делать самому - то конечно можно - купил, залил на сервер, нажал активировать - и все - работает.
    Но поверьте, создание своего шаблона - это задача элементарная. Например у меня на создание сайта-визитки без сложных скриптов уходит пару часов (при условии что дизайн уже придуман).
    Так что потратьте пару часов на изучение Wordpress и дерзайте! Удачи!
    Ответ написан
    1 комментарий
  • Почему не работает функция bower init?

    mourr
    @mourr
    Passionate JS developer
    Такое бывает когда пользуетесь под виндой Git Bash / Mingw итд
    Делайте bower init через обычный cmd.exe (встроенную командную строку Windows), а остальные команды (типа bower install итд) сможете выполнять через git bash / mingw
    Ответ написан
    3 комментария