Pull to refresh
3
0
Артем Целовальников @SlazZy

ruby developer

Send message

8 ресурсов для бесплатного образования на русском языке

Reading time3 min
Views63K
Как выглядит процесс обучения? Детсад, школа, университет и эпизодические курсы повышения квалификации, да и то не у всех. До конца жизни человек идет на том багаже знаний, который набрал в начале. Сейчас есть запрос на то, чтобы процесс обучения стал постоянным. Нужно поменять специализацию – пожалуйста. Нужно усилиться – пожалуйста. Делать это виртуально может быть проще и удобнее, ведь нет никаких барьеров. При этом качественные знания можно получить бесплатно. Представляю 8 платформ, на которых можно учиться на русском языке без бюджета.
Читать дальше →

Как технологии украли время на креативность

Reading time3 min
Views15K
image
Оригинал: How Technology Has Hijacked Our Creative Spaces

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

Недавно я поняла, что креативные идеи посещают меня в то время, когда… Интернет отключен, а Wi-Fi не доступен. Или когда я иду выгуливать собаку и забываю смартфон. Или когда я еду домой, а батарея смартфона разряжена.

Да, конечно. Я прекрасно понимаю, что это далеко не новость. Или, может кто-то об этом еще не знает? Что касается меня, то это умозаключение открыло глаза на многое. Я никогда не хотела считать, что современные технологии — что-то, что может мешать мне быть креативной. Наоборот, я всегда думала, что технологии помогают креативности. Я могу читать интересные статьи, где и когда хочу. Я могу продуктивно использовать каждую минуту свободного времени. Всего пару нажатий на экран смартфона, и я могу получить доступ к нескончаемым запасам информации и знаний.

Но что толку? Какой смысл напичкивать себя информацией, если времени ее переработать и усвоить все равно нет?
Читать дальше →

Типичные взаимные блокировки в MS SQL и способы борьбы с ними

Reading time11 min
Views111K
Чаще всего deadlock описывают примерно следующим образом:
Процесс 1 блокирует ресурс А.
Процесс 2 блокирует ресурс Б.
Процесс 1 пытается получить доступ к ресурсу Б.
Процесс 2 пытается получить доступ к ресурсу А.
В итоге один из процессов должен быть прерван, чтобы другой мог продолжить выполнение.
Но это простейший вариант взаимной блокировки, в реальности приходится сталкиваться с более сложными случаями. В этой статье мы расскажем с какими взаимными блокировками в MS SQL нам приходилось встречаться и как мы с ними боремся.


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

Почему не нужно учиться программировать

Reading time3 min
Views36K

Сегодня существует множество возможностей научиться программировать. Но нужно ли всем уметь программировать? В этой статье мы постарались обобщить основные положения противников подобного подхода.


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

Как не угробить архитектуру сразу же? Видео с лекции Евгения Кривошеева

Reading time1 min
Views60K
Всем привет!

Две недели назад в Москве прошла очередная встреча CodeFreeze. Нашим гостем стал Евгений Кривошеев, признанный российский эксперт в области архитектуры программных систем, консультант из Scrumtrek/Skilltrek. Евгений прочитал офигеннейшую лекцию по архитектуре, как он любит и умеет.



В рамках этой встречи Евгений предложил обсудить последовательность решений, критичных для архитектуры любой системы. Выстраданная последовательность действий такова:
  • Точки зрения на систему, или Почему мы слепнем при проектировании
  • Адресация ключевых рисков, или Гордыня убивает
  • Учитываем контекст, или Как не долбиться в закрытую дверь

Краткое содержание и видеозапись

10 лучших советов о деньгах, от человека, который уже стал миллионером

Reading time2 min
Views13K
Полгода назад мы с женой решили превратить наш летний дом в Северной Джорджии в основное жилье.

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

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

Я остановился и спросил, все ли нормально, когда один из мужчин сказал: «Это нечестно. У вас есть этот прекрасный дом и красивая машина, а мы здесь горбатимся за зарплату чуть больше минимальной».

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

Сегодня утром я снова собирался сесть в свою машину. Мужчина за рулем грузовика, проезжающего по улице, остановился около моего дома и прокричал: «Мистер Зиболд, я последовал вашему совету, и начал собственное дело. На меня работает пять человек, и бизнес быстро растет. Мы с семьей испытываем такую свободу, о которой раньше не могли и мечтать».

