• Какой путь изучения программирования выбрать?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Ухх как все сложно...

    Чтобы научиться плавать нужно, для начала, зайти в воду... Стоя на берегу плавать учиться затруднительно.

    Если бы я так заморачивался в своё время, то даже не начал бы.

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

    Одновременно нужно подучить язык, на котором будешь программировать. Как по мне, самый простой для освоения язык сегодня - это JavaScript. Нужно зарешать хотя бы 50-100 задачек, этим ты покроешь основные кейсы, чего для начала более чем достаточно. Я обычно отправляю с этим на кодварс.

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

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

    В процессе ты так же будешь осваивать инфраструктуру, пополнять контексты, приобретать дополнительные знания.

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

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

    Вот как-то так. Дорогу осилит идущий, но нужно постоянно делать следующий шаг.

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

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Нужно по капле выдавливать из себя раба.
    Программирование - это образ мышления. Думать умеешь? - значит догадаешься. Вот это и есть главное правило. Приготовься к тому, что нужно будет много думать, очень много. В программировании много взаимосвязей. Нужно развить в себе навык видения конечного результата и свою роль в нем. Без этого ты не сможешь работать.
    Скажу один секрет, о котором вообще никто не пишет, но если понравится программировать, то поймёшь (не каждый секрет можно понять сразу) - обработка ошибок. Пользователь всегда ждёт, что программа предупредит его о том, что он, пользователь, делает что-то не так. Поэтому, очень много времени в программировании уходит на обработку ошибок. По моим ощущениям процентов на 90 работа программиста - обработка ошибок. А уж в сетевом программировании без этого никак.
    А так будет как везде - никто не будет тебе ничего разжёвывать, возиться как с писаной торбой и т.д. Учись решать проблему самостоятельно, веди дневник (очень рекомендую), технический, конечно, со скриншотами и описанием: проблема, скриншот, решение - скриншот + текст, скриншот, скриншот, скриншот (поищи хороший скриншотер). Периодически перечитывай записи.
    Поставь цель - каждый день узнать минимум что-то новое, что тебя удивит. Удивился - записал! День прошёл не зря. Больше одного раза удивился - супер. Опять записал. За год накопишь хорошую базу.
    Совершенствуйся в инструментах, но не зацикливайся, узнавай новинки. Возможно, что однажды сам начнёшь писать себе инструменты.
    Лично мне программирование нравится тем, что даёт возможность общаться с разными людьми разных профессий. И вместе мы делаем что-то новое. Здорово.
    Ответ написан
    Комментировать
  • Какой путь изучения программирования выбрать?

    @Namynnuz
    Привет, всем! Мне 28 лет и я решил начать изучение программирования
    Привет, 28. Это, конечно, не 42, но первые результаты, при условии, что у тебя есть определённые способности и стремления, проявят себя в лучшем случае лет через пять.
    Какая специальности в программировании наиболее открыты и дружелюбны к джуниорам?
    Каковы перспективы развития?
    Никакие. В этой области +5 лет сосутся очень жёсткие дяди из Пакистана и всё ещё из Индии. Без реально роста, но говнокод они лепят отменный. Тебе с ними и через десять лет не сравниться (и не надо, пожалуйста).
    На какие специальности можно выучиться до джуниора за наиболее короткий срок?
    Зависит исключительно от тебя и твоих способностей.
    В общих чертах, что должен знать и уметь джуниор?
    Зависит от конкретного места, куда ты пойдёшь устраиваться.
    До какого уровня учиться?
    До какого можешь, до такого и учишься. Предела нет. Даже через десять лет в, казалось бы, вдоль и поперёк изученной технологии ты можешь узнать и изучить такую прорву новой информации, что стажёру и не снилась в страшном сне.
    Каковы шансы устроиться джуниором в сферу C++?
    Ниже, чем в случае более современных языков.
    И, с учётом сложности языка, стоит ли мне рассматривать эту сферу в свои года?
    Года ничто — опыт всё.
    где-то было много и было не ясно нужно ли столько изучать.
    Изучай всё, до чего можешь дотянуться.
    Хотел бы узнать наиболее полный список действительно нужных тем и дисциплин computer science.
    Берёшь курс MIT и смотришь, чем они учат-учили последние 20 лет. Вот это всё: знание, понимание, умение — отправная точка для начала поглядывания в область CS со стороны стажёра, который так, покурить на в соседнее здание зашёл.
    Покрывают ли потребность в теории курсы Introduction To Computer Science от MIT и Harvard?
    Покрывают ли потребность в операции на гипофизе пространный пересказ бухого философа на тему «Хирургия 18 века для идиотов»?
    Что ещё из теории помимо основ computer science нужно программисту?
    Всё, до чего сможешь дотянуться. Чем больше знаешь — тем меньше надо будет изучать на местах, тем шире будет твоя область применения. Если ты сможешь выдержать конкуренцию.
    Хотел бы узнать наиболее полный список действительно нужных математических дисциплин для программиста?
    Берёшь, допустим, топовый российский вуз и изучаешь досконально дисциплину Прикладная Математика. Наверное, для большинства формошлёпов в самых типичных ситуациях этого может и хватить.
    Сколько языков нужно знать джуниору?
    Чем больше, тем лучше. Чем глубже, тем лучше. Нельзя взять какую-то область или языка и оставаться в ней до конца жизни. Иначе ты очень сильно будешь ограничивать себя. Не говоря уже о прямой деградации межушного ганглия до уровня адинэсников...
    С какого языка следует начать обучение?
    Тот, который тебе больше всего понравился. То есть ты взял, потыкал его, поискал книжки, почитал первые 100 страниц каждой, посмотрел код проектов на github и ты почувствовал, что «палочка выбрала тебя».
    Посоветуйте самые качественные проработанные курсы для изучения рекомендуемых языков
    Нет таких.
    Насколько сильно версии одного и того же языка отличаются друг от друга? Как долго времени занимает изучение новой версии языка?
    Напрямую зависит от языка/фреймворка и как авторы подразумевали обратную совместимость.
    Стоит ли мне начать изучения с языка C++?
    Возьми что-то более современное, чтобы не насиловать себя непонятными тебе ограничениями.
    Ответ написан
    4 комментария
  • Как писать API?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Статей хватает, можете конечно написать, но врят-ли что-то-новое выйдет.

    Структуру методов, что и как должно возвращать лучше обсудите с iOS разработчиком, который будет потом имплеменить это дело. Если такого нету — максимально разбейте все на атомарные операции, упростите взаимодействие, прикиньте сами какие методы могут понадобиться (представьте что вы пишете API не для кого-то, а, например, для странички, которая через AJAX все выдерает).

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

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

    Я не видел ни одного RESTfull API для серьезных приложений, тобиш да, оно то REST но не полностью, так что заморачиваться тут не стоит. Достаточно просто обрабатывать какие-то базовые заголовки и GET/POST запросы. GET для выборок — тобиш данные в базе при запросе не меняются, разве что какие счетчики, а POST для создания записей в базе (по феншую результат работы функции должен возвращаться только HTTP заголовки, среди которых есть GET запрос с URI нового объекта, но на практике никто не париться и возвращает весь объект или его часть).

    Можно конечно воспользоваться SOAP апишками, но по опыту скажу что оно годно только при разработке оочень простых API, и толку от него мало. Если клиентом, конечно, будет приложение написанное на C# .NET — тогда смело SOAP и только SOAP, вам по сути разницы в реализации (имеется в виде по времени) минимум, а разработчику клиента будет намного проще. А вот на iOS с SOAP все достаточно печально.
    Ответ написан
    Комментировать
  • Как писать API?

    KIVagant
    @KIVagant
    Разработчик web-сервисов
    1. Жесткая типизация и контроль входных и выходных данных. Много проблем получали, когда php-сервер отдавал string вместо int, например.
    2. Предусмотреть разный формат возвращаемых данных — json, xml и т.п. — на клиентсайде может оказаться не только ios.
    3. Предусмотреть перехват всех внутренних ошибок и исключений, чтобы клиент всегда получал логичный ответ вместо неожиданных ошибок.
    4. REST моден, но совершенно необязателен. После нескольких лет существования некоторых сервисов мы только сейчас начали вводить поддержку REST. Это нам не мешает разрабатывать популярные мобильные приложения на всех видах устройств.
    5. Изучите хорошие примеры сервисов и наоборот — ужасные примеры (Facebook). Никогда и ни за что не делайте, как у FB.
    6. Предусмотрите инструменты отладки.
    7. Сразу продумайте версионность. Выпустив однажды мобильное приложение уже нельзя будет просто поменять API.
    8. Можно сразу заложить инструменты кеширования и авторизации на уровень ядра API. Например, в одном приложении мы передавали oauth-токен в заголовках. Это позволило избавиться от постоянных проверок авторизации внутри модулей API, отдав это в родительские классы и управляя доступами через конфиги.
    И т.п.
    Ответ написан
    3 комментария
  • Удалили пакет из packagist и github, как работать с composer дальше?

    @caballero
    Программист
    ищи форк
    если проепкт чего то стоил стопроцентно есть форки
    Ответ написан
    1 комментарий
  • Удалили пакет из packagist и github, как работать с composer дальше?

    SagePtr
    @SagePtr
    Еда - это святое
    А что мешает локально подцепить пакет?
    Тут множество способов, как это можно сделать: https://stackoverflow.com/questions/29994088/compo...
    Ответ написан
    1 комментарий
  • Как предотвратить двойную обработку одной строки из базы?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Комментировать
  • Как предотвратить двойную обработку одной строки из базы?

    toxa82
    @toxa82
    Используйте LOCK TABLES tbl_name WRITE, тогда для других потоков блокируется даже чтение.
    Ответ написан
    1 комментарий
  • Насколько хорошо нужно знать react?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Указать вы можете что угодно и на любом этапе изучения, просто это мало кому интересно, на "теги" никто не смотрит, это шум. Работодателю важно ваше умение решать задачи, а вовсе не то, чтобы вы прочитали блоки документации.
    Можете решать задачи, пользуясь Реактом? Значит, знаете Реакт.
    Чем сложнее задачи можете решать, тем лучше знаете. Зная только про main concepts - на любом реальном проекте вы потеряетесь и ничего толкового сделать не сможете.

    А также, сколько времени у вас потребовалось на main и advanced?

    Несколько часов, чтобы ознакомиться с документацией. А перед этим 10 лет делать всё то же самое, только без Реакта.
    Ничего архисложного там нет. А вот вывести на уровень автоматизма, выработать хорошие практики и обрести какую-то экспертность - это месяцы и годы постоянной практики.
    Ответ написан
    Комментировать
  • Как сверстать такой блок?

    Chefranov
    @Chefranov
    Новичок
    background: linear-gradient(to right, #fa8f15, #f0565d);
    Ответ написан
    Комментировать
  • Как сверстать такой блок?

    wapster92
    @wapster92 Куратор тега CSS
    При помощи градиента
    Ответ написан
    Комментировать
  • Как сегодня писать сайты?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Нормальный вопрос, вспомните себя в молодости: какие были наполеоновские планы по захвату мира? У каждого такие были (а у некоторых даже ещё есть). Но я не буду писать что-то на тему "автор школьник, гыыы", а возьму и отвечу. Потому что я в теме с 2001 года и, кажется, понимаю о чём вопрос.

    Подавляющему количеству бизнесов сегодня не нужен сайт. Инста и фейсбук отлично продают физические товары и услуги. Более половины предпринимателей, тех, которым я лет 5-6 назад делал сайт, сейчас успешно продаются в VK, инсте или FB и ничего не хотят слышать про "свой собственный сайт".

    Большинство из оставшихся не нуждаются в сложных многостраничных сайтах. На самом деле, есть статистика, что простые одностраничные сайты продают в 2-5-10 раз лучше, чем многостраничники. Пользователю просто некуда уходить - там есть самая главная информация о продукте и кнопка "заказать". Он прочитал и заказал. Если пользователь начинает бродить по сайту, он устаёт, его мозг "забивается" и он решает отложить покупку "на потом". Этих предпринимателей успешно закрывают Викс, ЛПгенератор, Тильда и прочие многочисленные "кон стру кторы сайтов". Сделать "сайт" на этих платформах сможет даже школьник (и они делают). Это работа точно не для профессиональной студии разработки сайтов.

    Что делать, если людям нужно продавать больше, чем один товар? Ещё одна требовательная категория - это потенциальные владельцы интернет-магазинов. Раньше был мощный пласт разработки - это как раз таки разработка интернет-магазина. И этот пласт, как вы, наверное, догадались, почти закрыт сервисами.

    И вот сюда, в принципе, вы можете пойти. Ещё не все потребности закрыты. Можно делать модули для OpenCart, допиливать магазы на Woocommerce, есть такой удобный SaaS-сервис Shopify, который тоже имеет API и поддерживает сторонние модули - есть где порезвиться.
    Но опять-таки это не разработка с нуля.

    Многие студии концентрируются на разработке уникального дизайна сайта. Тема интересная и в своё время была довольно прибыльной. Но сегодня в интернетах куча готовых шаблонов, из которых 98% бизнесов выбирают себе дизайн и немножко поднастроив, получают уникальный сайт. Вы можете попробовать зайти сюда, но придётся довольно долго искать хорошего клиента.

    А вот куда можно реально пойти - это разработка больших программных продуктов. Таких заказов мало, куда меньше, чем владельцев микро-бизнесов. Это разработка SaaS, главным образом. Разработка маркетплейсов, сервисов и всё такое прочее, что ещё долго не будет закрыто конструкторами. И вы можете использовать для этого симфони, даже WP и CodeIgniter. Если есть мощь и знание - можете попробовать использовать Nodejs или даже Go.
    Опять-таки скажу ещё раз, что в этой теме не очень много заказов, но все они стоящие. И часто приходится делать не на том, на чём вы привыкли, а на том, что требует сам сервис. Обычно это включает в себя много разных технологий - морда на React, Vue, Angular, основной бэкенд на Nodejs или Go (никаких CMS!), как правило, сразу заказывают и мобильное приложение - так что будьте готовы делать. На первых порах можете проехать на PhoneGap, но часто это решение не годится, заказчики пошли умные, умеют гуглить.

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

    Удачи!
    Ответ написан
    2 комментария
  • Как сегодня писать сайты?

    alexyarik
    @alexyarik
    Битрикс разработчик
    Первым делом нужно изучить информацию в тегах
    Организация-работы
    веб-разработка
    Вот тут обсуждается работа молодой студии
    Посмотрите в поиске тостера по запросу "веб студия"
    Ответ написан
    Комментировать
  • Как сегодня писать сайты?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    TL;DR : на вп вы можете пилить сайты сами, иногда пользуясь услугами фрилансеров, это выйдет эффективнее и дешевле.

    Можно ли обойтись без CMS в сегодняшних реалиях, и если да, то как выглядит разработка сайта?
    Сильно зависит. Есть ооочень много подходов, от "дядя Коля, че ты без сайта ходишь как дурак, давай я тебе на джумле быстро сайт за 50 баксов сделаю, гыы...", до уровня серьезных студий, где пишут серьезные проекты на современных фреймворках и с хорошей продуманной архитектурой, и ценник начинается от десятков тысяч убитых енотов, но за эти деньги вам сделают все: тз, дизайн, фирменный стиль, документацию на проект, технические требования, подбор серверной архитектуры етц... Как вы сами сказали - рынок обширен и, добавлю, весьма неоднороден.

    Если я пишу сайт к примеру на WP, то как обстоят дела с вёрсткой, что могут программировать фронтэндщики, а что бэкэндщики? Просто много где пишут, что на WP, можно самостоятельно создать сайт, не зная особо программирования, где могут фигурировать программисты?
    Типовой сайт без особого дизайна и функционала действительно можно поднять в одно рыло буквально за день. Если заморочиться с дизайном - можно либо взять/купить готовые темы, коих сегодня мульён и 2 сверху, или дизайнеру заказать за ценник примерно х2 от готового дизайна, ну, зависит еще от требований конечно. Программист нужен в случаях когда нужно реально что-то такое, что редко встретишь или какая-то специфическая задача под нужды заказчика, все типовые "хотелки" обычно решаются готовыми плагинами. Естественно что все эти прелести имеют серьезный изъян в виде хреновой производительности и кошмарного кода, лезть в который не хочется даже в костюме полной химзащиты.

    Могу ли я к примеру написать сайт грубо говоря в блокноте, а потом перенести его на WP?
    Странный вопрос... скорее всего нет, так как ваш код не будет вписываться в движок вп. И обычно делают наоборот - берут вп и вносят изменения и дополнения на основе его функций.
    Ответ написан
    Комментировать
  • Что требуется знать Системному Администратору Linux систем?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Изучите поиск, можно по сайту для начала.
    Ну или зайдите на hh.ru и смотрите в вакансиях требования к системным администраторам Linux.
    Ответ написан
    Комментировать
  • Как настроить .gitignore?

    OrlovEvgenii
    @OrlovEvgenii
    golang developer / DevOps
    Верно
    только нужно поменять порядок, сначала описываются исключения
    !/vendor/.../.../"открытая папка"
    /vendor/*
    Ответ написан
    3 комментария
  • Сколько нужно знать слов, чтобы начать учиться только на английском?

    fursa08
    @fursa08
    Junior Android developer
    Переводи свою жизнь на английский. Окружи себя англоязычными ресурсами. Бросай говорить на русском. Представь что живешь в англоговорящей стране
    Ответ написан
    Комментировать
  • Возраст junior во frontend?

    inoise
    @inoise Куратор тега Карьера в IT
    Solution Architect, AWS Certified, Serverless
    Все это возможно, просто к вам предъявлять будут гораздо больше чем к новичкам. В маленькую компанию скорее всего дорога закрыта - там нужно много свежей молодой крови за небольшие деньги. Идите в большой аутсорсинг вроде всяких Accenture, EPAM, DataArt и т.п. у которых по политикам запрещена дискриминация по примерно всему что к полу не приколочено. Там оценивают только навыки
    Ответ написан
    5 комментариев