• Книги о теории программирования. Подскажете?

    32bit_me
    @32bit_me
    Программист, встраиваемые системы
    Классика: "Structure and Interpretation of Computer Programs" - "Структура и интерпретация компьютерных программ". Это наиболее фундаментальный и классический учебник по теме. Есть и в оригинале, и в переводе на русский.
    Ответ написан
    2 комментария
  • Как лучше всего изучать английский?

    @radioaktive
    Для того чтобы был прогресс в изучении английского языка его нужно использовать.
    Я почувствовал значительный прогресс в английском именно когда начал изучать программирование - приходится читать доки на английском, коментарии в гитхабе и т.д.
    // Еще поделюсь личным опытом:
    - 1 этап - очень хорошо помог сервис Codecademy, это англоязычные интерактивные курсы по изучению языков программирования, там дается короткое задание на английском, и его надо выполнить, затем следующее и т.д. Лексика там несложная адаптировано на широкую общемировую аудиторию. И главный плюс задания короткие читать легко и недолго. Сначала со словарем, а через некоторое время и без словаря все становится понятно. Заодно и программирование изучаешь и английский.
    - 2 этап - дальше начал смотреть сериалы на английском с английскими субтитрами. Сначала то, что давно смотрел на русском чтобы было понятней. С компа, на 3/4 экрана плейер, четверть - онлайн словарь. Непонятное слово - стоплю, перевожу, потом смотрю дальше. Сначала было довольно тяжко, но со временем словарь смотрю все реже. В чтении и понимании на слух ощутим существенный прогресс, но что сказать по прежнему только "май нейм из вася" разговорный понимаю нужно прокачивать отдельно.
    Ответ написан
    Комментировать
  • Как лучше всего изучать английский?

    @AlexSku
    не буду отвечать из-за модератора
    Сами языки используют довольно мало терминов: begin, end, if, then, else...
    Поэтому
    1) читать пособия по языку программирования на английском, т.к. сами конструкции уже понятны, осталось понять только объяснение.
    ==========
    2) не прогуливать английский в школе и институте
    3) читать адаптивные книги, у которых сзади словарик (пишу про советское время, т.к. сейчас всё электронное, об этом другие напишут)
    4) для разговорного начать переписку с иностранцем.
    Ответ написан
    1 комментарий
  • Как лучше всего изучать английский?

    @0NotNull
    Можно набрать небольшой словарный запас в любом месте (anki, memrise).
    Потом "курить" begin-english.ru/grammatika-angliyskiy
    Ну или Бонка почитать (долго, скучно, действенно)
    Ответ написан
    Комментировать
  • Как вы учитесь и ищете чужие исходники?

    Для перехода на следующий уровень нужна практика, практика, практика. Есть поставленная задача, ты ее решаешь. Находишь решение сам или находишь в сети или кто-то подсказывает. В следующий раз такую же задачу делаешь уже с пониманием дела
    Ответ написан
    3 комментария
  • Как вы учитесь и ищете чужие исходники?

    Я начал просто искать заказы на фрилансе и брался за те вещи, которые в целом понимал как работаю, но никогда их не делал. Брал и делал, конечно я выбирал те задачи, которые в целом могут вполне работать нормально, даже если где-то наговнокодить, это были всякие запилы сайтов на вордпрессе, написать скрипт калькулятора на js и прочее.

    Так из обычной html-верстки я начал влезать в js и php одновременно, но предпочтение все же отдал js, хотя и ковыряние в вордпрессе дали некоторое понимание как работает php и как стоит писать/как не стоит.

    Далее я уже не боялся брать чуть более сложные задачи (для меня тогда), просто рылся в скриптах, которые использовал (чтобы понимать почему ЭТО работает). На том же вордпрессе стал делать более грамотные темы, писать возможности кастомизации и прочее, шаг за шагом в этом разбираетесь и все.

    Далее, открыв все прелести говнокодинга на js, я стал покупать себе книги, читать статьи, смотреть что пишут другие, иногда просто заходил и смотрел ролики на ютьюбе от забугорных ребят.

    Спустя какое-то время наслышавшись всяких ES5, React, Angular, Vue, стал просто читать что это, как это, ничерта не понял, закрыл.

    Через какое-то время уровень проектов пошел такой, что я понял смысл использования того же VUE, открыл всю ту же зеленую книгу с носорогом стал вдоль и поперек ее изучать. Спустя время, документация по vue меня нисколько не пугала, я сел и стал переписывать проект, который до этого писал на javascript + jquery.

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

    В целом схема обучения проста: вы берете какую-то задачу, которую сходу не можете сделать, начинаете ее решать, пока решаете, возникает куча вопросов, вы ищете информацию, МНОГО ИНФОРМАЦИИ, так и учитесь. Я соглашусь, что пилить всякие todo листы наверное не интересно, попробуйте написать что-то интересное для себя, либо интересное с точки зрения: ВАУ Я МОГУ СДЕЛАТЬ ЭТУ ВЕЩЬ.

    Самое главное - не пытайтесь гнаться за всем подряд, не надо сидеть разбираться с гитхабом, если на вашем уровне профессионализма он вообще никак не задействован. Не надо учить React, Vue, Angular, если на вашем этапе профессионализма они вам не требуются. Не надо вникать в ООП, если для вас написание простых функций уже является сложностью. Делайте постепенно и не гонитесь ни за чем.
    Ответ написан
    4 комментария
  • Где хранить огромное количество закладок?

    @deniz1983
    ...
    Смотрела пару-тройку вариантов, в итоге в свободное время пишу свое «хранилище» ссылок на Django. Потом думаю «залить» на хероку... А так - да, бардак из ссылок в каждом браузере (хотя и по папочкам разложено))
    Ответ написан
    Комментировать
  • Где хранить огромное количество закладок?

    @facetus
    Любопытный перфекционист
    1. Продолжать хранить в браузере
    1.1 Сделать бэкап
    2. Навести порядок:
    2.1. Почистить всё ненужное
    2.2. Почистить якобы важное
    2.3. Почистить устаревшее
    2.4. Создать такую структуру папок для хранения, чтобы не возникали впредь такие вопросы.
    3. Вернуться к пункту 1.

    У меня тоже как-то накопились закладки, я начал их чистить - много где было 404, много где инфа 2008 года которая уже не актуальна....+ даже важное, но не очень - тоже удалял, т.к. проще нагуглить заново когда потребуется, чем искать....

    Не использовать сторонние сервисы, т.к. в них придётся делать дополнительные манипуляции, что собственно еще больше оттолкнёт от того, что и так не было до сих пор прочтено.
    Ответ написан
    Комментировать
  • Где хранить огромное количество закладок?

    Закладки лучше изначально хранить в корзине... всё-равно настанет момент, когда нужное проще нагуглить заново ))

    PS: Как в анекдоте "В жизни каждого мужчины, наступает момент, когда чистые носки проще купить" ))
    Ответ написан
    Комментировать
  • Как систематизировать изучение JS?

    Stalker_RED
    @Stalker_RED
    Если это не первый язык, то основы синтаксиса вы быстро освоите.

    Затем встроенные методы работы со строками, массивами, объектами. Это не обязательно зубрить, какой-нибудь Array.forEach и так рано или поздно усвоится, но желательно знать какие вообще методы бывают и где о них почитать подробнее.

    Приведение типов немного отличается от PHP, надо привыкнуть.

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

    Асинхроность отдельным пунктом.

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

    И затем фремворки и библиотеки.

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

    Учебник https://learn.javascript.ru/ неплох, но можно почитать и бумажную книгу какую-то.

    Отдельные темы неплохо расписаны на mdn, но все-же это в первую очередь крутой справочник, а не структурированный учебник.

    Основы языка можно потренировать на codewars. Очень круто, если решаешь задачу не подглядывая, а потом сравниваешь свой код с топовыми ответами и разбираешься почему у них 7 строчек, а у тебя 30. Но надо вовремя остановиться и не увлечься написанием всякой нечитаемой фигни.
    Ответ написан
    1 комментарий
  • Какие требования к frontend-junior?

    MalkovVladimir73
    @MalkovVladimir73
    Fullstack (node + vue.js)
    • Хорошие знания vanilla.js (ECMA2016+)
    • Пре/пост процессоры css
    • Понимание паттерна MVC
    • JS фреймворк

    Остальное - опционально:
    • Node.js
    • socket.io
    Ответ написан
    Комментировать
  • Какие требования к frontend-junior?

    @djay
    Почему от новичков требуют много и неадекватно?

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

    Вот - представь, допустим есть красивая девочка, свободная. Представляешь сколько парней к ней будут подкатывать всячески? И что потом? У неё повышается самооценка быстро и не заметно. Теперь требования к парням выше - чтобы теперь, как-минимум - чтобы была тачка и доход от 100К в месяц.

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

    Во-вторых, что значит нативно и на обе платформы? Нативно и на обе платформы - это подразумевает знание SWIFT и Java (со всеми их фреймворками и ежедневными библиотеками).

    В-третиих, какое еще администрирование?
    С точки зрения работодателя, это же просто не этично и опасно подростку давать root-доступ от сервера.

    А теперь по делу:

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

    Ты должен знать:

    - Чистый JS (как и старый так и новый ECMA2016)
    - Jquery, Bootstrap
    - На базовом уровне фреймворки (Angular 5+, React)

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

    И крайне желательно иметь репозиторий на GitHub со своими пусть даже мелкими наработками.
    Остальное - чем больше, тем лучше.
    Ответ написан
    28 комментариев
  • Где найти критерии вёрстки из HTML Academy?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Ответ написан
    Комментировать
  • Как систематизировать изучение JS?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Существенные грабли, которые очень важно осознать - PHP синхронный, в целом, язык, а JS, в целом, асинхронный. Поэтому тут многие подходы из PHP либо работают плохо, либо не работают вообще.

    Чтобы эффективно писать на JS нужно осознать прелести функционального и асинхронного подхода, научиться мыслить коллбеками и не гадить в глобальное пространство.

    Еще нужно осознать, что в JS всё (ну или почти всё) есть объект, а, так же, как работает прототипное наследование и замыкания, как работает так называемый Event Loop в совокупности с Call Stack.

    Научиться мыслить цепочками вызовов т.к. многие методы в JS поддерживают chaining. Например
    const s = '1234567890';
    const onlyEvens = s.split('').filter(e => (+e % 2) !== 0).join('');


    или даже так

    const onlyEvens = '1234567890'.split('').filter(e => (+e % 2) !== 0).join('');


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

    Вообще мне хорошо мозги на место поставил курс по ES v5 Javascript: Understanding Weird Parts ну или примерно то же самое но на русском у ZORAX. У Кантора тоже все великолепно разложено по полочкам, но он просто жесть какой нудный (имхо).

    А потом просто очень много практики, лично я тупо решал всё подряд на кодварс.

    А еще чтобы лучше что-то понять, начни объяснять это другим. :) Я так однажды замыкания объяснил кому-то, что аж сам понял... :D

    P.S.: Раз ты говоришь что у тебя есть опыт в программировании, возможно тебе будет не актуально, но я все равно скажу, т.к. всегда говорю это - алгоритмы и структуры данных, без них никуда, от слова совсем.
    Ответ написан
    Комментировать
  • Как закреплять основы javascript на практике?

    theobroma
    @theobroma
    javascript developer (ReactJS)
    Люто рекомендую www.codewars.com.
    Просто чудо, что он есть. Его можно использовать для изучения многих языков. Думаю Вам, как и мне собственно, он будет полезен для освоения как JavaScript, так и CoffeeScript.
    Есть 8 уровней сложности. Ко многим заданиям прилагаются тесты. Так что заодно и с Test-driven development познакомитесь. Тесты есть готовые, но можно и свои пробовать писать.
    Задания можно обсудить в разделе "Discuss". Там все грамотно сделано и спойлеры скрыты.
    После выполнения доступно посмотреть на решения других пользователей и проголосовать за самое находчивое решение и за "best practice". Это дает не слабый левелап.
    Совет: делайте все на localhost, а после уже готовый код вставляйте для проверки в окно "Your Solution". Так проще поэтапно отслеживать код и можно потихоньку прийти к решению.
    P.S. Сам как раз решаю эти задачки и активно пользуюсь learn.javascript.ru для справки.
    Ответ написан
    1 комментарий
  • Как выглядит современный процесс верстки?

    @Flying
    • Верстаю в PHPStorm (просто потому что ещё и работаю с backend кодом на PHP).
    • Для написания HTML использую Twig (т.к. нравится синтаксис и можно потом без переделки использовать шаблоны на backend'е). Использование шаблонизатора для вёрстки сильно помогает если надо сверстать более 1-2 страниц
    • Для написания стилей использую SCSS + свою библиотечку + несколько PostCSS плагинов.
    • Макеты - в Photoshop, InVision или Zeplin, смотря в чём отдают.
    • Для обычных картинок - Photoshop + оптимизаторы (optipng, pngout, guetzli, xat).
    • Для SVG иконок - Inkscape + руки + svgo, а затем организовываю всё это через icomoon.io, оттуда можно получить либо иконочный шрифт либо запакованный набор SVG элементов.
    • Для сборки проекта использую Gulp с набором различных плагинов, список могу дать отдельно если интересно.
    • Саму структуру проекта обычно просто копирую руками из проекта в проект. Можно конечно сделать какой-нибудь плагин для yeoman или что-то подобное, но меня не ломает скопировать пяток файлов, да и задачи бывают разные - просто вёрстка или вёрстка сразу в контексте сайта.
    Ответ написан
    Комментировать
  • Как выглядит современный процесс верстки?

    @coderxx
    keep calm and learn js
    Не уверен что начинающим верстальщикам нужно заморачивать себе голову всем этим ужосом:) Но может кому-то и пригодится:
    - создаю новый проект на базе немного допиленного Optimized4HTML (можно копировать папку руками, можно сохранить в PhpStorm как темплейт, второе разумеется удобнее). Проект имеет следующую структуру:
    5c13ab56a03e8108817224.png
    - открываю его в PHPStorm, через командную строку устанавливаю пакеты и запускаю вотчер со следующей конфигурацией:
    5c13ad0d5c912921297608.png
    (таким образом отслеживаются изменения в файлах index.html, *.scss, common.js, а так же релодится браузер; в процессе верстки просто перескакиваем на виртуальный рабочий стол с открытым сайтом и сразу видим изменения, а если есть второй монитор то вообще песня). Кстати, перечень пакетов ннада?
    5c13ae2b57082880473288.png
    - из плюшек emmet и sass обязательно, в качестве таскранера - gulp.
    - макеты у меня в .sketch, так же кто не пробовал советую попробовать Figma, получите практически скетч в браузере. Adobe Photoshop не люблю. Adobe XD не пробовал, но осуждаю. Здесь наверное больше дело вкуса и реалий, в которых вы работаете (например, в каком формате получаете макеты, какая ОС на рабочем компе).
    Вроде все просто. Что непонятно - спрашивайте, отвечу.

    UPD. Optimized4HTML недавно перешел на Gulp 4, советую попробовать. Учтите, что Gulp 4 не имеет обратной совместимости с галпфайлами предыдущей версии, так как немного изменился синтаксис.
    Ответ написан
    9 комментариев
  • Как сегодня верстают такие бордеры?

    @ksyu_gl
    Учусь верстать
    Ответ написан
    Комментировать
  • Как сегодня верстают такие бордеры?

    profesor08
    @profesor08 Куратор тега CSS
    Псевдоэлементы в помощь:
    Ответ написан
    2 комментария
  • Актуальные книги по js?

    viewDidLoad
    @viewDidLoad
    Советую 2е издание Secrets of the JavaScript Ninja, там все что нужно для полного понимания современного js, есть перевод

    DOM API по learn.javascript.ru и mdn

    Флэнагана категорически не советую
    Ответ написан
    2 комментария