Size: a a a

Библиотека программиста

2020 April 28
Библиотека программиста
Задумываетесь о смене специальности?
11 мая в HTML Academy стартует онлайн-курс «Профессия «Фронтенд-разработчик»:
6 месяцев обучения и живых лекций, 27 часов голосовых консультаций с наставником. В конце – стажировка и гарантированное трудоустройство.

30 апреля, в 13:00 ребята проведут лайв и расскажут:
– Где и как выучиться на фронтендера без лишних трат времени;
– Что надо уметь в 2020 году для приглашения на работу;
– Как написать резюме, пройти собеседование и выполнить тестовое задание.
источник
Библиотека программиста
​​#tools

BuildWith
#tools

BuildWith

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

Расширение для Google Chrome
Расширение для Firefox
источник
2020 April 29
Библиотека программиста
​​Как правильно использовать анимацию в дизайне интерфейсов

Ключевые принципы создания пользовательских интерфейсов для различных платформ. 28 превосходных анимированных иллюстраций-сравнений: как нужно делать и как делать нельзя.

https://proglib.io/sh/gChnTScdoj
источник
2020 April 30
Библиотека программиста
#fundamental #patterns #cheatsheet

📌 Посредник (англ. Mediator) — поведенческий паттерн, позволяющий свести к минимуму связанность множества классов между собой посредством перемещения этих связей в один класс-посредник.

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

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

Паттерн применяется, когда:
✔️Сложно менять некоторые классы из-за того, что они имеют множество хаотичных связей с другими классами.
✔️Нет возможности повторно использовать класс, поскольку он зависит от большого количества других классов.
✔️Приходится создавать множество подклассов компонентов, чтобы использовать одни и те же компоненты в разных контекстах.
источник
2020 May 01
Библиотека программиста
​​Наша работа над Proglib. Апрель 2020

В конце каждого месяца мы рассказываем о работе над proglib.io, проведённой за этот период. Лучшие материалы за апрель и описание нововведений: тёмная тема, авторизация через Telegram, интерактивные статьи.

https://proglib.io/sh/NZyIg0UX8P
источник
Библиотека программиста
За два года спрос на профи в Data Science вырос вдвое. По сведениям hh дата-сайентисты получают от 100 тыс. руб./мес. Но обычно знания приходится собирать по крупицам. К счастью, Geekbrains подготовили курс по машинному обучению:

💎 65 часов контента с практикой к каждому занятию,
💎 30 онлайн-уроков с живыми преподавателями,
💎 5 проектов – всё по-взрослому.

Курс длится 5 месяцев, занятия ведут дата-сайентисты, работающие в крупных компаниях. Подробнее: https://proglib.io/w/31fa3dfd
источник
Библиотека программиста
Какие вы цели ставите перед собой в карьерном плане? Есть ли среди них трудоустройство в крупную зарубежную IT-компанию? Или вы столкнулись с проблемой, как и автор статьи, заключающейся в прохождении сложных собеседований, и это стало барьером для вас.

Радует то, что у автора статьи всё получилось, и своим опытом она делится в статье. Обо всех подводных камнях прохождения собеседований в FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные) в статье: https://proglib.io/w/0b3e6144
источник
2020 May 02
Библиотека программиста
Мы теперь есть в Яндекс.Мессенджере. Присоединяйтесь:

https://yandex.ru/chat/#/join/627c55a9-89c7-4d27-86ed-287d33a5ce7d
источник
Библиотека программиста
Как с помощью Flutter достичь адаптивности приложений

Показываем на примерах Dart-кода, как в Flutter реализовать кроссплатформенный адаптивный дизайн для смартфонов, планшетов и больших экранов.

https://proglib.io/sh/YdCyARNm06
источник
2020 May 03
Библиотека программиста
​​70 YouTube-каналов для фронтенд-разработчика

Подборка YouTube-каналов, плейлистов и подкастов, посвящённых фронтенду: вёрстка, JS, библиотеки и фреймворки, уроки и скринкасты, доклады на конференциях и записи встреч локальных сообществ. Приятного просмотра!

