Pull to refresh
0
0
Андрей Зимнюков @Zimnuk

разработчик полного стека

Send message

Климатическая гипотеза эволюции человека

Reading time20 min
Views8.5K

Статья переведена под впечатлением от мероприятия "Улики эволюции" состоявшегося 2 апреля в Санкт-Петербурге (полная версия). На этом лектории, устроенном силами сообщества @phanerozoi_evidence (при особом личном подвижничестве Самира Ефимова и Александра Яскина) я впервые слушал вживую Станислава Владимировича Дробышевского и не мог не вставить свои пять копеек по поводу тех эволюционных факторов, что он не упомянул в своей лекции - которая, тем не менее, сделала мой вчерашний день. Большое спасибо.

Дисклеймер: перевод сделан в большой спешке, не взыщите за возможные огрехи.

В этой статье исследуется гипотеза о том, что ключевые эволюционные адаптации человека сформировались в ответ на экологическую нестабильность. Эта идея разработана в рамках исследований, которыми занимается доктор Рик Поттс (Rick Potts) в рамках «Программы по изучению происхождения человека» в Смитсоновском институте. Естественный отбор не всегда сводился к принципу «выживает сильнейший», но также поддерживал тех, кто лучше других умел приспосабливаться к изменениям окружающей среды. 

Читать далее
Total votes 18: ↑13 and ↓5+17
Comments6

Разработка игры на Unity с нуля до релиза. Часть 3

Level of difficultyEasy
Reading time3 min
Views5.2K

Приветствую Хабр! 👋

«Разработка игры с нуля до релиза» - это серии статьей, где я покажу, как создать свою игру с самого нуля до публикации в Google Play и Itch.io на ОС GNU\Linux. Часть 3

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

Гайд по архитектуре приложений для Android. Часть 5: слой данных

Reading time22 min
Views14K

Перевод обновлённого гайда Android по архитектуре приложений. Это — заключительная часть: рассказываем про слой данных.

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

О Thread и ThreadPool в .NET подробно (часть 2)

Reading time13 min
Views17K

В предыдущей публикации мы рассмотрели некоторые базовые вопросы относительно потоков и пулов потоков и готовы двигаться дальше. Давайте проведём эксперимент и найдём правильный объём работы для пула потоков. Чтобы его издержки не давлели над объёмом полезной работы

⚠️ Материал средней сложности

С другой стороны, показанные примеры доказывают, что на производительность сильно влияет гранулярность элементов работы. Имеется ввиду, конечно же, длительность работы делегатов. Чтобы достичь хороших показателей, гранулярность работы не может быть абы какой: она должна быть правильной. И помимо планирования задач на ThreadPool, планировать их можно также как через TPL так и через какой-либо свой собственный пул потоков. Например, если взять обычный ThreadPool, то можно примерно измерить издержки алгоритмов ThreadPool в тактах Time Stamp Counter счётчика времени (можно, конечно и в чём-то более привычном типа микросекунд, но там на многих сценариях вполне могут быть нули)

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

О Thread и ThreadPool в .NET подробно (часть 1)

Reading time15 min
Views38K

Эта текст покрывает ответы на некоторые совсем базовые вопросы и вместе с тем сразу погружает в проблематику получения ответа на вопрос: "как работать лучше? однопоточно, многопоточно или многопоточно, но на ThreadPool?". Ответ на этот вопрос может изначально показаться очень простым и понятным, однако реальность совершенно иная: всё как и везде сильно зависит от ситуации: от типа задачи, от её размера, от прочих условий, которые так просто в голову сами собой не придут.

А потому мы пройдёмся в первую очередь по IO-/CPU-bound операциям, стоимости создания потока, базовым основам работы пула потоков (но только основы), а далее -- углубимся в анализ чёрного ящика: от чего зависит производительность пула потоков? Каков объём работы приемлим для того чтобы в него планировать?

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

Также отмечу, что материал постепенно переходит от начального уровня сложности 🥤 через ⚠️ средний уровень к ☠️ высокому, о чём вы сможете узнать по пиктограммам.

Погрузиться в знания
Total votes 25: ↑24 and ↓1+34
Comments11

Классика фантастики и фэнтези, которая лишь недавно добралась до русскоязычного читателя

Reading time6 min
Views57K

