Pull to refresh
16
Karma
0
Rating
Валерий @rookie_cruekie

Программист

  • Followers 19
  • Following 2

Реализация оператора in в С++

Abnormal programming *C++ *
Привет! Сегодня я надеюсь показать вам немного магии. Моим хобби является придумывание всяких казалось бы невозможных штук на С++, что помогает мне в изучении всевозможных тонкостей языка ну или просто развлечься. Оператор in есть в нескольких языках, например Python, JS. Но в С++ его не завезли, но иногда хочется чтобы он был, так почему бы его не реализовать.

	std::unordered_map<std::string, std::string> some_map = 
	{
		{ "black", "white" },
		{ "cat", "dog" },
		{ "day", "night" }
	};

	if (auto res = "cat" in some_map)
	{
		res->second = "fish";
	}

Читать дальше →
Total votes 77: ↑75 and ↓2 +73
Views 21K
Comments 35

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

Alconost corporate blog Programming *Development of mobile applications *Game development *IT career
Translation


Никлаус Вирт, швейцарский ученый-информатик, в 1976 году написал книгу под названием «Алгоритмы + Структуры данных = Программы».

Через 40 с лишним лет это тождество остается в силе. Вот почему соискатели, желающие стать программистами, должны продемонстрировать, что знают структуры данных и умеют их применять.

Практически во всех задачах от кандидата требуется глубокое понимание структур данных. При этом не столь важно, выпускник ли вы (закончили университет или курсы программирования), либо у вас за плечами десятки лет опыта.

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

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

Переведено в Alconost
Читать дальше →
Total votes 36: ↑21 and ↓15 +6
Views 55K
Comments 17

Геймификация приложений — 5 моментов, о которых нельзя забывать

Skillbox corporate blog Development of mobile applications *Game development *Studying in IT


От переводчика: это перевод статьи Александра Шапорды из Django Stars, в которой он рассказывает об особенностях геймификации мобильных приложений.

Игровые элементы внедряют для повышения вовлеченности пользователя и увеличения финансовых показателей, чтобы выделиться среди конкурентов, да и просто потому, что с ними веселее. Геймификация позволяет привлечь и удержать аудиторию этого при помощи лайков, уровней, ачивок, прогресс-баров, призов и сюрпризов, вручаемых пользователю. Она способна повлиять на лояльность пользователя, частоту обращения к приложению и время, которое пользователь проводит в нем. В конечном итоге все это выливается в рост ваших прибылей. Но как геймифицироваться правильно?
Читать дальше →
Total votes 24: ↑19 and ↓5 +14
Views 6.6K
Comments 3

WireGuard «придет» в ядро Linux — почему?

CloudMTS corporate blog Configuring Linux *System administration *System Analysis and Design *Development for Linux *
В конце июля разработчики VPN-туннеля WireGuard предложили набор патчей, которые сделают их ПО для организации VPN-туннелей частью ядра Linux. Однако точная дата реализации «задумки» пока остается неизвестной. Под катом поговорим об этом инструменте подробнее.

Читать дальше →
Total votes 41: ↑39 and ↓2 +37
Views 22K
Comments 40

Моя версия «прибора для осознанных сновидений» – краткая история и описание первой версии

Gadgets Biotechnologies Brain Health
Sandbox
Примечание: статья написана исключительно в ознакомительных целях, и не является призывом к повторению подобных экспериментов дома ввиду потенциального риска причинения вреда физическому здоровью (в случае использования в приборах Li-ion аккумуляторов и фоторезисторов).

Доброго времени суток, уважаемые хаброюзеры и хаброчтители) Это – моя первая серьезная статья на Хабре, посему СУДИТЕ МАКСИМАЛЬНО СТРОГО, обещаю работать над стилем и содержанием.
Читать дальше →
Total votes 81: ↑77 and ↓4 +73
Views 40K
Comments 112

Пишем свой Spliterator

Java *Concurrent computing *
Tutorial
Многие из вас уже попробовали на вкус Stream API — потоки Java 8. Наверняка у некоторых возникло желание не только пользоваться готовыми потоками от коллекций, массивов, случайных чисел, но и создать какой-то принципиально новый поток. Для этого вам потребуется написать свой сплитератор. Spliterator — это начинка потока, публичная часть его внутренней логики. В этой статье я расскажу, как и зачем я писал сплитератор.
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Views 39K
Comments 29

Начни с себя, или 60 дней Kubuntu

Сервер Молл corporate blog Configuring Linux *System administration *IT Standards *Desktop PC's


В продолжении предыдущей статьи «Как Prius, но только на Linux» мне хотелось бы рассказать о собственном опыте смены рабочей среды. Перед тем как переводить офисные рабочие станции, всегда лучше ставить эксперименты на себе. И я решил поставить себе Linux на пару месяцев. В качестве операционной системы для экспериментов был выбран свежий дистрибутив Kubuntu 18.04, а о подводных камнях, с которыми я столкнулся и о хрониках эксперимента расскажу под катом.


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

Читать дальше →
Total votes 54: ↑48 and ↓6 +42
Views 66K
Comments 228

