Как стать автором
Обновить
0
0
Максим @crazy_flower

программист

Отправить сообщение

Формула идеального IT-ивента

Время на прочтение2 мин
Количество просмотров4.3K

Привет!

Мы видим, что компании часто публикуют анонсы ивентов для айтишников, а вы, читая их, наверняка думаете: «вроде бы неплохо, но вот если бы это было… (офлайн/покороче/подешевле/на Багамах и т.д.), тогда бы сходил». Нам стало интересно: каким должен быть IT-ивент, чтобы вы перед ним не смогли устоять?

Давайте вместе попробуем вывести формулу самого крутого IT-ивента: для этого просим вас пройти короткий (правда короткий, 14 вопросов) опрос.

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

Чтобы в ответах вы следовали голосу сердца, а не внутренней «жабы», сразу обозначим, что наш идеальный ивент БЕСПЛАТНЫЙ. Но давайте договоримся: мы хотим, чтобы ивент был вам интересен сам по себе, а не как «под любым предлогом, лишь бы нахаляву на море», ага?

Погнали!

Читать далее
Всего голосов 8: ↑7 и ↓1+12
Комментарии5

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

Время на прочтение23 мин
Количество просмотров233K

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

Одна из простых задач звучит так: «При переводе картинки из цветового пространства RGB в YUV мы выполняем прореживание, то есть выкидываем каждый четный столбец и каждую четную строку в компонентах U и V (все компоненты пикселя по 1 байту). Вопрос: во сколько раз меньше данных у нас стало?» Эта операция называется chroma subsampling и широко используется при сжатии видео, например.

Забавно, что когда-то давно, когда винчестеры были меньше, а дискеты больше, студенты реально отвечали на этот вопрос быстро. А в последние годы регулярно народ в ступор впадает. Приходится разбирать по частям: «Если выкинуть каждую четную строку и каждый четный столбец, во сколько раз меньше данных будет у компоненты?» Почти хором: «В четыре». Начинаю подкалывать: «Отлично! У нас было 3 яблока, первое осталось как есть, а от второго и третьего осталось по четвертинке. Во сколько раз меньше яблок у нас стало?» Народ ржет, но, наконец-то, дает правильный ответ (заметим, не все). 

Это было бы смешно, если бы от способности быстро в уме прикинуть результат не зависела способность быстрее создавать сложные алгоритмы. 

И хорошо видно, как эта способность в широких массах студентов заметно плавно падает. Причем не только в нашей стране. Придуман даже специальный термин: «цифровое слабоумие» ("digital dementia") — снижение когнитивных способностей, достаточно серьезное, чтобы повлиять на повседневную деятельность человека. 

Кому интересно как теряют мозг студенты масштабы бедствия и что с этим делать — добро пожаловать под кат!

Читать далее
Всего голосов 324: ↑308 и ↓16+373
Комментарии795

Автоматизированная сборка Delphi-приложения

Время на прочтение14 мин
Количество просмотров23K

Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-коленке", хотя продукты бывают весьма серьёзными и продаваемыми. Вероятно, это пошло ещё с тех пор, когда для автоматизации нужно было придумывать свои батнички, которые запускали компилятор командной строки dcc32 с нужными параметрами. Некоторые даже сделали свой "Публикатор" — Delphi-expert, который делает работу сервера сборок: компилирует (правда, открытый в IDE) проект, выставляя ему взятый из какой-то БД инкрементированный номер версии, записывает некий changelog и копирует это куда-то в сетевой каталог.


Я не буду вдаваться в исторический экскурс как было раньше. Я расскажу как есть/можно сейчас, и как это использовать для повышения эффективности своей работы.


Файл проекта современной версии Delphi — это .dproj-файл (здесь и далее я буду ориентироваться на Delphi 10 Rio, но с небольшими отличиями это верно для всех более ранних версий Delphi, начиная с 2007). В нём хранятся все настройки проекта, которые обычно изменяют в IDE (меню Project - Options (Ctrl+Shift+F11)). В рамках данной статьи я сконцентрируюсь на "основных", которые понадобятся для демонстрации общих принципов: это Config — конфигурация, Platform — платформа, OutputDirectory — путь выходного файла и ConditionalDefines (директивы условной компиляции). Остальные настройки, если таковые нужно менять при сборке, я предлагаю выявить самостоятельно. Этот же .dproj-файл, если в него заглянуть обычным текстовым редактором, является ничем иным как скриптом сборки MSBuild (давайте создадим простое консольное приложение и назовём его DelphiAutomatedBuild):

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии47

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

Время на прочтение3 мин
Количество просмотров41K

Привет! В этой статье я кратко объясню что такое localStorage в JavaScript, его особенности и расскажу как с ним работать.

Читать далее
Всего голосов 9: ↑4 и ↓5-1
Комментарии3

Оружие Высших грибов

Время на прочтение15 мин
Количество просмотров82K
Замечателен тот факт, что грибы, распространенные в чрезвычайном изобилии, не смогли развиться. Это, можно сказать, выкидыши растительного мира.
(Анри Бергсон в кн. Творческая Эволюция)

