Pull to refresh
1
0
Radik Gismatullin @xget

AQA

Send message

«Гончие и шакалы». Найдена древнейшая настольная игра человечества, которой тысячи лет

Reading time5 min
Views4.5K

Источник: arstechnica.net

Долгое время считалось, что древняя настольная игра, известная как «Гончие и шакалы», появилась в Египте. Однако последние археологические находки пошатнули уверенность ученых. Скорее всего, «Гончие и шакалы» была известна в более древние времена, о чем свидетельствует недавно найденная на территории современного Азербайджана версия игровой доски. Подробности под катом!
Читать дальше →
Total votes 21: ↑20 and ↓1+30
Comments19

Улучшаем автокомплит в смешанных Java-Kotlin проектах

Level of difficultyEasy
Reading time4 min
Views1.4K

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

Что за идея?
Total votes 8: ↑8 and ↓0+13
Comments0

Flappy Bird на Си для Android весом APK всего 92 Килобайта

Level of difficultyEasy
Reading time4 min
Views8.6K

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

Читать далее
Total votes 44: ↑42 and ↓2+51
Comments27

Приложение, идентичное натуральному: 7 способов прокачать свой pet-проект

Level of difficultyEasy
Reading time9 min
Views3.9K

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

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

Читать далее
Total votes 21: ↑16 and ↓5+16
Comments10

Обзор криминалистических артефактов Windows

Level of difficultyMedium
Reading time13 min
Views11K

При расследовании инцидентов информационной безопасности на хостах под управлением Windows, специалистам приходится искать свидетельства и доказательства вредоносной активности. В типичной ситуации аналитик сталкивается с физическим диском или его образом, содержащим множество артефактов операционной системы, которые не всегда легко интерпретировать. Иногда стандартный набор артефактов может не обеспечить полный ответ на вопрос: «Что произошло в системе?». Например, если настройки аудита неправильно настроены, то необходимые события в журналах безопасности могут не записаться, или злоумышленник может успеть очистить наиболее популярные артефакты, или данные в процессе сбора или передачи могут повредиться.

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

Подробнее
Total votes 7: ↑7 and ↓0+8
Comments1

Интересные приёмы, взятые из исходников Android

Level of difficultyEasy
Reading time8 min
Views12K
Интересные приёмы, взятые из исходников Android

В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а. Сразу отмечу: эта статья не претендует на полноту материала и возможно вы нашли даже больше интересных моментов при чтении кода, ладно, погнали, короче!
Читать дальше
Total votes 31: ↑28 and ↓3+43
Comments3

Kotlin глазами Java-разработчика

Level of difficultyEasy
Reading time6 min
Views19K

Привет, хабр! Сегодня я хочу рассказать про свой опыт взаимодействия с языком kotlin.

Представлюсь – я java разработчик, работаю в крупном банке, создаю (и поддерживаю существующие) микросервисы.

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

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

Читать далее
Total votes 34: ↑30 and ↓4+30
Comments75

Кому не стоит искать работу за рубежом

Level of difficultyEasy
Reading time16 min
Views18K

Живу в Германии и работаю в немецкой компании. Вижу, что многие хотят здесь найти работу и обосноваться. И вижу, что у многих эта затея не получится. Дело даже не в санкциях или деньгах. Ограничения в голове не дадут это сделать.

Решил написать эту статью в помощь всем, кто задумывается о релокации и работе в Европе. Вначале расскажу про плюшки жизни и работы в Европе. В частности в Германии. А потом уже поделюсь мнением, что может помешать сюда попасть.

Читать далее
Total votes 34: ↑8 and ↓26-12
Comments41

Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso

Level of difficultyMedium
Reading time8 min
Views1.7K

Всем привет!

Меня зовут Сергей Дударев, я руководитель направления автоматизированных тестов в департаменте мобильной разработки «Лаборатории Касперского». В этой статье хочу рассказать, как я прошел путь от Appium до open-source-фреймворка Kaspresso, с чего начинал, какие делал для себя открытия, как разрушались мои стереотипы и какие по итогу были сделаны выводы.

Читать далее
Total votes 14: ↑14 and ↓0+17
Comments1

Советы по программированию, которые бы я дал себе 15 лет назад

Level of difficultyMedium
Reading time8 min
Views31K


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

▍ Если ты (или твоя команда) постоянно стреляешь себе в ногу, то почини ружьё


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

Когда я занимался разработкой для iOS, то использовал CoreData и подписывался на изменения нескольких view. Обратный вызов подписки поступал в тот же поток, из которого было запущено изменение. Иногда это был основной поток, а иногда — фоновый. В разработке для iOS важно то, что вносить изменения в UI можно только в основном потоке, иначе приложение вылетит. Поэтому подписка могла работать нормально, но потом ломалась, когда кто-то запускал изменение из фонового потока или вы позже добавляли обновление UI.

Все без раздумий воспринимали это как что-то само собой разумеющееся, и об этом часто говорили в ревью для новичков в команде. Время от времени кто-нибудь ошибался, и мы добавляли DispatchQueue.main.async, когда видели отчёт о сбое.

Я решил это исправить. У меня ушло десять минут на внесение изменений в слое подписки, теперь подписчики вызывались в основном потоке, что позволило избавиться от целого класса сбоев и сняло с нас часть умственной нагрузки.
Читать дальше →
Total votes 45: ↑43 and ↓2+59
Comments15