Kotlin DSL: Теория и Практика

JUG Ru Group corporate blog Programming *Java *Compilers *Kotlin *
Разработка тестов приложения — не самое приятное занятие. Этот процесс занимает долгое время, требует большой концентрации и при этом крайне востребован. Язык Kotlin дает набор инструментов, который позволяет довольно легко построить собственный проблемно-ориентированный язык (DSL). Есть опыт, когда Kotlin DSL заменил билдеры и статические методы для тестирования модуля планирования ресурсов, что превратило добавление новых тестов и поддержку старых из рутины в увлекательный процесс.

По ходу статьи мы разберем все основные инструменты из арсенала разработчика и то, как их можно комбинировать для решения задач тестирования. Мы с вами проделаем путь от проектирования Идеального Теста до запуска максимально приближенного, чистого и понятного теста для системы планирования ресурсов на основе Kotlin.

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



Статья основана на докладе Ивана Осипова (i_osipov) на конференции JPoint. Дальнейшее повествование ведется от его лица. Иван работает программистом в компании Haulmont. Основной продукт компании – CUBA, платформа для разработки энтерпрайза и различных веб-приложений. В том числе на этой платформе делаются и аутсорсинговые проекты, среди которых недавно был проект в области образования, в котором Иван занимался построением расписания для образовательного учреждения. Так сложилось, что последние три года Иван так или иначе работает с планировщиками, и конкретно в Haulmont в течение года они этот самый планировщик тестируют.
Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Views 13K
Comments 10

Hibernate — о чем молчат туториалы

Java *
Sandbox
Эта статья не будет затрагивать основы hibernate (как определить entity или написать criteria query). Тут я постараюсь рассказать о более интересных моментах, действительно полезных в работе. Информацию о которых я не встречал в одной месте.
image
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Views 83K
Comments 7

Как перестать бояться Proguard и начать жить

Programming *Java *Development of mobile applications *Development for Android *


Здравствуйте, я Android разработчик и я больше не боюсь ProGuard...


Обычно, об этой утилите вспоминают, когда сталкиваются с dalvik dex-limit issue или с требованием улучшить безопасность приложения. К сожалению, правильно настроить Proguard удается далеко не с первого раза. Я часто наблюдал, как многие, сломав проект, выключают Proguard и включают поддержку Mulditex и каждый раз немножечко грустил по этому поводу, ведь Proguard помогает как сократить размер приложения, так и повысить его производительность.


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

Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views 41K
Comments 12

Типобезопасный SQL на Kotlin

SQL *Development for Android *SQLite *Kotlin *
Tutorial

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


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


vs


Ссылка на GitHub для нетерпеливых


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


Данная статья расскажет про библиотеку на Kotlin, которая позволяет писать SQL запросы в синтаксисе Kotlin. Также, мы немного посмотрим на внутренности библиотеки, чтобы понять как это работает.

Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Views 17K
Comments 56

Д-пантенол: препарат для добра

Гельтек-Медика corporate blog Biotechnologies Health

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

Сейчас расскажу, почему его так любят косметологи.
Читать дальше →
Total votes 39: ↑36 and ↓3 +33
Views 26K
Comments 54

Моя история создания мотивационного приложения (iOS и Android) для дочери с дочерью на Unity и C#

Development for iOS *Development of mobile applications *Game development *C# *Unity3D *
Tutorial

История создания приложения, позволяющего детям зарабатывать деньги своим умом


Это первая часть истории (вперемешку с рассказом о моих ошибках и их решениях) о том, как я (где-то два года в свободное время) разрабатывал мобильное приложение под iOS и Android, которое бы мотивировало мою дочь решать примеры по математике, чтобы она достигла автоматизма в основах арифметики (склад числа 10 или табличка умножения). В итоге, получилось приложение, позволяющее ребёнку зарабатывать деньги своим умом.


Использовал я движок Unity и язык C#, а также дополнительный набор софта вроде обязательного Photohsop или Audacity (для создания звуков).


План рассказа (часть первая)


  • Предыстория
  • О монетизации
  • Почему Unity
  • О Scriptable Objects
  • О плагине Anima2D
  • О Lean Localization
  • Об iTween
  • О Unity Analitics
  • О Visual Studio
  • Ссылки

Предыстория и колорадские жуки


