Pull to refresh
-17
0

Пользователь

Send message

Тотальный JavaScript: изучаем JS с акцентом на практической составляющей

Reading time3 min
Views12K


Доброго времени суток, друзья!

Когда речь заходит об изучении JavaScript, будь то первое знакомство с языком или углубление имеющихся знаний, найти в «интернетах» теоретические материалы не составляет особого труда. Мой топ-5:


Однако, когда дело касается практических аспектов JavaScript, информацию приходится собирать буквально по крупицам. Собственно, этим я и занимался на протяжении последних 4-5 месяцев.

Предлагаю вашему вниманию «Тотальный JavaScript».

Вот что вы найдете в этом репозитории:
Читать дальше →
Total votes 5: ↑4 and ↓1+5
Comments3

Настройка UEFI-загрузчика. Самое краткое руководство в мире

Reading time6 min
Views564K

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?


Я обещал "самое краткое руководство". Вот оно:


  1. Создаём на диске таблицу разделов GPT
  2. Создаём FAT32-раздел на пару сотен мегабайт
  3. Скачиваем из интернета любой UEFI-загрузчик
    (нам нужен сам загрузчик, это один бинарный файл!)
  4. Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
  5. Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
    (настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете)
  6. После перезагрузки видим меню загрузчика
    (Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)

TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному "пути по-умолчанию", где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается

Читать дальше →
Total votes 52: ↑46 and ↓6+40
Comments99

Трюк с XOR для собеседований и не только

Reading time8 min
Views118K


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

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

Дан массив из n — 1 целых чисел, находящихся в интервале от 1 до n. Все числа встречаются только один раз, за исключением одного числа, которого нет. Найдите отсутствующее число.

Разумеется, существует множество прямолинейных способов решения этой задачи, однако есть и довольно неожиданный, в котором применяется XOR.
Читать дальше →
Total votes 76: ↑70 and ↓6+80
Comments104

Библиотека Frontend-разработчика, часть 3: Литература уровня «Middle» и выше

Reading time5 min
Views23K

Явление деления разработчиков на уровни очень распространено. Даже в вакансиях чаще всего пишут не просто "Frontend-разработчик", а более развернуто - "Junior/Middle/Senior/${место для вашей должности} Frontend-разработчик". Для чего? С помощью такого деления легче делегировать задачи в команде. У каждого разработчика своя особая матрица компетенций, свои навыки, которые он оттачивал месяцами, а то и годами. С помощью такого деления процесс разработки ускоряется в разы.


Вообще на рынке (я смотрю на рынок стран СНГ) по состоянию на начало 2021 года среди Frontend-разработчиков имеют место быть такие должности (от низкого уровня, к наивысшему и без привязки к инструментам/библиотекам)

Ну, удиви
Total votes 6: ↑6 and ↓0+6
Comments4

Лучшее в мире видео-объяснение нейронных сетей, глубокого обучения, градиентного спуска и обратного распространения

Reading time1 min
Views57K
image

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

Из комментариев к прошлым публикациям мне стало понятно, что есть большое количество людей, кто не знает про канал, поэтому хочу поделиться четырьмя видео (+ русские субтитры и дубляж) и сэкономить время школьникам, родителям и учителям, чтобы они могли иметь быстрый доступ к самому интересному и качественному объяснению одной из самых важных тем современности.
Total votes 51: ↑47 and ↓4+57
Comments24

Четыре приема быстрой разработки на Unity3D

Reading time7 min
Views8.1K

Уже долгое время Unity3D — мой любимый инструмент разработки игр, которым я пользуюсь уже более 8 лет — и для профессиональных продуктов, и для личных проектов, и при обучении программированию и гейм-дизайну. Более того, я писал на Unity почти на всех гейм-джемах, в которых участвовал, благодаря чему получалось создавать основу игры всего за несколько часов.

Как вы, наверное, знаете, гейм-джем — это конкурс разработчиков игр, участники которого делают игру с нуля за короткий период времени. Гейм-джем обычно идет от 24 до 72 часов, но бывают и более длительные — например, GitHub Game Off, который длится весь ноябрь.

