Pull to refresh
-6
0.4
Karpets Pavel @Pavel1114

Web developer

Send message

Сложнейшая проблема компьютерных наук: центрирование

Level of difficultyMedium
Reading time7 min
Views34K

Заявляю: «Мы, как цивилизация, разучились использовать центрирование». Ну то есть мы, конечно, знаем, как это делать — очень просто:

display: flex;
justify-content: center; /* Горизонтальное центрирование */
align-items: center; /* Вертикальное центрирование */

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

Ещё можно использовать сетку:

display: grid;
justify-items: center; /* Горизонтальное центрирование */
align-items: center; /* Вертикальное центрирование */

Также не спрашивайте, почему выражение justify-content стало justify-items.
Читать дальше →
Total votes 194: ↑189 and ↓5+227
Comments56

Линейная регрессия. Основная идея, модификации и реализация с нуля на Python

Level of difficultyHard
Reading time16 min
Views25K

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

Читать далее
Total votes 14: ↑13 and ↓1+16
Comments11

Заблуждения большинства программистов относительно «времени»

Reading time6 min
Views59K
Много дней назад я решил записать некоторые наблюдения, сформировавшиеся пока в последние годы я занимался тестированием. Рассматривая области, которые получают наибольшую отдачу от тестирования, я понял, что у меня накопилось много конкретных мыслей о том, как мы — программисты — склонны небрежно обращаться с понятием «время» в программировании.

Тогда я написал пост «Заблуждения программистов относительно „времени“», в котором указал 34 ошибочных представления и заблуждения, относящихся как к календарному, так и к системному времени. С большинством из них я столкнулся сам, занимаясь дебаггингом программ (как рабочих, так и тестовых).

Читать дальше →
Total votes 62: ↑55 and ↓7+48
Comments100

Заблуждения программистов относительно времени

Reading time3 min
Views90K
За последние пару лет я потратил много времени на дебаггинг чужих тестов. Это была интересная работа, иногда расстраивающая, но всегда поучительная. Кто-то может подумать, что в тестах нет багов, но конечно баги есть везде, и тесты не исключение.

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

На самом деле, я повидал так много заблуждений, которые оставляют след в чужих (и моих собственных) программах, что посчитал полезным составить список самых частых проблем.
Читать дальше →
Total votes 241: ↑218 and ↓23+195
Comments216

Как работает сеть в контейнерах: Docker Bridge с нуля

Level of difficultyMedium
Reading time21 min
Views48K

В этой статье мы собираемся разобраться со следующими вопросами:

* Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у них есть отдельные сетевые среды?

* Как превратить контейнеры в дружелюбных соседей и научить общаться друг с другом?

* Как выйти во внешний мир (например, в Интернет) изнутри контейнера?

* Как связаться с контейнерами, работающими на хосте Linux, из внешнего мира?

* Как реализовать публикацию портов, подобную Docker?

Читать далее
Total votes 71: ↑71 and ↓0+71
Comments14

Когнитивные искажения, о которых стоит помнить

Reading time15 min
Views88K

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

Также их можно представить как простые правила, которым следует мозг, чтобы обрабатывать поступающую информацию с минимальными затратами.

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

Читать далее
Total votes 84: ↑76 and ↓8+79
Comments36

Жертвы психологии XXI века или «токсичная терапированность»

Level of difficultyEasy
Reading time12 min
Views24K

Скоро новый год, а значит наступает пора несбыточных обещаний себе. Как показывает практика, декабрь – месяц предварительных записей к психологу и в спортзал, вызванных надеждой поменять жизнь с понедельника первого января. И если за спортзал я сказать ничего не могу, то вот про влияние психотерапии вам точно будет интересно послушать, ведь сегодня мы препарируем феномен под названием «токсичная терапированность».

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

Осторожно, лонгрид
Total votes 75: ↑68 and ↓7+80
Comments58

Оболочка и терминал Unix — это одно и то же?

Reading time18 min
Views21K

Сегодня любой уважающий себя разработчик не только программирует, но и так или иначе эксплуатирует свой код. А значит, с вероятностью 99,99% сталкивается с такой штукой, как «терминал». Хотя чаще это называют «консолью» или «командной строкой». 

А как же правильно? И почему эта штука местами такая странная? Без исследования древних машин, принципов общения с ними и легаси ПО тут никак не разобраться.

Осторожно: very long read!
Total votes 59: ↑58 and ↓1+74
Comments20

Окей, Джанго, у меня к тебе несколько вопросов

Reading time36 min
Views57K