Мой предыдущий опыт — это несколько лет в 3D и, с недавних пор, разработка нескольких инди-игр на пару с программистом, где я выступал в основном только в роли дизайнера и художника (очень редко пописывая какие-то элементарные скрипты на C#). Хотя, с программированием знаком не понаслышке (колупал Basic в школе и баловался с C/C++ в универе).


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

Total votes 34: ↑31 and ↓3 +28
Views 24K
Comments 17

25 занимательных Android библиотек. Весна 2018

Java *Development for Android *
Это список из 25 новейших Android-библиотек, проектов и инструментов, выпущенных за последние 3 месяца. Здесь нет первого и последнего места, это просто список интересных библиотек. Они определённо заслуживают вашего внимания. Наслаждайтесь!


Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views 18K
Comments 2

Очень простое объяснение принципов SOLID

Perfect code *ООP *
Disclaimer: Всем можно, ну а я чем хуже?!

SOLID — это набор принципов по организации кода. Фактически они декларируют некие правила, которые помогут вам сохранить свои и чужие нервы и время. А могут и не помочь.

Попробуем разобраться в этих принципах на пальцах, без примеров кода и СМС.
Читать дальше →
Total votes 60: ↑53 and ↓7 +46
Views 52K
Comments 60

Model-View-Intent и индикатор загрузки/обновления

Development of mobile applications *Development for Android *Kotlin *

Добрый день! Многие Android-приложения загружают данные с сервера и в это время показывают индикатор загрузки, а после этого позволяют обновить данные. В приложении может быть с десяток экранов, практически на каждом из них нужно:


  • при переходе на экран показывать индикатор загрузки (ProgressBar) в то время, как данные грузятся с сервера;
  • в случае ошибки загрузки показать сообщение об ошибке и кнопку "Повторить загрузку";
  • в случае успешной загрузки дать пользователю возможность обновлять данные (SwipeRefreshLayout);
  • если при обновлении данных произошла ошибка, показать соответствующее сообщение (Snackbar).

При разработке приложений я использую архитектуру MVI (Model-View-Intent) в реализации Mosby, подробнее о которой можно почитать на Хабре или найти оригинальную статью о MVI на сайте разработчика mosby. В этой статье я собираюсь рассказать о создании базовых классов, которые позволили бы отделить описанную выше логику загрузки/обновления от остальных действий с данными.

Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Views 5.4K
Comments 0

Как предпринимателю сдать отчётность по УСН

Я люблю ИП corporate blog Freelance Start-up development Legislation in IT
Tutorial


До конца срока сдачи отчётности по УСН осталась ровно одна неделя. В этой статье мы расскажем, как ИП сдать отчётность по УСН, что в неё входит, а также как сформировать декларацию по УСН бесплатно на нашем сайте.

Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 5.1K
Comments 28

Ubuntu 18.04 LTS: что нового?

Selectel corporate blog System administration **nix *DevOps *
image

Вчера, 26 апреля 2018 года, состоялся релиз очередной версии Ubuntu — 18.04 Bionic Beaver. Её кодовое название можно перевести на русский как “очень сильный бобёр” (да, у слова bionic есть и такое значение). Основатель Canonical Марк Шаттлворт объясняет выбор названия так:
Мы таким образом приветствуем созидателей — тех, кто создаёт приложения и пакеты, кто создаёт Ubuntu, кто создаёт что-то на базе Ubuntu. Отдавая должное их неустанному труду, мы выбрали в качестве маскота зверя, известного своим энергичным настроем, трудолюбивой натурой и инженерной смекалкой.

Ubuntu 18.04 относится к LTS (Long Term Support)-версиям. Они выходят каждые два года (предыдущей LTS-версией была 16.04) и поддерживаются в течение пяти лет с момента релиза.

Сегодня, в день официального релиза, самое время поговорить о реализованных в новой версии Ubuntu нововведениях. А наши пользователи уже сегодня могут попробовать всё на практике: образ Ubuntu 18.04 уже доступен для использования во всех наших сервисах: в Виртуальном приватном облаке, Облачных серверах Vscale, и в выделенных серверах.
Читать дальше →
Total votes 75: ↑69 and ↓6 +63
Views 129K
Comments 171

Модули Java 9 и внедрение зависимостей: используем Guice

Издательский дом «Питер» corporate blog Java *ООP *Professional literature
Translation
Коллеги, привет!

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

Складывается впечатление, что модульная организация Java 9 потребует от программиста недюжинной изобретательности, и один из перспективных вариантов адаптации к такому дивному новому миру — это внедрение зависимостей. Именно по этому поводу внятно и интересно высказался в блоге O'Reilly уважаемый Пол Бэккер (Paul Bakker), один из авторов книги "Java 9 Modularity"


Приятного чтения и не забудьте проголосовать пожалуйста!
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views 9.6K
Comments 3

Безопасный SOCKS5 прокси для Telegram за 1 Евро и 10 минут

Аладдин Р.Д. corporate blog Configuring Linux *Information Security **nix *Server Administration *
Tutorial
Не все прокси одинаково полезны. На волне новостей о блокировке мессенджера Телеграмм стало актуально поднимать свой SOCKS5 прокси, так как чужой использовать не безопасно — неизвестно, кому принадлежат серверы, какое ПО на них используется, и какие в нем присутствуют уязвимости. Кроме того, публичные прокси часто очень медленные, поскольку большое число клиентов одновременно «пытаются» его использовать, перегружая ресурсы сервера. Под катом инструкция по быстрой настройке приватного SOCKS5 прокси с аутентификацией за 1 евро и 10 минут времени и возможностью в дальнейшем расширить защиту сервера при помощи усиленной аутентификации.
Читать дальше →
Total votes 71: ↑45 and ↓26 +19
Views 128K
Comments 142

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity