Search
Write a publication
Pull to refresh
0
@andrei-panderread⁠-⁠only

User

Send message

Обзор Музея криптографии в Москве

Reading time8 min
Views19K

Редакция портала Хабр (в лице @lexxnimoff и @ancotir) побывала в музее криптографии, расположенном по адресу: Москва, улица Ботаническая, дом 25, строение 4. Показать экспозицию музея и рассказать о ней любезно согласились Анна Титовец, главный куратор музея, и Владимир Бельский, заместитель главы лаборатории криптографии компании «Криптонит»

Читать далее

Как незаметно стать антиваксером (возможно, это про вас) — ликбез для взрослых

Reading time18 min
Views37K


Как показала недавняя практика, в вакцинах в России разбираются в среднем никак.

Во-первых, их надо обновлять. Если вы не обновляли «детские» прививки, поздравляю, вы пассивный антиваксер и потенциально представляете опасность для общества.

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

В-третьих, я что-то не вижу всплеска вакцинации от пневмококков, хотя они прямо ассоциированы с COVID (то есть могут настигнуть больного после вируса). В первый год, до появления вакцины от COVID-19, логично было ждать резкого скачка вакцинации от них, но нет.

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

Как найти своё место в программировании графики для игр

Reading time6 min
Views10K

Введение


«Графика стала слишком сложной».

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

Это сложно объяснить, но произносящие такие фразы в чём-то правы.

Когда я начал писать этот пост пару месяцев назад, он был совершенно другим, по сути, в нём аргументировалась необходимости создания высокоуровневой (как DX11, но лучше) API-обёртки для D3D12.

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

Кто-то может сказать «но и раньше его не было», и будет прав, но за последние годы разрыв увеличился. Давайте поговорим об этом.
Читать дальше →

Кеширование в Laravel: основы плюс tips&tricks

Reading time7 min
Views29K

Техника кеширования позволяет создавать более масштабируемые приложения, запоминания результаты некоторых запросов в быстрое in-memory хранилище. Однако, некорректно реализованное кеширование может сильно ухудшить впечатление пользователя о вашем приложении. Эта статья содержит некоторые базовые понятия о кешировании, различные правила и табу, которые я извлек из нескольких прошлых своих проектов.


Не используйте кеширование.


Ваш проект работает быстро и не имеет никаких проблем с производительностью?
Забудьте о кешировании. Серьезно :)


Оно сильно усложнит операции чтения из базы без каких-либо бенефитов.


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

Читать дальше →

Почему мы должны перестать заниматься пет-проектами

Reading time6 min
Views42K
image

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

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

Все это так, но удовольствие видеть, как твоим продуктом пользуется кто-нибудь еще, видеть, что он решает чьи-то проблемы — несравнимо выше. Так что я решил во что бы это ни стало довести хотя бы один проект до релиза.
Нужно было всего лишь разобраться, что мне мешало сделать это раньше.
Читать дальше →

10 отличных Github репозиториев, которые должен знать каждый веб-разработчик

Reading time3 min
Views100K

Кроме огромных репозиториев с источниками для подготовки к интервью, здесь много чего интересного


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


image


А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
Читать дальше →

10 отличных Github репозиториев для разработчиков (часть 2)

Reading time4 min
Views17K

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



Как и в прошлом случае, перевод будет довольно вольным: я опустил предисловие и эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, поехали.
Читать дальше →

Пара иногда востребованных хитростей при работе с git

Reading time6 min
Views26K

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


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


Итак...

Читать дальше →

13 инструментов для обработки текста в командной оболочке

Reading time17 min
Views115K
Здесь представлен фрагмент будущей книги «Основные инструменты и практики для начинающего разработчика программного обеспечения» Бальтазара Рубероля и Этьена Броду. Книга должна помочь образованию подрастающего поколения разработчиков. Она охватит такие темы, как освоение консоли, настройка и эффективная работа в командной оболочке, управление версиями кода с помощью git, основы SQL, инструменты вроде Make, jq и регулярные выражения, основы сетевого взаимодействия, а также лучшие практики разработки программного обеспечения и совместной работы. В настоящее время авторы упорно работают над этим проектом и приглашают всех поучаствовать в списке рассылки.

Содержание


Читать дальше →

300 потрясающих бесплатных сервисов

Reading time11 min
Views1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →

Обзор способов и протоколов аутентификации в веб-приложениях

Reading time18 min
Views676K


Я расскажу о применении различных способов аутентификации для веб-приложений, включая аутентификацию по паролю, по сертификатам, по одноразовым паролям, по ключам доступа и по токенам. Коснусь технологии единого входа (Single Sign-On), рассмотрю различные стандарты и протоколы аутентификации.

Перед тем, как перейти к техническим деталям, давайте немного освежим терминологию.

  • Идентификация — это заявление о том, кем вы являетесь. В зависимости от ситуации, это может быть имя, адрес электронной почты, номер учетной записи, итд.
  • Аутентификация — предоставление доказательств, что вы на самом деле есть тот, кем идентифицировались (от слова “authentic” — истинный, подлинный).
  • Авторизация — проверка, что вам разрешен доступ к запрашиваемому ресурсу.


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

Аналогично эти термины применяются в компьютерных системах, где традиционно под идентификацией понимают получение вашей учетной записи (identity) по username или email; под аутентификацией — проверку, что вы знаете пароль от этой учетной записи, а под авторизацией — проверку вашей роли в системе и решение о предоставлении доступа к запрошенной странице или ресурсу.

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