Он продолжил: «Пожалуйста поделитесь своей мудростью и с другими!»

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

1. В рыночной экономике любой может зарабатывать столько, сколько хочет.

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

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

Сложно о простоте Go

Reading time10 min
Views29K
Читая о языке Go, вы часто будете слышать слово “простота”. Но разные люди трактуют это слово по разному, особенно в контексте разработки ПО, а многие, зачастую, даже не осознают, почему это вообще используется, как характеристика языка. В этой статье мы попытаемся концептуально подойти к вопросу “сложности” и “простоты” в разработке ПО, и посмотрим, почему и зачем язык Go поставил простоту как краеугольный камень своего дизайна.


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

Бизнес-кейс. Чудесное воскрешение Marvel (часть 1)

Reading time6 min
Views13K
marvelНедавно мне предлагали написать кейс для одной компании, но я был вынужден отказаться от выгодного предложения, поскольку никогда ранее не занимался их написанием. Но ситуация меня задела, так что я решил научиться этому делу. Сегодня публикую свой первый опытный образец. Он написан на основе идеи, почерпнутой на сайте Гарвардской бизнес-школы.

Вообще, метод кейсов (Case study, Case method) — это метод ситуационного анализа, техника обучения, использующая описание реальных экономических, социальных и бизнес-ситуаций. На протяжении длительного времени занимает ключевую позицию в управленческом образовании. Метод был впервые применён в Гарвардской бизнес-школе (Harvard Business School) в 1924 году.

Краткое описание


В декабре 1996 года Marvel Comics, одна из самых старых компаний издателей комиксов, объявила о банкротстве. Команда Marvel Entertainment LLC, ранее Marvel Enterprises and Toy Biz, Inc. (американская компания индустрии развлечений, образованная от слияния «Marvel Entertainment Group, Inc.» и «Toy Biz, Inc.» в 1998 году), известная своей вселенной супер-героев, включающей Человека-паука, Халка, Людей Икс и Железного человека, должна пересмотреть свою маркетинговую стратегию. Как Marvel удалось пройти путь от банкротства до продажи Disney за $4 млрд? Было ли возрождение Marvel просто случайностью? Какие маркетинговые стратегии позволили Marvel повторить свой успех? Как пришлось изменить свою бизнес-модель?
Читать дальше →

200 блогов по разработке и проектированию

Reading time8 min
Views46K


Привет, Хабр! Мы решили посмотреть на то, как крупнейшие бизнесы и студии делятся своими наработками, и адаптировали подборку технологических блогов. Уверены, что опыт коллег поможет нам всем сделать Хабр еще интереснее.
Читать дальше →

На пути к правильным SQL транзакциям (Часть 2)

Reading time7 min
Views57K


В предыдущей части были рассмотрены основы уровней изоляции транзакций. Здесь я постараюсь копнуть чуть глубже и рассказать при помощи каких инструментов MS SQL Server реализует уровни изоляции.

Как вы могли видеть в предыдущем разделе, существует два способа поддержания изоляции:
  • Основанный на блокировке ресурсов
  • Основанный на создании версионной копии ресурсов.

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

На пути к правильным SQL транзакциям (Часть 1)

Reading time6 min
Views152K


Мне часто приходилось сталкиваться с тем, что люди прекрасно понимают, что такое транзакции в базе данных и для чего они нужны, но при этом не всегда умеют ими правильно пользоваться. Безусловно, для достижения 80-го уровня сакрального знания нужно иметь не один год опыта и прочесть множество толстенных книг по SQL. Поэтому в этой статье я даже не буду пытаться описать всё, что может быть связано с транзакциями в MS SQL. Я хочу затронуть один простой, но очень важный вопрос, который разработчики часто упускают из вида – уровни изоляции транзакций.
Несмотря на то, что тема очень проста, во многих источниках она освящается плохо – информации либо очень мало, либо очень много. Т.е. прочитав 5-6 кратких теоретических определений невозможно их применить на практике. Для уверенного понимания предмета статьи нужно обращаться к специализированной литературе, но там информации на столько много, что далеко не каждый может уделить необходимое время для её усваивания.
Сегодня я хочу поделиться своим простым рецептом, который помог мне раз и на всегда запомнить особенности уровней изоляции транзакций и по сей день помогает без проблем принимать взвешенные решения о выборе необходимого уровня.
Читать дальше →

