Как стать автором
Обновить
31
8.8
Кирилл Белов @KirillBelovTest

Инженер по автоматизации тестирования

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

Почему стоит полностью переходить на Ceylon или Kotlin (часть 2)

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

Продолжаем рассказ о языке цейлон. В первой части статьи Сeylon выступал как гость на поле Kotlin. То есть брались сильные стороны и пытались их сравнить с Ceylon.


В этой части Ceylon выступит как хозяин, и перечислим те вещи, которые близки к уникальным и которые являются сильными сторонами Ceylon.


Поехали:

Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии29

Не используйте return в Scala

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

Сегодня я бы хотел представить вашему вниманию перевод небольшой статьи Роберта Норриса, возможно, знакомого вам под никнеймом tpolecat. Этот человек достаточно хорошо известен в Scala-сообществе как автор бибилиотеки doobie и участник проекта cats.


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

Чем же так плох return?
Всего голосов 27: ↑24 и ↓3+21
Комментарии10

Терминология OneGet, NuGet, Chocolatey, PowerShellGet — разложим по полочкам

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

Уверен, что абстракции вы уже прочитали и без меня:
chocolatey для установки приложений, nuget — для установки зависимостей разработчиком.

Но это мало того грубо, так еще и неправда.

Итак, какие типы пакетов мы знаем из мира Linux? Внимание: не пакетные менеджеры, а именно сами пакеты. Самые распространенные условно делятся на две группы: ОС-зависимые (deb, rpm) или языко-зависимые (как правило, tar-болы). В принципе можно сказать, что первая группа — это приложения (утилиты), а вторые — зависимости (библиотеки). Но иногда это не так: среди пакетов ОС есть библиотеки, а среди языковых пакетов есть пакеты, устанавливающие еще и утилиты (например stdeb в pip или elastalert в npm) — если их устанавливать глобально, то получится как пакет ОС.

Возвращаемся к Windows.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии23

Спикеры #ITsubbotnik – о том, как технологии изменят мир через пять лет

Время на прочтение7 мин
Количество просмотров2.8K
В конце мая в Петербурге прошел четвертый #ITsubbotnik, в котором приняли участие более 400 человек. Это конференция ЕРАМ, где спикеры делятся знаниями, слушатели задают вопросы и получают ответы, знакомятся вживую и путешествуют по виртуальной реальности.

Спикеры #ITsubbotnik – инженеры ЕРАМ, которые не могут не делиться своим опытом с окружающими. Они рассказывают не только об успехах, но и о том, на какие грабли наступали и как справлялись с проблемами.

А еще их доклады – всегда про будущее: говорят о новых подходах и инструментах, которые скоро, вероятно, для многих станут привычной повседневностью.


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

Один урок программирования

Время на прочтение8 мин
Количество просмотров43K
На днях мне довелось провести практическое занятие по программированию для учеников десятого класса одного из харьковских лицеев. Шесть лет назад я читал курс программирования в политехе, но тогда на посвящение студентов в эту, не побоюсь сказать, науку у меня было целых два семестра времени на лекционные и лабораторные занятия. А здесь было всего от силы полтора часа, да и с таким юным контингентом я ещё не работал. «Ладно», сказал я себе. И приступил к подготовке. Мне дали несколько задач, которые можно было бы порешать со школьниками. Первая из них занимала аж 70 строк индусского кода. Подготовил своё решение из 10 строк. Думал, «Сначала дам одно решение, потом покажу другое». Ещё одну задачу переписал для того, чтобы сместить акценты с программистских особенностей в предметную область (задача была геометрическая). Третья задача была наиболее простой – один человек вводит с клавиатуры число, другой отгадывает. Неинтересно. Пусть лучше компьютер загадывает и даёт подсказки. Для каждой задачи придумал последовательность подачи материала. Когда пришло время, а школьники расселись за компьютеры, я их спросил: «Кто-нибудь из вас имеет опыт программирования? Какие-то языки программирования уже изучали?». Получив отрицательный ответ, мысленно сказал себе «Печально», отложил в сторону два листа с распечаткой кода из трёх и сделал заявление: «Ну, что ж… Тогда начнём программировать!».

Для кодеров данная статья, наверняка, интереса не представляет. Мой рассказ будет о методике преподавания в условиях ограниченного времени для людей с неокрепшей детской психикой на примере всего одного урока. Всех желающих приглашаю под кат!
Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии173

Язык программирования SPL — пример решения задачи

Время на прочтение3 мин
Количество просмотров9.8K
В этой статье я расскажу о том, как можно в языке программирования SPL решить классическую задачу: получить список наиболее часто встречающихся в тексте слов. В качестве образца текста возьмем произведение Шекспира Гамлет.
Читать дальше →
Всего голосов 22: ↑15 и ↓7+8
Комментарии72