Моя подборка с Youtube на тему DIY

Reading time7 min
Views39K
На идею сделать такую подборку меня косвенно подтолкнул недавний пост о создании стола, а точнее обсуждения к нему. Думая над каким-то ответом на вопрос, я порылся в своих подписках, и понял, что только деревообработке уже посвящены несколько десятков из них. И некоторыми хочется непременно поделиться.

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

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

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


Читать дальше →

Уязвимости в прошивках австралийских животных

Reading time6 min
Views88K
В Австралии последние 60 тысяч лет живут племена хакеров. Только ломают они не ИТ-системы, а прошивки животных. Начнём с истории бумеранга.


На заливных лугах около Дарвина, Северные территории

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

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

— Сгенерировать случайное число от 1 до 11.
— Если это 1-10 – смотреть вниз и искать еду до клевка.
— Если это 11 — осмотреться.

Таким образом, когда у вас на болоте сидит стая птиц в 50-60 голов, 5-6 птиц играют роль радара, обозревая небо и окрестности, а остальные в это время едят. Причём насыщаются все одновременно, без выделенных часовых – никакого ролевого распределения, просто отличное распараллеливание процессов.

11 вопросов, которые нужно обсудить до начала работы

Reading time5 min
Views19K
Мало кто думает о разрешении или предотвращении конфликтный ситуаций в процессе сотрудничества до их возникновения. Очень часто к проблемам и порче отношений приводят не какие-то непримиримые разногласия и даже не способность каждой из сторон выполнять свои обязательства, а простые недомолвки, разный взгляд на “значения по умолчанию”. Этот небольшой чеклист позволит вам избежать множества проблем при работе.

1. Какую работу требуется выполнить


Не просто в общих чертах, а подробно. Важно, чтобы обе стороны одинаково понимали что нужно сделать и что будет являться результатом сотрудничества. Чем подробнее, тем лучше. Важно зафиксировать объем.

Если договоренностей нет, то разбежности в толковании объема ведут к недовольству и конфликту. Один считает, что работа выполнена не полностью, другой же наоборот, считает, что сделал уже больше оговоренного и его обманывают.
Читать дальше →

Обзор курсов по веб разработке

Reading time5 min
Views95K

В заметке я расскажу о моем опыте прохождения курсов по web разработка в школах: специалист, loft school, html academy, learn.javascript.ru. Эта заметка будет интересная всем, кто интересуется веб разработкой и всерьез думает сделать это своей работой. Подобные мысли заняли меня 2 года назад. Тогда я работал инженером. Сейчас я работаю frontend разработчиком в банке, поддержка ветхого сайта на битрикс и разработка нового на react, так что обучение не прошло даром. Мне периодически задают вопросы, где можно поучиться веб разработке и с чего начать, по этому я решил систематизировать свой опыт.


Итак, я решил, что курсы с четким планом обучения, заданиями и проверкой со стороны преподавателя (наставника) это самый короткий путь к мой цели, так и вышло. Но пройденные курсы сильно различались, а проходил я их специально в разных школах.

Читать дальше →

1000+ часов видео по Java на русском

Reading time7 min
Views1.3M
Добрый день.
Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
  1. Java Core
  2. Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
  3. Multicore programming in Java.


Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

В следствии этого у меня скопилось значительно количество ссылок на видео на русском языке по Java как моего авторства, так и моих коллег.

(GolovachCourses.com)


Здесь собраны несколько вариантов записи моего курса Java Core.
Модуль #1 (Procedural Java):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #1, #2, #3, #4
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3, #4
Набор октябрь 2012: #1, #2, #3, #4.
Читать дальше →

Простые догмы при работе с цветом в интерфейсах

Reading time5 min
Views111K
image

Привет, username!

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

Читать дальше →

Как стать Java разработчиком за 1,5 года

Reading time10 min
Views313K

Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддержки и системной интеграции. Первого февраля 2019 г. закончился мой шестимесячный испытательный срок, и у меня на руках бессрочный контракт. Я хочу поделиться своим опытом, как можно самостоятельно выучить Java так, чтобы получить работу.



Это мой рабочий стол. Пить пиво в рабочее время у нас разрешено, мы же в Германии.


Моя первая статья: «IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там»

Читать дальше →

Юнит-тестирование в PHP

Reading time13 min
Views189K
Язык PHP очень легок для изучения. Это, а так же обилие литературы «Освой _что_угодно_ за 24 часа» породило большое количество, мягко говоря, некачественного кода. Как следствие, рано или поздно любой программист, который выходит за рамки создания гостевой книги или сайта-визитки сталкивается с вопросом: «а если я здесь немножко добавлю, все остальное не ляжет?» Дать ответ на этот вопрос и на многие другие может юнит-тестирование.

В самом начале хочется оговориться — здесь речь не будет идти о TDD и методологиях разработки ПО. В данной статье я попробую показать начинающему PHP-разработчику основы использования модульного тестирования на базе фреймворка PHPUnit
Начнем?..

Жизнь на частицах

Reading time4 min
Views69K
Всем привет! Сегодня я расскажу о своих экспериментах с системами частиц. Основной целью было нахождение простых правил, которые бы порождали интересное поведение.

Классический пример системы с простыми правилами и сложным поведением — клеточные автоматы, именно на них я и ориентировался, пытаясь подобрать правила. Конечно же, для клеточных автоматов правила будут в большинстве случаев проще. Но частицы могут быть красивее!

Под катом много мегабайт гифок.

Читать дальше →

Information

Rating
Does not participate
Registered
Activity