Признаюсь честно, я сделал это под принуждением. Под принуждением подписчиков отвлекся от своих любимых растений и полез в грибную тему. Потому что «скоро осень»/«надо быть готовыми» и т.п. К счастью много писать не пришлось, так как с грибами все попроще и идентифицированных токсинов немного (но они достаточно ядрёны). Под катом небольшая статья, с описанием того, что на данный момент известно про отравляющие вещества Высших грибов. А где есть такая возможность, так и с упоминанием антидота при отравлении. На протяжении недели про грибы читали в LAB-66, теперь — читаем на хабре.
ПРЕДУПРЕЖДЕНИЕ! Статья не соответствует «тематике Хабра»!

Всякий гриб в руки берут, да не всякий в кузов кладут
Всего голосов 104: ↑97 и ↓7+120
Комментарии255

Мой уход из Яндекса, как не потерять мотивацию за полгода подготовки в FAANG и реджект в Google

Время на прочтение12 мин
Количество просмотров105K

Мой уход из Яндекса, как не потерять мотивацию за полгода подготовки в FAANG и реджект в Google.

Читать далее
Всего голосов 127: ↑117 и ↓10+148
Комментарии297

15 полезных функций Telegram, о которых вы можете не знать

Время на прочтение7 мин
Количество просмотров412K

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

Читать далее
Всего голосов 55: ↑34 и ↓21+23
Комментарии79

Музыка для игр: где брать треки инди-разработчикам

Время на прочтение3 мин
Количество просмотров15K

Было время, когда музыка в видеоиграх представляла собой 8-битные мелодии. Но сегодня она такая же разнообразная, как и в других развлекательных жанрах. Есть мнение, что наибольший вклад в ее развитие вносят инди-разработчики, которые, обладая скромными бюджетами, не стесняются экспериментировать.

Сегодня мы расскажем о трех ресурсах, где можно найти royalty free треки для своих игровых экспериментов — IndieGameMusic, Unminus Music и cchound.

Читать далее
Всего голосов 6: ↑5 и ↓1+7
Комментарии3

Выкладка нетрадиционной ориентации

Время на прочтение4 мин
Количество просмотров10K


Все, кому приходится иметь дело с вёрсткой, знают что гриды и flexbox давно захватили CSS, позволяют очень удобно организовать классическую выкладку хедер-контент-сайдбар-футер, списки карточек, masonry и так далее. Но их настоящая крутизна не в удобстве использования, а в бескрайних возможностях, которые они открывают. Я покажу и объясню мой любимый трюк, который позволяет верстать за рамками привычной вертикально-горизонтальной прямоугольной сетки, и выглядит это очень круто.
Всего голосов 28: ↑27 и ↓1+37
Комментарии2

Полезные JavaScript-библиотеки

Время на прочтение6 мин
Количество просмотров34K
Не стоит недооценивать силу простоты. Пожалуй, сложно представить себе, что на чистом JavaScript реализовано что-то вроде системы push-уведомлений, работающей в реальном времени, или инструмент для работы с базами данных, или полноценный текстовой редактор. Но подобные проекты существуют и позволяют решать множество актуальных задач. В этом материале речь пойдёт о нескольких весьма полезных библиотеках, которые подключаются к страницам в виде обычных JavaScript-файлов. При рассказе о каждой из них я постараюсь выделять их особенности и приводить примеры их использования.


Читать дальше →
Всего голосов 48: ↑37 и ↓11+41
Комментарии18

Ликбез по типизации в языках программирования

Время на прочтение12 мин
Количество просмотров514K
image

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

В полной версии находится подробное описание всех видов типизации, приправленное примерами кода, ссылками на популярные языки программирования и показательными картинками.
Читать дальше →
Всего голосов 239: ↑232 и ↓7+225
Комментарии180

Полное руководство по CSS Flex + опыт использования

Время на прочтение6 мин
Количество просмотров54K

Как и CSS Grid, Flex Box довольно сложен, потому что состоит из двух составляющих: контейнера и элементов внутри него.

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

Читать!
Всего голосов 14: ↑11 и ↓3+13
Комментарии13

Логическое программирование на Prolog для чайников

Время на прочтение14 мин
Количество просмотров82K

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

Выделяют три основные парадигмы программирования: императивное, функциональное и логическое. Императивное — это про C/C++, Java, Golang, Javascript и тд. Я даже могу сказать "C подобный, значит императивный". Функциональное — это про Haskell, F#, Lisp, ленивые вычисления, чистые функции и т.д. Но что такое логическое программирование? Какие задачи оно решает и на чем программировать? Не уже ли логическое программирование способно доказать любую математическую теорему? Или как?

Это статья — туториал по логическому программированию на Пролог для чайников.

Туториал будет интересен в первую очередь:
1. Любознательным
2. Студентам, которым приходится изучать Prolog в вузе

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