Использование монад в С++. Часть 1: монада списка

Reading time10 min
Views34K
Часть 1
Часть 2

Иногда программисты на С++ просят привести пример задачи, которая не может быть решена без использования монад. Начнём с того, что этот вопрос неверен сам по себе — это всё-равно, что спрашивать, существует ли задача, которая не может быть решена без циклов. Очевидно, если в вашем языке есть поддержка оператора goto, вы можете обойтись без использования операторов цикла. Что монады (и циклы) могут сделать для вас, это упростить ваш код и помочь лучше его структурировать. Как использование циклов превращает спагетти-код в нормальный, так и использование монад может превратить ваш код в императивном стиле в декларативный. Эта трансформация может помочь легче писать, понимать, поддерживать и расширять ваш код.

Ну и вот вам задачка, которая может попасться на собеседовании. Она не совсем тривиальна, возможно несколько подходов к решению и лучший из них не сразу очевиден — как-раз то, над чем стоит подумать.
Вам предлагается следующий пазл:

  s e n d
+ m o r e
---------
m o n e y


Каждая буква соответствует цифре от 0 до 9. Нужно написать программу, которая подберёт такие соответствия, чтобы написанная операция сложения была верной. Перед тем, как продолжить чтение статьи — подумайте минутку, как бы вы решили эту задачу?
Читать дальше →

Почему программировать так тяжело?

Reading time7 min
Views132K
Привет, Хабр!

В феврале мы публиковали перевод крутой статьи "Почему научиться программировать так чертовски тяжело?", которую теперь показываем новичкам. Да, научиться программировать – это целая история, длинная, с кучей разных этапов, с эмоциональными взлетами и падениями. Мы все через это проходили (или еще проходим – так держать!).

К сожалению, нет такого момента, когда можно встать и заявить, что «я закончил обучение и теперь я программист!». Учиться придется всю жизнь, и всю жизнь вы будете встречать неведомые проблемы, сталкиваться с совершенно непонятными ситуациями и спрашивать «какого хрена?!» даже будучи профессиональным программистом с многолетним стажем.

Сегодня мы публикуем перевод заметки «Почему программировать так тяжело?». Тем, кто еще изучает основы программирования и разработки будет полезно узнать, что их ждет в будущем. А опытным разработчикам будет просто приятно взглянуть на реальность и покивать головой.




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

Вначале я думал, что программировать – это только указывать компьютеру, что делать, эта часть процесса относительно лёгкая. После двадцати с лишним лет опыта, я действительно пришёл к выводу, что эта часть программирования достаточно лёгкая.
Читать дальше →

Какой язык программирования будет наилучшим для изучения в 2015 году?

Reading time5 min
Views205K
Вот уже несколько лет я слежу за статистикой в языках программирования. Существует большое количество источников данных, включая репозитории кода, обсуждения вопросов и ответов, предложения работы, упоминания в социальных медиа, посещения страниц с учебными материалами, просмотры обучающих видео, опросы разработчиков и др. Данные публиковались в разные периоды времени, никакие из них не могут считаться абсолютно точными, везде содержатся недочёты, но они могут быть полезны для выявления трендов в индустрии.
Читать дальше →

Введение в магию шаблонов

Reading time5 min
Views29K
Шаблоны в С++ являются средствами метапрограммирования и реализуют полиморфизм времени компиляции. Что это такое?
Это когда мы пишем код с полиморфным поведением, но само поведение определяется на этапе компиляции — т.е., в противовес полиморфизму виртуальных функций, полученный бинарный код уже будет иметь постоянное поведение.
Читать дальше →

7 тенденций веб-дизайна в ближайшем будущем

Reading time5 min
Views79K
Многие статьи пытаются рассказать о том, что сейчас в веб-дизайне считается крутым. Я попытаюсь зайти за очевидные рубежи и сделать предсказания на эту тему.

1. Жесты вместо кликов


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

image

В 2015 прокручивать проще, чем кликать. На мобильном можно делать прокрутку большим пальцем. А попасть точно в цель тяжелее – ровно наоборот по сравнению с десктопом.

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

image

Эта тенденция продолжится, поскольку мобильных устройств становится больше. На современных сайтах меньше мест для кликов, и больше прокрутки. Меньше ссылок, больше кнопок, больших кликабельных областей и высоких страниц, которые надо прокручивать.
Читать дальше →

Разработка ММО РПГ – практическое руководство. Сервер (часть 2)

Reading time14 min
Views25K
Рерурс литий
  • Реализация AI: как сделать максимально просто?
  • RPC клиент-сервер: json или бинарная «самопальщина»?
  • Асинхронные сокеты или многопоточная архитектура?
  • Кеширование объектов на уровне приложения или больше памяти для СУБД?
  • Работа с БД без Reflection API: действительно ли это так сложно?

        Сегодня мы продолжим рассматривать архитектуру и особенности реализации игрового backend'а на С++ для онлайн игры на примере ММО РПГ «Звездные Призраки». Это вторая часть статьи про сервер, начало можно прочитать здесь.
Далее

Go как язык для обучения программированию

Reading time5 min
Views29K
tl;dr: Go достаточно многословный и строгий язык программирования с очень предсказуемой и стремительной кривой обучения, что делает его крайне удачной технологией для обучения программированию новоприбывших!

Я только приехал из штатов, после Google Code-In 2014 Grand Prize Trip, отдохнувший и веселый. Какое-то время думал написать отчет о том, чем призеры там занимались, как нас приняли в Mountain View и обо всем этом, но в какой-то момент понял, что все это совершенно бесполезно. Совсем недавно я по воле случая должен был помочь своему товарищу с домашкой по информатике (там было что-то вроде selection sort). Реализация требовалась на паскале, а я паскаль знаю очень плохо, как впрочем и другие неактуальные, по большей мере, языки программирования, вроде Ada.

В меня ударила молния и укусил гофер, после чего мое тело мутировало в какую-то кунг фу Go хренотень. Иными словами, я задумался о возможном потенциале моего любимчика среди новых технологий, Go, в качестве языка для обучения программированию новоприбывших (читай: школьников). Мне кажется, у Go есть все, что в принципе может быть нужно подобной программе и даже чуточку больше (например, в школе могли бы затрагивать тему параллельного, ни в коем случае не concurrent, программирования, которую не затрагивают, просто потому что FPS вообще не умеет гонять два куска кода одновременно). Под катом, собственно, мои мысли на этот счет. Кстати, пользуясь случаем, хочу передать привет divan0! Большое спасибо за твою просветительскую деятельность в тематическом хабе: Go действительно нуждается в огласке, ведь много людей до сих пор считают, что это какая-то страшная поделка уровня Plan9 из 80-х и к тому же, без обобщенного программирования (в каждой шутке есть доля шутки), а ты рассказываешь людям очень правильные вещи на понятном для них языке! Никакого дисклаймера не будет, но я настоятельно не рекоммендую воспринимать содержимое статьи абсолютно серьезно, ведь я человек, у которого есть целых два гофера: синий и розовый!
Читать дальше →

Обработка строк в Java. Часть I: String, StringBuffer, StringBuilder

Reading time8 min
Views462K

Вступление


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

  1. String, StringBuffer, StringBuilder (реализация строк)
  2. Pattern, Matcher (регулярные выражения)

Реализация строк на Java представлена тремя основными классами: String, StringBuffer, StringBuilder. Давайте поговорим о них.
Читать дальше →

Руководство по оптимизации сайтов для начинающих. Часть 1

Reading time4 min
Views16K
Оптимизация веб-сайтов, известная под именем А/Б тестирование набрала популярность в качестве рабочей техники для многих команд, создающих сайты. Но до сих пор по ней слишком мало всеобъемлющих книг, статей или обучающих материалов, направленных на одиночных разработчиков, стремящихся ввести эту технику у себя в организации.

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

Основы: что такое оптимизация веб-сайтов?


Это метод экспериментов, проверяющих, какой дизайн лучше подходит для вашего сайта. Идея проста:

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

Показатели выбираются так, чтобы непосредственно отражать ваши бизнес-цели. Они могут включать количество товаров, купленных на сайте; количество людей, подписавшихся на рассылку; количество людей, просмотревших видео с инструкцией. Иногда показатели называют конверсией – это процент посетителей, совершивших нужное действие по отношению к общему числу посетителей.
Читать дальше →

Information

Rating
Does not participate
Location
Тула, Тульская обл., Россия
Date of birth
Registered
Activity