После участия в различных гейм-джемах, в том числе и с самодельным движком моей группы на C++ (к сожалению, он только на португальском языке), я составил список правил быстрого прототипирования, которые вскоре превратились в мой основной принцип разработки ПО: меньше кода — быстрее работа.

Основная идея — писать меньше кода (или, иначе говоря, держать меньшую кодовую базу) — решает две задачи:

Защита от ошибок: чем меньше размер кода, тем меньше вероятность сделать ошибку.

Экономия времени: при каждом изменении кода нужны обновления и тесты, что требует времени.

А для Unity есть и третья причина: каждое изменение в коде запускает обновление Unity, на что регулярно тратится некоторое количество времени.

В этой статье я расскажу о нескольких приемах, позволяющих легко реализовать этот принцип в Unity3D и таким образом ускорить прототипирование и создание игр в целом.

Читать далее
Total votes 8: ↑6 and ↓2+9
Comments2

Frontend-образование или как могут помочь курсы новичку

Reading time4 min
Views10K

Привет, Хабр. Меня зовут Никита, мне 21 год, я работаю frontend-разработчиком в одной компании, которая предоставляет хостинговые услуги. Занимаюсь вебом с 18 лет, так уж получилось, что из математического программирования и строго типизированных языков я ушел в JS. Иронично то, что пришлось потом идти в строгую типизацию - TypeScript

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

Ну, удиви
Total votes 2: ↑1 and ↓1+2
Comments19

Как бы я изучал Data Science, если бы начал пару лет назад, или Руководство по эффективному изучению науки о данных

Reading time5 min
Views30K
Когда я только начал своё путешествие к науке о данных, я потратил много времени на то, чтобы понять, с чего начать, что я должен узнать в первую очередь и какие ресурсы должен использовать. За последние два года я узнал несколько вещей, о которых хотел знать раньше, например о том, стоит ли сначала сосредоточиться на программировании или статистике, какие ресурсы я должен использовать для изучения новых навыков, как я должен подходить к изучению этих навыков и так далее. Таким образом, эта статья написана, чтобы дать направления и идеи для тех, кто изучает Data Science.

Приятного чтения!
Total votes 30: ↑29 and ↓1+35
Comments3

Современный Web-UI для SVN в 2020 году

Reading time8 min
Views7K

cSvn — это web-интерфейс к Subversion-репозиториям. Основу cSvn представляет CGI-скрипт написанный на языке С.


В мае 2020 года был опубликован релиз очередной версии Apache Subversion 1.14.0. В свете этого события, был создан новый, современный web-интерфейс для просмотра Subversion-репозиториев на любых устройствах. Это весьма позитивная новость для тех, кто использует централизованные системы версионного контроля по тому, что до вчерашнего дня существовал лишь один достойный web-UI (WebSVN), написанный на PHP и, к сожалению, отстающий от современных требований.


В данной статье рассматривается установка и настройка cSvn для работы с использованием Nginx + uWsgi. Настройка серверных компонентов достаточно проста и практически не отличается от настройки cGit.


На стороне клиента работает элементарный JavaScript составляющий не более 350 строк и таблица стилей размером 24K в распакованном виде. Markdown-тексты обрабатываются на стороне сервера с помощью библиотеки md4c, которая успешно зарекомендовала себя в проекте KDE Plasma.


Вместо screenshot-ов, лучше посмотреть на работающий cSvn-сервер.


Стоит заметить, что с помощью cSvn можно просматривать не только собственные репозитории, но и настроить просмотр сторонних ресурсов по протоколам HTTPS и SVN.


Читать дальше →
Total votes 6: ↑5 and ↓1+6
Comments44

Проведение A/B-тестирования: пошаговый разбор

Reading time10 min
Views49K
Это репост статьи, опубликованной на сайте dou.ua. В статье Анна Пономарева, Game Analyst в Plarium Kharkiv, делится личными наработками по проведению A/B-тестирования: описывает каждый шаг, освещает сложности и ловушки, с которыми можно столкнуться, и рассказывает об опыте их решения.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments1

