Сообщество - Лига программистов
Добавить пост

Лига программистов

370 постов 6 359 подписчиков
10

Управление ЦАПом через шину I2C

Приветствую! Прошу помощи в освоении управления ЦАПом. Пытаюсь разобраться с даташитом на ЦАП Sabre ES9038Q2M, и там львиную долю инфы занимают непонятные для меня регистры. Если я правильно понял, то это команды для включения разных функций ЦАПа.

Вот, например, картинка:

Управление ЦАПом через шину I2C Цап, Dac

Допустим, какую команду мне нужно дать, как она должна выглядеть?

Например: automute config 2’b00 либо 2’b01 или дальше по списку, в зависимости от того, что мне надо?

Или так: [7:6] 2’b00? Просто копировать - вставить то,что написано в даташите?

Что означают эти [7:6], 2’b00? Для меня это китайская азбука. Не понимаю, с чего вообще начинать, чтобы в этом разобраться

Или это не то, и я вообще ничего не понял?

Прошу тапками сильно не бросаться, я полный чайник. Объясните, пожалуйста, кто в теме. Спасибо за внимание.

Показать полностью 1
18

Я знаю, чего я хочу! Ну так, приблизительно... Какие есть книги, сайты по программированию и автоматизации действий

Привет, пикабушникам-волшебникам! Умеющим делать из непонятных буковок чудеса!


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

Но в данный момент снизошло озарение и возникла конкретная и понятная потребность — автоматизация действий. Голоса в голове и за ее пределами подсказывают, что без красноглазия никак. Вот решил потихоньку пока начать собирать информацию. Короче говоря, помогите люди добрые кто чем может:)


Вопрос вот в чем.

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

Пример, есть биржа Вебмани https://exchanger.money/cards/home



Там, чтобы разместить заявку нажать 100 кнопок, которые можно бы и не нажимать (что-то типа "разместить заявку, а потом "вы уверены, что хотите разместить заявку". А если кто-то перебьет твой курс, то свои значения редактировать надо. Если надо отойти, то заявку надо снимать (а то человек возьмет и будет тебя ждать), а потом размещать... Вы, наверно это читать устали, а эти все изменения надо ручками вносить...

О, а еще, хочу научиться парсеры писать — чтобы нужную инфу с сайтов извлекать. На уже приведенной бирже нет нормально фильтра собственных заявок. Может включить фильтрацию либо по сумме, либо по времени, либо по курсу. либо по валюте. Но вместе  никак, то есть даже не посмотреть, какие заявки у тебя есть. Для этого постоянно надо нажимать "следющая страница". Вот как бы свои заявки в эксель перенести и отсортировать.


В связи с изложенным у меня есть несколько вопросов))

1. Какие книги почитать для общего понимания, что есть программирования (какие направления, какие особенности, какие языки для чего нужны)

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

3. Какие языки программирования для этих задач подойдут, какие книги по ним почитать.

4. Какие есть ресурсы, где помогут с различными вопросами. Желательно русскоязычные тоже, с английским плохова-то...

5. С чего вообще начать, чтобы вот "прям щас" написать примитивный скрипт для автоматизации.



Подозреваю, что в Лиге программистов есть те, кто умеет программировать. А также догадываюсь,, что вы с чего-то начинали. Прошу немного поделиться опытом, по возможности с толикой конкретики: какие конкретно свои действия и прочитанные книги вы считаете полезными для начинающего нуля)

Не знаю как с логикой, но с Капитанством у меня нормально, да :)

Показать полностью
342

Как я в десять раз ускорил работу таблицы Google одной строкой CSS

Наша компания использует Google Search Console для проверки статуса индексации и оптимизации видимости наших веб-сайтов. Также в консоли можно проверить, какие внешние веб-сайты ссылаются на вашу страницу. Однажды я просматривал страницу «Top linking sites» и заметил сильное торможение скроллинга. Оно происходило, когда я выбирал отображение большого массива данных (500 строк) вместо стандартных 10 результатов.