Как прийти на позицию QA-лида в команду и сделать ее только лучше

Level of difficultyEasy
Reading time8 min
Views3.6K

Всем привет. Меня зовут Костя Лях, я работаю на позиции Head of QA в одном из управлений T-Банка. За время карьеры успел поучаствовать в запуске проектов в стартапах и корпорациях.

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

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

Итак, вы пришли на позицию QA-лида в компанию, как же все не сломать и с чего начать?

Читать далее
Total votes 12: ↑10 and ↓2+10
Comments3

Вместо Telegram: ТОП-14 email-рассылок для программиста

Level of difficultyEasy
Reading time4 min
Views1.6K

В этой статье делюсь подборкой из 14 лучших email-рассылок по бэкенду, фронтенду, ИИ на русском и английском языках.

В последнее время подсел на рассылки для экономии времени: вместо того, чтобы следить за более чем 20 телеграм-каналами по интересующей меня тематике, я получаю письма c тщательно отобранной информацией всего 1-3 раза в неделю.

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

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

6 книг по геймдизайну, которые стоит прочитать начинающим специалистам и всем фанатам игр

Reading time4 min
Views12K

Привет, Хабр! Меня зовут Идар Табухов. Я скрам-мастер в МТС Диджитал, а в свободное время веду канал с прохождением игр и провожу стримы. Эта тема моя на все 100%: я играю в PlayStation с пяти лет, интересуюсь созданием игр и, конечно, геймдизайном.

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

Читать далее
Total votes 18: ↑16 and ↓2+24
Comments5

Как понять, что твой мидл готов стать сеньором? Гайд для тимлида (и не только)

Level of difficultyEasy
Reading time8 min
Views23K
Новый грейд — это не просто лычка IT-спеца. По сути, это кульминация работы над задачами и решений различных кейсов, которыми он занимался на своей позиции. Но на этот новый уровень айтишник переходит не один.



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

В «Лаборатории Касперского» существует устоявшийся и прозрачный пайплайн повышения мидлов — промоушен-комитет. В этой статье я подробно расскажу об этом процессе с точки зрения руководителя: от подготовки и сбора кейсов до получения кандидатом заветного грейда.

Читать дальше →
Total votes 47: ↑35 and ↓12+27
Comments66

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

Level of difficultyEasy
Reading time16 min
Views1.8K

Игры успешно конкурируют за внимание пользователей с соцсетями, новостями и кино. Борьба жесткая — лучшие проекты зарабатывают больше, чем фильмы-блокбастеры. Еще в 2018 году интернет взорвала новость о том, что GTA V заработала более $6 млрд. Для сравнения: фильм «Аватар», самый кассовый за всю историю кино, собрал $2,8 млрд. Сегодня рост игровой индустрии сместился в мобильный гейминг, а смартфоны в период с 2021 по 2026 год станут самой быстрорастущей категорией устройств.

Среди мобильных игр конкуренция не менее жесткая: в одном только Google Play доступно около 370 тысяч проектов. И даже очень талантливо сделанные игры могут легко остаться без внимания, если не увлекут пользователя с первых минут. Этот показатель — удержание игроков — оказывает значительное воздействие на рентабельность инвестиций в разработку и напрямую влияет на успех проекта. Но как удержать пользователей в мобильной игре? И можно ли здесь переборщить? Чтобы получить ответы на эти вопросы, мы расспросили наших партнеров, разработчиков из компании PRISMA.

Читать далее
Total votes 23: ↑20 and ↓3+21
Comments10

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

Reading time7 min
Views6.2K

Привет, Хабр! Меня зовут Владимир Воловиков, я архитектор решений в МТС Диджитал. В этой статье я расскажу не о работе, а о занятии, которое со мной намного дольше ИТ. Оно дает мне силы, помогает восстанавливаться и приводить мысли в порядок.

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

Читать далее
Total votes 20: ↑16 and ↓4+17
Comments94

Написание функционального тестирования в Go

Level of difficultyEasy
Reading time9 min
Views2.8K

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

Читать далее
Total votes 4: ↑4 and ↓0+7
Comments9

Эмиттерный повторитель — ключ к пониманию работы транзисторных каскадов

Level of difficultyMedium
Reading time9 min
Views37K


Привет, эту публикацию я хочу посвятить людям, кто, как и я, любил в детстве читать журнал «Радио» и книги по электронике, но не смог сам разобраться в принципах работы усилителей на биполярных транзисторах. Тема полупроводников непроста и требует понимания многих чуждых для нашей повседневной интуиции физических процессов. Я помню момент озарения, когда я понял принцип схемотехнического решения эмиттерного повторителя, и именно с него пошло постепенное понимание, как функционируют и другие типы транзисторных каскадов. И я предполагаю, что эта тема может стать точкой входа в аналоговую электронику не только для меня.
Читать и смотреть схемы
Total votes 149: ↑147 and ↓2+187
Comments117

API в ОК: анализ покрытия и автотесты

Level of difficultyMedium
Reading time11 min
Views4.8K

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

Мы продолжаем серию статей об автотестах в ОК (материалы по этой теме мы можете почитать здесь, здесь и здесь). И сегодня рассказываем на примере анализа покрытия автотестами API, как с этими задачами справляется команда ОК.

Читать далее
Total votes 25: ↑24 and ↓1+30
Comments0
1
23 ...

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Registered
Activity

Specialization

Test Automation Engineer
Java
Kotlin