Search
Write a publication
Pull to refresh
10
0

Кодер

Send message

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

Когда вижу в коде `let`, у меня повышается внимание на эту переменную и жду когда автор кода начнет ее изменять. Приходится заглядывать каждые `if else`, чтобы понять когда и как он ее меняет, но когда видишь код целиком написан на `let/var` и думаешь ну хренов эксперт из дикого запада.

Давно уже пора привыкнуть этим стрелочным функциям, опциональным/тернарным операторам:

const bob = users.find(user => user.name ===`Bob`)
const message = bob?.age > 21 ? `Can buy beer` : `Not, yet`


И если джун, не понимает, что тут написано, то отправляем его учить матчасть и не адаптируем код под него. Код хорош тогда когда он краток и понятен, а вот чтобы было понятно нужны знать азы, по любому.
GraphQL и js имеют что-то общее?
Судя по картинке самолайк это самооблизование интимных мест, но а лайкать других значит тоже самое но только другим? :)
Кстати из за того, что реакт (бабель) конвертировал jsx теги в React.createElement, мне удавалось уменьшить размер бандла до 20%, хотя цель библиотеки была совсем другая, но получил такой интересный сайд эффект.
Ну как, к примеру у вас микро-уня которая отвечает за авторизацию там кнопки логина, регистрации, вспомнить пароль итп. В этом iframe происходит авторизация, затем полученный кук или жот-токен нужно передать в родительскую страницу, затем эти куки/токены нужно передать в другие iframe-ы, чтобы они могли дергать данные с сервера, а когда кука/токен устареет надо обновить и опять по цепочке…

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

Почему вместо компонентов решили пойти этим ужасным путем? iframe — это ещё та боль начиная от поддержки авторизации до передачи состояния от одного куска к другому. А дибажить это ещё то удовольствие.

Нее, лучше функцию передать, чем массив:
const sqr = x => x * 2
list.map(sqr)


Теперь да, вы 100 кратно производительнее :)
тут чувак 3d игру замутил в урлах www.youtube.com/c/MatthewRayfield
Мелко плаваете, чего тут пишите сразу свой язык! Благо уже WebAssembly завезли :))
Веб-сокеты и Socket.IO, вероятно, являются двумя наиболее распространенными средствами коммуникации в режиме реального времени (далее — живое общение). Но чем они отличаются?

… Веб-сокеты и Socket.IO являются самыми популярными средствами живого общения в современном вебе. Какое из них выбрать? В чем разница между этими технологиями?


зачем повторяться?

Статья напоминает типовой договор банковских услуг.
Использую wakatime.com автоматически подсчитывает сколько времени я кодил.
Для этого добавил расширения в редактор и в браузер, в расширении браузера установил список урлов по которму нужно трекать время и всё! В итоге получаю подробный отчет по проектам, по языкам, git веткам итп.
Не знаю, почему так многих восхищают эти промисы, хотя они делают код чуть лучше, хотя на вкус те же спагети.
Другое дело генераторы.
sync(getData('habrahabr.ru', 'js@generator.com'))((data) => console.log(data))

*getData(url, email) {
  const password = yield getPassword(email) // return function(callback) { Account.findOne({email: email}, (error, data) => { callback(data.password) })
  const result = yield sync(request(url, email, password))
  if (result.error) new Error(result.error)
  return result.data
}
//Обвертка для вызова ген-фу
function sync(iterator) {
  let job = iterator.next()
  let done = () => {}
  const next = () => {
    if (typeof(job.value) == "function") {
      job.value(function(val) {
        job = iterator.next(val)
        if (!job.done) next()
        else done(job.value)
      })
    } else done(job.value)
  }
  return (callback) => {
    done = callback
    next()
  }
}

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

а это как? можно ссылку на какой нибудь пример или на статью?

Поставил плюс хотя я не сторонник ts.


P.S.
Автору статьи: если на js оказала влияние java, то на ts повлиял C#.

const add = x => y => x + y


Такой прием делается не просто для краткости кода, а как минимум для создания:

— композиции функций
— передачи переменных в скоуп функции

к примеру, есть колбэк функция onClick:

<button onClick={}>Delete</button>


и нам необходимо создать универсальную функцию удаления по id, однако функция onClick принимает только один параметр event:

const onClick = event => {
  event.preventDefault()
  remove(id)
}


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

Вот для таких случаях подходит этот прием «функция которая возращает другую функцию»


const deleteOnClick = ({id, remove}) => event => {
  event.preventDefault()
  remove(id)
}
 
const DeleteUser = props => (
  <button onClick={deleteOnClick(props)}>
    Delete
  </button>
)

const DeleteProduct = props => (
  <button onClick={deleteOnClick(props)}>
    Delete
  </button>
)


и второй случай:


const add = x => y => x + y
const compose = (...fns) => fns.reduce((a, b) => (...args) => a(b(...args)))
const update = (prop, updater) => obj => ({...obj, [prop]: updater(obj[prop])})
const now = () => new Date

const likePost = compose(
  update(`date`, now),
  update(`likes`, add(1)),
)

const post = {id: 1, title: 'Learn FP & love it', date: new Date('2019-01-01'), likes: 130}

likePost(post)


В этом примере мы создаем новую функцию likePost на основе уже двух существующих функции.
почему не RDS, dockers?
КОМММЕНТАРИЙ АВТОРА ПОТОМ УДАЛИТЬ: здесь могла быть картинка с эйнштейном: cs11.pikabu.ru/post_img/2019/02/07/6/1549532414127869234.jpg


Забыли удалить?
1

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity

Specialization

Frontend Developer