Как я в десять раз ускорил работу таблицы Google одной строкой CSS Frontend, Производительность, Тестирование, Скроллинг, CSS, Google, Длиннопост

Раздел «Top linking sites» в Google Search Console, 500 строк на страницу


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


Этап 1 — Запись профиля производительности


В подобных случаях невероятно полезны профили производительности: часто бывает достаточно посмотреть отчёт, чтобы понять, почему какой-то элемент имеет низкую производительность. Я открыл DevTools / Performance и начал запись, немного прокрутил список вниз, а затем остановил запись. И вот что я увидел:

Как я в десять раз ускорил работу таблицы Google одной строкой CSS Frontend, Производительность, Тестирование, Скроллинг, CSS, Google, Длиннопост

Профиль производительности скроллинга таблицы данных «Top linking sites», очень низкий FPS


Эти красные треугольники в блоках «Task» дают нам понять, что при скроллинге какие-то операции занимают больше времени, чем это приемлемо. Обычно для достижения идеального скроллинга в 60 FPS мы стремимся, чтобы эти блоки выполнялись менее чем за 16 мс. На показанном выше изображении блоки с красными треугольниками в среднем выполняются примерно 150 мс, что приводит приблизительно к 6–7 FPS. Да ладно, Google, ты ведь способен на большее!


Этап 2 — Разбираемся в причинах


Шкала времени наверху показывает, насколько занят CPU различными видами задач: оранжевый цвет — это JavaScript, фиолетовый — это структура и стили, а зелёный — отрисовка. Здесь всё фиолетовое, то есть проблема не в JavaScript, а в DOM/стилизации:

Как я в десять раз ускорил работу таблицы Google одной строкой CSS Frontend, Производительность, Тестирование, Скроллинг, CSS, Google, Длиннопост

График показывает, что CPU занят обработкой структуры


Это подтверждается каскадным графиком под графиком CPU. В нём используются те же цветовые обозначения и в большинстве записей присутствует много оранжевого и немного меньше фиолетового и зелёного. В нашей записи видно, что время в основном тратится на обновление слоёв, это видно по тексту в фиолетовых блоках, гласящему Update layer tree:

Как я в десять раз ускорил работу таблицы Google одной строкой CSS Frontend, Производительность, Тестирование, Скроллинг, CSS, Google, Длиннопост

На каскадном графике видено, что скроллинг тормозит из-за «Update layer tree»


Слои создаются для скроллящегося контента, переводного контента и так далее. Возможно, их очень много? Давайте выясним!


Этап 3 — Изучаем слои


В Chrome DevTools содержится впечатляющее количество полезных инструментов, но некоторые из них найти довольно сложно. Одним из таких скрытых сокровищ является панель Layers; чтобы найти её, нужно нажать кнопку меню в DevTools и выбрать More tools / Layers. В моём случае это выглядит так:

Как я в десять раз ускорил работу таблицы Google одной строкой CSS Frontend, Производительность, Тестирование, Скроллинг, CSS, Google, Длиннопост

Панель «Layers» в Chrome DevTools; слой заполнен кучей контента


Слоёв не очень много, но есть парочка огромных. Похоже, в них куча контента, и это приводит нас к выводу о том, что используемый Google datagrid не применяет виртуализированный рендеринг. Частично это объясняет причины торможения, но 500 строк — это всё равно не очень много. Должно быть что-то ещё…


Этап 4 — Изучаем DOM


К сожалению, DOM не особо производителен, когда содержит много элементов. Если бы он был производительным, техники виртуализации, реализованные в различных популярных в вебе data grids на JS, не потребовались бы. На данном этапе мы можем предположить, что таблица рендерит много элементов. Создав Live expression в DevTools Console, вы можете пощёлкать по панели элементов и выяснить это. Переключимся на Console, нажмём на кнопку Create live expression (глаз) и введём $0.querySelectorAll('*').length.


Теперь нажимая на панель Elements, мы видим следующее, сначала для всей таблицы:

Как я в десять раз ускорил работу таблицы Google одной строкой CSS Frontend, Производительность, Тестирование, Скроллинг, CSS, Google, Длиннопост

Live expression демонстрирует количество элементов-потомков для выбранного элемента


Как мы видим, для отображения всего 500 строк он создаёт больше 16 тысяч элементов DOM, что немного излишне. Нажав на тело документа, мы увидим следующее:

Как я в десять раз ускорил работу таблицы Google одной строкой CSS Frontend, Производительность, Тестирование, Скроллинг, CSS, Google, Длиннопост

Куча элементов!


Вся страница содержит больше 38 тысяч (!) элементов, а так быстрое приложение не пишут! Очевидно, что ситуацию можно было бы улучшить, использовав data grid с виртуализированным рендерингом, но давайте посмотрим, можно ли сделать что-то меньшими усилиями.


Этап 5 — Улучшаем ситуацию


Учитывая данные в профиле производительности, я подозреваю, что структура всей страницы создаётся при скроллинге таблицы. А создание структуры такого количества элементов — это затратная операция. Если бы был какой-то способ ограничения её влияния…


Хорошие новости — он существует! Я попробовал применить один тайный рецепт, снова поскроллил, и теперь ситуация стала гораздо лучше. И это чётко видно из следующего профиля производительности:

Как я в десять раз ускорил работу таблицы Google одной строкой CSS Frontend, Производительность, Тестирование, Скроллинг, CSS, Google, Длиннопост

Скроллинг сильно улучшился!


Каждый кадр теперь занимает примерно 16 мс, и мы скроллим почти на 60 FPS вместо 6–7. Потрясающе!


Что же я сделал? Просто добавил одну строку CSS в <table> на панели Elements, указав, что таблица не должна влиять на структуру или стили других элементов страницы:

Как я в десять раз ускорил работу таблицы Google одной строкой CSS Frontend, Производительность, Тестирование, Скроллинг, CSS, Google, Длиннопост

Вот так:

Как я в десять раз ускорил работу таблицы Google одной строкой CSS Frontend, Производительность, Тестирование, Скроллинг, CSS, Google, Длиннопост

Вот и всё, десятикратное увеличение скорости благодаря одной строке CSS. Вы можете попробовать «починить» свою Google Search Console.


Подробнее о CSS-свойстве contain можно узнать в MDN.

Автор оригинала: Johan Isaksson

Перевод: https://habr.com/ru/company/timeweb/blog/593003/

Показать полностью 9
41

Что тут не так?

Что тут не так? Программирование, Java
Показать полностью 1
1061

Перевел интерактивные уроки "Базовый курс CSS" и "Базовый курс JavaScript"

Предыдущий топик Перевел интерактивные уроки "Базовый курс HTML" оказался довольно положительно воспринят пикабушниками (на самом деле сильно положительней, чем я ожидал), и это меня довольно сильно простимулировало на скорейший перевод еще двух курсов: Базовый CSS (44 урока) и Базовый JavaScript (107 уроков). Работы оказалось сильно больше, чем я предполагал, но и ценность материала на выходе сильно больше (не только исправил множество неточностей, но и дополнил своими комментариями).


Осталось перевести курс по ECMAScript 6 и можно будет перейти к самому главному: курс по React. Планирую сделать это на следующей неделе.


Всем приятной бесплатной учебы!

817

Почему Авито постоянно ищет программистов?

Работаю айтишником. Постоянно в течение многих лет каждую неделю стабильно получаю по несколько предложений от рекрутеров авито, зовут к себе работать. Не иду, так как на нынешней работе всё устраивает. Не понимаю, почему у них постоянно потребность в кадрах, куда им столько народа, почему туда постоянный набор? Туда берут только лучших из лучших из лучших?? Такая же тема со сбербанком и деливери клаб. Знающие люди, кто там работал или кто в теме, объясните пожалуйста! 

1494

Перевел интерактивные уроки "Базовый курс HTML"

