• Жизненный цикл Go?

    @deliro
    Хорошо живёт. Если имеется ввиду HTTP, то (обычно) на каждый запрос го пуляет новую горутину, после обслуживания запроса горутина умирает. Главная горутина живёт бесконечно долго (от запуска до shutdown'а)
    Ответ написан
    Комментировать
  • Golang. Почему в коде переменной присваивается ссылка на структуру?

    @FedorWK
    Структуры в Го передаются по дефолту по значению, то есть передается копия экземпляра. В данном случае было принято решение возвращать указатель на структуру (result *v1.Pod), чтобы избежать копирования (либо потому, что так принято). См. сигнатуру функции:
    func (c *pods) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.Pod, err error)

    Поскольку по сигнатуре мы должны вернуть указатель на структуру, мы берем ее адрес (&v1.Pod{}), а не значение структуры (v1.Pod{}).

    Подобный вопрос на SO
    Ответ написан
    Комментировать
  • Много маленьких запросов к REST API или один большой?

    rockon404
    @rockon404
    Frontend Developer
    Если у вас сейчас что-то вроде этого:
    GET '/posts/slug/'
    
    {
      post: { /* ... */ }
    }
    
    GET '/posts/slug/comments/'
    
    {
      comments: { /* ... */ }
    }
    
    GET '/posts/slug/comments/users/'
    
    {
      users: { /* ... */ }
    }
    
    GET '/posts/slug/author/'
    
    {
      author: { /* ... */ }
    }
    
    GET '/posts/slug/meta/'
    
    {
      meta: { /* ... */ }
    }


    то логично все связанные данные объединить в один запрос:
    GET '/posts/slug/'
    
    {
      post: { /* ... */ },
      linked: {
        users: { /* ... */ },
        comments: { /* ... */ },
        meta: { /* ... */ },
      },
    }
    Ответ написан
    Комментировать
  • Какие темы изучить для прохождения отбора на Python?

    irestone
    @irestone
    Junior Web Developer
    Во-первых: "На все это у меня есть пару недель.(Поверьте я псих, и не такое могу)" - нет, не можешь. За пару недель можно изучить некоторые технологии, но научиться правильно думать нельзя.
    Во-вторых: "На Видеокурсы времени нет! Нужна текстовая информация!" - видео усваивается лучше. Но, в целом, нужно комбинировать все возможные ресурсы.
    В-третьих: "JavaScript (НЕНАВИЖУ)" - нет смысла ненавидеть молоток. Это очень наивная позиция. Выбери задачу и используй то, что нужно.
    В-четвертых: Объем математики определяется целью: занимаешься машинным обучением, искусственным интеллектом и прочим дата сайенс или пишешь физический движок, например, - понадобится серьезная математика. В остальных случая хватит школьного курса, и то средней школы.

    Непосредственно подготовка:
    Cracking the Coding Interview
    Elements of Programming Interviews in Python
    Из этих книг тебе станет ясно, что нужно знать, чтобы пройти собеседование на работу.

    Тренируй problem solving скилл на специальных сервисах. Популярные: https://leetcode.com, https://www.hackerrank.com, https://practice.geeksforgeeks.org
    Нужно не просто решать задачи, а учиться это делать правильно, походу изучая алгоритмы, структуры данных и анализ сложности. Грокаем алгоритмы - хороший выбор. Будет отлично, если найдешь друга, с которым можно будет тренировать witeboard'ы, когда один берет на себя роль интервьюера и задает другому задачу. Это важно. Так вы сможете разобраться, где и почему вы застреваете и научитесь правильно выстраивать мыслительный процесс при решении задач. По большому счету, это твой основной навык как программиста, именно его и будут проверять в первую очередь при собеседовании на работу. По крайней мере, должны. Если спрашивают только конкретные технологии, то тебе стоит задуматься, стоит ли у них работать. (Подсказка: нет)

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

    Изучай инструменты (языки, фреймворки и пр) под конкретную сферу. Не надо изучать все подряд, учи то, что нужно для того, чем ты хочешь заниматься, конкретный стек технологий. Помни про принцип Парето.
    Например, вот хорошие ресурсы по питону:
    https://www.amazon.com/dp/1593279280/
    https://www.amazon.com/dp/1593275994/
    https://www.youtube.com/watch?v=8DvywoWv6fI

    Наконец, ты должен понимать, что нетехнические, т.н. софт-скиллы не менее (а в случае с джуном часто более) важны. Я не зря предлагал ресурсы на английском - этот язык разработчику знать важнее, чем любой язык программирования. Не знаешь, с чего начать? Посмотри "Полиглот. Выучим английский за 16 часов!", начни пользоваться https://lingualeo.com (там есть и тренировки и курсы)

    Окружи себя инфосферой: ютуб, твиттер, телеграм и пр.
    Мне, например, нравятся эти ребята:
    https://www.youtube.com/channel/UCVbz7l0COUdLupcY4...
    https://www.youtube.com/user/HexletUniversity
    https://www.youtube.com/channel/UC4xKdmAXFh4ACyhpi...
    Они помогут тебе начать думать в правильном направлении.

    Удачи!
    Ответ написан
    3 комментария
  • Какие области в веб - разработке осваивать в перспективе?

    dom1n1k
    @dom1n1k
    В общем у меня уйдёт на это 2 - 2.5 месяца. Только на основы!

    Ну обосраться. Два грёбаных месяца!!!1
    До чего докатилась индустрия, что 2 месяца воспринимаются как огромный срок. И всё чаще натыкаешься на статьи, где пишут о годовалых якобы мидлах и трехлетних якобы сеньорах.
    Лично я считаю, нужно потратить от 2-3 лет, чтобы начать более-менее прилично и системно ориентироваться в теме. В течении этих лет неоднократно будут возникать моменты, когда тебе кажется, что ты уже достаточно крут - но это только кажется.
    Нормальный специалист средней руки формируется около 3 лет. Не гуру, не сенсей, не сеньор - просто крепкий линейный боец. Это много где так, не обязательно в JS. И это нормально.
    Хочешь за несколько недель - иди установщиком пластиковых окон, как раз строительный сезон начался.
    Ответ написан
    11 комментариев
  • Какие области в веб - разработке осваивать в перспективе?

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

    1. Ваш первый пункт вытекает из второго. Если вы умеете п. 2, то и п. 1 вы сможете научиться (быстро). Уметь только в CMS это примерно как уметь забивать гвозди только одного вида (а ведь могут потребоваться и другие гвозди).
    2. Вам нужно понимать, что есть задача, а есть инструмент. Все что вы перечисляете - это инструменты для решения задач. Какие инструменты изучать? Инструменты, которые подходят под задачи, которые вы решаете. Какие задачи вы решаете или хотите решать? Это основной вопрос.
    3. Не стоит обращать внимания на длительность уроков. Никто не начинает работать только после того, как просидит N часов за теорией и N часов за практикой. Осваиваете базу, начинаете что-то делать на реальных задачах и постепенно учитесь (не в ущерб времени и деньгам клиента конечно же).
    4. Этот пункт - продолжение третьего. Вы смотрели что такое jQuery? Вы пытались им пользоваться? Зная js, приучить себя к jquery можно за 3-4 проекта. Надо просто брать и делать, а не думать: "там по jquery уроков на 300 часов, видимо это слишком сложно для меня". Вам нужно брать и начинать.
    5. Задачи всегда бывают разные, следовательно и подбор инструментов тоже, следовательно нужно знать и jQuery и Vue.js, а не что-то одно. Не всегда же вы пилить SPA будете? Кому-то потребуется сделать простой калькулятор, чтобы человек мог его поправить потом. Будете использовать Vue, который клиент может не знать? Или все же jQuery или нативный js? Ответ очевиден.

    Опишу свою ситуацию:
    1. Начинал с HTML + CSS
    2. Начал учить JS и параллельно Jquery (никогда так не делайте, сначала js, потом jq).
    3. При набранном опыте я смог нормально освоить Vue за 1 проект (объемный).
    4. Так как иногда роюсь в PHP, освоиться в Laravel на уровне: есть проблема - знаю где посмотреть и как ее решить в случае чего, смог за 1 проект длиною в месяц.

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

    Поэтому вам нужно:
    1. Определиться с выбором области работы, судя по вашему вопросу у вас выбор между фронтом (javascript + frameworks) и беком (python, php + frameworks)
    2. Далее загуглить road map по фронту или бекенду (в зависимости от вашего выбора)
    3. Поступательно двигаться и не бояться.
    4. У вас еще хватит времени прожить счастливую и долгую жизнь.

    P.S вся эта арифметика со скоростью изучения фреймворком исключительно мой опыт, у кого-то быстрее, у кого-то медленнее. Дабы внести разъяснения, добавлю: я вполне себя спокойно ощущаю в том или ином фреймворке, однако не являюсь очень серьезным разработчиком.

    P.S.S Отвечая на главный вопрос: "Какие области в веб — разработке осваивать в перспективе?" - в перспективе нужно становиться разработчиком, у которого есть достаточно опыта в смежных областях, есть знания, помогающие решать те или иные задачи (чем сложнее задачи, тем больше ваша зп, тем вы ценнее), и постоянное развитие, так как наука продвигается, задачи и их сложность меняется, инструменты добавляются и так далее. И не забывайте, программирование это не только делать сайты или приложения, если области задач, не связанные с веб разработкой, но которые тоже интересны.
    Ответ написан
    7 комментариев
  • Строка как вход для нейронной сети?

    @ivodopyanov
    NLP, python, numpy, tensorflow
    Текст обычно кодируют двумя способами:
    1) bag-of-words (или chars, или еще чего) - кодируем вектором длины N (размер словаря), для каждого примера i-й элемент вектора равен кол-ву этих слов\символов в тексте. Плюс различные вариации вроде TF-IDF (когда используем не просто количество, а более сложную метрику), n-grams (когда используем не отдельные слова, а последовательности из 2, 3 и более), skipgrams (когда используем не отдельные слова, а сочетания слов, отстоящие друг от друга на каком-то расстоянии - чтобы выкидывать предлоги, артикли и прочее) и так далее. Закодированный таким образом текст можно прогнать через наивный байесовский классификатор, SVM (обычно показывает лучший результат на порядках 10000-100000 примеров), MLP
    2) кодируем вектором длины N (максимально допустимая длина текста), где каждый элемент - это индекс слова\символа. Если текст короче N, то дополняем нулями. С таким вариантом кодирования работают сверточные, рекурентные и рекурсивные сети.
    Ответ написан
    2 комментария
  • Что такое такое rest api?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    API социальных сетей - это вполне типичные примеры реализации REST API.

    REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами - в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

    Всё взаимодействие с сервером сводится к 4 операциям (4 - это необходимый и достаточный минимум, в конкретной реализации типов операций может быть больше):
    1. получение данных с сервера (обычно в формате JSON, или XML)
    2. добавление новых данных на сервер
    3. модификация существующих данных на сервере
    4. удаление данных на сервере

    Операция получения данных не может приводить к изменению состояния сервера.

    Для каждого типа операции используется свой метод HTTP-запроса:
    1. получение - GET
    2. добавление - POST
    3. модификация - PUT
    4. удаление - DELETE

    Т.е. :

    GET-запрос /rest/users - получение информации о всех пользователях
    GET-запрос /rest/users/125 - получение информации о пользователе с id=125
    POST-запрос /rest/users - добавление нового пользователя
    PUT-запрос /rest/users/125 - изменение информации о пользователе с id=125
    DELETE-запрос /rest/users/125 - удаление пользователя с id=125
    Ответ написан
    20 комментариев
  • Как сделать многопоточный HTTP(S) сервер в ноде?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Надо ноду менять на Go
    Ответ написан
    4 комментария
  • Какие языки выбрать для разработки сайтов, мобильных приложений/игр и как подрабатывать во время обучения?

    Первый язык - Английский. Приоритеты неправильные, сначала попробуй можешь ли разрабатывать, а потом подумаешь как зарабатывать. Хороший Software Developer работу найдет всегда, но далеко не каждый может им стать.
    Ответ написан
    3 комментария
  • PHP или C# для удаленной работы?

    opium
    @opium
    Просто люблю качественно работать
    Чувак на чем умеешь на том и программируй, меньше топать времени на глупые вопросы
    Ответ написан
    Комментировать
  • Почему ВК api возвращает ошибку Error 121: invalid hash?

    sergiks
    @sergiks Куратор тега ВКонтакте
    ♬♬
    Проверьте, что вы правильно следуете инструкции по загрузке фотографий на стену ВК.
    Ответ написан