Pull to refresh
-19
Андрей Крутов @kaiuread⁠-⁠only

Программист

Send message

CSS-классы вредны

Level of difficultyMedium
Reading time13 min
Views21K

Если вы когда-нибудь заглядывали за кулисы пользовательских веб-интерфейсов, то знаете для чего нужно свойство class. Оно ведь нужно для связи HTML с CSS, правда? Сейчас я расскажу о том, почему настало время отказаться от него. Имена классов — это архаичная система, используемая как неудачный посредник для примитивов UI; ещё хуже то, что они создают ужасные сочетания, приводящие к комбинаторному взрыву странных пограничных случаев. Давайте изучим этот вопрос, начав со скучного урока истории, который вы уже слышали миллион раз.
Читать дальше →
Total votes 75: ↑66 and ↓9+79
Comments113

Многострадальный notepad: ошибка, которую не исправляют уже 13 лет

Reading time6 min
Views144K


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

Тем не менее, сам факт довольно странный, поэтому мы попробуем найти эту ошибку в коде 64-битного и 32-битного notepad.exe от windows 7, исправим её, и выясним наконец, почему же она возникла. Заключается ошибка в следующем:

Если в блокноте включена опция «перенос по словам» (word wrap), то после сохранения файла начинаются всевозможные глюки: строки начинают разъезжаться, курсор улетает, текст вводится не туда, куда вы ожидаете, и так далее.
Читать дальше →
Total votes 146: ↑144 and ↓2+142
Comments120

7 правил английского, которые носители нарушают чаще, чем пьют Колу

Reading time6 min
Views67K

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

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

Подчеркнем, что далеко не все нейтивы пренебрегают грамматикой английского. И уж точно не стоит самим нарушать языковые нормы, чтобы показать свое «знание». Это так не работает. 

Читать далее
Total votes 43: ↑39 and ↓4+46
Comments118

Почему ты не станешь программистом

Level of difficultyEasy
Reading time7 min
Views111K

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

Читать далее
Total votes 79: ↑65 and ↓14+71
Comments316

Сравнение C# и JavaScript. Основы

Reading time11 min
Views46K

C# and JavaScript


Мой более-менее серьезный путь в программировании начался с написания программ на языке C#, иногда я пробовал писать на JavaScript, и то и дело впадал в ступор в таких ситуациях, когда неверно указывал имя переменной и узнавал об этом спустя много много лет час отладки, так как со мной рядом не было моего компилятора, который бы меня выручил в трудную минуту. Через некоторое время, помимо C# я начал писать много кода на JavaScript и в настоящее время могу делать это без особых трудностей, меня больше не смущает неявное приведение типов и динамическая типизация.


В данной статье я бы хотел систематизировать свои базовые знания об этих языках и рассмотреть их сходства и различия. Данная статья может служить руководством для C# разработчиков, которые хотят изучить JavaScript и наоборот. Также хочу заметить, что в данной статье описываются возможности клиентского JS, так как опыта разработки на Node.js у меня нет. Итак, если вы все ещё не потеряли интерес — приступим.

Читать дальше →
Total votes 37: ↑20 and ↓17+3
Comments30

Как изучать SQL в 2023 году

Level of difficultyEasy
Reading time7 min
Views106K

В 2023 году SQL (Structured Query Language) остается одним из самых популярных языков программирования, используемых в области баз данных и аналитики данных. Изучение SQL может быть полезным как для тех, кто только начинает свой путь в IT, так и для опытных профессионалов, которые хотят расширить свои знания и навыки. В этой статье мы рассмотрим несколько советов и ресурсов, которые помогут вам изучать SQL в 2023 году, и оставаться в курсе последних тенденций и изменений в этой области.

Согласно данным сайта Indeed.com, в 2023 году требования к кандидатам в вакансиях, связанных с базами данных и анализом данных, включают знание SQL в качестве обязательного навыка. Некоторые из таких популярных вакансий включают в себя SQL Developer, Data Analyst, Database Administrator, Business Intelligence Analyst и другие. Согласно данным сайта Glassdoor, зарплата специалистов, владеющих навыками работы с SQL, может составлять от $50 000 до $100 000 в год в зависимости от региона и уровня опыта. В связи с этим, изучение SQL может быть полезным для тех, кто хочет улучшить свои шансы на рынке труда и получать высокую заработную плату в IT-сфере.

Читать далее
Total votes 36: ↑31 and ↓5+32
Comments57

Конец фронтенд-разработки

Level of difficultyEasy
Reading time10 min
Views117K

Большие языковые модели, такие как GPT-4, с угрожающей скоростью становятся все более эффективными. Через пару лет нам больше не понадобятся разработчики!
...Или, по крайней мере, такая позиция становится вирусной в Твиттере. Я гораздо более оптимистично смотрю на то, что эти достижения ИИ означают для будущего разработки программного обеспечения.

Читать далее
Total votes 57: ↑46 and ↓11+50
Comments224

Плохие практики разработки, которые до сих пор встречаю в стартапах

Level of difficultyMedium
Reading time5 min
Views53K

Привет, я Виктор. Двенадцать лет назад я пришел в веб-студию в Самаре. Так начался мой путь в разработке. У нас не было гита, CI/CD, тестовых стендов и много чего еще. Я видел, как это мешало развитию команды и бизнеса. Приходилось на ощупь собирать грабли, открывать для себя хорошие практики и внедрять их. С тех пор я поработал старшим разработчиком в российском финансовом холдинге и немецком b2b-стартапе. Был тимлидом в фудтех-проекте, СTO в образовательных стартапах для российского и латиноамериканского рынка — и почти везде поначалу натыкался на похожие проблемы. Недавно переехал в Израиль, стал консультировать стартап. И что бы вы думали…

Читать далее 👉
Total votes 92: ↑88 and ↓4+102
Comments126

Офисные джунгли (или особенности западной культуры общения на работе)

Level of difficultyEasy
Reading time10 min
Views15K

Это негласные правила этикета среди офисных белых воротничков. Об этом не расскажут ни в школе ни в университете. Как вести себя в офисах IT стартапа или корпорации?

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

Эти правила написаны кровью!

Читать далее
Total votes 92: ↑42 and ↓50+7
Comments122

Как решать конфликты с уважением к себе и оппонентам? Гайд по ненасильственному общению

Reading time6 min
Views24K

Хотелось бы, чтобы в рабочей коммуникации все понимали друг друга с полуслова, не совершали ошибок и дарили окружающим исключительно положительные эмоции — но это что-то на сказочном. Какими бы классными ни были ваши корпоративные отношения, конфликты и сбои в диалоге будут случаться. О том, как общаться и вести себя в непростых ситуациях, рассказываем под катом.
Читать дальше →
Total votes 64: ↑60 and ↓4+76
Comments26

Локализация ISO/IEC 14977: 1996(E) (Extended BNF)

Reading time1 min
Views3.1K
Доброго времени суток.

Перевёл себе для работы Стандарт ISO/IEC 14977: 1996(E), описывающий Extended BNF.

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

С уважением, Андрей.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments0

Зарплата по результатам собеседования — лучший способ сократить отклики на вакансию, а тестовые задания — избыточны

Reading time7 min
Views76K

Почему ИТ специалисты на самом деле не любят выполнять тестовые задания? Почему меньше откликов на вакансии без указания зарплаты? Простые ответы на сложные вопросы.

Читать далее
Total votes 130: ↑105 and ↓25+103
Comments387

Две культуры программирования: почему обе из них важны?

Reading time13 min
Views57K
Уже несколько лет я замечаю, что программисты и программистские инструменты делятся на две разные культуры:



Изначально я человек первой культуры и очень долгое время считал вторую несерьёзной. Пару-тройку лет назад я окончательно понял, что ошибался. Многие «старички» ошибаются в ту же сторону, а в последние годы ещё большее число людей ошибаются в обратную. Знакомство с соседней культурой и понимание, почему дела в ней делаются так, как там принято, превратит вас в лучшего разработчика.
Читать дальше →
Total votes 156: ↑138 and ↓18+154
Comments107

«На чём корпорации вертели вашу приватность», Артур Хачуян (Tazeros Global)

Reading time46 min
Views46K
День защиты персональных данных, Минск, 2019 год. Организатор: правозащитная организация Human Constanta.

Ведущий (далее – В): – Артур Хачуян занимается… Можно сказать «на тёмной стороне» в контексте нашей конференции?

Артур Хачуян (далее – АХ): – На стороне корпораций – да.

В: – Он собирает ваши данные, продаёт их корпорациям.

АХ: – На самом деле нет…

В: – И он как раз расскажет, как корпорации могут использовать ваши данные, что происходит с данными, когда они попадают в онлайн. Он не будет, наверное, рассказывать, что с этим делать. Мы подумаем дальше…



АХ: – Расскажу, расскажу. На самом деле долго рассказывать не буду, но на предыдущем мероприятии мне представили человека, которому «Фейсбук» даже аккаунт собаки заблокировал.
Всем привет! Меня зовут Артур. Я действительно занимаюсь обработкой и сбором данных. Конечно же, я не продаю никому никакие персональные данные в открытом доступе. Шучу. Моя сфера деятельности – это извлечение знаний из данных, находящихся в открытых источниках. Когда что-то юридически является не персональными данными, но из этого можно извлечь знания и сделать их такими же по значимости, как если бы эти данные были получены из персональных данных. Ничего на самом деле страшного рассказывать не буду. Здесь, правда, про Россию, но про Белоруссию у меня тоже есть цифры.
Total votes 62: ↑55 and ↓7+64
Comments92

Элементы языка С, которые являются неподдерживаемыми в языке С++

Reading time7 min
Views32K

Нижеприведенный список является моей небольшой коллекцией примеров кода на языке С, которые не являются корректными с точки зрения языка С++ или имеют какое-то специфичное именно для языка С поведение. (Именно в эту сторону: С код, являющийся некорректным с точки зрения С++.)

Этот материал я уже публиковал на другом ресурсе в менее причесанном виде, Я бы, наверное, поддался прокрастинации и никогда не собрался опубликовать эту коллекцию здесь, но из-за горизонта уже доносится стук копыт неумолимо приближающегося С23, который безжалостно принесет некоторые жемчужины моей коллекции в жертву богам С-С++ совместимости. Поэтому мне и пришлось встать с печи, пока они еще актуальны...

Разумеется, язык С имеет много существенных отличий от языка С++, т.е. не составит никакого труда привести примеры несовместимостей, основанные, скажем, на ключевых словах или других очевидных эксклюзивных свойствах С99. Таких примеров вы не найдете в списке ниже. Мой основной критерий для включения примеров в этот список заключался именно в том, что пример кода должен выглядеть на первый взгляд достаточно "невинно" для С++-наблюдателя, т.е. не содержать бросающихся в глаза С-эксклюзивов, но тем не менее являться специфичным именно для языка С.

Читать далее
Total votes 104: ↑103 and ↓1+138
Comments80

11 языков программирования для DevOps и их применение

Reading time17 min
Views24K

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

Читать далее
Total votes 17: ↑9 and ↓8+3
Comments12

Обзор графических оболочек Linux

Reading time9 min
Views195K

Наверняка вы хоть раз сталкивались с многообразием графических оболочек для ОС Linux. В этом присутствует частичка красоты этой системы — в множестве вариантов взаимодействия с этой ОС. Без сомнений — это универсальный инструмент.

Если вы уже используете Linux или только начинаете знакомство с ним, вам наверняка не захочется сидеть и перебирать все существующие оболочки, чтобы понять, подойдёт одна из них именно вам или нет. Потому мы сделали краткий обзор самых популярных рабочих сред вместе с ответами на часто задаваемые вопросы.
Читать дальше →
Total votes 49: ↑29 and ↓20+19
Comments149

Времена в английском языке

Reading time7 min
Views47K

Пространственно-временно́й континуум обходится одним временны́м и тремя пространственными измерениями. M-теория струн расширяет физическую модель до невообразимых девяти пространственных измерений, но сохраняет время линейным.

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

Читать далее
Total votes 40: ↑35 and ↓5+41
Comments50

Баллада о долгоживущем софте

Reading time11 min
Views51K
Увлекаясь коллекционированием старого хлама винтажной электроники, я научился ценить долгоиграющие проекты. Конечно, в моей коллекции часто попадаются экспонаты противоположного типа. Вот клавиатурный коммуникатор Nokia, аналогов которого больше нет. Вот минидисковый плеер, проигрыватель музыки с мертвого формата. А вот телевизор с трубкой: таких больше не делают! Все рано или поздно заканчивается, и с возрастом иногда хочется остановить, эм, неумолимую поступь прогресса.



С железками это сделать трудно, зато можно с программами. Уже более четверти века я занимаюсь развлечением под условным названием «переустановка Windows». В последнее время чаще я устанавливаю ОС либо на новый ПК, либо на один из своих ретроэкспонатов. Как у многих из вас, у меня есть список софта, который при каждой такой операции устанавливается в первую очередь. Некоторые из этих программ я регулярно устанавливаю, и пользуюсь ими лет 15 или даже больше. Все это время создатели обновляют и развивают их, это не заброшенные проекты. В этой статье я хочу отдать должное этим разработчикам-долгожителям в субъективном хит-параде древнего, но актуального софта.
Читать дальше →
Total votes 130: ↑129 and ↓1+159
Comments432

Распознавание образов, рассуждения

Reading time3 min
Views17K
В общем случае задача распознавания образов до сих пор не решена. Поэтому поговорим сначала о тех методах, которые в некоторых случаях все же позволяют находить отдельные объекты на изображении, а затем порассуждаем о будущем.

Человеческий глаз имеет несколько блоков, способных распознавать свойства изображения. Человек быстро выхватывает из окружающей реальности наборы объектов и классифицирует их. Какими критериями он руководствуется? Их не так много:
Читать дальше →
Total votes 41: ↑29 and ↓12+17
Comments66
1

Information

Rating
Does not participate
Date of birth
Registered
Activity