Материал для новичков, кто хочет освоить HTML. Здесь есть около 30 интерактивных уроков, переведенных на русский: https://freecode.academy/learn/sections/ck4h36qjt0hoq0782jj6...


То есть это не просто теория, но и сразу выполнение заданий.


P.S. на самом деле там много и уроков и по другим разделам веб-разработки, но они пока в процессе перевода. О их готовности буду сообщать отдельно. А вообще уроки взяты с https://www.freecodecamp.org/, но перевод там машинный, так что часто вообще полная дичь. Без ручного перевода будет не обойтись.

212

Ответ на пост «Перевел интерактивные уроки "Базовый курс CSS" и "Базовый курс JavaScript"» 

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

А решил я создать сайт с интерактивными курсами по программированию.
На текущий момент уже созданы курсы :
Базовый HTML,  (источник freecodecamp, планируется пополняться и расширяться)

Базовый CSS (источник freecodecamp)

Прикладной визуальный дизайн - дополнение к курсу по CSS (источник freecodecamp. Название курса может быть не совсем корректное)

Базовый курс по php - интерактивный курс по php, сборная солянка со всего интернета.
Дабы не спамить ссылками на все курсы - есть еще курс по JS, в разработке курс по SQL и базам данных.
Прекрасно понимаю, что сайт еще достаточно сырой, есть куча недоработок и багов. К сожалению разработка и наполнение ведется в одно лицо.

В планах сделать интерактивные курсы по питону.
Что из недостатков по сайту вижу сейчас:

- курс по sql - решил сделать озвучку видео при помощи голосовых апи (специальный сервис). Звучит немного убого. В будущем хочу перезалить/перезаписть

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

- не весь функционал реализован до конца

- некоторые курсы (в частности JS) содержат не совсем актуальную информацию. По JS в будущем хочу сделать отдельный курс по ES6 (либо актуальному на момент создания стандарту)


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

Если будет интересно - могу сделать пару постов о том, как реализовал тот или иной тренажер.

P.S. - За внешний вид просьба не ругать, т.к. я чистый бэк и во фронт почти не умею.  Верстка найдена на просторах интернета и адаптирована под свои нужды


Да прибудут с Вами знания

Ответ на пост «Перевел интерактивные уроки "Базовый курс CSS" и "Базовый курс JavaScript"» Программирование, Самообразование, HTML, Основы HTML, Карьера, Языки программирования, PHP, Ответ на пост, Курсы, Курсы программирования, CSS
Показать полностью 1
44

Легла в направлении своей мечты

Легла в направлении своей мечты Программирование, Csharp, Gamedev, Совет, Длиннопост

Пост 1.


С чего бы начать, с чего бы начать. Наверное, начну с поста, только не со своего. Полтора года назад, наткнулась я на один пост на Пикабу, где парень писал, как он решил стать программистом, а именно веб-разработчиком, он писал каждую неделю о том сколько он прошёл, что изучил, ну и что вообще для этого делал. Мне как человеку которого интересует эта сфера ( я вообще про IT, а не только про веб разработку) было очень интересно читать его еженедельные, а затем и ежемесячные отчеты. Я решила, что это очень полезно, писать о том, сколько ты прошёл за неделю, так и весь твой прогресс виден перед глазами, плюс знающие люди могут помочь советом.


Я очень люблю игры, настольные, видео, и имеется у меня одна мечта — это создавать видео игры, тут хочу уточнить, что создавать я бы хотела не как геймдизайнер или левелдизайнер и не рисовать окружение, спрайты и т.д. А именно программировать их. После изучения различных движков, решила, что для меня идеально подойдёт Unity и соответственно C#. До этого изучала Python (правда поработать на нем не удалось, ну и ладно), наверное, благодаря этому многие моменты мне пока понятны. Хотя начало всегда легкое. Я не буду описывать какое сильное у меня желание попасть геймдев, просто скажу, что 11 из 10.


Что я нашла для своего обучения:


Курсы на Udemy:

• Курс программирование на С# от новичка до специалиста - прохожу сейчас.

• Курс по Unity. Создание 2D платформера – буду проходить после курсов С#.

• Complete C# Unity Game Developer 2D – возьмусь после прохождения курсов описанных выше.

Нашла сайт с задачами для начинающих по C#, так как считаю, что с помощью задач, хорошо закрепляются пройденные материалы, плюс узнаёшь что-то новое.


Книги:

• С# для чайников - читаю сейчас.

• Unity и C# Геймдев от идеи до реализации, 2-е издание.

• Геймдизайн, как создать игру, в которую будут играть все.

• «Новый уровень!» Руководство по геймдизайну.

• Проектирование виртуальных миров. Теория и практика дизайна уровней.

• Кровь пот и пиксели – книгу уже прочитала, очень она понравилась, хорошо снимает розовые очки, что в игровой индустрии всё гладко и хорошо показывает, как много бывает кранча при создании игр.


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

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


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


Если вы знаете, чем можно дополнить мою программу, какими ни будь курсами или книгами, буду очень благодарна. Да, платные курсы я не рассматриваю, решила всё осилить своими силами. Так как многие не понятные мне вещи, можно нагуглить или посмотреть видео на ютубе которое всё объяснит.


Вроде бы всё. Через неделю поделюсь своими результатами.


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

Показать полностью
29

Программирование, как хобби. Какой язык учить?

Всем привет.

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

Я хочу научиться программировать и очень интересно почитать мнения опытных в этом вопросе людей.


30 лет, ИПшник. ИП не связанное с программированием или IT вообще никак. Есть некоторое количество свободного времени в течение рабочего дня, которое хочу занять учёбой.

В детстве меня сильно увлекали компьютеры, устанавливал систему себе и всем знакомым.  Сдавал информатику, как экзамен в 9 классе. В общем, долгое время меня эта тема интересовала, все думали, что пойду учиться или на программиста или на что-то, связанное с компьютерами.


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

Программирование, как хобби. Какой язык учить? Языки программирования, Программирование, Учеба, IT, Java, Длиннопост

Так вот. Попались мне на ютубе разные гайды по программированию для чайников. И некоторые уроки показались занятным, я стал читать про одно, другое, третье. Столько всего интересного, и я вообще ничего в этом не понимаю. Словом, полный чайник.

Программирование, как хобби. Какой язык учить? Языки программирования, Программирование, Учеба, IT, Java, Длиннопост

Я начал читать про разные языки программирования и где они применяются. Много терминов, разной степени непонятности. Но если правильно уяснил, то в ОЧЕНЬ упрощённом виде как-то так:


Java - enterprise и android (enterprise это, вроде, разработка и поддержка крупных приложений для крупного бизнеса).

Python - data science и, вроде, написание скриптов, а если python+jango, то это сайты. Пайтон везде рекомендуется, как самый простой и востребованный на сегодня язык.

Javascript - frontend (то, что видит пользователь на экране).

PHP - создание сайтов.

Программирование, как хобби. Какой язык учить? Языки программирования, Программирование, Учеба, IT, Java, Длиннопост

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

Помню, что там объявлялись переменные  таким образом (только что утащил картинку из гугла):

Программирование, как хобби. Какой язык учить? Языки программирования, Программирование, Учеба, IT, Java, Длиннопост

И что-то подобное я увидел в Java, где переменные объявляются почти также:

Программирование, как хобби. Какой язык учить? Языки программирования, Программирование, Учеба, IT, Java, Длиннопост

То есть, я увидел что-то знакомое, привычное и мне оно показалось более комфортным. Кажется, это называется статические переменные, в отличие от, например, динамических в Python.

Я быстро проглядел синтаксис Java показался мне на глаз приятнее, чем синтаксис Python, хоть и более громоздким.


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

Программирование, как хобби. Какой язык учить? Языки программирования, Программирование, Учеба, IT, Java, Длиннопост

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


Спасибо Вам большое, если дочитали.

Показать полностью 6
Мои подписки
Подписывайтесь на интересные вам теги, сообщества,
пользователей — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.
Отличная работа, все прочитано!