手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:Scala & Ruby

mac下ruby 安装 mysql2真是一堆坑

直接 gem install mysql2报错。确实很烦人,因为我 mysql 本身本机没有,所以就不太可能安装 mysql-client 之类的。于是安装了 mysql-client。但还是报错。无法编译。

看网上的文章是安装 mariadb,然后指定 mysql-config 就 OK 了。我已经懒得弄了。。。。。
 
你看 postgresql 多方便,安装失败的时候 ,提示你 brew install libpq,就行了(确实是在我 install libpq 后,gem 就走完了)
 
真不知道那些本地没有 mysql 的人是怎么忍受得了 mysql2这样的库的(也可能只是我受不了吧)
 
---
问了一下 gpt,他说我安装好 mysql-client 后,还要指定一下:
export LDFLAGS="-L/usr/local/opt/mysql-client/lib"
export CPPFLAGS="-I/usr/local/opt/mysql-client/include"
然后再运行就 OK 了。于是我又重新 retry 了一下。但还是失败了
--
如果要成功就参考这个吧:https://medium.com/@0x88/%E5%9C%A8-macos-%E7%84%A1%E7%97%9B%E5%AE%89%E8%A3%9D-ruby-mysql2-gem-apple-m1-intel-mac-%E9%81%A9%E7%94%A8-330f996ae3c7,我是不想再试了。要么 sqlite ,要么 pgsql 吧

Tags: ruby, mysql, postgresql

rails配置 hot-reload

 Rails 在进行开发的时候 ,默认没有 hotreload。当然其实 laravel 也没有,但 laravl 因为用了 vite,所以其实是可以使用 vite 的 hot reload 的功能。vite 里还有 laravel 的插件,直接就支持了。

 
rails 里如何配置呢?其实也很简单,在 Gemfile 中的 group :development 中增加 `gem "hotwire-livereload"`,然后 bundle install 就OK 了。
当然这只是先添加了 hotwire 的库,还需要运行 rails livereload:install,会在 application.html.erb 的header 头中增相应的 js引用
同时还修改了 config/cable.yml,增加了 redis 的相关引用。
 
这就意味着,原来没有使用 redis 的。你需要安装一下 redis 才 OK,配置完后,再打开模板进行修改保存后,会发现页面确实刷新了。
 
步骤简化成:
1、add hotwire-livereload
```
group :development do
  gem "hotwire-livereload"
end
```
2、bundle install (这里面要注意如果你注释了默认的 source,可能会失败,指定一下 source 即可,如果镜像的 source 不能下载,设置为 rubygems.org 即可)
3、rails livereload:install
4、rails server (如果有报错,可以看一下原因:可能的原因是:a. redis server 不存在 b.redis-server 不能连接)
 
 

Tags: ruby, rails

Spring项目如何设置session的过期时间

接手一个Spring项目,因为默认的session只有1天时间(已知是项目中的现状),再加上项目里的session是利用redis来管理的,实在是spring不熟,于是就google,大部分都是说,设置:server.session.timeout就行了。

然而并没有效果,继续翻google和stackoverflow,有人说你得看文档啊。,从springboot2.0开始,就是server.servlet.session.timeout了。于是继续 改。仍然不起作用,

这时候有一个评论数并不高的回复说,其实只要改@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60),如果有设置这个值,只要修改maxInactiveIntervalInSeconds就行了。

于是将值改为 86400*10,问题解决。

参考:

1、https://stackoverflow.com/questions/32501541/what-is-the-default-session-timeout-and-how-to-configure-it-when-using-the-sprin

重拾扔了两年的scala

Scala被我扔了很久了。没办法,项目中根本用不到。而且说真的,不是相对较大的公司,以及项目很多很杂的公司,混合编程真的很少用的到。一般来说用用C和PHP就能解决N多事情了。当然C我也是垃圾。。。。可是如果你并不深入,C用的也很少。不是吗?

现在很多项目中越来越追求一些其他的特性,不得已,重新拾起来。原来我在学scala的时候,只是简单的折腾了几下就完事了,现在可能要深入一下下了。。亚力山大啊

Scala大家都知道啦,其实说白了,Scala就是一种针对 JVM 将函数和面向对象技术组合在一起的编程语言。Scala编程语言近来抓住了很多开发者的眼球。它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了 命令式和函数式的编程风格。Scala的名称表明,它还是一种高度可伸缩的语言。Scala的设计始终贯穿着一个理念:创造一种更好地支持组件的语言。 Scala融汇了许多前所未有的特性,而同时又运行于JVM之上。这两年,随着开发者对Scala的兴趣日增,以及越来越多的工具支持,无疑Scala语言将成为手上一件必不可少的工具。

因为资料确实不多,所以就找了51cto上面的一个专题来看:http://developer.51cto.com/art/200906/127830.htm,不过可能更多的还是需要看官网的手册了。否则真的没有办法深入。

专题上有不少链接还是有用的,其他的就当看新闻吧,不过也是旧闻了。。。

还有三个较长的玩意。。。

A Scala Tutorial for Java programmers(完结)

本文源自Michel Schinz和Philipp Haller所写的A Scala Tutorial for Java programmers(面向Java程序员的Scala教程),由Bearice成中文。本系列面向有一定Java开发经验的程序员。

走读Kestrel,了解Scala(完结)

Kestrel是一个Scala代码实例,是Twitter核心中使用的的消息转发机制,其原型来自于Ruby的Starling。本系列通过Kestrel进行Scala实例代码的讲解,对于实际使用Scala进行开发有相当的借鉴意义。

IBMDW的《从Java走进Scala》系列(更新中)

本系列由Neward & Associates的主管Ted Neward主持。本系列从08年初开始连载,可以说是早期Scala教程中的比较精彩的一个系列,对Scala语言中的很多细节都进行了描述。

-------

如果你兴趣不大就当看我这边也是一个新闻 吧。

scala是个有趣的语言

新闻来源:外刊IT评论
经常读我的博客的人应该知道,我最喜欢的编程语言是Haskell。我喜欢函数式编程,Haskell是一个能把函数式编程推向极致的语言。虽然如 此,我仍然时刻关注着其它新兴的和即将产生的编程语言,特别是函数式的编程语言,所以,当Scala诞生之初我就知道了这种语言。当时,我粗略的对它了解 了一下,并不是很喜欢;我感觉它的那些语法对于我的口味来说过于甜腻,而且这种语言看起来异常的复杂。

http://img.cnbeta.com/newsimg/100818/10324001080071978.png


然而,一些我很尊敬的人都喜欢这种语言,所以我就再 次的看了看。我的评论并不是基于对这种语言的一个全面的了解之上,只是我通过几周的阅读和实验得到的收获。不管怎样,我已经有足够的认识来声 明,Scala是个有趣的语言,值得去研究,特别是当你有Haskell编程背景的情况下。我使用的是一本“阶梯教程”(Programming In Scala by Odersky et al),这本书写的非常好,我全力的推荐大家读一下。

   我想学一种新的编程语言主要有两个原因。一个是我想找一种跟目前我使用的语言不同的语言,我想寻找一种另外的编程体验。另一个是我想找一种具有很多我从没见过的有趣的新特征的语言。Scala的出现完全满足了我的苛求。.

  本质上来讲,Scala是一种运行在JVM之上的语言,它很快,使用它我可以做图形界面编程,Web编程(用它的Lift框架),和移动设备编 程(使用Android,我也知道让Scala程序在Android上运行并不是一个很容易的事)。Scala在这些领域出现的时间比Haskell早的 多。我期望Haskell能最终赶上,但是我现在就已经喜欢上了写这些类型的程序了。

  从理论的角度来看,Scala的诉求是静态类型背景下的函数式编程和面向对象编程的组合。这可不容易做到。在动态语言里倒是容易些(例如 Lisp使用CLOS),而静态类型会使事情变得非常的复杂,尤其是子类型化和继承方面。Haskell可部分的支持面向对象编程(特别是使用类型类和现 有类型),但我在Haskell里没有发现面向对象风格的继承模型,尽管这是十分有用的。Scala有一个非常复杂的面向对象系统,还包括一些诸如显式 sub-和supertype标记,协方差(covariance)和反变(contravariance)标记,等等。这些都超越了我所见过的其它的面 向对象的编程语言。实际上,Scala实现了把所有的函数性特征都作为对象,所以把它称作一种对象-函数式语言并不准确,不如称作为超级面向对象语言更合 适。

  我认为Scala的面向对象不是Haskell能比的;它是对于它的这种范式上的一个最佳案例。(我这里忽略掉了那些类型依赖的函数式语言,诸 如Agda/Coq/Epigram,我知道它们,但基本上它们已经不再被当成一种用来做普通编程的语言了。)对于在静态类型的环境中,是否对象已经超过 函数变成一种更基础的结构,我并不清楚。在动态类型语言中,你可以由函数得到对象(可以假设函数就是闭包),或者你可以由对象得到函数,所以两种观念是可 以相互转换的。不论这是不是一种使用静态类型的案例,我想,用两种语言从不同的方向来考虑这个问题是件很有趣的事情。另一方面,我曾学习过 Smalltalk的面向对象特征,我不得不说,我从没见过第二个静态类型的语言具有Smalltalk这样优雅的简单消息传输模型。再一方面,我更希望 用Scala而不是Smalltalk来写一个大型程序。(并且,如果你真的想直接进行消息传输时,Scala也有Actors类库来支持你。)

  另一个Scala里我喜欢的东西,也是Haskell共有的东西,就是他们都有学院理论根源。当你在设计一种具有深奥的类型系统的语言时,了解 一些类型理论会非常的有帮助。Scala和Haskell的设计者都清楚这一点,这也就是在这些语言里有很多高质量的特性的原因。我希望有一天那些把希曼 式实用主义当作理论基础的人会闭嘴,因为事实证明通过学院派设计出来的语言才是解决现实问题的上上之选。

  我会一直关注着Scala,我希望能对它了解的更多。但我仍然喜欢Haskell,我从来不会打算放弃它。

----------------------------------

一直在关注,只是没有机会会用到它,一年了,现在语法都快忘光了。真痛苦啊。

Tags: scala

Records:12123