Нелинейный мир и инструменты для расчета сложных нелинейных задач методом конечных элементов

Reading time12 min
Views6.8K
Привет, Хабр! В названии этой статьи есть словосочетание «нелинейный мир»… Думаю, что большинство читателей поняли смысл этого словосочетания, но я всё же расшифрую его.

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


Рис. 1
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments6

Как секс-индустрия двигает робототехнику?

Reading time6 min
Views50K

Дэвид Леви считает, что через 30 лет секс и взаимоотношения с роботами станут нормой. Футуролог Ян Пирсон убежден, что к 2050 году роботы будут гораздо востребованнее людей в отношениях и в жизни. Нет смысла отрицать, что технологии оказывают все большее влияние на все сферы нашей жизни, включая секс. Ну или секс влияет на технологии?! В этом посте мы попробуем разобраться: какие технологии сейчас нам представляет секс-индустрия, и как она может повилять в дальнейшем на робототехнику?

Читать далее
Total votes 26: ↑25 and ↓1+34
Comments327

21 канал на YouTube, где вы можете бесплатно изучить ИИ, машинное обучение и Data Science

Reading time5 min
Views26K

Мы уже не раз делились в своем блоге полезными материалами для развития (их список можно найти в конце этого поста). Сегодня продолжаем это начинание и специально перед стартом новых потоков курсов по Data Analytics и Data Science представляем подборку YT-каналов по Data Science, искусственному интеллекту и машинному обучению, существование многих из которых неочевидно: например, представлен канал ArXiv Insights, посвящённый научным работам, и Google Cloud Platform.
Приятного чтения!
Total votes 18: ↑14 and ↓4+17
Comments15

Разбираем тестовое задание на должность фронтенд-разработчика на Vue.js

Reading time6 min
Views39K

Первое правило тестовых заданий - никогда не делайте тестовые задания!

Об этом уже было множество споров на Хабре, и тут мне выпал случай выучить этот урок на собственной шкуре...

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

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

Читать далее
Total votes 12: ↑11 and ↓1+16
Comments36

Симуляция подъёмной силы Ньютона методом частиц на CUDA

Reading time22 min
Views14K

https://www.youtube.com/playlist?list=PLwr8DnSlIMg0KABru36pg4CvbfkhBofAi


Как-то на Хабре мне попалась довольно любопытная статья “Научно-технические мифы, часть 1. Почему летают самолёты?”. Статья довольно подробно описывает, какие проблемы возникают при попытке объяснить подъёмную силу крыльев через закон Бернулли или модель подъёмной силы Ньютона (Newtonian lift). И хотя статья предлагает другие объяснения, мне бы всё же хотелось остановиться на модели Ньютона подробнее. Да, модель Ньютона не полна и имеет допущения, но она даёт более точное и интуитивное описание явлений, чем закон Бернулли.


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


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


Перед тем как мы начнём, я бы хотел сразу обозначить, что это статься не о физике самой модели. Эта статья о GPGPU-программировании. Мы не будем рассматривать физические свойства самой модели, потому что она груба и не подходит для настоящих расчётов. И всё же, эта неточная модель даёт куда более интуитивное описание явления подъёмной силы, чем закон Бернулли.

Total votes 53: ↑52 and ↓1+64
Comments46

Готовимся к собеседованию по фронтенду: 15 вопросов

Reading time6 min
Views79K
Автор статьи, перевод которой мы сегодня публикуем, приводит 15 вопросов, которые задавали на собеседованиях ему, и которые он задавал соискателям на должности фронтенд-разработчиков сам.


Читать дальше →
Total votes 27: ↑19 and ↓8+23
Comments26

Просто о нелинейном анализе методом конечных элементов. На примере кронштейна

Reading time16 min
Views21K
Привет, Хабр! Цель написания этой статьи – как можно более понятно представить приемы конечно-элементного моделирования на примере такой непростой темы, как нелинейный анализ. Я более семи лет проработал в отделе динамической прочности АО «ВПК «НПО машиностроения», где занимался расчетно-экспериментальным сопровождением изделий ракетно-космической отрасли. Также около трех лет помогал строительным и нефтяным компаниям закрывать их самые сложные расчетные проблемы. Пришло время поделиться опытом.

Продакт-менеджер по направлению Femap АО «Нанософт» Филипп Титаренко

Введение, или Зачем и про что эта статья


Далеко не все инженеры умеют решать задачи нелинейного анализа. А многих, даже из числа тех, кто специализируется на расчетах в программах конечно-элементного анализа, словосочетание «нелинейный анализ» вводит в заблуждение или же вовсе пугает. Тем, кто мимоходом пробовал решать такие задачи, вспоминаются окна с большим количеством настроек и какие-то графики, которые куда-то движутся и при этом что-то «не сходится» (рис. 1). Однако не только научные задачи, но и современные инженерные нормы и стандарты зачастую требуют учитывать нелинейность в расчетных моделях. Причем эти требования существуют не только в космической, авиационной, машиностроительной отраслях. Так, например, свод правил СП 385.1325800.2018 «Защита зданий и сооружений от прогрессирующего обрушения» при проведении расчетов требует учитывать геометрическую и физическую (пластичность, ползучесть и др.) нелинейности.


Рисунок 1
Читать дальше →
Total votes 12: ↑11 and ↓1+13
Comments4

Webpack: руководство для начинающих

Reading time9 min
Views284K


Доброго времени суток, друзья!

Представляю вашему вниманию перевод статьи «Webpack: A gentle introduction» автора Tyler McGinnis.

Перед изучением новой технологии задайте себе два вопроса:

  1. Зачем нужен этот инструмент?
  2. Какие задачи он выполняет?

Если вы не можете ответить на эти вопросы, возможно, вам не нужна изучаемая технология. Давайте попробуем ответить на эти вопросы применительно к Webpack.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments4

Как прекратить страдать и начать учиться

Reading time10 min
Views29K
Успели во время самоизоляции стать суперэффективными и освоить пару новых специальностей? Тоже нет? А ведь все вокруг трубили: «Используй это время с пользой! Кризис – всегда точка роста». Оказывается, это совершенно нормально, если вы не нашли в себе сил начать осваивать новый язык программирования или вышивание гладью. Психологи говорят, что сильный и продолжительный стресс вредит обучению, а мы все это время прожили в условии постоянно меняющихся правил. Однако хватит «выученной беспомощности», впереди еще много перемен, и суперэффективность нам может пригодиться. 

Я поговорила с преподавателями «Сетевой Академии» (кстати, нашему учебному центру 30 августа исполняется 25 лет!), чтобы узнать, что они думают про обучение дома, и собрала все мысли в этом посте: действительно ли это было время возможностей? Что поможет обучению, если всё вокруг мешает процессу? Чему и где учиться онлайн? Они дали свои рекомендации и рассказали о достойных образовательных платформах.

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

Читать дальше →
Total votes 62: ↑60 and ↓2+65
Comments15

Дэн Абрамов о замыканиях в JavaScript

Reading time7 min
Views22K
Замыкания вызывают у программистов сложности из-за того, что это — «невидимая» конструкция.

Когда вы используете объект, переменную или функцию, вы делаете это намеренно. Вы думаете: «Тут мне понадобится переменная» — и добавляете её в свой код.



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

Если в двух словах, то замыкание — это когда функция обращается к переменным, объявленным за её пределами. Например, замыкание содержится в этом фрагменте кода:

let users = ['Alice', 'Dan', 'Jessica'];
let query = 'A';
let user = users.filter(user => user.startsWith(query));

Обратите внимание на то, что user => user.startsWith(query) — это функция. Она использует переменную query. А эта переменная объявлена за пределами функции. Это и есть замыкание.

Вы, если хотите, можете дальше не читать. Оставшаяся часть этого материала рассматривает замыкания в другом свете. Вместо того чтобы говорить о том, что такое замыкания, эта часть статьи посвятит вас в подробности методики обнаружения замыканий. Это похоже на то, как, в 1960-х, работали первые программисты.
Читать дальше →
Total votes 29: ↑21 and ↓8+25
Comments63
1

Information

Rating
Does not participate
Registered
Activity