Давайте разбираться
Всего голосов 12: ↑8 и ↓4+9
Комментарии18

SQLite — не игрушка

Время на прочтение7 мин
Количество просмотров82K

Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.

Читать далее
Всего голосов 189: ↑187 и ↓2+235
Комментарии89

Фольклор программистов и инженеров (часть 1)

Время на прочтение29 мин
Количество просмотров73K


Это подборка историй из интернета о том, как у багов иногда бывают совершенно невероятные проявления. Возможно, вам тоже есть что рассказать.
Всего голосов 103: ↑95 и ↓8+107
Комментарии247

Spring MVC: создание веб-сайтов и RESTful сервисов

Время на прочтение34 мин
Количество просмотров143K

Вы можете использовать эту статью, чтобы понять, как использовать Spring MVC для создания веб-сайтов или RESTful сервисов. А также получить обзор часто задаваемых вопросов, охватывающих наиболее распространенные задачи Spring MVC.


Примечание: Статья ~ 7500 слов, вероятно, не стоит читать ее на мобильном устройстве. Добавьте ее в закладки и вернитесь позже.


Содержание


Читать дальше →
Всего голосов 9: ↑7 и ↓2+9
Комментарии4

Как получать 100 тысяч за код. Полное руководство для начинающих

Время на прочтение9 мин
Количество просмотров59K

Сохраните в закладки сейчас, скажите спасибо через год. В конце каждого этапа — ссылки для внеклассного чтения.


Что нужно знать, чтобы получать зарплату 100 тысяч

1. Познакомьтесь с веб-разработкой


Ситуация на 1 этапе

Продолжительность этапа: 1 месяц.


Что изучить на этом этапе.


  1. Структуру HTML.
  2. Отличия фронтенда и бэкенда.
  3. Разметку и оформление текста.
  4. Как размечать страницу по макету.
  5. Как ставить ссылки и вставлять изображения.
  6. Основы CSS — правила, селекторы, свойства и каскадирование.
  7. Хотя бы немного понимать, как работает и где применяется JavaScript.

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


Ещё 7 шагов
Всего голосов 42: ↑20 и ↓22+8
Комментарии91

Учебный курс по React, часть 1: обзор курса, причины популярности React, ReactDOM и JSX

Время на прочтение14 мин
Количество просмотров190K
Представляем вашему вниманию первые 5 занятий учебного курса по React для начинающих. Оригинал курса на английском, состоящий из 48 уроков, опубликован на платформе Scrimba.com. Возможности этой платформы позволяют, слушая ведущего, иногда ставить воспроизведение на паузу и самостоятельно, в том же окне, в котором ведётся демонстрация, экспериментировать с кодом. Курс показался нам интересным, мы решили перевести его на русский и преобразовать в формат традиционных публикаций.



Полагаем, этот курс будет полезен всем, кто, что называется, «не умеет в React», но хочет научиться. В то же время, на то, чтобы превратить этот курс в обычные публикации, нужны немалые силы и время, поэтому мы, прежде чем принимать окончательное решение о запуске этого проекта, предлагаем всем желающим оценить курс и поучаствовать в опросе о целесообразности его перевода.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии60

Как суровые челябинские разработчики делают игры для Google Play и соцсетей

Время на прочтение10 мин
Количество просмотров6.9K


Мы взяли интервью у Алексея Дмитриева, CEO Duck Rockets — инди-студии из Челябинска. Ребята делают игры для соцсетей, а в 2017 они выпустили свою первую мобильную игру — Bon Voyage. Весной 2019 у игры появился издатель.

Алексей рассказал Nitro, зачем выходить на маленькие локальные рынки, почему они не пытаются пробиться на китайский рынок, в чем сложность выпуска детских приложений и нужно ли одеть главную героиню в паранджу, чтобы игра пришлась по вкусу пользователям в Иране.
Всего голосов 8: ↑4 и ↓4+2
Комментарии6

Саморазвитие: как я не усидел на двух стульях и нашел третий

Время на прочтение19 мин
Количество просмотров41K


Всем привет! Я руковожу командой антиспама в Mail.ru Group, а также несколькими группами по машинному обучению. Тема этой статьи — саморазвитие для тимлидов/руководителей, но на самом деле многие техники и рецепты совершенно не зависят от роли. Для меня этот вопрос очень актуален, так как машинное обучение развивается крайне стремительно, и чтобы хотя бы быть в теме, надо потратить уйму времени. Поэтому вопрос, как и на что тратить время для развития, стоит достаточно остро.

Контент статьи, разумеется, не истина в последней инстанции, а всего лишь описание результатов моего продолжающегося квеста, в котором изложены сработавшие для меня подходы, основанные на книгах и тренингах, на пробах и ошибках. Буду рад подискутировать с вами в комментариях.
Читать дальше →
Всего голосов 44: ↑41 и ↓3+56
Комментарии27
1

Информация

В рейтинге
Не участвует
Откуда
Челябинск, Челябинская обл., Россия
Дата рождения
Зарегистрирован
Активность