В фэнтези и фантастике есть целый пласт произведений, которые уже давно считаются классическими и хорошо известны читателям. Большая часть таких книг давно переведена на русский язык, ведь в 90-х годах в наших палестинах очень активно издавались книги популярных фантастов. Однако некоторые романы, по праву имеющие на Западе статус классических, на русском языке впервые увидели совсем недавно. Иногда из-за того, что пик их популярности пришелся на время до распада Советского Союза, когда с переводами западной фантастики все было гораздо сложнее, иногда из-за неформатности или предполагаемой сложности для читателя, иногда по финансовым причинам. Рассказываем о нескольких таких произведениях, с которыми русскоязычные читатели смогли познакомиться только в последнее время.

Читать далее
Total votes 108: ↑101 and ↓7+110
Comments22

Generic Math: суперфича C#, доступная в .NET 6 Preview 7

Reading time5 min
Views21K

10 августа 2021 года Microsoft в блоге опубликовала информацию о свежевыпущенном .NET 6 Preview 7.

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

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

Отойти от IT: куда расти, когда код ради кода больше не интересен

Reading time20 min
Views26K


Интернет завален статьями «как войти в IT и начать писать код», но куда реже говорят о том, как перестать его писать. Что делать, если больше не хочется весь день смотреть в IDE, но и в тимлиды не тянет? Конечно, можно освоить свиноводство, но есть ли сферы, где пригодится уже полученный опыт? Куда можно свернуть «в сторону» от разработки, и какие скиллы для этого понадобятся?


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


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

Как техдир должностные обязанности искал. Спойлер — нашел

Reading time7 min
Views12K

Как техдир должностные обязанности искал. Спойлер - нашел.

В прошлой статье я упоминал о четырёх уровнях осознанности техдира. Приведу эти 4 этапа, пройденные мной лично, ниже:

1. Ответственность за программирование;

2. Ответственность за технологическую часть продажи;

3.Ответственность не только за тех. процессы (аналитика, тестирование, менеджмент – на выбор)

4. Ответственность за полный цикл производства продукта, удерживая в фокусе внимания все связанные с производством процессы.

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

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

В закладки: репозитории с книгами, шпаргалками, ресурсами по дизайну и не только

Reading time5 min
Views6.1K

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

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments2

Дорасти до сеньора и даже выше: советы по развитию IT-специалиста

Reading time10 min
Views20K

В наш бурный век информационных технологий можно не успеть за ходом истории. Сегодня мы начинаем карьеру в IT с ясным представлением о том, что станем, например, сеньором. Но отвлекшись на некоторые аспекты профессии или глубоко погрузившись в текучку, можно внезапно обнаружить себя миддлом на пенсии. Что в нашем развитии может пойти не так?

О том, что нужно для профессионального развития на разных этапах карьерной лестницы IT специалиста, в своем докладе на конференции DevOps Live 2020 об этом рассказал Карен Товмасян.

Читать далее
Total votes 15: ↑11 and ↓4+13
Comments4

Шесть задачек для Front-End разработчика

Reading time2 min
Views45K

1. Форма кредитной карты


Клёвая форма кредитной карты с гладкими и приятными микровзаимодействиями. Включает форматирование чисел, проверку и автоматическое определение типа карты. Она построена на Vue.js, а также полностью адаптивная. (Посмотреть можно здесь.)

image

credit-card-form

Чему научитесь:

  • Обрабатывать и валидировать формы
  • Обрабатывать события (например, при изменении полей)
  • Разберетесь как отображать и размещать элементы на странице, особенно данные кредитной карты, которая поверх формы
Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments43

Создаем отдел джунов в помощь основным командам, используя лишь Slack, Jira и синюю изоленту

Reading time7 min
Views9.3K


Почти вся команда разработки Skyeng, состоящая из более чем 100 человек, работает удаленно и требования к специалистам всегда были высоки: мы искали синьоров, fullstack-девелоперов и мидлов. Но в начале 2019 года мы впервые наняли трех джуниоров. Сделано это было по нескольким причинам: найм только супер-специалистов не решает всех проблем, а для создания здоровой атмосферы в разработке нужны люди разного уровня профессионализма.

Когда вы работаете удаленно, то крайне важно, чтобы человек пришел на проект и сразу же начал приносить пользу, без каких-то долгих процессов обучения и раскачки. С джуниорами так не получается, плюс, кроме обучения, требуется еще и грамотная интеграция новичка в команду, ведь ему все в новинку. А это уже отдельная задача для тимлида. Поэтому мы были сконцентрированы на поиске и найме более опытных и уже состоявшихся девелоперов. Но со временем выяснилось, что в командах, состоящих только из синьоров и fullstack-разработчиков, есть свои проблемы. Например, кто будет заниматься рутинными, но обязательными задачами, которые не требуют супер-квалификации и каких-то особенных знаний?
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments14

Как написать легко описываемый код

Reading time2 min
Views4.5K

Привет, Хабр!


