• Скрипт для генерации уникальных изображений?

    MinTnt
    @MinTnt
    Думаю тут и PIL сгодится. Сначала задав код для рисования по пиксельно нужного изображения. А дальше создать список с разными цветами, с которого потом через random выбирать нужный цвет.

    Т.е. создать по функции для рисования определёных одноцветных мест рисунка. А далее выбирая через random случайный код света, передавать его функции, для отрисовки.

    Update: я пока лишь так, быстро просмотрел PIL, написал пусть и не до конца идеальный, но для начала сойдёт - мини-код. Он берёт из папки уже существующее входное изображение, а на выходе изменённое со случайными цветами.
    from PIL import Image, ImageDraw 
    from random import randint
    import time
    
    image = Image.open('enter-image.png')
    pix = image.load()
    width = image.size[0]
    height = image.size[1]
    draw = ImageDraw.Draw(image)
    
    pixel_id = []
    print(f'Через 3 секунды начнётся анализ картинки. Размеры {width}x{height}')
    time.sleep(3)
    start_time = time.time()
    
    for x in range(width):
    	for y in range(height):
    		print(x, y)
    		if not pix[x,y] in [i[0] for i in pixel_id]:
    			pixel_id.append([pix[x,y], []])
    		pixel_id[[i[0] for i in pixel_id].index(pix[x,y])][1].append((x,y))
    
    for a in pixel_id:
    	color = (randint(0, 255), randint(0, 255) , randint(0, 255))
    	for draw_zone in a[1]:
    		draw.point(draw_zone, color)
    
    print('Проработка изменённой картинки завершена. Начинается сохранение.')
    image.save("output-image.png")
    print(f'Сохранение завершено за {time.time()-start_time}.')

    Если же нужно чтоб какие-то цвета не брало в счёт, можно приделать такую проверку.
    if pix[x,y] not in [(0, 0, 0, 255), (255,255,255, 255)]:
    			if not pix[x,y] in [i[0] for i in pixel_id]:
    				pixel_id.append([pix[x,y], []])
    			pixel_id[[i[0] for i in pixel_id].index(pix[x,y])][1].append((x,y))
    Ответ написан
  • Что нужно иметь и знать в фреймворке React джуну?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Хороший кандидат на должность Junior React Developer, по моему мнению, должен соответствовать следующему перечню требований:
    1. Хорошее знание JavaScript. В React разработке используется ES6 и большинство экспериментальных фич еще не вошедших в стандарт.
    2. Хорошее знание HTML и CSS. Кроссбраузерная верстка. Так же, хорошо иметь представление о том, что такое css-in-js.
    3. Web APIs. Умение работать с объектной моделью документа(DOM) и все эти XMLHttpRequest, localstorage, cookie, history и прочее.
    4. Хорошее знание API React. Вы должны хорошо знать React, знать его возможности, понимать основные концепции и уметь ответить на большинство типовых вопросов. Для этого достаточно хорошо изучить документацию, разобрать пару типовых проектов на github и попрактиковаться. Много полезной информации, приёмов и идей можно подчерпнуть из тематических статей и докладов. Так же, на просторах интернета можно найти подборки типовых вопросов, часто задаваемых на собеседованиях. В англоязычном сегменте их больше.
    5. Redux. Уверенное знание API. API библиотеки до боли пост. Знать, что такое промежуточное ПО и зачем оно. Понимать базовые концепции архитектуры Flux. Все это есть в документации и многочисленных курсах.
    6. Умение работать с менеджером пакетов npm на базовом уровне.
    7. Node.js. Хотя бы уметь написать простейший express/koa сервер, который будет отдавать ваше приложение и статику.
    8. Webpack. Базовые знания.
    9. Умение работать с git. Хотя бы знать и уметь примерять команды: init, clone, add, commit, push, pull, merge, checkout.
    10. Иммутабельность. Четкое понимание зачем это надо. Знание приемов иммутабельного изменения структур данных. Это есть в официальном туториале React.
    11. Статическая типизация TypeScrpt/Flow. Для начала хватит самых основ и способности понимать чужой код.
    12. Функциональное программирование. Хватит знаний полученных в процессе изучения JavaScript, а так же не помешает знать, что такое каррирование, чистые функции и рекурсия.
    13. Базовые концепции ООП. Хватит знаний полученных в рамках изучения JavaScript.
    14. Асинхронный код. Понимать как его правильно организовывать. Promise, async/await.
    15. Сетевые протоколы передачи данных. Вполне хватит базовых знаний о http/https, о том, что такое заголовки и какие они бывают. Хорошо знать о том, что такое websocket.
    16. За плечами должен быть хотя бы один учебный проект на React. Хватит типового тестового задания.
    Примеры таких заданий: 1, 2, 3(сайт может быть не доступен на территории РФ, советую отрыть через VPN и посмотреть), 4, 5. Если подобного проекта у вас нет, то будьте готовы, что потенциальный работодатель предложит вам выполнить тестовое задание и только по его результату вас, может быть, пригласят на техническое интервью. Если напишите хорошо, вас скорей всего пригласят.
    17. Желателен опыт создания типовых UI элементов. Например, чтобы не вызывало трудностей написать простой кастомный чекбокс. Куча примеров реализаций типовых элементов есть на codepen.

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

    Похожий вопрос.
    Ответ написан
  • Как лучше изучить теорию JavaScript?

    maxminimus
    @maxminimus
    просто или ничего
    падавану юному говорить для начала свободно надо на основных языках веб-программирования -
    js css html

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

    учебник Фленагана надо полностью переварить
    и php немного для начала - только основные серверные функции для работы с папками и файлами
    или лучше - изучить api node.js - и делать сервер на js

    js - очень простой язык, проще некуда, «Лисп в шкуре Си»
    и самый кросплатформенный - новичкам самое то
    не забываем принцип KISS - ценим минимализм-простоту-легкость
    без чужих фремворков и библиотек ты получишь максимальную производительность js - в 3-5 раз ниже чем на Си

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

    программирование это решение поставленной задачи -
    сам придумай себе задачу в интересной области и решай ее несколько лет пока учишься

    клиент толстый, сервер тощий -
    сервер используй только для простых функций - чтение-запись данных, сканирование папок, авторизация ...

    офлайн и мобайл фирст -
    надо сразу понять, что мобильный сенсорный экран - это основное средство ввода 21го века
    и что браузер работает в песочнице

    велосипайд фирст -
    чтобы научиться - делать ты должен сам

    просветление неизбежно после этого обретешь
    и настоящим веб-мастером станешь
    или даже джедаем или нинзем, если пребудет с тобой СИла
    три-пять лет для этого надо грызть гранит

    84e114455f594424ab60590ae6da6dea.jpg

    и есть другой путь - темная сторона программирования:
    работа по чужому готовому стандартному шаблону-фреймворку
    бесконечный круговорот в сансаре капиталистической индустрии
    общение с дебилами, психопатами, жуликами, лентяями и тд
    офисное или фриланс страдание
    легкая заменяемость программиста
    вечная доделка-переделка чужого кода
    неспособность делать нужный функционал самостоятельно
    постоянное гугление готовых решений
    депрессия и уныние
    //а самые ленивые становятся верстальщиками-недопрограммистами))

    нормальные программисты делятся на два типа:
    1) инженеры - те кто могут написать шаблон для себя или для других
    2) слесари-монтажники и чесальщики-мотальщики - те кто работают в рамках готового шаблона
    - оба типа нужны, всё зависит от твоих способностей и талантов
    Ответ написан
  • Что отличает freelance программиста от корпоративного?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    Подскажите, что это за стек технологий?

    По опыту своих коллег:
    Потрындеть по 4 часа в день друг с другом, час пить чай/кофе, ещё час материть заказчиков и последний час чтобы написать пару строчек кода.
    Ответ написан
  • Что нужно освоить веб разработчику чтобы облегчить себе жизнь?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    1) Выбрать и настроить IDE. Освоиться в ней.
    2) Научиться работать с системами контроля версий.
    3) Научиться учиться. Выучить английский, научиться пользоваться гуглом.
    4) Научиться писать код.
    5) Научиться дебажить свой код.
    6) Научиться тестированию кода.
    7) Понять, как работает компьютер, сетевой стек, браузер, как устроены базы данных, как работает компиляция. Освоить DevOps.
    8) После 7 пункта уже можно учиться оптимизировать свой код.
    9) Научиться решать задачи, а не тупо писать код. Разобраться, когда и где и как использовать разные технологии,
    10) Научиться работать с людьми. Научиться продавать себя и свой продукт.
    11) Выкинуть хлам из дома.
    12) Старых позвать друзей.
    Ответ написан
  • На чем сделать такое портфолио?

    65536
    @65536
    Если еще и ты сделаешь, то эпоха этих сайтов никогда не закончится! Это же ужас. Все крупно - для дебилов. При том что инфы много. Безумный, ненужный и непредсказуемый скролл во всех направлениях. Какая-то успешная рожа на весь экран. Жму чего-нибудь, жду 15 сек gyazo.com/05c04fc78d40abd1be6ef7f320bd81e6. Вот просто одна открытая вкладка в браузере, никаких действий gyazo.com/98bbd848522ad5fe2298085021c1e405

    Дизайн призван решать проблемы, а не создавать. Это может быть и красиво минимал цвета картинки все дела, но сделано непонятно кем и для кого. Лепнина плагинами на вордпресе
    Ответ написан
  • WebAssembly заменит JS?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    www.2ality.com/2015/06/web-assembly.html - 3 пункт. Акселю можно верить, он крутой.
    Ответ написан
  • Как стать верстальщиком в краткие сроки?

    Denormalization
    @Denormalization
    Тут https://www.youtube.com/channel/UC7enHM_oJRYJOnyJr... очень много видео по верстке. С нуля и до готового результата. Так же освещают livereload, препроцессоры и т.д.
    Ответ написан
  • Где найти учителя-наставника в веб-разработке?

    dadster
    @dadster
    учить инглиш тут - https://t.me/langhacks
    Можно я побуду экстрасенсом?
    Так вот, я смотрю в свой опупенный магический шар, и вижу что нихрена у вас не сложится с наставником. Потому что ты не знаешь, что от него конкретно хочешь, а он не знает, что тебе надо. И никто никому ничем не обязан.

    Учеба идет там, где есть реальные задачи и реальный интерес, и есть три варианта:
    1) Тебя это реально прет - тогда тебе не нужны никакие наставники, ты днями напролет фигачишь, отвлекаясь на сон и туалет, и через полгода у тебя такое портфолио, что с руками отрывают на работу.
    2) Ты кому-то платишь за то, чтобы тебя учили. Например, идешь на курсы типа лофтблога или Htmlacademy и т.п. Там будет четкая программа, а люди замотивированны деньгами тебя по ней провести.
    3) Ты идешь работать в веб-студию, и тебя там учат и еще тебе за это и платят. Тут тоже никуда не денешься, развитие будет. В любой момент можно будет перескочить в любую студию либо на фриланс.

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

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    23 года? И столько тлена в словах? Ну ловите мою кулстори, у меня тлена в 23 было куда больше...
    Чуть менее двух лет назад, летом 2013, мне было 23, и я имел НОЛЬ опыта работы (если не считать 2 месяца стажерства в магазине комп техники по практике от универа). Кое-как устроился seo-шником в местную веб-студию, даже не зная что это за работа, во время отправления резюме (гуглил после уже). Конечно, как только приступил к работе, сразу понял что seo это не мое, но это помогло мне через 3 месяца на том же месте стать веб-джуниором. И вот я стал джуном, имея за плечами 4 курса на codecademy и одну, плохо прочитанную, книгу. С космической зп в 12к рублей! Через 5 месяцев я уже приступил к работе по удаленке с другими людьми, где платили 30к, и при этом можно было работать по 15-25 часов в неделю. Это позволило мне читать все интернеты на тему фронтенда, а потом, самое важное, пилить демки на кодпене, засиживаясь до ночи. В марте уволился, отдохнул, и в апреле начал очень лениво заполнять профили на зарубежных фриланс биржах. А потом на меня внезапно свалилось подобие сарафана из-за моих демок, и люди просто стали писать мне с предложением что-нибудь запилить, хотя профили я так и не запилил на биржах. Сейчас пилю 2 проекта, с рейтом в 30$/h, для клиентов пустяковая цифра, а для моего Архангельска это вообще какой-то криминал :)
    Ну а вам, с вашим имеющимся бэкграундом, вообще не знаю чего бояться. Проблемы могут быть, только если окажется что программирование это "не ваше". Если же вы любите это дело, то просто садитесь, и начинайте пахать. В первую очередь на свое саморазвитие, поначалу я бы даже посоветовал искать что-то с удобным графиком/местом работы, ибо "неудобная" офисная жизнь убивает весь энтузиазм как правило. А без энтузиазма на старте никуда не уехать.
    Ответ написан
  • Как сверстать дерево комментариев?

    llgruff
    @llgruff
    PHP в прошлом, сейчас Scala. Не зовите меня на WP.
    Хороший пример pikabu.
    26a830e83ec049069bf56cc2fa2e7a6f.PNG
    Ответ написан
  • Что учить, не могу определиться!?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    идите постепенно, вещи вроде Angular и React намного проще изучить когда у вас уже есть определенный уровень в JS, а именно четкое понимание базовых концепций. А так это будет просто тыканье на месте и не продуктивно потраченное время.

    Берусь за jquery, json, sass,lessи ничего толком выучить не могу

    Учить JSON? бред. Осоздайте необходимость появления форматов типа JSON/XML/etc. Целенаправленно учить less/sass, то же не ок. Учите CSS (less/sass/postcss это лишь инструменты которые позволяют вам более грамотно организовать ваш код), и не в плане свойства/селекторы, а в плане подходов к верстке (БЭМ, MCSS и т.д.). Ну и да, заучите что такое DRY и почему вообще возникла необходимость в инструментах типа less/sass.

    ajax

    Не изучайте AJAX, изучайте HTTP. Тогда будет проще отделить реализацию от общей концепции. Хватит бездумно говорить "сделаю AJAX запрос", давайте говорить "сделаю HTTP запрос".

    короче направление простое - когда у вас будет более мение стабильный фундамент - то можно приступать к более высокоуровневым вещам.
    Ответ написан
  • Web - студия в 2015году?

    Где-то на хабре товарищ рассказывал, что это не прибыльно и делать на этом бизнес ради денег - не очень хорошая идея. Советовал интернет-магазины.

    Мое мнение - чтобы выжить, студии придется делать накрутку на свои услуги, продавая их дороже среднерыночных (зп, налоги надо платить). И это ожидаемо убьет большую часть клиентуры, особенно если у вас работают не студенты, готовые работать за знания. Гораздо лучше работать в свободной форме, деля с дизайнером \ программистом \ etc прибыль от каждого проекта.
    Ответ написан
  • Есть ли такие ресурсы на которых разбирают базовые проблемы вёрстки?

    @President42
    Как делается сетка: тыц, тыщ, тыдыщь

    Как делается меню: раз, два, три

    SVG: адын, два, три, четыре

    Parallax: вот, и вот, и ещё вот. И вот тут почти Parallax, думаю тоже пригодится

    Бонус:
    • JavaScript Garden -- тонкости JavaScript
    • Learn X in Y minutes -- краткие туториалы по куче языков (там и JS, и CSS и много чего ещё есть), некоторые с русским переводом (но не все)
    • Material Design -- гайдлайн по Material Design
    • PrimerCSS -- стайлгайд Github + их CSS фреймворк
    Ответ написан
  • Выбор между JS и PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега PHP
    неужели так трудно самостоятельно сделать выбор?
    Если ты больше визуал, тебе интереснее то, как вещь выглядит, а не как она работает - то клиентское программирование.
    Если аналитический склад ума, ты понимаешь логику и причинно-следственные связи - то серверное.
    Ответ написан
  • Какой движок выучить для фриланса?

    nazarpc
    @nazarpc
    Open Source enthusiast
    1) Посмотрите на биржах фриланса чего просят (правда логично?)
    2) Введите в поиске тостера CMS, посмотрите первых 10 ответов, отсортируйте названия упоминаемых движков по количеству упоминаний (правда элементарно?)

    Будьте хоть минимально самостоятельными, надоели дебильные вопросы каждый день.
    Ответ написан
  • Что почитать для мотивации?

    opium
    @opium
    Просто люблю качественно работать
    Не постесняюсь написать
    Почитайте мой блог pumainthailand.com
    Ответ написан