Недавно я проходил очередное интервью, и меня спросили, пишу ли я на flask, на что я ответил, что я себя люблю, и поэтому пишу на django. Меня не взяли, потому что, кхм, у них, оказывается, много чего было на фласке, и вышло неловко. Да-да, я знаю, фласк крут, потому что он простой, всё что надо ставишь сам, а чего не надо там и так нет, но как по мне, всё равно потом получается django.

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

Читать далее
Total votes 78: ↑74 and ↓4+85
Comments23

Как работает компьютер: глубокое погружение (на примере Linux)

Level of difficultyHard
Reading time48 min
Views159K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


Наконец, я сломалась и начала это выяснять. Мне пришлось перелопатить тонны ресурсов разного качества и иногда противоречащих друг другу. Несколько недель исследований и почти 40 страниц заметок спустя я решила, что гораздо лучше понимаю, как работают компьютеры от запуска до выполнения программы. Я бы убила за статью, в которой объясняется все, что я узнала, поэтому я решила написать эту статью.


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


Более удобный формат статьи.

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

Основы медитации, или как научиться ничего не делать с пользой

Reading time10 min
Views72K
«Опять те же грабли», — сказала мне жена, когда я в очередной раз задерживался с работы. «Проект интересный, надо доделать», «Сейчас поднажму, потом будет легче», — мой типичный набор ответов на переработки.

С удалённой работой перегрузить себя ещё проще — ходить никуда не надо, никто не зовёт попить кофе, а список вариантов отдохнуть «снаружи» сократился.

В онлайне только и разговоров, как работать эффективно и сохранять баланс с отдыхом, но ведь гораздо проще включить YouTube, заесть чем-то сладеньким. Через час устать ещё больше: «Какого чёрта, я хотел посмотреть полезное видео, а смотрю как УАЗ наматывается на столб»?!

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

В этой статье я расскажу, почему медитация — лучшее средство от стресса и перегрузок.


Читать дальше →
Total votes 23: ↑21 and ↓2+28
Comments121

Под капотом у Mobx. Пишем свою реактивную библиотеку с нуля

Reading time23 min
Views16K

Первое мое знакомство с Mobx началось с удивления. Я не понимал всю магию библиотеки и задавал себе вопрос: “А как это возможно?”. Кажется, в ней используются какие-то подкапотные возможности JS или Mobx вообще написан на другом языке. 

И вот, потратив 3 месяца в исходниках, я развеял для себя магию. Mobx все таки написан на JS и даже имеет множественные ограничения, которые нужно соблюдать, чтобы ваш браузер не взорвался.

В этой статье мы создадим свой Mobx с нуля, а так же свяжем его с React, через собственно написанный HOC observer. В конце у вас будет общее понимание реактивности, которое поможет в самостоятельном осмыслении не только Mobx, но и других реактивных библиотек и фреймворков.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments12

Получил доступ к Dalle-2. Вы не поверите, что может нарисовать машина… Дизайнеры больше не нужны

Reading time4 min
Views149K
Текст генерации: furry monster with green eyes looking at us, the word «habrahabr» in the background, digital art, blue background, 3d

Привет, чемпион!

Недавно мне посчастливилось стать обладателем доступа к API Dalle-2. Если ты ещё не слышал про Dalle, то это такая CLIP-архитектура, обученная на огромном корпусе пар текст-изображение. Иначе говоря — она умеет генерировать очень качественные изображения из текста. Отличить результаты генерации от рисунков человека иногда просто невозможно! Это одновременно впечатляет и в то же время — немного шокирует.

По сравнению с предыдущей версией — DALL-E 2 умеет генерировать изображения в более высоком разрешении (1024×1024 пикселей, что в 16 раз превышает разрешение в предыдущей версии модели) да ещё и намного быстрее. Более того, DALL-E 2 позволяет редактировать уже существующие изображения.

Нет больше терпения ждать, давайте же опробуем её!
Читать дальше →
Total votes 181: ↑174 and ↓7+220
Comments817

Сайт фотографа

Reading time5 min
Views8.4K

Контакты, прайс и портфолио - это то, из чего состоит 99% сайтов фотографов. И не удивительно, что многие коллеги фотографы за последние лет 5 отказались от своих персональных сайтов и их роль стали играть страницы в социальных сетях. Я же наоборот, стал развивать свой персональный сайт и делать так, чтоб мои клиенты туда почаще заходили. Да что там можно такого придумать?

Читать далее
Total votes 34: ↑32 and ↓2+36
Comments19

Критерии качества вёрстки 2021

Reading time32 min
Views51K