https://proglib.io/sh/jDIsKbMWxa
источник
2020 May 04
Библиотека программиста
Имеются монеты достоинством 1, 2, 5, 10, 25, 50 копеек. Нужно представить определенную сумму с помощью наименьшего количества монет. Какой алгоритм предпочтительнее всего использовать?
Анонимный опрос
21%
Динамическое программирование
50%
"Жадный" алгоритм
15%
С помощью чисел Фибоначчи
15%
Ни один из вышеперечисленных
Проголосовало: 3261
источник
Библиотека программиста
Правильный ответ: "жадный" алгоритм.

Алгоритмы, предназначенные для решения задач оптимизации, обычно представляют собой последовательность шагов, на каждом из которых предоставляется некоторое множество выборов. Определение наилучшего выбора, руководствуясь принципами динамического программирования, во многих задачах оптимизации напоминает стрельбу из пушки по воробьям. Другими словами, для этих задач лучше подходят более простые и эффективные алгоритмы. Поскольку "жадный" алгоритм дает для этого набора монет оптимальное решение, то нет смысла использовать динамическое программирование или числа Фибоначчи.
источник
2020 May 05
Библиотека программиста
​​📕 25 лучших книг для программистов

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

https://proglib.io/sh/hwx5MziQen
источник
Библиотека программиста
Гиперграф — это обобщённый вид графа, ... ?
Анонимная викторина
12%
в котором вершины могут быть инцидентными, не соединяясь при этом ребром
52%
в котором каждым ребром могут соединяться не только две вершины, но и любые подмножества вершин
23%
который содержит одновременно ориентированные и неориентированные ребра
13%
указанные ответы неверны
Проголосовало: 2159
источник
2020 May 06
Библиотека программиста
Математически гиперграф представляет из себя обобщение графа, в котором каждым ребром могут соединяться не только две вершины, но и любые подмножества вершин.

Если более подробно, то он представляет собой пару (V,E), где V — непустое множество объектов некоторой природы, называемых вершинами гиперграфа, а E — семейство непустых (необязательно различных) подмножеств множества V, называемых рёбрами гиперграфа.

Формально гиперграф — пара, где находится множество элементов, называемых узлами или вершинами, и представляет собой набор непустых подмножеств, называемых гиперребрами или ребрами.
источник
Библиотека программиста
​​Секреты создания производительных веб-приложений на Express.js

Как структурировать веб-приложение на Express.js, повысить его производительность и надёжность, в том числе с помощью DevOps-инструментов, балансировки нагрузки и обратного прокси 🚂 →🚅

https://proglib.io/sh/eN1moZIVxd
источник
Библиотека программиста
Какую задачу позволяет решить алгоритм Дейкстры?
Анонимная викторина
6%
Формирует матрицу достижимости для каждой вершины
23%
Осуществляет обход графа, при этом проходит по каждой из вершин исключительно один раз
56%
Находит кратчайшее расстояние из заданной вершины во все остальные
3%
Нет правильного ответа
13%
Не знаю
Проголосовало: 3843
источник
2020 May 07
Библиотека программиста
Алгоритм Дейкстры находит кратчайшее расстояние из заданной вершины во все остальные. Если более развернуто, то он находит оптимальные маршруты и их длину между одной конкретной вершиной (источником) и всеми остальными вершинами графа, при этом, если заданная вершина встретится раньше, алгоритм прекратит работу и не будет искать дальнейших путей. Недостаток данного алгоритма в том, что он будет некорректно работать, если граф имеет дуги отрицательного веса.
источник
Библиотека программиста
Что верно о NP-полных задачах?
Анонимная викторина
54%
Для их решения в настоящий момент не разработаны алгоритмы с полиномиальным временем работы
8%
Для них не существует алгоритмов решения
10%
Их невозможно реализовать на классическом компьютере
7%
Они относятся к задачам по теории чисел
5%
Нет правильного ответа
17%
Не знаю
Проголосовало: 2319
источник
Библиотека программиста
Большинство специалистов полагают, что NP-полные (Non-deterministic Polynomial time) задачи нельзя решить за полиномиальное время.

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

Зачем программисту знать о NP-полных задачах? Если для некоторой задачи удается доказать ее NP-полноту, есть основания считать ее практически неразрешимой. В этом случае лучше потратить время на построение приближенного алгоритма, чем продолжать искать быстрый алгоритм, решающий ее точно.
источник