人çãªã«ãã¨ãçµé¨â¦150ä¸åã®æåããçµé¨ããããããèªããããªããã¨ããã ãã¶ãããã150ä¸ãããæåãããã⦠https://t.co/7jRSInFJHj pic.twitter.com/rZW20yUF5Tâ Ryuta Kamizono (@kamipo) June 4, 2024 FXã«èå³ããã£ãã®ã¯ãTwitter(ç¾ð)ã§â¦
å æ¥ãHPVã¯ã¯ãã³(ã¬ã¼ãã·ã«9価)ãæ¥ç¨®ãã¦ããã HPVã¯ã¯ãã³(ã¬ã¼ãã·ã«9価)æ¥ç¨®ãã¦ããá´á´á´ pic.twitter.com/ADE8qNKfSdâ Ryuta Kamizono (@kamipo) July 21, 2022 HPV(ãããããã¼ãã¦ã¤ã«ã¹)ã¯ãæ§çæ¥è§¦ã®ããã²ã¨ã¯ã ããããç涯ã§ä¸åº¦ã¯ææããâ¦
mysql_options(mysql, MYSQL_SET_CHARSET_NAME, cs_name) ã ãã㦠mysql_real_connect(mysql, ...) ããå¾SHOW VARIABLESãã¦ã¿ããæ¥ç¶ã®charsetãè¨å®æ¸ã¿ã®æåããããããã©mysql_real_connectããã®ä¸é£ã®ã³ã¼ãèªãã§ãã©ãã§ãããèµ·ããã®ããããâ¦
ãããããã£ã¦èªç±ãªæéãæ´»ç¨ãã¦ãªãã人çãå å®ãããããªãã¨ããããªã¨ãããã¨ã§ãã©ã³ãã®ãããããåºãéæãããã¨ããã®ããã£ã¦ããããã®ä¸ã§ãæ°å®¿ãã¾ãã«ã¬ã¼å±å¤ãããï¼ã¨æã£ãã®ã§è¡ã£ããã¨ã®ããæ°å®¿ã®ã«ã¬ã¼å±ãããç´¹ä»ãã¾ãã â¦
5ã¶æåã«éè·ã¨ã³ããªãåºãã¦ãããããããªä¼ç¤¾ããã ã£ããå人çã«ã ã£ãããããããªäººã¨è©±ããã¦ããã£ãã blog.kamipo.net ã¿ã¼ã¿ã¡ãã転è·(å)ç¥ãã ã pic.twitter.com/0kdy47mOiwâ Ryuta Kamizono (@kamipo) August 28, 2020 ã¿ã¼ã¿ã¡ããæ¯æ¥â¦
å ¨èº«è±æ¯ã11æããã¯ããã¦ã¿ãã åè·ã®ãã¤ãã¼ãµãã¼ãã¨ã³ã¸ãã¢ã®ååãå°»ã®æ¯ãè±æ¯ããã¨ã³ããªãè¦ã¦ããããã«å°»ã®æ¯ããããªï¼ã¨é ã®çé ã«æ®ã£ã¦ãã¦ãYouTubeã§ã¡ããã¡ãããã¼ã©ã³ãã®ãã£ã³ãã«ã観ã¦ããã®ã§ããããã°æ°å®¿ã®æ°åºèã£ã¦ã©â¦
ç¡è·ã«ãªã£ã¦ããã®ãã¨æ¸ããã¨æã£ããä¿éºã¨çµ¦ä»éã ãã§åå°½ãã¾ããã ããã¼ã¯ã¼ã¯ã§æ±è·è ç»é² ã ãããã®ä¼ç¤¾å¡ã¯éç¨ä¸»ã«ãã£ã¦éç¨ä¿éºã«å å ¥ãã¦ããã失æ¥ä¸ã«ã¯ãããã失æ¥æå½ãå給ã§ããã ãã£ããä¿éºææã£ã¨ãããããä¸åããã失æ¥æâ¦
Rails 6.1ã®ç®çæ©è½ã¨ãã¦ä»¥ä¸ã®ããã«æ¸ããwhereæ¡å¼µãå ¥ãã¦ããã§ããããããããã£ã¦6.1ããã¯revertããã¦ãã¾ãã¾ãã posts = Post.order(:id) posts.where("id >": 9).pluck(:id) # => [10, 11] posts.where("id >=": 9).pluck(:id) # => [9, 10,â¦
activerecord-importã¨:on_duplicate_key_ignoreãªãã·ã§ã³ãçµã¿åãããã¨ã«ã©ã å®ç¾©ã®ç¯å²å¤ã®å¤ã§ãã£ã¦ãç¡çããINSERTãããã¨ãã§ãã¾ãã # frozen_string_literal: true require "bundler/inline" gemfile(true) do source "https://rubygems.org"â¦
Active Recordã®è©±ã§ãã create_or_find_byã®å®è£ ã¯createãã¦ã¿ã¦ã¦ãã¼ã¯å¶ç´ã«å¼ã£ããã£ããfind_byãã¦ã¿ããªã®ã§ããµã¤ãã«èããã¨find_byã¯æåãããã«è¦ãã¾ãã def create_or_find_by(attributes, &block) transaction(requires_new: true) { câ¦
æè¿SELECT ... FOR UPDATEã§ãããããã¯ãã話ãä½åº¦ãããã®ã§ã åè·ã®ã¨ãã«UPDATEå士ããããããã¯ãã¦ãã¨ãã«ãSELECT ... FOR UPDATEã§æä»ããã¯ãåã£ã¦ããUPDATEãã¦ãããããã¯ãé²ãã¾ãã£ã¦PRãã¬ãã¥ã¼ãã¦ãã¨ãã®ãã¨ã§ãè¤æ°ã¬ã³ã¼ãâ¦
ãã¤ãã¿ã¼ã§è¦ã¤ãã¦ç´ããActiveRecordã®åé¡3㤠- ãã¿ã½ãã¼ãã®ç¶ãã where(id: ..1) ("id" <= 1)ãnotããã"id" > 1ã«ãªã£ã¦ã»ãã ä»ã®masterã§è©¦ãã¦ã¿ãã®ã§ãããSELECT "users".* FROM "users" WHERE NOT ("users"."id" <= 1) ã«ãªãããã§ããâ¦
Rails Advent Calendar 2020ã®3æ¥ç®ã§ãã æéããªãã®ã§ã¨ãããã3ã¤ã ãã enum state: {active: 0, inactive: 1}ã¨ãããæã«ãtypecaståã®0ã¨ã1ãåããã ActiveRecord::Enumã£ã¦state: {active: 0, inactive: 1}ã¨ãããæã«ãtypecaståã®0ã¨ã1â¦
ISUCON10äºé¸ãã¤ãããã¾ã§ãããISUUMOããåé¡ã§ããããéå»åºé¡å´ãæ å½ãããã¨ããã身ã§ããåå è ã®å®å ¨æ»ç¥ã«å¯¾ããæãããã£ã¦ä»æ§ãè¥å¤§åãããªãä»åããã ãã³ã³ãã¯ããªä»æ§ã®ã¢ããªã±ã¼ã·ã§ã³ã§ããã ã楽ãããåºé¡ãããã®ãã¸ã§ãããâ¦
æ¥ãªãç¥ããã§ããã8æ31æ¥ããã£ã¦Treasure Dataãéè·ãããã¨ã«ãªãã¾ããã ä»å¾ã®æ´»åã«ã¤ãã¦ã¯ãã¾ã®ã¨ãããªã«ã決ã¾ã£ã¦ããªãã®ã§ãèªåã«ãªã«ãã§ããã®ããã©ããªãã¼ãºãããã®ããããããç¸è«ã«ä¹ã£ã¦ããããã¨ããããã§ãã ãã£ããã¯â¦
class Hash class << self def ruby2_keywords_hash?(hash) !new(*[hash]).default.equal?(hash) end def ruby2_keywords_hash(hash) _ruby2_keywords_hash(**hash) end private def _ruby2_keywords_hash(*args) args.last end ruby2_keywords(:_ruby2_keywâ¦
ãªã«ãã§ããªãã£ããæ¸ããã¨ãªããã¼ã£ã¦æã£ã¦ããã©ããã¼ã ã®ãµãããããGitHubã®issueã«æ¸ãã¦ãããµã¤ãã«ããå¤ã«æ¸ãã°ãããªã£ã¦ãªã£ãã®ã§ããã«è¨ãã ã¢ã¯ã»ã¹ãã°ããå¾ãããæ å ±ã®è§£å度ãç¸å¯¾çã«ä½ããªã£ã¦ããã¨æããããã£ããã©ã®ã¨â¦
Rails 6.0ã®è¤æ°DBã®ã¬ãã¥ã¼ãã¦ãã¨ãã«æ°ã¥ãããã¨ãªãã§ããã©ããã¶ããªã¼ãã¬ããªã«ãããã¼ã¿ãèªããã¹ããããã®ãã¶ã大å¤ã ã¨æããã¾ãã ãã¡ã®æ¥åã®ã¢ããªã§Active Recordãæ´æ°ãæ¤ç¥ã§ããªãæ¹æ³ã§ãã¼ã¿ãæ´æ°ãããã¨ãã¹ããã³ã±ãã¨ãâ¦
Deprecatedã«ããçµç·¯ã¨ãããèæ¯ãä¼ãã£ã¦ãã®ãã©ããã¢ã¬ã ã¨æã£ãã®ã§ãããã«æ¥æ¬èªã«ã¦æ¸ãè¨ãã¦ããã Deprecate mismatched collation comparison for uniquness validator by kamipo · Pull Request #35350 · rails/rails · GitHub Active Recoâ¦
Rails 5.2ããRails SQL Injection Examplesã«ãããããªSQLã¤ã³ã¸ã§ã¯ã·ã§ã³ãé²ãä»çµã¿ãå°å ¥ããã¦ãPost.order(params[:order])ã¿ãããªã³ã¼ãã¯å¿æ¸©ã¾ãæ£è¦è¡¨ç¾ã«ãããã§ãã¯ããã¹ããªãã¨å±éºã¨ã¿ãªãããããã«ãªã£ã¦ããåãå®å ¨ãã¨æãããã£â¦
ä»äºãããªãããã§MySQLã®ã¯ã¨ãªã®è¯ãæªããå¤æããå¿ è¦ãããã¨ããEXPLAINã®å 容ã ãã ã¨ã©ã®ãããè¯ããªã£ããæªããªã£ãã®ãåãããªãã®ã§ SET long_query_time = 0; ãã¦rows_examined (ãã®ã¯ã¨ãªã§rows_sentè¡ã®çµæãè¿ãããã«ä½è¡ã«è§¦ã£ãã®â¦
ãã®è¨äºã¯ MySQL Casual Advent Calendar 2017 ã®23æ¥ç®ã®è¨äºã§ãã ã¿ãªããORãããã¼ã¯ä½¿ã£ã¦ãã¾ããï¼ åã¯ä»äºã¨ã趣å³ã§ActiveRecordã¨ããORãããã¼ã使ã£ã¦ãããã§ããã©ãããã¤ä¾ãã° Team.preload(players: :high_score).to_a ã¿ãããªãã¨â¦
4æã«MySQL 8.0ã®Unicodeã¨æ¥æ¬èªå¯¾å¿ã«ã¤ãã¦Manyi Luããã¨ãã£ã¹ã«ãã·ã§ã³ããä¼ããã£ã¦ãããªããããã話ãã¦ã¨ã¦ãããä¼ã ã£ãããã®å¾ããããèãã¦æãã¦ãæ¸å¿µã端çã«æ¸ãè¨ãã¦ããã ããã©ã«ãã®collationãutf8mb4_0900_ai_ciã«ãªã£ã ãâ¦
ã¡ãªã¼ã¯ãªã¹ãã¹ï¼ ãã®ã¨ã³ããªã¯MySQL Casual Advent Calendar 2016ã®24æ¥ç®ã§ãã ä»æ¥ã¯ããã®è©±ã§ãï¼ @eagletmt å®è£ ã¨å®è¡è¨ç»ä¾åã§ã(ãã¨ãã°InnoDBã§åä¸ã«ã©ã ã®ã¤ã³ããã¯ã¹ã使ãããå ´åã®sort orderã¯primary keyã«ãªãã¯ãã§ã)â Ryuta Kaâ¦
ISUCON6äºé¸1æ¥ç®ã«ãã¼ã ãããããã®æ¤ å(kamipo, Yappo, kan)ãã§åå ãã(kanããã¯äºå®ããã£ã¦ãªã¢ã¼ãããã®åæ åºæ¼)ã çµæããããã¨ã¹ã³ã¢15ä¸ãããã§å®å®ããã¨ãã§ããæéãªããã触ãã®ããã¦åèµ·åãã§ãã¯ã ããã£ã¦çµãããã£ã¦åèµ·åãâ¦
ãã®ã¨ã³ããªã¯MySQL Casual Advent Calendar 2015ã®14æ¥ç®ã§ãã TL;DR MySQL 5.7ã§ã¯ããã©ã«ãONLY_FULL_GROUP_BYãæå¹ã§ãããMySQL 5.7.5ããONLY_FULL_GROUP_BYãæå¹ã®ã¨ã GROUP BYå¥ã®ã«ã©ã ã¨é¢æ°å¾å±æ§ã®ããã«ã©ã ã¯SELECTå¥ã«æ¸ããããã«ãªã£â¦
ãã®ã¨ã³ããªã¯MySQL Casual Advent Calendar 2015ã®8æ¥ç®ã§ãã MySQL 5.7.6ããoptimizer_switchã«derived_mergeã追å ããããã©ã«ãã§æå¹ã«ãªã£ã¦ãããåºæ¬çã«ããã¯ã»ã£ã¨ãããã ããããµãã¯ã¨ãªãéããªããã¤ãªã®ã§æ°ã«ããªãã¦ããããã§ãããâ¦
ãã®ã¨ã³ããªã¯MySQL Casual Advent Calendar 2015ã®3æ¥ç®ã§ãã ã§ãããã§ãã github.com ãã£ã¨èª¿ã¹ãæãã ã¨ãopenssl 1.0.1eãããããDiffie-Hellman (DH) key length 1024bit以ä¸ãè¦æ±ããããã«ãªã£ãããªããã§ãMySQLã512bitã¨ãããããªãçâ¦
è¿æ³ãªã©ãããã°ã«æ¸ãããã¨ã¯ãªãã£ããã§ããã4æããTreasure Dataã§åããã¨ã«ãªãã¾ããã 3æã«æ°ããä»äºãæ¢ãã¦ãã¿ã¤ãã³ã°ã§ã¡ããã©å£°ãããã¦ããã£ã¦ãä»ã«èªã£ã¦ããã¦ãã¨ããããã£ã¦ããããèãããã§ããã©ãä»ã¾ã§èªåããã£ã¦ãWebâ¦
MySQL 㨠Unicode Collation Algorithm (UCA) - ãã¿ã½ãã¼ã ã«é¢é£ãããããã¯ã§ã MySQL ã«ã¯å¯¿å¸ãã¼ã«åé¡ã¨ããã®ãããã 寿å¸ãã¼ã«åé¡ã©ã£ãã§è©³ããã話ãèãã¹ãã ããªããããâ RKajiyama (@RKajiyama) March 18, 2015 ããã¯ã©ãããåé¡ãâ¦