Клиент-сервер шаг — за — шагом, от однопоточного до многопоточного (Client-Server step by step)

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

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


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

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

По щучьему велению… (язык программирования Pike)

Время на прочтение5 мин
Количество просмотров11K
Статья представляет собой очень краткое введение в Pike. Признайтесь — мало кто из вас слышал об этом языке. Однако язык Pike даже применяется в продакшене (для работы Opera в режиме Turbo).
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии7

Работа с Java в командной строке

Время на прочтение11 мин
Количество просмотров650K
Сейчас уже никто не создает программы в консоли. Используя любимую IDE, разработчик чувствует себя неуютно за чужим компьютером, где её нет.
Решив разобраться в работе Ant и Maven, я поймал себя на том, что не смогу собрать приложение без них в консоли.
В данной статье я постарался уместить все этапы проектирования демонстрационного приложения, чтобы не искать справку по каждой команде на просторах Интернета.
Читать дальше →
Всего голосов 75: ↑71 и ↓4+67
Комментарии25

Автоматизированное тестирование веб-приложения (MS Unit Testing Framework + Selenium WebDriver C#). Часть 1: Введение

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

Введение

Всем Buenos Dias! В своей статье я хотел бы максимально лаконично и просто рассказать о том, как построить процесс автоматизированного тестирования web-приложения с нуля. Первым делом нужно правильно расставить приоритеты и выбрать приемлемое соотношение цена/качество. Сразу определимся — это будет не решение «на коленках» из зоопарка скриптов, которыми часто пользуются при ручном тестировании. В тоже время мы не будем тратить много усилий на проектирование нашего «фреймворка» для автоматизации. Наша цель — предоставить результаты своей бурной деятельности перед руководством в максимально короткие сроки, при этом система должна быть:
  • максимально простой, чтобы тесты могли писать даже специалисты по ручному тестированию
  • гибкой и расширяемой, поскольку мы не можем адекватно оценить весь объем работ на данном этапе
  • кроссплатформенной (Selenium WebDriver C# поддерживает Firefox, Chrome и IE)

В своем примере я буду успользовать .NET (Microsoft Unit Testing Framework) и Selenium WebDriver C#.
Читать дальше →
Всего голосов 25: ↑13 и ↓12+1
Комментарии15

Тестирование в F#

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

Введение


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

Далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии9

Иннополис и неспешная погоня за кремниевыми долинами

Время на прочтение11 мин
Количество просмотров12K
Началось всё, видимо, как обычно, — с Большого взрыва, может, чуть позже. Когда электронов вокруг ядра стало 14. Или в первый день сотворения мира, а именно создания неба и земли (но в тот момент, когда электронов стало 14). Или же на второй день полёта по миру макаронного монстра (ну про 14 электронов вы поняли). А может быть, когда появился тот самый единственный электрон, который сразу везде и нигде (но, как минимум, четырнадцать раз вокруг одного ядра). В тот момент в мире появился кремний. Который сначала в XIX веке именовался силицием, затем в России обрёл крепкое древнегреческое прозвище (в переводе на русский “кремний” — утёс, гора). А через век стал основой для полупроводниковых микросхем и силикона и дал жизнь двум долинам в Калифорнии. Одной — чисто силиконовой (silicon), в России именуемой для дифференциации Кремниевой. Другой — порно-силиконовой (silicone), да и хватит с неё, и так много чести быть опять упомянутой рядом.

В середине XX века за счёт научно-технического прогресса, дальновидности руководства Стэнфордского университета, наличия собственной земли и завещания Лелана Стэнфорда, а также некоторых других факторов, Кремниевая долина близ города Сан-Франциско (Пало-Альто) стала флагманом технического развития в мире. Теперь в каждом государстве, если создают какой-нибудь технопарк, то сразу гордо нарекают его второй кремниевой долиной. Поэтому к XXI веку вторых кремниевых долин насчитывается уже около сотни. Последняя из них, с подачи Дмитрия Анатольевича Медведева тоже Кремниевая, родилась в 2015-м году под Казанью.

image
Источник: centralandwolfe.com. Кремниевая долина — оригинал

Главная, но не основная часть статьи посвящена как раз Иннополису, однако сначала пройдёмся по каждой более-менее значимой второй Кремниевой долине, чтобы было потом с чем сравнивать.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии42

Как изучение Smalltalk может улучшить ваши навыки программиста

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


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

Smalltalk по-прежнему очень актуален. Это отличный язык для обучения программированию людей, не имеющих технического образования. Это превосходный язык прототипирования для стартапов. Это мощный промышленный язык, используемый как крупными, так и малыми компаниями по всему миру. Есть веские причины рассмотреть использование современного Smalltalk сегодня, поскольку многое было сделано за последнее время, чтобы улучшить его возможности.
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии113

Разработка игры на основе физической симуляции (для реалистичной разрушаемости игрового мира)

Время на прочтение4 мин
Количество просмотров44K
В первом посте об этой игре я рассказал о технических сложностях, которые пришлось преодолеть. Второй пост, который вы сейчас читаете — более лёгкий для восприятия. Здесь я проиллюстрирую гифками весь путь построения физической модели и кратко расскажу о каждом шаге.

От создания нового проекта в Юнити до публикации бета-версии в Стиме прошло 10 месяцев. 90% времени ушло на создание, оптимизацию и вылизывание физической модели, остальное — на геймплей.

Цель была в том, чтобы создать полностью физический мир. Но подход, реализованный в Red Faction показался слишком громоздким и не слишком реалистичным. В той игре меши при взрыве разбивались на куски, на которые натягивались физические коллайдеры. Я решил не мучаться с сопроматом и множеством частных случаев разрушений, а сделать простую систему, работающую во всех случаях.

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

Получившаяся из частиц материя сначала выглядела странно, и напоминала то ли жидкость, то ли газ:

image

А для игры нужно было что-то прочное, способное держать форму. Испробовав разные способы взаимодействия частиц, я нашёл, что сила Леннарда-Джонса даёт самую прочную субстанцию. Получилось что-то вроде манной каши. Для экспериментов я добавил взрывы по клику мыши.
Всего голосов 123: ↑120 и ↓3+117
Комментарии131

Функциональное программирование: в Java и C# слишком много церемоний

Время на прочтение11 мин
Количество просмотров33K
Многие, наверняка, слышали о функциональном программировании, некоторые пробовали написать свой Hello World, а кто-то даже завел свой «функциональный» pet-проект. Но многие ли пользовались функциональными языками в продакшене? Какие у ФП преимущества и недостатки? Оправдывает ли парадигма функционального программирования ожидания разработчиков? На эти и многие другие вопросы нам смог ответить человек, открывший для себя преимущества функционального подхода после 20 лет ООП-разработки.


Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии83

Английский для собеседований в IT-компании: что нужно для старта карьеры?

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

Собеседование на английском — дело непростое. Но хорошее планирование и подготовка ключевых моментов сделают этот процесс более приятным и безобидным.


Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии33

Нейрокурятник: часть 1. Установка Raspberry Pi и камеры в курятник и их настройка

Время на прочтение9 мин
Количество просмотров26K
image
Большой брат следит за тобой, птица!


Статьи про нейрокурятник
Заголовок спойлера
  1. Вступление про обучение себя нейросетям
  2. Железо, софт и конфиг для наблюдения за курами
  3. Бот, который постит события из жизни кур — без нейросети
  4. Разметка датасетов
  5. Работающая модель для распознавания кур в курятнике
  6. Итог — работающий бот, распознающий кур в курятнике

Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии32

Анализ дружеских связей VK с помощью Wolfram Mathematica

Время на прочтение6 мин
Количество просмотров44K
Не так давно, в Москве прошел семинар Wolfram Research Эра технологий Wolfram, на котором рассказывали много интересного про одну из самых мощных и определенно самую удобную систему компьютерных исследований Wolfram Mathematica. В частности, были представлены результаты исследования данных социальной сети facebook научно-исследовательской группой «Конструктивная Кибернетика». А чуть ранее, я наткнулся на новые возможности Wolfram|Alpha по всестороннему анализу странички в facebook. И после всего этого, у меня засела в голове безумная идея: «Я хочу узреть граф дружеских связей той соцсети, в которой живу (а именно, ВКонтакте)». И я все-таки нашел время на то чтобы ее реализовать. Добро пожаловать под кат.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии32

Простой и быстрый сервер на C/C++ с клиентом на C#: TCP версия

Время на прочтение4 мин
Количество просмотров147K
Всем привет. Потихоньку перебирая листы книг, занимаюсь я серверным программированием. И дошёл мой разум до того, что можно было бы и на C++ сервер написать. Ну и недолго думая(точнее вообще не думая и плохо зная плюсы), я пошёл писать сервер.

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

Начнём с самого главного элемента — класс сервера SServer:
Читать дальше →
Всего голосов 23: ↑7 и ↓16-9
Комментарии25

Консоль в Windows — никому не нужна?

Время на прочтение4 мин
Количество просмотров79K
Очень часто приходилось слышать такое от людей, которые много времени проводят за администрированием и другими IT-забавами.

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

Совсем недавно где-то на Хабре промелькнуло высказывание из серии «Не думал, что консоль в Виндах что-то может. Хотелось бы узнать об этом побольше».

Вот так и возникло желание написать небольшую статью про основные возможности консоли.
Читать дальше →
Всего голосов 183: ↑157 и ↓26+131
Комментарии241

Информация

В рейтинге
772-й
Откуда
Саратов, Саратовская обл., Россия
Зарегистрирован
Активность