Часто ли у вас было, что вы или ваши коллеги не могли описать свой собственный код парочкой фраз?


Предлагаю вашему вниманию перевод статьи "How to write easily describable code" автора Cedd Burge, в которой он делится советом, как избежать таких ситуаций.


image

Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments6

Как увеличить стартап до 50 сотрудников, не утратив культуру

Reading time7 min
Views3.7K


Важные шаги, которые необходимо предпринять на этапах первоначального роста компании


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

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

Успешными компании вырастают не сами по себе — их культура активно формируется руководством уже с самых ранних этапов, а затем ежедневно поддерживается каждым отдельным сотрудником. Но если формирование и поддержание культуры превращаются в пустословие, компания начинает терять позиции и неизбежно приходит в упадок.

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

Так каким же образом следует действовать на каждом этапе роста компании?

Переведено в Alconost
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments7

Размышления о карьере в ИТ

Reading time8 min
Views16K
Сделать быструю карьеру в области разработки сегодня не так просто, как кажется. Если начать работать, например, в сфере финансов, то в 30 лет вы почти наверняка будете руководителем. В нашей же отрасли и в 35, и в 40 лет можно оставаться разработчиком. Среди нас много тех, кто хочет заниматься программированием всю жизнь, рассматривая только профессиональный рост. И это прекрасно! Но ведь есть и те, кто хочет также продвижения по карьерной лестнице. Обсудим, почему добиться этого движения может быть затруднительно.

image
Читать дальше →
Total votes 33: ↑24 and ↓9+15
Comments25

Хороший разработчик мудр, а не гениален

Reading time5 min
Views18K


Одним из самых важных уроков, которые я постиг в качестве разработчика 15 лет назад, была эта простая мысль:


Хороший код выразителен, а не впечатляющ.

Я помню, как услышав это спросил «А в чём разница?», и получил ответ.


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


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


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


«Гениальные» разработчики, так же обладая умом, напротив, думают лишь о настоящем. Они умеют решать текущие проблемы быстро и эффектно. Вот только гора от их хаков и выкрутасов постоянно накапливается и однажды обрушает код, хороня под собой репутации всех причастных. Вот почему Стив Макконнелл однажды верно заметил:


Программирование — не работа в ЦРУ, вам не нужно быть смекалистым.

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




Вот ещё несколько принципов мудрых разработчиков.


Читать дальше →
Total votes 55: ↑47 and ↓8+39
Comments14

40 туториалов для создания векторных иллюстраций

Reading time6 min
Views249K
В посте собрана подборка обучающих уроков по созданию векторной графики. На мой взгляд большинство материалов покажутся интересными для новичков только начинающих постигать векторное искусство. Но думаю, что специалисты также смогут найти для себя полезные уроки.

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

Итак, поехали:

Приступая к работе


1. Изучение векторной иллюстрации за 10 шагов



В этом уроке объясняется, каким образом создавать векторные иллюстрации используя Adobe Illustrator. Приводится объяснение ключевых параметров и инструментов, которое дополняется советами экспертов.

Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments8

Все об SVG анимации

Reading time41 min
Views163K
В данной статье я хочу осветить тонкости работы с SVG-графикой, SVG анимацию (в том числе и path), проблемы и способы их решения, а также разнообразные подводные камни, коих в SVG огромное множество. Эту статью я позиционирую как подробное руководство.



Здесь не будет никаких плагинов, библиотек и прочего, речь пойдет только о чистом SVG.
Единственный инструмент, который я буду использовать, это Adobe Illustrator.
Получить сакральные знания
Total votes 39: ↑39 and ↓0+39
Comments21

19 концепций, которые нужно изучить для того, чтобы стать эффективным Angular-разработчиком

Reading time14 min
Views34K
TODO-приложение во фронтенд-разработке — это то же самое, что «Hello world» в обычном программировании. При создании TODO-приложений можно изучить выполнение CRUD-операций средствами того или иного фреймворка. Но часто подобные проекты лишь весьма поверхностно касаются того, что на самом деле умеет фреймворк.

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



Для освоения Angular нужно очень много всего изучить. Многие разработчики застревают на начальных этапах освоения Angular. Происходит это из-за того, что они не знают о том, куда им двигаться, или не знают того, по каким ключевым словам им искать информацию, которая позволит им сделать шаг вперёд. Автор этого материала говорит, что ей, когда она начинала осваивать Angular 2+, хотелось бы, чтобы ей попалось бы руководство по данному фреймворку, похожее на это.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments11

Information

Rating
Does not participate
Location
Волгоград, Волгоградская обл., Россия
Date of birth
Registered
Activity