6 лет назад мы обсуждали с сообществом критерии качества вёрстки, которые мы используем в обучении, чтобы наши выпускники радовали рынок своими умениями и подходом к работе.

С тех пор в разработке интерфейсов произошло море изменений: сначала в продакшн пришли флексы, потом подтянулись гриды, умер IE, все переехали из Фотошопа в Фигму, и много чего ещё. Каждое это изменение влияло на наши критерии, и мы постоянно их дорабатывали.

Сейчас пришло время обсудить с сообществом обновлённые критерии.

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

Читать далее
Total votes 29: ↑27 and ↓2+31
Comments22

Всё не то, чем кажется: как когнитивные искажения мешают работать и что с ними делать

Reading time11 min
Views15K

Привет! Это Анна из click.ru с очередным рассказом на тему личной (не)эффективности. Когда я впервые услышала про когнитивные искажения, я усмехнулась: «Ну, я-то мыслю рационально, в отличие от Васи, который делает из всего катастрофу». Наступил 2022-й, и однажды, после очередного приступа под девизом «Всё пропало!», я внезапно почувствовала духовное родство с Васей...

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

Читать далее
Total votes 5: ↑4 and ↓1+4
Comments5

Что можно поменять в дёснах (правда, цена операции — 2 месяца смузи-диеты)

Reading time11 min
Views18K
Вы просили рассказать про рецессию десны — когда она «уходит» с возрастом и улыбка становится зловещей, с чёрными треугольниками. Часто это можно относительно легко поправить.

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

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

Поэтому в статье раскроем следующие моменты:

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


Рецессия десны до и после пластики

Осторожно, под катом фотографии самой процедуры интраоперационно. Если вы сейчас едите, может излишне впечатлить.
Читать дальше →
Total votes 41: ↑34 and ↓7+34
Comments31

Оконные функции SQL простым языком с примерами

Reading time4 min
Views551K

Привет всем!

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

P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи))) 

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

Читать далее
Total votes 49: ↑46 and ↓3+58
Comments16

Plantuml в работе системного аналитика. Пиши uml диаграммы текстом, чтобы сэкономить время

Reading time4 min
Views27K

Раньше я использовала для рисования диаграмм плагин в Confluence drawio или Microsoft Visio, который позволяет в графическом виде нарисовать диаграммы. Основная боль (для меня) у этих инструментов заключалась в том, чтобы поправить множество диаграмм надо открывать каждую, двигать элементы, стрелочки. А это время.

Изучив возможные решения я пришла к plantuml. Это инструмент, который позволяет с помощью текста рисовать диаграммы. Его можно использовать через макрос в Confluence или плагин в Idea, что позволяет за раз править много диаграмм, так как это текст. Не верите? Давайте попробуем на примере.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments19

Как хвост виляет собакой. Азбука пропаганды

Reading time4 min
Views210K
Чем доступнее информация, тем больше её вокруг. Чем быстрее она распространяется, тем меньше остаётся времени на то, чтобы её проверить. Постепенно информационная среда превращается в некое подобие «белого шума». Всё труднее строить внутри себя новые информационные фильтры, чтобы отсеять лишнее: убрать в сторону лозунги, агитацию, пропаганду, а оставить только то, что на самом деле кроется за ними. А манипулировать нашими мыслями пытаются постоянно, и я говорю не о 25-ом кадре (он не работает), а о более земных вещах — приёмах пропаганды, которые так умело (а зачастую — очень топорно) используют политики, рекламщики и вообще, все, кому не лень. Об этих приёмах и пойдёт речь в статье.

Хвост виляет собакой. ("Wag the dog") — чтобы избежать большого скандала или «замять», оставить незамеченным какое-нибудь важное, но неприятное событие, часто используется простой, но хитрый и ловкий приём, который англоязычные политтехнологи называют «Wag the dog», а русскоязычные — «Хвост виляет собакой». Он заключается в том, чтобы вовремя поднять волну обсуждения вокруг вопроса второстепенной важности, на фоне которой другое, более важное событие или действие пройдёт незаметно.
Примеры таких вопросов: Отмена перехода на зимнее время, российское гражданство Депардье, поездка Путина или Саши Грей на Ладе Калине по России, полёты со стерхами и т.д.
Своё название этот приём получил в честь английского выражения tail wagging the dog, который, в свою очередь, появился из следующего народного пассажа:
— Почему собака виляет хвостом?
— Потому, что собака умнее, чем хвост. Если бы хвост был умнее, он вилял бы собакой.

Ещё 7 приёмов - под катом
Total votes 402: ↑352 and ↓50+302
Comments183

Information

Rating
2,070-th
Date of birth
Registered
Activity